X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/d34970ee2ba0f65c491d306073c9b3a598516f1d..798648515b77507c242752457b4dc17c155bad6e:/gnu/packages/java.scm diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e074dab46d..806f13ab89 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -651,8 +651,9 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) (source (origin (method git-fetch) (uri (git-reference - (url "git://git.savannah.gnu.org/classpath.git") + (url "https://git.savannah.gnu.org/git/classpath.git") (commit commit))) + (file-name (string-append "classpath-" version "-checkout")) (sha256 (base32 "1v2rww76ww322mpg3s12a1kkc6gkp31bm9gcxs532h0wq285fiw4")))) @@ -684,7 +685,7 @@ the standard javac executable. The tool runs on JamVM instead of SableVM."))) "--disable-gjdoc") #:phases (modify-phases %standard-phases - (add-before 'configure 'bootstrap + (add-after 'unpack 'bootstrap (lambda _ (zero? (system* "autoreconf" "-vif")))) (add-after 'unpack 'remove-unsupported-annotations @@ -1064,7 +1065,7 @@ bootstrapping purposes.") (license license:gpl2+))) (define-public icedtea-7 - (let* ((version "2.6.10") + (let* ((version "2.6.11") (drop (lambda (name hash) (origin (method url-fetch) @@ -1082,7 +1083,7 @@ bootstrapping purposes.") version ".tar.xz")) (sha256 (base32 - "0am945k2zqrka2xn7lb5grmkad4lwncnhnwk8iq6f269birzsj8w")) + "1ibp6ybqnf8g7mbs45bkbv44dwz4h2w9gr4rh15yvr1m8lqkq1i0")) (modules '((guix build utils))) (snippet '(substitute* "Makefile.in" @@ -1475,25 +1476,25 @@ bootstrapping purposes.") (native-inputs `(("openjdk-src" ,(drop "openjdk" - "02klsxp9hlf5sial6mxpiq53hmrhlrg6x774j7bjjfhb7hpdvadh")) + "1zhr4l9kxnbzghcsgjk3vmih9qpg1wrr9qry7fx04l97svp1ylhd")) ("corba-drop" ,(drop "corba" - "1vbly6khri241xda05gnwkpf2fk41d96ls96ximi084mx0a3w5rd")) + "108v15ncb2rnsyzgzncjlm1f57d1sv60zd9qbpas8kqmvpp8r0gz")) ("jaxp-drop" ,(drop "jaxp" - "0s8zln64vdwdxwlw1vpfzm8xbpyhgsv3nqjmnv7y36qpsszg27a5")) + "0zcpcmm3g1s7m31glrbw3ys7azi97ixcvbyxd40y9xzdja3jyr52")) ("jaxws-drop" ,(drop "jaxws" - "0myd66bv8ib8krzgqv754bc564rd8xwpwabvf7my1apyb86vap3n")) + "1gkqm0p3sr8d0xpki3fhf7cvmgqxx8ambgl5f3jx2plfnhsg96d2")) ("jdk-drop" ,(drop "jdk" - "10b4lfv10vba07zblw0wii7mhrfhf32pf7410x5nz2q0smgszl2h")) + "1d9fjnzdx4m6gwkvmj2n097ag0mvkhm3lldaxjki8x8c6a5clknf")) ("langtools-drop" ,(drop "langtools" - "0lvncxb5qzrlqkflrnd0l8vwy155cwj1jb07rkq10z2vx0bq7lq2")) + "0zscdp9arcq7gr8j7jq4m75gq0w1i3ryxpdnrc8fl0msh4w2s2k5")) ("hotspot-drop" ,(drop "hotspot" - "0q6mdgbbd3681y3n0z1v783irdjhhi73z6sn5csczpyhjm318axb")) + "1y6vnssn5y50x27g4ypdb5wwpmi7zf7jdi8gqbymkwf6n8p5y1d6")) ("ant" ,ant-bootstrap) ("attr" ,attr) ("coreutils" ,coreutils) @@ -1543,7 +1544,7 @@ IcedTea build harness.") (license license:gpl2+)))) (define-public icedtea-8 - (let* ((version "3.4.0") + (let* ((version "3.5.1") (drop (lambda (name hash) (origin (method url-fetch) @@ -1552,7 +1553,7 @@ IcedTea build harness.") "/icedtea8/" version "/" name ".tar.xz")) (sha256 (base32 hash)))))) (package (inherit icedtea-7) - (version "3.4.0") + (version "3.5.1") (source (origin (method url-fetch) (uri (string-append @@ -1560,7 +1561,7 @@ IcedTea build harness.") version ".tar.xz")) (sha256 (base32 - "16if055973y6yw7n5gczp8iksvc31cy4p5by9lkbniadqj4z665m")) + "1j8iv0cdk9fkh3yb5is7z29m9k3s89w6y9090538j6aa7p4nmalf")) (modules '((guix build utils))) (snippet '(begin @@ -1602,7 +1603,7 @@ IcedTea build harness.") (string-append "lib" name ".so"))))) (for-each (lambda (file) - (catch 'encoding-error + (catch 'decoding-error (lambda () (substitute* file (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" @@ -1627,39 +1628,43 @@ IcedTea build harness.") (copy-recursively "openjdk.build/docs" doc) (copy-recursively "openjdk.build/images/j2re-image" jre) (copy-recursively "openjdk.build/images/j2sdk-image" jdk) + ;; Install the nss.cfg file to JRE to enable SSL/TLS + ;; support via NSS. + (copy-file (string-append jdk "/jre/lib/security/nss.cfg") + (string-append jre "/lib/security/nss.cfg")) #t))))))) (native-inputs `(("jdk" ,icedtea-7 "jdk") ("openjdk-src" ,(drop "openjdk" - "0va5i3zr8y8ncv914rz914jda9d88gq0viww3smdqnln8n78rszi")) + "0a6yrq8y1zkzc7hm2l28rm3vzy5izfxhmmhhhvc91lhfclnqcd2q")) ("aarch32-drop" ,(drop "aarch32" "0cway5a5hcfyh4pzl9zz5xr7lil4gsliy6r5iqbaasd2d9alvqiq")) ("corba-drop" ,(drop "corba" - "1l9zr97a3kq00bj4i8wcdsjlz3xlfldxd8zhkcxikinwd5n0n8a7")) + "031sc6byd8lqvz3cd07phm13pqrxalxk9f3a2q8pim5n4sbsy0qb")) ("jaxp-drop" ,(drop "jaxp" - "0lqxrsr3xlpwm2na6f2rpl7znrz34dkb9dg3zjmympyjy4kqljn7")) + "1815jaj0k0w1s0g0jr1ahkajp1jx2qlb08i6l9ha4wyqqyp49a4n")) ("jaxws-drop" ,(drop "jaxws" - "1b3chckk10dzrpa7cswmcf1jvryaiwkj8lihfqjr5j7l668jwr4h")) + "0vh4f85cxhqvabzg86ycpz02519cdzgsn5dr75k22rkmbbxnbbl6")) ("jdk-drop" ,(drop "jdk" - "15lq0k2jv2x26x6vqkbljdcxk35i3b60pcsw3j1sdfmlk1xy6wgc")) + "196ycqz4d9kknc6b219q4ib83l1kkl6w6l1cznw9bzaafyynqa35")) ("langtools-drop" ,(drop "langtools" - "17xkb8ahkg04ri0bp5wblcp1a2lp8j7c83ic5zdbggvgm339k5s8")) + "0ssnadlr5cxhmj06nmni34kdynix1sjhcvjzahm5yzfd7dfllmgy")) ("hotspot-drop" ,(drop "hotspot" - "0xpx8ykaq0ki6r0dl3dzca2xgp1p82z8mvsxcs2931ib667ncgcp")) + "0f7fxf0s9kadvs80hm5ga72pyp9r0fvl8zm1wmd1wrks8kl79sd6")) ("nashorn-drop" ,(drop "nashorn" - "1bnn4731lhlvg8axy4mjxgvh646yl22hp52wipx8cfca4vkn2f1z")) + "0m95qgnd4z6p0xp9m06ihss7skx2yrm7xw69jsjsrxpriy1shiwy")) ("shenandoah-drop" ,(drop "shenandoah" - "0fpxl8zlii1hpm777r875ys2cr5ih3gb6p1nm9jfa6krjrccrxv1")) + "0yjlcgp6mldp30hmkfl68mdwlbg3gb0m6xd5y7srczni7cln5f3i")) ,@(fold alist-delete (package-native-inputs icedtea-7) '("jdk" "openjdk-src" "corba-drop" "jaxp-drop" "jaxws-drop" "jdk-drop" "langtools-drop" "hotspot-drop"))))))) @@ -1868,6 +1873,41 @@ designs.") license:asl2.0 license:cpl1.0))))) +(define-public java-classpathx-servletapi + (package + (name "java-classpathx-servletapi") + (version "3.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/classpathx/servletapi/" + "servletapi-" version ".tar.gz")) + (sha256 + (base32 + "0y9489pk4as9q6x300sk3ycc0psqfxcd4b0xvbmf3rhgli8q1kx3")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; there is no test target + #:build-target "compile" + ;; NOTE: This package does not build with Java 8 because of a type + ;; mismatch in + ;; "source/javax/servlet/jsp/el/ImplicitObjectELResolver.java". It + ;; defines the return value of ScopeMap's "remove" method to be of type + ;; "Object", whereas Map's "remove" method returns boolean. + #:make-flags + (list "-Dbuild.compiler=javac1.7" + (string-append "-Ddist=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key make-flags #:allow-other-keys) + (zero? (apply system* `("ant" "dist" ,@make-flags)))))))) + (home-page "https://www.gnu.org/software/classpathx/") + (synopsis "Java servlet API implementation") + (description "This is the GNU servlet API distribution, part of the +ClasspathX project. It provides implementations of version 3.0 of the servlet +API and version 2.1 of the Java ServerPages API.") + (license license:gpl3+))) + (define-public java-swt (package (name "java-swt") @@ -4086,6 +4126,87 @@ for your architecture which is provided by the jsvc package. This is a part of the Apache Commons Project.") (license license:asl2.0))) +(define-public java-javaewah + (package + (name "java-javaewah") + (version "1.1.6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/lemire/javaewah/" + "archive/JavaEWAH-" version ".tar.gz")) + (sha256 + (base32 + "1n7j1r1h24wlhwv9zdcj6yqjrhma2ixwyzm15l5vrv6yqjs6753b")))) + (build-system ant-build-system) + (arguments `(#:jar-name "javaewah.jar")) + (inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "https://github.com/lemire/javaewah") + (synopsis "Compressed alternative to the Java @code{BitSet} class") + (description "This is a word-aligned compressed variant of the Java +@code{Bitset} class. It provides both a 64-bit and a 32-bit RLE-like +compression scheme. It can be used to implement bitmap indexes. + +The goal of word-aligned compression is not to achieve the best compression, +but rather to improve query processing time. Hence, JavaEWAH tries to save CPU +cycles, maybe at the expense of storage. However, the EWAH scheme is always +more efficient storage-wise than an uncompressed bitmap (as implemented in the +@code{BitSet} class by Sun).") + ;; GPL2.0 derivates are explicitly allowed. + (license license:asl2.0))) + +(define-public java-slf4j-api + (package + (name "java-slf4j-api") + (version "1.7.25") + (source (origin + (method url-fetch) + (uri (string-append "https://www.slf4j.org/dist/slf4j-" + version ".tar.gz")) + (sha256 + (base32 + "13j51sgzmhhdrfa74gkal5zpip7r1440dh7zsi2c8bpb2zs1v8kb")) + (modules '((guix build utils))) + ;; Delete bundled jars. + (snippet + '(begin + (for-each delete-file (find-files "." "\\.jar$")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:jar-name "slf4j-api.jar" + #:source-dir "slf4j-api/src/main" + #:test-dir "slf4j-api/src/test" + #:phases + (modify-phases %standard-phases + (add-after 'build 'regenerate-jar + (lambda _ + ;; pom.xml ignores these files in the jar creation process. If we don't, + ;; we get the error "This code should have never made it into slf4j-api.jar" + (delete-file-recursively "build/classes/org/slf4j/impl") + (zero? (system* "jar" "-cf" "build/jar/slf4j-api.jar" "-C" + "build/classes" ".")))) + (add-before 'check 'dont-test-abstract-classes + (lambda _ + ;; abstract classes are not meant to be run with junit + (substitute* "build.xml" + (("") + (string-append "" + "")))))))) + (inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "https://www.slf4j.org/") + (synopsis "Simple logging facade for Java") + (description "The Simple Logging Facade for Java (SLF4J) serves as a +simple facade or abstraction for various logging +frameworks (e.g. @code{java.util.logging}, @code{logback}, @code{log4j}) +allowing the end user to plug in the desired logging framework at deployment +time.") + (license license:expat))) + (define-public antlr2 (package (name "antlr2") @@ -4570,3 +4691,28 @@ generate classes, directly in binary form. The provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools.") (license license:bsd-3))) + +(define-public java-commons-cli-1.2 + ;; This is a bootstrap dependency for Maven2. + (package + (inherit java-commons-cli) + (version "1.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/cli/source/" + "commons-cli-" version "-src.tar.gz")) + (sha256 + (base32 + "0rvfgzgv2pc1m091dfj3ih9ddsjjppr1f1wf0qmc3bk6b1kwv2dm")))) + (arguments + `(#:jar-name "commons-cli.jar" + #:phases + (modify-phases %standard-phases + (add-before 'check 'fix-build-xml + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build.xml" + (("dir=\"\\$\\{test.home\\}/java\"") + "dir=\"${test.home}\"")) + #t))))) + (native-inputs + `(("java-junit" ,java-junit)))))