diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/dejagnu.scm | 6 | ||||
-rw-r--r-- | gnu/packages/dns.scm | 4 | ||||
-rw-r--r-- | gnu/packages/emacs.scm | 4 | ||||
-rw-r--r-- | gnu/packages/enlightenment.scm | 8 | ||||
-rw-r--r-- | gnu/packages/geo.scm | 34 | ||||
-rw-r--r-- | gnu/packages/glib.scm | 21 | ||||
-rw-r--r-- | gnu/packages/gnome.scm | 42 | ||||
-rw-r--r-- | gnu/packages/image-viewers.scm | 6 | ||||
-rw-r--r-- | gnu/packages/imagemagick.scm | 6 | ||||
-rw-r--r-- | gnu/packages/java.scm | 701 | ||||
-rw-r--r-- | gnu/packages/maths.scm | 18 | ||||
-rw-r--r-- | gnu/packages/patches/java-powermock-fix-java-files.patch | 178 | ||||
-rw-r--r-- | gnu/packages/perl.scm | 22 | ||||
-rw-r--r-- | gnu/packages/tls.scm | 28 | ||||
-rw-r--r-- | gnu/packages/upnp.scm | 4 | ||||
-rw-r--r-- | gnu/packages/version-control.scm | 6 | ||||
-rw-r--r-- | gnu/packages/video.scm | 11 | ||||
-rw-r--r-- | gnu/system/shadow.scm | 14 | ||||
-rw-r--r-- | gnu/tests/ssh.scm | 28 |
20 files changed, 1057 insertions, 85 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 1bd3f55735..01f2f33bea 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -737,6 +737,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/java-powermock-fix-java-files.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jbig2dec-CVE-2016-9601.patch \ %D%/packages/patches/jbig2dec-CVE-2017-7885.patch \ diff --git a/gnu/packages/dejagnu.scm b/gnu/packages/dejagnu.scm index ba34e36c6a..05825bad8f 100644 --- a/gnu/packages/dejagnu.scm +++ b/gnu/packages/dejagnu.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flasher.co.il> +;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flasher.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +27,7 @@ (define-public dejagnu (package (name "dejagnu") - (version "1.6") + (version "1.6.1") (source (origin (method url-fetch) @@ -35,7 +35,7 @@ version ".tar.gz")) (sha256 (base32 - "0qypaakd2065jgpcv84zcsibl8gph3p334gb2qdmhsrbirhlmdh0")))) + "14hnq1mh91vqprc43xdy4f15sycw6fbajrh7zi6cw2kyg6xjhnxz")))) (build-system gnu-build-system) (inputs `(("expect" ,expect))) (arguments diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index e6afc04208..b06cde71b4 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -483,14 +483,14 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.6.0") + (version "2.6.1") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-dns/" name "-" version ".tar.xz")) (sha256 (base32 - "1zc3ybhcxgbysyy68kbmndh6xzy4jnr5iikyrf9s2sxzs1hlkq38")) + "1qs1rqfir0nxi0a0dcg60sbbr99hyxk8y1xd7j7jd13l9idx84rh")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ad96093c3f..52103e2edf 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -3966,7 +3966,7 @@ for search-based navigation of buffers.") (license license:gpl3+))) (define-public emacs-helm-make - (let ((commit "786104ac0c3cf4fe5b53f841eb9fe10bda2e4031") + (let ((commit "21c1bfa01b16b0d656f2b8a0dbb5bc8d47a7641b") (revision "1")) (package (name "emacs-helm-make") @@ -3980,7 +3980,7 @@ for search-based navigation of buffers.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0qdfk0p2j8jah7m0ngy2mm7775cn779m3a84yll86wqc74g331qs")))) + "11vzrp63zdc67fg4d0y1alk8z9019sqslh2bd7ispk37s86dlbfw")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index e1265cfcf7..b4ff4c3ddc 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -59,7 +59,7 @@ (define-public efl (package (name "efl") - (version "1.20.4") + (version "1.20.5") (source (origin (method url-fetch) (uri (string-append @@ -67,7 +67,7 @@ version ".tar.xz")) (sha256 (base32 - "1jxha61gsil6hs9zb72zsyh3gmdipvfnlc9v3palb2bm0b23aq9i")))) + "07624c71l9d1jx1zvdhwkr1bgb1n7i0i5hyg6579zdwl3jw6jpns")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -255,7 +255,7 @@ Libraries with some extra bells and whistles.") (define-public enlightenment (package (name "enlightenment") - (version "0.21.9") + (version "0.22.0") (source (origin (method url-fetch) (uri @@ -263,7 +263,7 @@ Libraries with some extra bells and whistles.") name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0w5f3707hyfc20i6xqh4jlr5p2yhy1z794061mjsz2rp4w00qmpb")))) + "0xmrvryr35idd7fyqgshfhvy2053bs3vwrxbx681pi6rgpdvjghv")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-mount-eeze") diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index d8d5490f3e..7bf1562ba0 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -75,7 +75,7 @@ topology functions.") (define-public gnome-maps (package (name "gnome-maps") - (version "3.24.3") + (version "3.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -83,30 +83,34 @@ topology functions.") name "-" version ".tar.xz")) (sha256 (base32 - "1mnhcrawdp6fyqylh0m8l259xdd7pqwibrjyl54rmsvnm8vfrwsy")))) + "0l40l7m9dyphvasiq1jxrn6ivavs1xwzn0bzz2x1z7x73955q783")))) (build-system glib-or-gtk-build-system) (arguments - `(#:configure-flags ; Ensure that geoclue is referred to by output. + `(#:configure-flags ;; Ensure that geoclue is referred to by output. (list (string-append "LDFLAGS=-L" (assoc-ref %build-inputs "geoclue") "/lib") (string-append "CFLAGS=-I" (assoc-ref %build-inputs "geoclue") "/include")) #:phases (modify-phases %standard-phases - (add-after - 'install 'wrap - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (gi-typelib-path (getenv "GI_TYPELIB_PATH")) - (goa-path (string-append + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH")) + (goa-path (string-append (assoc-ref inputs "gnome-online-accounts") - "/lib"))) - (wrap-program (string-append out "/bin/gnome-maps") - `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) + "/lib")) + (webkitgtk-path (string-append + (assoc-ref inputs "webkitgtk") + "/lib"))) + (wrap-program (string-append out "/bin/gnome-maps") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) - ;; There seems to be no way to embed the path of libgoa-1.0.so.0. - `("LD_LIBRARY_PATH" ":" prefix (,goa-path))) - #t)))))) + ;; There seems to be no way to embed the path of + ;; libgoa-1.0.so.0, libwebkit2gtk-4.0.so.37 and + ;; libjavascriptcoregtk-4.0.so.18. + `("LD_LIBRARY_PATH" ":" prefix (,goa-path ,webkitgtk-path))) + #t)))))) (native-inputs `(("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index ffa008d612..6cf235960c 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -391,29 +391,28 @@ The intltool collection can be used to do these things: (define itstool (package (name "itstool") - (version "2.0.2") + (version "2.0.4") (source (origin (method url-fetch) (uri (string-append "http://files.itstool.org/itstool/itstool-" version ".tar.bz2")) (sha256 (base32 - "0fh34wi52i0qikgvlmrcpf1vx6gc1xqdad4539l4d9hikfsrz45z")))) + "0q7b4qrc758zfx3adsgvz0r93swdbxjr42w37rahngm33nshihlp")))) (build-system gnu-build-system) (inputs `(("libxml2" ,libxml2) - ("python2-libxml2" ,python2-libxml2) - ("python-2" ,python-2))) + ("python-libxml2" ,python-libxml2) + ("python" ,python))) (arguments '(#:phases (modify-phases %standard-phases - (add-after - 'install 'wrap-program - (lambda* (#:key outputs #:allow-other-keys) - (let ((prog (string-append (assoc-ref outputs "out") - "/bin/itstool"))) - (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH")))))))))) + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/itstool"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH")))))))))) (home-page "http://www.itstool.org") (synopsis "Tool to translate XML documents with PO files") (description diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 2ebbd29565..95ba7af240 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2051,7 +2051,7 @@ editors, IDEs, etc.") (package (inherit vte) (name "vte-ng") - (version "0.50.1.a") + (version "0.50.2.a") (native-inputs `(("gtk-doc" ,gtk-doc) ("gperf" ,gperf) @@ -2066,7 +2066,7 @@ editors, IDEs, etc.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1r70jysdrc7r1vyn3mikpc8hh7rm4lpr0psakj8yssy11p451pja")))) + "0sv666ilid916ja6gw2d376nyyy66gvhsds8ans02x4b7gagj5sx")))) (arguments `(#:configure-flags '("CXXFLAGS=-Wformat=0") #:phases (modify-phases %standard-phases @@ -2578,7 +2578,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (define-public five-or-more (package (name "five-or-more") - (version "3.22.2") + (version "3.26.0") (source (origin (method url-fetch) @@ -2587,7 +2587,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") name "-" version ".tar.xz")) (sha256 (base32 - "1b26afyjr26wqy5j008gzsi3hpblbmabh0192lx6414lml1qxkxs")))) + "0wkp08xsqr9p9cgdfghi424diajs016b2h4bsfcr5y9xc3rgf93w")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -2609,7 +2609,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") (define-public gnome-mines (package (name "gnome-mines") - (version "3.24.0") + (version "3.26.0") (source (origin (method url-fetch) @@ -2618,7 +2618,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.") name "-" version ".tar.xz")) (sha256 (base32 - "1xh2as2xmh7gx45gpnl0fh9xjpvyyn3m84qgv41kyp2s4clsyqz6")))) + "1sfxdvns8nppdagnhpd9vd7n77sk5rdji3kdqnc78c2p1npiw11b")))) (build-system glib-or-gtk-build-system) (arguments '(#:phases @@ -2934,7 +2934,7 @@ service via the system message bus.") (define-public libgweather (package (name "libgweather") - (version "3.24.1") + (version "3.26.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2942,7 +2942,7 @@ service via the system message bus.") name "-" version ".tar.xz")) (sha256 (base32 - "0g35xfcw9vh3sfff42blk9ksrlmkrjmj46h3ad0sqgdn6xh329qj")))) + "0vkbc8rvmrlfiws844izxfl01r6l9p6agf8vvgszzkry1gfbm12v")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -2957,12 +2957,6 @@ service via the system message bus.") (("/usr/share/zoneinfo/zone.tab") (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo/zone.tab"))) - - ;; 'Asia/Rangoon' was renamed in tzdata-2016: - ;; <https://github.com/eggert/tz/commit/4368251ebf11310a4aadccd1910daeac9080c501>. - (substitute* "data/Locations.xml" - (("Asia/Rangoon") - "Asia/Yangon")) #t)) (replace 'install (lambda _ @@ -3089,7 +3083,7 @@ playlists in a variety of formats.") (define-public aisleriot (package (name "aisleriot") - (version "3.22.3") + (version "3.22.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3097,7 +3091,7 @@ playlists in a variety of formats.") name "-" version ".tar.xz")) (sha256 (base32 - "12bqbyiqn2dwknz7ndgwgqqqz993s1ynh8qb82sshr7fy4zw8qph")))) + "1yrldsf73rd5p51dsxgbx1hmrakq0x0jc2kl6y6pgaviswxfx3gy")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags @@ -4427,7 +4421,7 @@ share them with others via social networking and more.") (define-public file-roller (package (name "file-roller") - (version "3.26.1") + (version "3.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -4435,7 +4429,7 @@ share them with others via social networking and more.") name "-" version ".tar.xz")) (sha256 (base32 - "1bliwib59jrlfpdbpqc4rc3kzv4ns7pfyn8c28ananj3p34y9mgc")))) + "19d8pc5z2xzhnicgaysxmwx3ghwzl4cw8kygd6nsw69g3j77nrry")))) (build-system glib-or-gtk-build-system) (arguments '(#:phases @@ -5807,7 +5801,7 @@ beautifying border effects.") (define-public dconf-editor (package (name "dconf-editor") - (version "3.26.1") + (version "3.26.2") (source (origin (method url-fetch) @@ -5816,7 +5810,7 @@ beautifying border effects.") name "-" version ".tar.xz")) (sha256 (base32 - "0agay5zbhjbfznlwk7n3gg5cn0c7ih4vnmah6kb6m969li120cs9")))) + "1lcarg8igsqpq4iv5834mf9kz4cmfhfw11bwy3x7v7f497z57d18")))) (build-system glib-or-gtk-build-system) (arguments '(#:phases @@ -6046,7 +6040,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") (define-public gnome-clocks (package (name "gnome-clocks") - (version "3.26.0") + (version "3.26.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6054,7 +6048,7 @@ Microsoft SkyDrive and Hotmail, using their REST protocols.") name "-" version ".tar.xz")) (sha256 (base32 - "00a5bqi1hbyb9kbl4p393l1g6rddl2y6ljxjby9c5j3k1qka0c0g")))) + "1xqirnf7xkiv5vj3ng4slpyh50ihn625vhdgskfzx83a3pgxin1b")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) @@ -6118,7 +6112,7 @@ desktop. It supports multiple calendars, month, week and year view.") (define-public gnome-todo (package (name "gnome-todo") - (version "3.26.1") + (version "3.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6126,7 +6120,7 @@ desktop. It supports multiple calendars, month, week and year view.") name "-" version ".tar.xz")) (sha256 (base32 - "13if2lg4r65v3z7h5y57qv4iqz9ihjaml8bzvvihha7dffyr1lz4")))) + "106xx1w18pxjmj5k0k2qjzi6b3c3kaz7b5kyrpknykibnr401ff9")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 95fb90fdab..9e93a97a9b 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -44,6 +44,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages maths) + #:use-module (gnu packages perl) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -66,9 +67,12 @@ (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) - #:tests? #f ;FIXME: Requires 'perl-test-command'. + #:test-target "test" #:make-flags (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))))) + (native-inputs + `(("perl" ,perl) + ("perl-test-command" ,perl-test-command))) (inputs `(("imlib2" ,imlib2) ("curl" ,curl) ("libpng" ,libpng) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index fabbd707ac..ea17ce9c86 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -46,14 +46,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.9-18") + (version "6.9.9-21") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "1d70dvrgcasa3cla4c1dag4mw7vq4jk1nzbd604fk20l0l6xa78j")))) + "0241g3c207rawn61bz8rc5gz55k5mi2b0n3zlwa0jv9xczlkd6a9")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") @@ -105,7 +105,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (outputs '("out" "doc")) ; 26 MiB of HTML documentation - (home-page "http://www.imagemagick.org/") + (home-page "https://www.imagemagick.org/") (synopsis "Create, edit, compose, or convert bitmap images") (description "ImageMagick is a software suite to create, edit, compose, or convert diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1fcd237d55..f155fdbabb 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2336,6 +2336,32 @@ package within @code{plexus-utils}, but has been separated in order to allow these two libraries to vary independently of one another.") (license license:asl2.0))) +(define-public java-plexus-classworlds + (package + (name "java-plexus-classworlds") + (version "2.5.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/codehaus-plexus/" + "plexus-classworlds/archive/plexus-classworlds-" + version ".tar.gz")) + (sha256 + (base32 + "1qm4p0rl8d82lzhsiwnviw11jnq44s0gflg78zq152xyyr2xmh8g")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "plexus-classworlds.jar" + #:source-dir "src/main" + #:tests? #f));; FIXME: we need to generate some resources as in pom.xml + (native-inputs + `(("java-junit" ,java-junit))) + (home-page "http://codehaus-plexus.github.io/plexus-classworlds/") + (synopsis "Java class loader framework") + (description "Plexus classworlds replaces the native ClassLoader mechanism +of Java. It is especially usefull for dynamic loading of application +components.") + (license license:asl2.0))) + (define-public java-asm (package (name "java-asm") @@ -2539,6 +2565,74 @@ The jMock library @end itemize\n") (license license:bsd-3))) +(define-public java-jmock + (package + (inherit java-jmock-1) + (name "java-jmock") + (version "2.8.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/jmock-developers/" + "jmock-library/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18650a9g8xffcsdb6w91pbswa7f40fp2sh6s3nclkclz5dbzq8f0")))) + (inputs + `(("java-hamcrest-all" ,java-hamcrest-all) + ("java-asm" ,java-asm) + ("java-bsh" ,java-bsh) + ("java-junit" ,java-junit))) + (native-inputs + `(("cglib" ,java-cglib))) + (arguments + `(#:jar-name "java-jmock.jar" + #:source-dir "jmock/src/main/java" + #:test-dir "jmock/src/test")))) + +(define-public java-jmock-junit4 + (package + (inherit java-jmock) + (name "java-jmock-junit4") + (arguments + `(#:jar-name "java-jmock-junit4.jar" + #:source-dir "jmock-junit4/src/main/java" + #:test-dir "jmock-junit4/src/test")) + (inputs + `(("java-hamcrest-all" ,java-hamcrest-all) + ("java-asm" ,java-asm) + ("java-bsh" ,java-bsh) + ("java-jmock" ,java-jmock) + ("java-jumit" ,java-junit))))) + +(define-public java-jmock-legacy + (package + (inherit java-jmock) + (name "java-jmock-legacy") + (arguments + `(#:jar-name "java-jmock-legacy.jar" + #:source-dir "jmock-legacy/src/main/java" + #:test-dir "jmock-legacy/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'check 'copy-tests + (lambda _ + ;; This file is a dependancy of some tests + (let ((file "org/jmock/test/acceptance/PackageProtectedType.java")) + (copy-file (string-append "jmock/src/test/java/" file) + (string-append "jmock-legacy/src/test/java/" file)) + #t)))))) + (inputs + `(("java-hamcrest-all" ,java-hamcrest-all) + ("java-objenesis" ,java-objenesis) + ("java-cglib" ,java-cglib) + ("java-jmock" ,java-jmock) + ("java-asm" ,java-asm) + ("java-bsh" ,java-bsh) + ("java-junit" ,java-junit))) + (native-inputs + `(("java-jmock-junit4" ,java-jmock-junit4))))) + (define-public java-hamcrest-all (package (inherit java-hamcrest-core) (name "java-hamcrest-all") @@ -6248,3 +6342,610 @@ manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it.") (license (list license:gpl2 license:cddl1.0)))); either gpl2 only or cddl. + +(define-public java-jcommander + (package + (name "java-jcommander") + (version "1.71") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/cbeust/jcommander/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f5k2ckay6qjc3d3w3d7bc0p3cx3c7n6p6zxvw1kibqdr0q98wlx")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-jcommander.jar" + #:jdk ,icedtea-8 + #:tests? #f; requires testng which depends on jcommander + #:source-dir "src/main/java")) + (home-page "http://jcommander.org") + (synopsis "Command line parameters parser") + (description "JCommander is a very small Java framework that makes it +trivial to parse command line parameters. Parameters are declared with +annotations.") + (license license:asl2.0))) + +(define-public java-bsh + (package + (name "java-bsh") + (version "2.0b6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/beanshell/beanshell/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bawkxk6jyc75hxvzkpz689h73cn3f222m0ar3nvb0dal2b85kfv")))) + (build-system ant-build-system) + (arguments + `(#:build-target "jarall" + #:test-target "junit-tests-all" + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") "/share/java"))) + (mkdir-p share) + (copy-file "dist/bsh-2.0b6.jar" (string-append share "/bsh-2.0b6.jar")) + #t)))))) + (home-page "http://beanshell.org/") + (synopsis "Lightweight Scripting for Java") + (description "BeanShell is a small, free, embeddable Java source +interpreter with object scripting language features, written in Java. +BeanShell dynamically executes standard Java syntax and extends it with common +scripting conveniences such as loose types, commands, and method closures like +those in Perl and JavaScript.") + (license license:asl2.0))) + +(define-public java-fest-util + (package + (name "java-fest-util") + (version "1.2.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/alexruiz/fest-util/" + "archive/fest-util-" version ".tar.gz")) + (sha256 + (base32 + "05g6hljz5mdaakk8d7g32klbhz9bdwp3qlj6rdaggdidxs3x1sb8")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-fest-util.jar" + #:source-dir "src/main/java")) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core))) + (home-page "https://github.com/alexruiz/fest-util") + (synopsis "FEST common utilities") + (description "Common utilities used in all FEST module.") + (license license:asl2.0))) + +(define-public java-fest-test + (package + (name "java-fest-test") + (version "2.1.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/alexruiz/fest-test/" + "archive/fest-test-" version ".tar.gz")) + (sha256 + (base32 + "1rxfbw6l9vc65iy1x3fb617qc6y4w2k430pgf1mfbxfdlxbm0f7g")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-fest-test.jar" + #:source-dir "src/main/java" + #:tests? #f)); no tests + (inputs + `(("junit" ,java-junit))) + (home-page "https://github.com/alexruiz/fest-test") + (synopsis "Common FEST testing infrastructure") + (description "Fest-test contains the common FEST testing infrastructure.") + (license license:asl2.0))) + +(define-public java-fest-assert + (package + (name "java-fest-assert") + (version "2.0M10") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/alexruiz/fest-assert-2.x/" + "archive/fest-assert-core-" version ".tar.gz")) + (sha256 + (base32 + "1bi0iqavikzww6rxvz5jyg7y6bflv95s6ibryxx0xfcxrrw6i5lw")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-fest-assert.jar" + #:source-dir "src/main/java" + #:test-exclude + (list + "**/Abstract*.java" + "**/*BaseTest.java" + ;; Unable to set MockitoNamingPolicy on cglib generator which creates FastClasses + "**/MessageFormatter_format_Test.java" + "**/internal/*/*_assert*_Test.java"))) + (inputs + `(("java-fest-util" ,java-fest-util))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-fest-test" ,java-fest-test) + ("java-hamcrest-core" ,java-hamcrest-core) + ("java-mockito" ,java-mockito-1) + ("java-cglib" ,java-cglib) + ("java-objenesis" ,java-objenesis) + ("java-asm" ,java-asm))) + (home-page "https://github.com/alexruiz/fest-assert-2.x") + (synopsis "FEST fluent assertions") + (description "FEST-Assert provides a fluent interface for assertions.") + (license license:asl2.0))) + +(define-public java-testng + (package + (name "java-testng") + (version "6.12") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/cbeust/testng/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01j2x47wkj7n5w6gpcjfbwgc88ai5654b23lb87w7nsrj63m3by6")))) + (build-system ant-build-system) + (arguments + `(#:jdk ,icedtea-8; java.util.function + #:jar-name "java-testng.jar" + #:source-dir "src/main/java" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "src/main/resources" "build/classes") + #t)) + (add-before 'check 'copy-test-resources + (lambda _ + (copy-recursively "src/test/resources" "build/test-classes") + #t)) + (replace 'check + (lambda _ + (system* "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"))))))) + (propagated-inputs + `(("junit" ,java-junit) + ("java-jsr305" ,java-jsr305) + ("java-bsh" ,java-bsh) + ("java-jcommander" ,java-jcommander) + ("java-guice" ,java-guice) + ("snakeyaml" ,java-snakeyaml))) + (native-inputs + `(("guava" ,java-guava) + ("java-javax-inject" ,java-javax-inject) + ("java-hamcrest" ,java-hamcrest-all) + ("java-assertj" ,java-assertj) + ("cglib" ,java-cglib) + ("asm" ,java-asm) + ("aopalliance" ,java-aopalliance))) + (home-page "http://testng.org") + (synopsis "Testing framework") + (description "TestNG is a testing framework inspired from JUnit and NUnit +but introducing some new functionalities that make it more powerful and easier +to use.") + (license license:asl2.0))) + +(define-public java-jnacl + (package + (name "java-jnacl") + (version "0.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/neilalexander/jnacl") + (commit "40c322e0a42637ab17cdf941138eeaf2494055f8"))) + (sha256 + (base32 + "1pspnmp44q61a2q4bpslpxw86rfn8s5l0xgvyrikqgdvg7ypx597")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-jnacl.jar" + #:source-dir "src/main/java" + #:jdk ,icedtea-8 + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-tests + (lambda _ + (substitute* "src/test/java/com/neilalexander/jnacl/NaClTest.java" + (("assertions.Assertions") "assertions.api.Assertions")) + (substitute* "src/test/java/com/neilalexander/jnacl/NaclSecretBoxTest.java" + (("assertions.Assertions") "assertions.api.Assertions")) + #t)) + (replace 'check + (lambda _ + (system* "ant" "compile-tests") + (and + (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaclSecretBoxTest.class")) + (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH") + ":build/classes" + ":build/test-classes") + "org.testng.TestNG" "-testclass" + "build/test-classes/com/neilalexander/jnacl/NaClTest.class")))))))) + (native-inputs + `(("java-testng" ,java-testng) + ("java-fest-util" ,java-fest-util) + ("java-fest-assert" ,java-fest-assert))) + (home-page "https://github.com/neilalexander/jnacl") + (synopsis "Java implementation of NaCl") + (description "Pure Java implementation of the NaCl: Networking and +Cryptography library.") + (license license:mpl2.0))) + +(define-public java-mvel2 + (package + (name "java-mvel2") + (version "2.3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mvel/mvel/archive/mvel2-" + version ".Final.tar.gz")) + (sha256 + (base32 + "01ph5s9gm16l2qz58lg21w6fna7xmmrj7f9bzqr1jim7h9557d3z")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "mvel2.jar" + #:source-dir "src/main/java" + #:test-exclude + (list "**/Abstract*.java" + ;; Base class with no tests + "**/MVELThreadTest.java") + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-bin + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + (with-output-to-file (string-append bin "/mvel2") + (lambda _ + (display + (string-append + "#!" (which "bash") "\n" + "if [ \"$#\" -ne \"2\" ]; then\n" + "echo 'Usage: mvel2 <script> <out.dir>'\n" + "exit\n" + "fi\n" + "java -Dout.dir=$2 -cp " (getenv "CLASSPATH") + ":" (assoc-ref outputs "out") "/share/java/mvel2.jar" + " org.mvel2.sh.Main $1")))) + (chmod (string-append bin "/mvel2") #o755)) + #t))))) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core))) + (home-page "https://github.com/mvel/mvel") + (synopsis "MVFLEX Expression Language") + (description "MVEL has largely been inspired by Java syntax, but has some +fundamental differences aimed at making it more efficient as an expression +language, such as operators that directly support collection, array and string +matching, as well as regular expressions. MVEL is used to evaluate expressions +written using Java syntax. + +In addition to the expression language, MVEL serves as a templating language for +configuration and string construction.") + (license license:asl2.0))) + +(define-public java-lz4 + (package + (name "java-lz4") + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/lz4/lz4-java/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "096dm57p2lzqk28n0j2p52x2j3cvnsd2dfqn43n7vbwrkjsy7y54")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "lz4.jar" + #:jdk ,icedtea-8 + #:source-dir "src/java:src/java-unsafe" + #:tests? #f; FIXME: requires more dependencies + #:phases + (modify-phases %standard-phases + (add-before 'configure 'generate-source + (lambda _ + (with-directory-excursion "src/build/source_templates" + (zero? (system* "mvel2" "../gen_sources.mvel" "../../java")))))))) + (native-inputs + `(("mvel" ,java-mvel2))) + (home-page "https://jpountz.github.io/lz4-java") + (synopsis "Compression algorithm") + (description "LZ4 - Java is a Java port of the popular lz4 compression +algorithms and xxHash hashing algorithm.") + (license license:asl2.0))) + +(define-public java-bouncycastle-bcprov + (package + (name "java-bouncycastle-bcprov") + (version "1.58") + (source (origin + (method url-fetch) + (uri "https://bouncycastle.org/download/bcprov-jdk15on-158.tar.gz") + (sha256 + (base32 + "1hgkg96llbvgs8i0krwz2n0j7wlg6jfnq8w8kg0cc899j0wfmf3n")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "bouncycastle-bcprov.jar" + #:tests? #f; no tests + #:source-dir "src" + #:phases + (modify-phases %standard-phases + (add-before 'configure 'unzip-src + (lambda _ + (mkdir-p "src") + (with-directory-excursion "src" + (zero? (system* "unzip" "../src.zip")))))))) + (native-inputs + `(("unzip" ,unzip) + ("junit" ,java-junit))) + (home-page "https://www.bouncycastle.org") + (synopsis "Cryptographic library") + (description "Bouncy Castle Provider (bcprov) is a cryptographic library +for the Java programming language.") + (license license:expat))) + +(define-public java-bouncycastle-bcpkix + (package + (name "java-bouncycastle-bcpkix") + (version "1.58") + (source (origin + (method url-fetch) + (uri "https://bouncycastle.org/download/bcpkix-jdk15on-158.tar.gz") + (sha256 + (base32 + "0is7qay02803s9f7lhnfcjlz61ni3hq5d7apg0iil7nbqkbfbcq2")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "bouncycastle-bcpkix.jar" + #:tests? #f; no tests + #:source-dir "src" + #:phases + (modify-phases %standard-phases + (add-before 'configure 'unzip-src + (lambda _ + (mkdir-p "src") + (with-directory-excursion "src" + (zero? (system* "unzip" "../src.zip")))))))) + (native-inputs + `(("unzip" ,unzip) + ("junit" ,java-junit))) + (inputs + `(("bcprov" ,java-bouncycastle-bcprov))) + (home-page "https://www.bouncycastle.org") + (synopsis "Cryptographic library") + (description "Bouncy Castle Java API for PKIX, CMS, EAC, TSP, PKCS, OCSP, +CMP, and CRMF.") + (license license:expat))) + +(define-public java-lmax-disruptor + (package + (name "java-lmax-disruptor") + (version "3.3.7") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/LMAX-Exchange/disruptor/" + "archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17da2gwj5abnlsfgn2xqjk5lgzbg4vkb0hdv2dvc8r2fx4bi7w3g")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-lmax-disruptor.jar" + #:jdk ,icedtea-8 + #:tests? #f)); tests hang + (inputs + `(("junit" ,java-junit) + ("java-hdrhistogram" ,java-hdrhistogram) + ("java-jmock" ,java-jmock) + ("java-jmock-legacy" ,java-jmock-legacy) + ("java-jmock-junit4" ,java-jmock-junit4) + ("java-hamcrest-all" ,java-hamcrest-all))) + (native-inputs + `(("cglib" ,java-cglib) + ("objenesis" ,java-objenesis) + ("asm" ,java-asm))) + (home-page "https://www.lmax.com/disruptor") + (synopsis "High performance inter-thread communication") + (description "LMAX Disruptor is a software pattern and software component +for high performance inter-thread communication that avoids the need for +message queues or resource locking.") + (license license:asl2.0))) + +(define-public java-xerial-core + (package + (name "java-xerial-core") + (version "2.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/xerial/xerial-java/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0d3g863i41bgalpa4xr3vm1h140l091n8iwgq5qvby5yivns9y8d")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "xerial-core.jar" + #:source-dir "xerial-core/src/main/java" + #:test-dir "xerial-core/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "xerial-core/src/main/resources" + "build/classes") + #t))))) + (native-inputs + `(("junit" ,java-junit) + ("hamcrest" ,java-hamcrest-core))) + (home-page "https://github.com/xerial/xerial-java") + (synopsis "Data managment libraries for Java") + (description "Xerial is a set of data management libraries for the Java +programming language. The ulitimate goal of the Xerial project is to manage +everything as database, including class objects, text format data, data +streams, etc.") + (license license:asl2.0))) + +(define-public java-powermock-reflect + (package + (name "java-powermock-reflect") + (version "1.7.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/powermock/powermock/" + "archive/powermock-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sbgi5vqq7k72wzcdjb20s370vyd4hsbnx71pzb8ishml3gy7fwy")) + (patches + (search-patches "java-powermock-fix-java-files.patch")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-powermock-reflect.jar" + #:jdk ,icedtea-8 + #:source-dir "powermock-reflect/src/main/java" + #:test-dir "powermock-reflect/src/test")) + (inputs + `(("java-objenesis" ,java-objenesis))) + (native-inputs + `(("junit" ,java-junit) + ("cglib" ,java-cglib) + ("asm" ,java-asm) + ("hamcrest" ,java-hamcrest-core) + ("assertj" ,java-assertj))) + (home-page "https://github.com/powermock/powermock") + (synopsis "Mock library extension framework") + (description "PowerMock is a framework that extends other mock libraries +such as EasyMock with more powerful capabilities. PowerMock uses a custom +classloader and bytecode manipulation to enable mocking of static methods, +constructors, final classes and methods, private methods, removal of static +initializers and more. By using a custom classloader no changes need to be +done to the IDE or continuous integration servers which simplifies adoption.") + (license license:asl2.0))) + +(define-public java-powermock-core + (package + (inherit java-powermock-reflect) + (name "java-powermock-core") + (arguments + `(#:jar-name "java-powermock-core.jar" + #:source-dir "powermock-core/src/main/java" + #:test-dir "powermock-core/src/test" + #:tests? #f; requires powermock-api + #:jdk ,icedtea-8)) + (inputs + `(("reflect" ,java-powermock-reflect) + ("javassist" ,java-jboss-javassist))) + (native-inputs + `(("junit" ,java-junit) + ("assertj" ,java-assertj) + ("mockito" ,java-mockito-1))))) + +(define-public java-powermock-api-support + (package + (inherit java-powermock-reflect) + (name "java-powermock-api-support") + (build-system ant-build-system) + (arguments + `(#:jar-name "java-powermock-api-support.jar" + #:jdk ,icedtea-8 + #:source-dir "powermock-api/powermock-api-support/src/main/java" + #:tests? #f)); no tests + (inputs + `(("core" ,java-powermock-core) + ("reflect" ,java-powermock-reflect))))) + +(define-public java-powermock-modules-junit4-common + (package + (inherit java-powermock-reflect) + (name "java-powermock-modules-junit4-common") + (build-system ant-build-system) + (arguments + `(#:jar-name "java-powermock-modules-junit4-common.jar" + #:jdk ,icedtea-8 + #:source-dir "powermock-modules/powermock-module-junit4-common/src/main/java" + #:test-dir "powermock-modules/powermock-module-junit4-common/src/test")) + (inputs + `(("core" ,java-powermock-core) + ("easymock" ,java-easymock) + ("reflect" ,java-powermock-reflect) + ("hamcrest" ,java-hamcrest-core) + ("cglib" ,java-cglib))))) + +(define-public java-powermock-modules-junit4 + (package + (inherit java-powermock-reflect) + (name "java-powermock-modules-junit4") + (build-system ant-build-system) + (arguments + `(#:jar-name "java-powermock-modules-junit4.jar" + #:jdk ,icedtea-8 + #:source-dir "powermock-modules/powermock-module-junit4/src/main/java" + #:test-dir "powermock-modules/powermock-module-junit4/src/test")) + (inputs + `(("core" ,java-powermock-core) + ("reflect" ,java-powermock-reflect) + ("common" ,java-powermock-modules-junit4-common) + ("cglib" ,java-cglib))) + (native-inputs + `(("easymock" ,java-easymock) + ("hamcrest" ,java-hamcrest-core) + ("objenesis" ,java-objenesis) + ("asm" ,java-asm) + ("junit" ,java-junit))))) + +(define-public java-powermock-api-easymock + (package + (inherit java-powermock-reflect) + (name "java-powermock-api-easymock") + (build-system ant-build-system) + (arguments + `(#:jar-name "java-powermock-api-easymock.jar" + #:jdk ,icedtea-8 + #:source-dir "powermock-api/powermock-api-easymock/src/main/java" + #:tests? #f; no tests + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-file + (lambda _ + ;; FIXME: This looks wrong, but it fixes a build error. + (with-directory-excursion "powermock-api/powermock-api-easymock" + (substitute* "src/main/java/org/powermock/api/easymock/PowerMock.java" + (("classLoader instanceof MockClassLoader") "false") + (("\\(\\(MockClassLoader\\) classLoader\\).*;") ";"))) + #t))))) + (inputs + `(("core" ,java-powermock-core) + ("easymock" ,java-easymock) + ("reflect" ,java-powermock-reflect) + ("support" ,java-powermock-api-support) + ("cglib" ,java-cglib))))) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index c854a5a599..b0da39aee0 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -192,14 +192,28 @@ programming languages.") (define-public units (package (name "units") - (version "2.14") + (version "2.16") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/units/units-" version ".tar.gz")) (sha256 (base32 - "1s421bxm36akjsy3qzg6da1d1g20gh094ac2slqxipgkh8yqjcwx")))) + "11hnp3gcmcc5kci2caxw4hs6m08h2mhqs3xzqq7iafx1ha2ggwyw")))) (build-system gnu-build-system) + (inputs + `(("readline" ,readline) + ("python" ,python-wrapper) ;for 'units_cur' script + ("python-requests" ,python-requests))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'install 'wrap-units_cur + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (wrap-program (string-append bin "/units_cur") + `("PYTHONPATH" ":" prefix + ,(search-path-as-string->list (getenv "PYTHONPATH")))) + #t)))))) (synopsis "Conversion between thousands of scales") (description "GNU Units converts numeric quantities between units of measure. It diff --git a/gnu/packages/patches/java-powermock-fix-java-files.patch b/gnu/packages/patches/java-powermock-fix-java-files.patch new file mode 100644 index 0000000000..6b95818138 --- /dev/null +++ b/gnu/packages/patches/java-powermock-fix-java-files.patch @@ -0,0 +1,178 @@ +This patch fixes build issues caused by the java compiler not finding the +correct types on some statements. + +From 1ac84b58b4383fa118d98c35956d722d11cf449e Mon Sep 17 00:00:00 2001 +From: Julien Lepiller <julien@lepiller.eu> +Date: Tue, 22 Aug 2017 20:40:27 +0200 +Subject: [PATCH] Fix java files. + +--- + .../internal/impl/DelegatingPowerMockRunner.java | 13 +++++++--- + .../java/org/powermock/reflect/WhiteBoxTest.java | 30 +++++++++++----------- + .../reflect/internal/proxy/ClassFactory.java | 6 ++--- + 3 files changed, 27 insertions(+), 22 deletions(-) + +diff --git a/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java b/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java +index 301f854..caecbbd 100644 +--- a/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java ++++ b/powermock-modules/powermock-module-junit4/src/main/java/org/powermock/modules/junit4/internal/impl/DelegatingPowerMockRunner.java +@@ -98,12 +98,17 @@ implements PowerMockJUnitRunnerDelegate, Filterable { + @Override + public Runner call() throws Exception { + try { +- return Whitebox.invokeConstructor( +- testClass.isAnnotationPresent(PowerMockRunnerDelegate.class) +- ? testClass.getAnnotation(PowerMockRunnerDelegate.class).value() +- : PowerMockRunnerDelegate.DefaultJUnitRunner.class, ++ if(testClass.isAnnotationPresent(PowerMockRunnerDelegate.class)) { ++ return Whitebox.invokeConstructor( ++ testClass.getAnnotation(PowerMockRunnerDelegate.class).value(), + new Class[] {Class.class}, + new Object[] {testClass}); ++ } else { ++ return Whitebox.invokeConstructor( ++ PowerMockRunnerDelegate.DefaultJUnitRunner.class, ++ new Class[] {Class.class}, ++ new Object[] {testClass}); ++ } + } catch (ConstructorNotFoundException rootProblem) { + if (testClass.isAnnotationPresent(PowerMockRunnerDelegate.class) + && JUnitVersion.isGreaterThanOrEqualTo("4.5")) { +diff --git a/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java b/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java +index bf1e2e3..0d60487 100644 +--- a/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java ++++ b/powermock-reflect/src/test/java/org/powermock/reflect/WhiteBoxTest.java +@@ -248,7 +248,7 @@ public class WhiteBoxTest { + + @Test + public void testMethodWithPrimitiveAndWrappedInt_primtive_wrapped() throws Exception { +- assertEquals(17, Whitebox.invokeMethod(new ClassWithPrivateMethods(), "methodWithPrimitiveAndWrappedInt", ++ assertEquals((Integer)17, Whitebox.invokeMethod(new ClassWithPrivateMethods(), "methodWithPrimitiveAndWrappedInt", + new Class[]{int.class, Integer.class}, 9, Integer.valueOf(8))); + } + +@@ -257,7 +257,7 @@ public class WhiteBoxTest { + int expected = 123; + Whitebox.setInternalState(ClassWithInternalState.class, "staticState", expected); + assertEquals(expected, ClassWithInternalState.getStaticState()); +- assertEquals(expected, Whitebox.getInternalState(ClassWithInternalState.class, "staticState")); ++ assertEquals(expected, (int)Whitebox.getInternalState(ClassWithInternalState.class, "staticState")); + } + + @Test +@@ -334,25 +334,25 @@ public class WhiteBoxTest { + @Test + public void testInvokeVarArgsMethod_multipleValues() throws Exception { + ClassWithPrivateMethods tested = new ClassWithPrivateMethods(); +- assertEquals(6, Whitebox.invokeMethod(tested, "varArgsMethod", 1, 2, 3)); ++ assertEquals(6, (int)Whitebox.invokeMethod(tested, "varArgsMethod", 1, 2, 3)); + } + + @Test + public void testInvokeVarArgsMethod_noArguments() throws Exception { + ClassWithPrivateMethods tested = new ClassWithPrivateMethods(); +- assertEquals(0, Whitebox.invokeMethod(tested, "varArgsMethod")); ++ assertEquals(0, (int)Whitebox.invokeMethod(tested, "varArgsMethod")); + } + + @Test + public void testInvokeVarArgsMethod_oneArgument() throws Exception { + ClassWithPrivateMethods tested = new ClassWithPrivateMethods(); +- assertEquals(4, Whitebox.invokeMethod(tested, "varArgsMethod", 2)); ++ assertEquals(4, (int)Whitebox.invokeMethod(tested, "varArgsMethod", 2)); + } + + @Test + public void testInvokeVarArgsMethod_invokeVarArgsWithOneArgument() throws Exception { + ClassWithPrivateMethods tested = new ClassWithPrivateMethods(); +- assertEquals(1, Whitebox.invokeMethod(tested, "varArgsMethod", new Class<?>[]{int[].class}, 1)); ++ assertEquals(1, (int)Whitebox.invokeMethod(tested, "varArgsMethod", new Class<?>[]{int[].class}, 1)); + } + + @Test +@@ -376,7 +376,7 @@ public class WhiteBoxTest { + ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() { + }; + Whitebox.setInternalState(tested, fieldName, value); +- assertEquals(value, Whitebox.getInternalState(tested, fieldName)); ++ assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName)); + } + + @Test +@@ -387,8 +387,8 @@ public class WhiteBoxTest { + ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() { + }; + Whitebox.setInternalState(tested, fieldName, value); +- assertEquals(value, Whitebox.getInternalState(tested, fieldName)); +- assertEquals(-1, Whitebox.getInternalState(tested, fieldName, ClassWithInternalState.class)); ++ assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName)); ++ assertEquals(-1, (int)Whitebox.getInternalState(tested, fieldName, ClassWithInternalState.class)); + } + + @Test(expected = IllegalArgumentException.class) +@@ -398,7 +398,7 @@ public class WhiteBoxTest { + ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() { + }; + Whitebox.setInternalState(tested, fieldName, new Object()); +- assertEquals(value, Whitebox.getInternalState(tested, fieldName)); ++ assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName)); + } + + @Test(expected = IllegalArgumentException.class) +@@ -408,7 +408,7 @@ public class WhiteBoxTest { + ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState() { + }; + Whitebox.setInternalState(tested, fieldName, (Object) null); +- assertEquals(value, Whitebox.getInternalState(tested, fieldName)); ++ assertEquals(value, (int)Whitebox.getInternalState(tested, fieldName)); + } + + @Test +@@ -417,8 +417,8 @@ public class WhiteBoxTest { + ClassWithChildThatHasInternalState tested = new ClassWithChildThatHasInternalState(); + Whitebox.setInternalState(tested, int.class, value); + assertEquals(value, (int) Whitebox.getInternalState(tested, int.class)); +- assertEquals(value, Whitebox.getInternalState(tested, "anotherInternalState")); +- assertEquals(value, Whitebox.getInternalState(tested, "anotherInternalState", ++ assertEquals(value, (int)Whitebox.getInternalState(tested, "anotherInternalState")); ++ assertEquals(value, (int)Whitebox.getInternalState(tested, "anotherInternalState", + ClassWithChildThatHasInternalState.class)); + } + +@@ -429,7 +429,7 @@ public class WhiteBoxTest { + Whitebox.setInternalState(tested, int.class, value, ClassWithInternalState.class); + assertEquals(42, (int) Whitebox.getInternalState(tested, int.class)); + assertEquals(value, (int) Whitebox.getInternalState(tested, int.class, ClassWithInternalState.class)); +- assertEquals(value, Whitebox.getInternalState(tested, "staticState", ClassWithInternalState.class)); ++ assertEquals(value, (int)Whitebox.getInternalState(tested, "staticState", ClassWithInternalState.class)); + } + + @Test +@@ -619,7 +619,7 @@ public class WhiteBoxTest { + @Test + public void testInvokeMethodWithBothNormalAndVarArgsParameter() throws Exception { + ClassWithPrivateMethods tested = new ClassWithPrivateMethods(); +- assertEquals(4, Whitebox.invokeMethod(tested, "varArgsMethod2", 1, 2, 3)); ++ assertEquals(4, (int)Whitebox.invokeMethod(tested, "varArgsMethod2", 1, 2, 3)); + } + + @Test +diff --git a/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java b/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java +index a5e5fda..14b8bbe 100644 +--- a/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java ++++ b/powermock-reflect/src/test/java/org/powermock/reflect/internal/proxy/ClassFactory.java +@@ -1,8 +1,8 @@ + package org.powermock.reflect.internal.proxy; + +-import net.sf.cglib.asm.ClassWriter; +-import net.sf.cglib.asm.MethodVisitor; +-import net.sf.cglib.asm.Opcodes; ++import org.objectweb.asm.ClassWriter; ++import org.objectweb.asm.MethodVisitor; ++import org.objectweb.asm.Opcodes; + + class ClassFactory implements Opcodes { + +-- +2.14.1 + diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 7225336c7c..196541a2e3 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7622,6 +7622,28 @@ namespace::autoclean or namespace::clean and are therefore available to be called as methods, which usually isn't want you want.") (license (package-license perl)))) +(define-public perl-test-command + (package + (name "perl-test-command") + (version "0.11") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DANBOO/Test-Command-" + version ".tar.gz")) + (sha256 + (base32 + "0cwm3c4d49mdrbm6vgh78b3x8mk730l0zg8i7xb9z8bkx9pzr8r8")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (home-page "https://github.com/danboo/perl-test-command") + (synopsis "Test routines for external commands") + (description + "This module provides routines for testing the exit status, standard +output and standard error of external commands.") + (license perl-license))) + (define-public perl-test-cpan-meta (package (name "perl-test-cpan-meta") diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index bb66fabc4c..fcd012d894 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -238,6 +238,7 @@ required structures.") (package (name "openssl") (version "1.0.2l") + (replacement openssl-1.0.2m) (source (origin (method url-fetch) (uri (list (string-append "ftp://ftp.openssl.org/source/" @@ -380,14 +381,35 @@ required structures.") (license license:openssl) (home-page "http://www.openssl.org/"))) +;; Fixes CVE-2017-3735 and CVE-2017-3736. +;; See <https://www.openssl.org/news/cl102.txt>. +(define-public openssl-1.0.2m + (package + (inherit openssl) + (version "1.0.2m") + (source (origin + (inherit (package-source openssl)) + (uri (list (string-append "https://www.openssl.org/source/openssl-" + version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/openssl-" + version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/old/" + (string-trim-right version char-set:letter) + "/openssl-" version ".tar.gz"))) + (sha256 + (base32 + "03vvlfnxx4lhxc83ikfdl6jqph4h52y7lb7li03va6dkqrgg2vwc")))))) + (define-public openssl-next (package (inherit openssl) (name "openssl") - (version "1.1.0f") + (version "1.1.0g") (source (origin (method url-fetch) - (uri (list (string-append "ftp://ftp.openssl.org/source/" + (uri (list (string-append "https://www.openssl.org/source/openssl-" + version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/" name "-" version ".tar.gz") (string-append "ftp://ftp.openssl.org/source/old/" (string-trim-right version char-set:letter) @@ -395,7 +417,7 @@ required structures.") (patches (search-patches "openssl-1.1.0-c-rehash-in.patch")) (sha256 (base32 - "0r97n4n552ns571diz54qsgarihrxvbn7kvyv8wjyfs9ybrldxqj")))) + "1bvka2wf33w2vxv7yw578nnjqyhz2b3chvfb0l4k2ffscw950kfy")))) (outputs '("out" "doc" ;1.3MiB of man3 pages "static")) ; 5.5MiB of .a files diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 3c449937da..8fa62c9896 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -28,14 +28,14 @@ (define-public miniupnpc (package (name "miniupnpc") - (version "2.0.20170509") + (version "2.0.20171102") (source (origin (method url-fetch) (uri (string-append "https://miniupnp.tuxfamily.org/files/" name "-" version ".tar.gz")) (sha256 - (base32 "0spi75q6nafxp3ndnrhrlqagzmjlp8wwlr5x7rnvdpswgxi6ihyk")))) + (base32 "1m1552kkdxkyyb5gyykp0j8falxwf1424cm55y50q9l10l11g18l")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-2))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index d03f5b58d3..af880c29ff 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -124,14 +124,14 @@ as well as the classic centralized workflow.") (name "git") ;; XXX When updating Git, check if the special 'git:src' input to cgit needs ;; to be updated as well. - (version "2.14.3") + (version "2.15.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "078m0za5gyzcah5iaxdwx663yvdp8byvjc8rpzjzcrr4sl6rcc2k")))) + "0siyxg1ppg6szjp8xp37zfq1fj97kbdxpigi3asmidqhkx41cw8h")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -145,7 +145,7 @@ as well as the classic centralized workflow.") (sha256 (base32 - "00dh878pwl94p6syh6zgwn7f0zv2bl5xny3pnr390lzxpa9ks3jv")))))) + "0xqwfg9xz5nw3ifaki87ahbz0xk5zmkgqs0ig357pxwh2i20kb92")))))) (inputs `(("curl" ,curl) ("expat" ,expat) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 42a15340ea..8310df7097 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> +;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -405,7 +406,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.") (define-public libass (package (name "libass") - (version "0.13.7") + (version "0.14.0") (source (origin (method url-fetch) (uri (string-append @@ -413,11 +414,11 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.") version "/libass-" version ".tar.xz")) (sha256 (base32 - "17byv926w1mxn56n896sxvdq4m0yv1l7qbm688h6zr3nzgsyarbh")))) + "18iqznl4mabhj9ywfsz4kwvbsplcv1jjxq50nxssvbj8my1267w8")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("yasm" ,yasm))) + ("nasm" ,nasm))) (propagated-inputs `(("freetype" ,freetype) ("fribidi" ,fribidi) @@ -1006,7 +1007,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") `(("perl" ,perl) ; for zsh completion file ("pkg-config" ,pkg-config) ("python-docutils" ,python-docutils))) - ;; Missing features: libguess, Wayland, V4L2 + ;; Missing features: libguess, V4L2 (inputs `(("alsa-lib" ,alsa-lib) ("enca" ,enca) @@ -1038,6 +1039,8 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ("pulseaudio" ,pulseaudio) ("rsound" ,rsound) ("waf" ,python-waf) + ("wayland" ,wayland) + ("libxkbcommon", libxkbcommon) ("youtube-dl" ,youtube-dl) ("zlib" ,zlib))) (arguments diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 236807c70a..b66239787e 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -157,13 +157,15 @@ if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n")) # honor it and otherwise use /bin/sh. export SHELL -if [ -n \"$SSH_CLIENT\" -a -z \"`type -P cat`\" ] +if [[ $- != *i* ]] then - # We are being invoked from a non-interactive SSH session - # (as in \"ssh host command\") but 'cat' cannot be found - # in $PATH. Source /etc/profile so we get $PATH and other - # essential variables. - source /etc/profile + # We are being invoked from a non-interactive shell. If this + # is an SSH session (as in \"ssh host command\"), source + # /etc/profile so we get PATH and other essential variables. + [[ -n \"$SSH_CLIENT\" ]] && source /etc/profile + + # Don't do anything else. + return fi # Adjust the prompt depending on whether we're in 'guix environment'. diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm index 41be360355..6abc6c2501 100644 --- a/gnu/tests/ssh.scm +++ b/gnu/tests/ssh.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -169,6 +170,33 @@ root with an empty password." (call-with-remote-input-file sftp-session witness read))))) + ;; Connect to the guest over SSH. Make sure we can run commands + ;; from the system profile. + (test-equal "run executables from system profile" + #t + (call-with-connected-session/auth + (lambda (session) + (let ((channel (make-channel session))) + (channel-open-session channel) + (channel-request-exec + channel + (string-append + "mkdir -p /root/.guix-profile/bin && " + "touch /root/.guix-profile/bin/path-witness && " + "chmod 755 /root/.guix-profile/bin/path-witness")) + (zero? (channel-get-exit-status channel)))))) + + ;; Connect to the guest over SSH. Make sure we can run commands + ;; from the user profile. + (test-equal "run executable from user profile" + #t + (call-with-connected-session/auth + (lambda (session) + (let ((channel (make-channel session))) + (channel-open-session channel) + (channel-request-exec channel "path-witness") + (zero? (channel-get-exit-status channel)))))) + (test-end) (exit (= (test-runner-fail-count (test-runner-current)) 0))))) |