[bug#33215,04/11] gnu: clojure: Use (guix build java-utils) to simplify build phases.

Message ID 875zxihcm1.fsf@gmail.com
State Accepted
Headers show
Series build-system: Add 'clojure-build-system'. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied

Commit Message

Alex Vong Oct. 31, 2018, 6:08 a.m. UTC

Patch

From 29b927ed0fc2ed932c37e1fb188e35e300fc3aeb Mon Sep 17 00:00:00 2001
From: Alex Vong <alexvong1995@gmail.com>
Date: Sun, 14 Oct 2018 02:52:41 +0800
Subject: [PATCH 04/11] gnu: clojure: Use (guix build java-utils) to simplify
 build phases.

* gnu/packages/lisp.scm (clojure)[arguments]: Use 'ant-build-javadoc',
'install-jars' and 'install-javadoc' in build phases.
---
 gnu/packages/lisp.scm | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index c42878fd3..c451aa4c1 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -610,10 +610,10 @@  interface.")
       (build-system ant-build-system)
       (arguments
        `(#:modules ((guix build ant-build-system)
+                    (guix build java-utils)
                     (guix build utils)
                     (ice-9 ftw)
                     (ice-9 regex)
-                    (srfi srfi-1)
                     (srfi srfi-26))
          #:test-target "test"
          #:phases
@@ -637,34 +637,22 @@  interface.")
                (substitute* "build.xml"
                  (("<attribute name=\"Class-Path\" value=\".\"/>") ""))
                #t))
-           ;; The javadoc target is not built by default.
-           (add-after 'build 'build-doc
-             (lambda _
-               (invoke "ant" "javadoc")))
-           ;; Needed since no install target is provided.
-           (replace 'install
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let ((java-dir (string-append (assoc-ref outputs "out")
-                                              "/share/java/")))
-                 ;; Install versioned to avoid collisions.
-                 (install-file (string-append "clojure-" ,version ".jar")
-                               java-dir)
-                 #t)))
-           ;; Needed since no install-doc target is provided.
+           (add-after 'build 'build-javadoc ant-build-javadoc)
+           (replace 'install (install-jars "./"))
            (add-after 'install 'install-doc
              (lambda* (#:key outputs #:allow-other-keys)
                (let ((doc-dir (string-append (assoc-ref outputs "out")
                                              "/share/doc/clojure-"
                                              ,version "/")))
                  (copy-recursively "doc/clojure" doc-dir)
-                 (copy-recursively "target/javadoc/"
-                                   (string-append doc-dir "javadoc/"))
                  (for-each (cut install-file <> doc-dir)
                            (filter (cut string-match
                                      ".*\\.(html|markdown|md|txt)"
                                      <>)
                                    (scandir "./")))
-                 #t))))))
+                 #t)))
+           (add-after 'install-doc 'install-javadoc
+             (install-javadoc "target/javadoc/")))))
       (native-inputs libraries)
       (home-page "https://clojure.org/")
       (synopsis "Lisp dialect running on the JVM")
-- 
2.19.1