summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/java.scm40
1 files changed, 10 insertions, 30 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 4793b30538..cc57158d3c 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -3118,41 +3118,21 @@ This is a part of the Apache Commons Project.")
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f
+       #:imported-modules ((guix build ant-build-system)
+                           (guix build syscalls)
+                           ,@%gnu-build-system-modules)
+       #:modules (((guix build ant-build-system) #:prefix ant:)
+                  (guix build gnu-build-system)
+                  (guix build utils))
        #:phases
        (modify-phases %standard-phases
          (add-after 'install 'strip-jar-timestamps
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (jar1 (string-append out "/lib/antlr.jar"))
-                    (jar2 (string-append out "/share/antlr-2.7.7/antlr.jar")))
-               ;; XXX: copied from (guix build ant-build-system)
-               (define (strip-jar jar dir)
-                 (let ((manifest (string-append dir "/META-INF/MANIFEST.MF")))
-                   (mkdir-p dir)
-                   (and (with-directory-excursion dir
-                          (zero? (system* "jar" "xf" jar)))
-                        (delete-file jar)
-                        (for-each (lambda (file)
-                                    (let ((s (lstat file)))
-                                      (unless (eq? (stat:type s) 'symlink)
-                                                 (utime file 0 0 0 0))))
-                                  (find-files dir #:directories? #t))
-                        (with-directory-excursion dir
-                          (let* ((files (find-files "." ".*" #:directories? #t)))
-                            (unless (zero? (apply system*
-                                                  `("zip" "-X" ,jar ,manifest
-                                                    ,@files)))
-                              (error "'zip' failed"))))
-                        (utime jar 0 0)
-                        #t)))
-                (strip-jar jar1 "temp1")
-                (strip-jar jar2 "temp2"))))
+           (assoc-ref ant:%standard-phases 'strip-jar-timestamps))
          (add-after 'configure 'fix-bin-ls
            (lambda _
-             (for-each (lambda (file)
-                         (substitute* file
-                          (("/bin/ls") "ls")))
-               (find-files "." "Makefile")))))))
+             (substitute* (find-files "." "Makefile")
+               (("/bin/ls") "ls"))
+             #t)))))
     (native-inputs
      `(("which" ,which)
        ("zip" ,zip)