aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/java-compression.scm27
-rw-r--r--gnu/packages/java.scm181
2 files changed, 162 insertions, 46 deletions
diff --git a/gnu/packages/java-compression.scm b/gnu/packages/java-compression.scm
index b1d3ae7060..3abc0ea071 100644
--- a/gnu/packages/java-compression.scm
+++ b/gnu/packages/java-compression.scm
@@ -207,7 +207,6 @@ compressor/decompressor.")
`(#:jar-name "iq80-snappy.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
- #:jdk ,icedtea-8
#:phases
(modify-phases %standard-phases
(replace 'check
@@ -228,7 +227,8 @@ compressor/decompressor.")
;; We don't have hadoop
(delete-file "src/main/java/org/iq80/snappy/HadoopSnappyCodec.java")
(delete-file "src/test/java/org/iq80/snappy/TestHadoopSnappyCodec.java")
- #t)))))
+ #t))
+ (replace 'install (install-from-pom "pom.xml")))))
(home-page "https://github.com/dain/snappy")
(native-inputs
`(("guava" ,java-guava)
@@ -303,14 +303,21 @@ It can be used as a replacement for the Apache @code{CBZip2InputStream} /
;; the package is not contained in a subdirectory
(chdir "..")
#t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Do we want to install *Demo.jar?
- (install-file "build/jar/xz.jar"
- (string-append
- (assoc-ref outputs "out")
- "/share/java/xz.jar"))
- #t)))))
+ (add-before 'install 'generate-pom
+ (lambda _
+ (copy-file "maven/pom_template.xml" "pom.xml")
+ (substitute* "pom.xml"
+ (("@VERSION@") ,version)
+ (("@TITLE@") "XZ data compression")
+ (("@HOMEPAGE@") "http://tukaani.org/xz/java.html"))
+ #t))
+ (add-before 'install 'rename-jar
+ (lambda _
+ (rename-file "build/jar/xz.jar"
+ (string-append "build/jar/xz-" ,version ".jar"))
+ #t))
+ (replace 'install
+ (install-from-pom "pom.xml")))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "https://tukaani.org")
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9d11e13ae2..e5e7586f92 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -3976,22 +3976,31 @@ components.")
`(#:jar-name "container-default.jar"
#:source-dir "plexus-container-default/src/main/java"
#:test-dir "plexus-container-default/src/test"
- #:jdk ,icedtea-8
#:tests? #f; requires plexus-archiver, which depends on this package
#:phases
(modify-phases %standard-phases
+ (add-before 'build 'fix-google-collections
+ (lambda _
+ ;; Google collections are now replaced with guava
+ (substitute* "plexus-container-default/pom.xml"
+ (("google-collections") "guava")
+ (("com.google.collections") "com.google.guava"))
+ #t))
(add-before 'build 'copy-resources
(lambda _
(copy-recursively
"plexus-container-default/src/main/resources/"
"build/classes")
- #t)))))
- (inputs
- `(("worldclass" ,java-plexus-classworlds)
- ("xbean" ,java-geronimo-xbean-reflect)
- ("utils" ,java-plexus-utils)
- ("junit" ,java-junit)
- ("guava" ,java-guava)))
+ #t))
+ (replace 'install
+ (install-from-pom "plexus-container-default/pom.xml")))))
+ (propagated-inputs
+ `(("java-plexus-worldclass" ,java-plexus-classworlds)
+ ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
+ ("java-plexus-utils" ,java-plexus-utils)
+ ("java-junit" ,java-junit)
+ ("java-guava" ,java-guava)
+ ("java-plexus-containers-parent-pom" ,java-plexus-containers-parent-pom)))
(home-page "https://github.com/codehaus-plexus/plexus-containers")
(synopsis "Inversion-of-control container")
(description "Plexus-default-container is Plexus' inversion-of-control
@@ -3999,6 +4008,21 @@ components.")
implementation.")
(license license:asl2.0)))
+(define java-plexus-containers-parent-pom
+ (package
+ (inherit java-plexus-container-default-bootstrap)
+ (name "java-plexus-containers-parent-pom")
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (install-pom-file "pom.xml")))))
+ (propagated-inputs
+ `(("plexus-parent-pom" ,plexus-parent-pom-4.0)))))
+
(define-public java-plexus-io
(package
(name "java-plexus-io")
@@ -4050,19 +4074,18 @@ reusing it in maven.")
(define-public java-plexus-archiver
(package
(name "java-plexus-archiver")
- (version "4.1.0")
+ (version "4.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/codehaus-plexus/plexus-archiver"
"/archive/plexus-archiver-" version ".tar.gz"))
(sha256
(base32
- "0ry6i92gli0mvdmfih2vgs0lkf9yvx18h2ajxim66yg6yipnp0hg"))))
+ "144n971r3lfrx3l12nf2scm80x4xdvgbkk4bjpa4vcvvdrll6qys"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "plexus-archiver.jar"
#:source-dir "src/main/java"
- #:jdk ,icedtea-8
#:test-dir "src/test"
#:test-exclude (list "**/Abstract*.java" "**/Base*.java")
#:phases
@@ -4080,19 +4103,22 @@ reusing it in maven.")
#t))
(add-before 'build 'copy-resources
(lambda _
- (mkdir-p "build/classes/META-INF/plexus")
- (copy-file "src/main/resources/META-INF/plexus/components.xml"
- "build/classes/META-INF/plexus/components.xml")
- #t)))))
+ (mkdir-p "build/classes")
+ (copy-recursively "src/main/resources" "build/classes")
+ (mkdir-p "build/test-classes")
+ (copy-recursively "src/test/resources" "build/test-classes")
+ #t))
+ (replace 'install (install-from-pom "pom.xml")))))
+ (propagated-inputs
+ `(("java-plexus-utils" ,java-plexus-utils-3.3.0)
+ ("java-plexus-io" ,java-plexus-io)
+ ("java-iq80-snappy" ,java-iq80-snappy)
+ ("java-commons-compress" ,java-commons-compress)
+ ("plexus-parent-pom" ,plexus-parent-pom-6.1)))
(inputs
- `(("utils" ,java-plexus-utils)
- ("commons-io" ,java-commons-io)
- ("snappy" ,java-iq80-snappy)
- ("io" ,java-plexus-io)
- ("compress" ,java-commons-compress)
- ("container-default" ,java-plexus-container-default-bootstrap)
- ("snappy" ,java-snappy)
- ("java-jsr305" ,java-jsr305)))
+ `(("java-jsr305" ,java-jsr305)
+ ("java-plexus-container-default"
+ ,java-plexus-container-default-bootstrap)))
(native-inputs
`(("java-hamcrest-core" ,java-hamcrest-core)
("junit" ,java-junit)
@@ -5715,22 +5741,23 @@ It provides packages in the @code{javax.annotations} namespace.")
;; This is the last release of Guava that can be built with Java 7.
(version "20.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/google/guava/"
- "releases/download/v" version
- "/guava-" version "-sources.jar"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/guava/")
+ (commit (string-append "v" version))))
(sha256
(base32
- "1gawrs5gi6j5hcfxdgpnfli75vb9pfi4sn09pnc8xacr669yajwr"))))
+ "00h5cawdjic1vind3yivzh1f58flvm1yfmhsyqwyvmbvj1vakysp"))))
(build-system ant-build-system)
(arguments
`(#:tests? #f ; no tests included
#:jar-name "guava.jar"
+ #:source-dir "guava/src"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'trim-sources
(lambda _
- (with-directory-excursion "src/com/google/common"
+ (with-directory-excursion "guava/src/com/google/common"
;; Remove annotations to avoid extra dependencies:
;; * "j2objc" annotations are used when converting Java to
;; Objective C;
@@ -5749,9 +5776,12 @@ It provides packages in the @code{javax.annotations} namespace.")
(("@ForOverride") "")
(("@J2ObjCIncompatible") "")
(("@IgnoreJRERequirement") "")))
- #t)))))
+ #t))
+ (replace 'install (install-from-pom "guava/pom.xml")))))
(inputs
`(("java-jsr305" ,java-jsr305)))
+ (propagated-inputs
+ `(("java-guava-parent-pom" ,java-guava-parent-pom)))
(home-page "https://github.com/google/guava")
(synopsis "Google core libraries for Java")
(description "Guava is a set of core libraries that includes new
@@ -5761,6 +5791,21 @@ concurrency, I/O, hashing, primitives, reflection, string processing, and much
more!")
(license license:asl2.0)))
+(define java-guava-parent-pom
+ (package
+ (inherit java-guava)
+ (name "java-guava-parent-pom")
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (install-pom-file "pom.xml")))))
+ (propagated-inputs
+ `(("java-sonatype-oss-parent-pom" ,java-sonatype-oss-parent-pom-7)))))
+
;; The java-commons-logging package provides adapters to many different
;; logging frameworks. To avoid an excessive dependency graph we try to build
;; it with only a minimal set of adapters.
@@ -6084,12 +6129,14 @@ programs.")
;; package at this point.
;; https://github.com/powermock/powermock
(delete-file "archivers/sevenz/SevenZNativeHeapTest.java"))
- #t)))))
- (inputs
+ #t))
+ (replace 'install (install-from-pom "pom.xml")))))
+ (propagated-inputs
+ `(("java-xz" ,java-xz)
+ ("apache-commons-parent-pom" ,apache-commons-parent-pom-41)))
+ (native-inputs
`(("java-junit" ,java-junit)
- ("java-hamcrest-core" ,java-hamcrest-core)
- ("java-mockito" ,java-mockito-1)
- ("java-xz" ,java-xz)))
+ ("java-mockito" ,java-mockito-1)))
(home-page "https://commons.apache.org/proper/commons-compress/")
(synopsis "Java library for working with compressed files")
(description "The Apache Commons Compress library defines an API for
@@ -10274,13 +10321,16 @@ outputting XML data from Java code.")
;; org.apache.xbean.asm6 is actually repackaged java-asm
(substitute* (string-append dir "XbeanAsmParameterNameLoader.java")
(("org.apache.xbean.asm5") "org.objectweb.asm"))
- #t))))))
+ #t)))
+ (replace 'install (install-from-pom "xbean-reflect/pom.xml")))))
(inputs
`(("asm" ,java-asm)
("log4j" ,java-log4j-api)
("log4j-1.2" ,java-log4j-1.2-api)
("log4j-core" ,java-log4j-core)
("logging" ,java-commons-logging-minimal)))
+ (propagated-inputs
+ `(("java-geronimo-parent-pom" ,java-geronimo-parent-pom)))
(native-inputs
`(("junit" ,java-junit)))
(home-page "https://geronimo.apache.org/maven/xbean/3.6/xbean-reflect/")
@@ -10289,6 +10339,65 @@ outputting XML data from Java code.")
and graphs of objects for dependency injection frameworks")
(license license:asl2.0)))
+(define java-geronimo-genesis-2.1
+ (package
+ (name "java-geronimo-genesis")
+ (version "2.1")
+ (source (origin
+ (method svn-fetch)
+ (uri (svn-reference
+ (url (string-append "https://svn.apache.org/repos/asf/"
+ "geronimo/genesis/tags/genesis-"
+ version))
+ (revision 1807396)))
+ (file-name (string-append name "-" version "-source"))
+ (sha256
+ (base32
+ "119yn795jvnjf52si84q192s8wag1k013iabg78b7wnadssnnh31"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (install-pom-file "pom.xml"))
+ (add-after 'install 'install-enforcer-rules
+ (install-pom-file "genesis-enforcer-rules/pom.xml"))
+ (add-after 'install 'install-flava
+ (install-pom-file "genesis-default-flava/pom.xml"))
+ (add-after 'install 'install-packaging
+ (install-pom-file "genesis-packaging/pom.xml"))
+ (add-after 'install-flava 'install-flava-java4
+ (install-pom-file "genesis-default-flava/genesis-java1.4-flava/pom.xml"))
+ (add-after 'install-flava 'install-flava-java5
+ (install-pom-file "genesis-default-flava/genesis-java5-flava/pom.xml"))
+ (add-after 'install-flava 'install-flava-java6
+ (install-pom-file "genesis-default-flava/genesis-java6-flava/pom.xml")))))
+ (propagated-inputs
+ `(("apache-parent-pom" ,apache-parent-pom-13)))
+ (home-page "https://geronimo.apache.org")
+ (synopsis "Collection of maven POM files for the Geronimo project")
+ (description "Apache Geronimo is a server runtime. This package contains
+only pom files used by other components in the Geronimo project.")
+ (license license:asl2.0)))
+
+(define java-geronimo-parent-pom
+ (package
+ (inherit java-geronimo-xbean-reflect)
+ (name "java-geronimo-parent-pom")
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (install-pom-file "pom.xml")))))
+ (propagated-inputs
+ `(("java-geronimo-genesis" ,java-geronimo-genesis-2.1)))))
+
(define-public java-geronimo-xbean-bundleutils
(package
(inherit java-geronimo-xbean-reflect)