From 717b6ba6aa9ac876b2c2df36096e4579b19ee06c Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Tue, 17 Sep 2019 22:01:01 +1000 Subject: gnu: Add abcl. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/java.scm (abcl): New variable. * gnu/packages/patches/abcl-fix-build-xml.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/packages/java.scm | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) (limited to 'gnu/packages/java.scm') diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 403c446a82..6090dcd514 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016, 2017 Roel Janssen -;;; Copyright © 2017 Carlo Zancanaro +;;; Copyright © 2017, 2019 Carlo Zancanaro ;;; Copyright © 2017, 2018 Julien Lepiller ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2016, 2017, 2018 Alex Vong @@ -11109,3 +11109,67 @@ network protocols, and core version control algorithms.") `(("java-javaewah" ,java-javaewah) ("java-jsch" ,java-jsch) ("java-slf4j-api" ,java-slf4j-api))))) + +(define-public abcl + (package + (name "abcl") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://abcl.org/releases/" + version "/abcl-src-" version ".tar.gz")) + (sha256 + (base32 + "1hhvcg050nfpjbdmskc1cv2j38qi6qfl77a61b5cxx576kbff3lj")) + (patches + (search-patches + "abcl-fix-build-xml.patch")))) + (build-system ant-build-system) + (native-inputs + `(("java-junit" ,java-junit))) + (arguments + `(#:build-target "abcl.jar" + #:test-target "abcl.test" + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((share (string-append (assoc-ref outputs "out") + "/share/java/")) + (bin (string-append (assoc-ref outputs "out") + "/bin/"))) + (mkdir-p share) + (install-file "dist/abcl.jar" share) + (install-file "dist/abcl-contrib.jar" share) + (mkdir-p bin) + (with-output-to-file (string-append bin "abcl") + (lambda _ + (let ((classpath (string-append + share "abcl.jar" + ":" + share "abcl-contrib.jar"))) + (display (string-append + "#!" (which "sh") "\n" + "if [[ -z $CLASSPATH ]]; then\n" + " cp=\"" classpath "\"\n" + "else\n" + " cp=\"" classpath ":$CLASSPATH\"\n" + "fi\n" + "exec " (which "java") + " -cp $cp org.armedbear.lisp.Main $@\n"))))) + (chmod (string-append bin "abcl") #o755) + #t)))))) + (home-page "https://abcl.org/") + (synopsis "Common Lisp Implementation on the JVM") + (description + "@dfn{Armed Bear Common Lisp} (ABCL) is a full implementation of the Common +Lisp language featuring both an interpreter and a compiler, running in the +JVM. It supports JSR-223 (Java scripting API): it can be a scripting engine +in any Java application. Additionally, it can be used to implement (parts of) +the application using Java to Lisp integration APIs.") + (license (list license:gpl2+ + ;; named-readtables is released under 3 clause BSD + license:bsd-3 + ;; jfli is released under CPL 1.0 + license:cpl1.0)))) -- cgit v1.2.3