diff options
Diffstat (limited to 'gnu/packages/web.scm')
-rw-r--r-- | gnu/packages/web.scm | 55 |
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) |