Subject: [PATCH] Add leiningen

From: Charlie Ritter <[email-masked]>
Date: Tue, 24 Apr 2018 11:44:56 -0400

From eac978c99ef288926530dcdee64cc9e3b7b8fe32 Mon Sep 17 00:00:00 2001
From: Charlie Ritter <[email-masked]>
Date: Tue, 24 Apr 2018 11:42:39 -0400
Subject: [PATCH] gnu: Add leiningen.

* gnu/packages/java.scm (leiningen): New variable.
---
 gnu/packages/java.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 500f27dcf..ffbd40890 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2018 Gábor Boskovits <[email-masked]>
 ;;; Copyright © 2018 Chris Marusich <[email-masked]>
+;;; Copyright © 2018 Charlie Ritter <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1861,6 +1862,38 @@ designs.")
                      license:asl2.0
                      license:cpl1.0)))))
 
+(define-public leiningen
+  (package
+    (name "leiningen")
+    (version "2.8.1")
+    (source (origin
+              (method url-fetch/tarbomb)
+              (uri (string-append
+                    "https://github.com/technomancy/"
+                    name "/archive/" version ".tar.gz"))
+              (sha256
+               (base32
+                "0hjjszxqhc9sh31dpirak3c5ws90z41ypcc16y4s1q35ydlajv3w"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'build)
+         (delete 'check)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (install-file (string-append
+                            ,name "-" ,version "/bin/lein")
+                           (string-append
+                            (assoc-ref outputs "out") "/bin")))))))
+    (home-page "https://leiningen.org")
+    (synopsis "Automating Clojure projects without setting your hair on fire")
+    (description "Leiningen is the easiest way to use Clojure.  With a focus
+on project automation and declarative configuration, it gets out of your way
+and lets you focus on your code.")
+    (license license:epl1.0)))
+
 (define-public javacc
   (package
     (name "javacc")
-- 
2.17.0