aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/web.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r--gnu/packages/web.scm55
1 files changed, 43 insertions, 12 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index e2ca9de9e4..63da1143ca 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5866,27 +5866,27 @@ encoder/decoder based on the draft-12 specification for UBJSON.")
(define-public java-tomcat
(package
(name "java-tomcat")
- (version "8.5.38")
+ (version "8.5.46")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/tomcat/tomcat-8/v"
version "/src/apache-tomcat-" version "-src.tar.gz"))
(sha256
(base32
- "13pbsyk39g1qph82nngp54mqycmg60rxlxwy4yszsssahrqnggb2"))
+ "0fb49gsqa3r6jrwc54yynvsakq9qbzr2pbxr7a29c2zvja2v65iq"))
(modules '((guix build utils)))
;; Delete bundled jars.
(snippet
'(begin
(for-each delete-file (find-files "." "\\.jar$"))
+ (for-each delete-file (find-files "." "\\.bat$"))
#t))))
(build-system ant-build-system)
(inputs
- `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core)))
- (native-inputs
- `(("java-junit" ,java-junit)))
+ `(("java-commons-daemon" ,java-commons-daemon)
+ ("java-ecj" ,java-ecj)))
(arguments
- `(#:build-target "package"
+ `(#:build-target "deploy"
#:tests? #f; requires downloading some files.
#:phases
(modify-phases %standard-phases
@@ -5909,6 +5909,34 @@ encoder/decoder based on the draft-12 specification for UBJSON.")
(("<filter token=\"VERSION_BUILT\" value=.*")
"<filter token=\"VERSION_BUILT\" value=\"Jan 1 1970 00:00:00 UTC\"/>"))
#t))
+ (add-after 'unpack 'modify-deploy
+ (lambda _
+ ;; The Tomcat build downloads and copies these files to the
+ ;; bin and lib directory.
+ ;; We instead symlink to the input (see below).
+ (substitute* "build.xml"
+ (("<copy tofile=\"\\$\\{tomcat.build\\}/bin/commons-daemon.jar.*") "")
+ (("<copy file=\"\\$\\{jdt.jar\\}\" todir=\"\\$\\{tomcat.build\\}/lib\"/>")
+ ""))
+ #t))
+ (add-after 'install 'symlink-commons-daemon
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((commons-daemon (assoc-ref inputs "java-commons-daemon"))
+ (files (find-files commons-daemon "commons-daemon-.*\\.jar"))
+ (daemon-jar (car files))
+ (out-bin (string-append (assoc-ref outputs "out") "/bin"))
+ (target (string-append out-bin "/commons-daemon.jar")))
+ (symlink daemon-jar target)
+ #t)))
+ (add-after 'install 'symlink-java-ecj
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((java-ecj (assoc-ref inputs "java-ecj"))
+ (files (find-files java-ecj "ecj.*\\.jar"))
+ (java-ecj-jar (car files))
+ (out-lib (string-append (assoc-ref outputs "out") "/lib"))
+ (target (string-append out-lib "/java-ecj.jar")))
+ (symlink java-ecj-jar target)
+ #t)))
(add-after 'unpack 'generate-properties
(lambda _
;; This could have been passed to make-flags, but getcwd returns
@@ -5919,7 +5947,10 @@ encoder/decoder based on the draft-12 specification for UBJSON.")
(string-append "base.path=" (getcwd) "/downloads\n"))))
#t))
(replace 'install
- (install-jars "output/build/lib")))))
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (copy-recursively "output/build" out))
+ #t)))))
(home-page "https://tomcat.apache.org")
(synopsis "Java Servlet, JavaServer Pages, Java Expression Language and Java
WebSocket")
@@ -6030,7 +6061,7 @@ Web Server.")
#t)))))
(inputs
`(("slf4j" ,java-slf4j-api)
- ("servlet" ,java-tomcat)))
+ ("servlet" ,java-javaee-servletapi)))
(native-inputs
`(("junit" ,java-junit)
("hamcrest" ,java-hamcrest-all)
@@ -6218,7 +6249,7 @@ or embedded instantiation. This package provides the JMX management.")))
#t)))))
(inputs
`(("slf4j" ,java-slf4j-api)
- ("servlet" ,java-tomcat)
+ ("java-javaee-servletapi" ,java-javaee-servletapi)
("http" ,java-eclipse-jetty-http)
("io" ,java-eclipse-jetty-io)
("util" ,java-eclipse-jetty-util)))))
@@ -6313,7 +6344,7 @@ artifact.")))
#t)))))
(inputs
`(("slf4j" ,java-slf4j-api)
- ("servlet" ,java-tomcat)
+ ("servlet" ,java-javaee-servletapi)
("http" ,java-eclipse-jetty-http)
("server" ,java-eclipse-jetty-server)
("util" ,java-eclipse-jetty-util)))
@@ -6356,7 +6387,7 @@ infrastructure")))
#t)))))
(inputs
`(("slf4j" ,java-slf4j-api)
- ("servlet" ,java-tomcat)
+ ("java-javaee-servletapi" ,java-javaee-servletapi)
("http" ,java-eclipse-jetty-http)
("http-test" ,java-eclipse-jetty-http-test-classes)
("io" ,java-eclipse-jetty-io)
@@ -6491,7 +6522,7 @@ container.")))
("java-eclipse-jetty-servlet-9.2" ,java-eclipse-jetty-servlet-9.2)
("java-eclipse-jetty-security-9.2" ,java-eclipse-jetty-security-9.2)
("java-eclipse-jetty-xml-9.2" ,java-eclipse-jetty-xml-9.2)
- ("java-tomcat" ,java-tomcat)
+ ("java-javaee-servletapi" ,java-javaee-servletapi)
,@(package-inputs java-eclipse-jetty-util-9.2)))
(native-inputs
`(("java-eclipse-jetty-io-9.2" ,java-eclipse-jetty-io-9.2)