guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/08: gnu: java-tomcat: Build the full Tomcat package.


From: guix-commits
Subject: 07/08: gnu: java-tomcat: Build the full Tomcat package.
Date: Sun, 13 Oct 2019 16:49:41 -0400 (EDT)

hoebjo pushed a commit to branch staging
in repository guix.

commit 39775121c4ebfbbb00f6a9a209f0acf795e6604c
Author: Björn Höfling <address@hidden>
Date:   Thu Mar 7 00:58:05 2019 +0100

    gnu: java-tomcat: Build the full Tomcat package.
    
    Currently java-tomcat uses the "package" build-target. In that way, it is
    built like a library, with only the jar files. This commit will change the
    build-target to "deploy" in order to build the full tomcat package.
    
    * gnu/packages/web.scm (java-tomcat)[source]: Remove bat-files in snippet.
    [inputs]: Remove java-eclipse-jdt-core, add java-commons-daemon, java-ecj.
    [native-inputs]: Remove.
    [arguments]: Use "deploy" build-target, add phases 'modify-deploy,
    'symlink-commons-daemon,  'symlink-java-ecj, change 'install phase.
---
 gnu/packages/web.scm | 41 ++++++++++++++++++++++++++++++++++++-----
 1 file changed, 36 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index a1c5593..726e563 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5718,14 +5718,14 @@ encoder/decoder based on the draft-12 specification for 
UBJSON.")
               (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
@@ -5748,6 +5748,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
@@ -5758,7 +5786,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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]