summaryrefslogtreecommitdiff
path: root/nongnu/packages/clojure.scm
diff options
context:
space:
mode:
Diffstat (limited to 'nongnu/packages/clojure.scm')
-rw-r--r--nongnu/packages/clojure.scm118
1 files changed, 83 insertions, 35 deletions
diff --git a/nongnu/packages/clojure.scm b/nongnu/packages/clojure.scm
index 0bf8b45..1e9df62 100644
--- a/nongnu/packages/clojure.scm
+++ b/nongnu/packages/clojure.scm
@@ -1,22 +1,8 @@
-;;; GNU Guix --- Functional package management for GNU
+;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
-;;;
-;;; This file is not part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+;;; Copyright © 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
(define-module (nongnu packages clojure)
#:use-module (gnu packages compression)
@@ -26,6 +12,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (nonguix build-system binary)
@@ -35,14 +22,14 @@
(define leiningen-jar
(package
(name "leiningen-jar")
- (version "2.9.10")
+ (version "2.10.0")
(source (origin
(method url-fetch)
- (uri "https://codeberg.org/attachments/895a0a0d-f20d-4580-a277-e06b5eec3b6b")
+ (uri "https://codeberg.org/attachments/43cebda5-a7c2-405b-b641-5143a00051b5")
(file-name "leiningen-standalone.jar")
(sha256
(base32
- "1ja9q8lav83h5qhayjgc39f6yyvk1n5f6gfwznn561xm007m6a52"))))
+ "0d5vmpyp9ddxpj1s5c60fv2f5iimz1chbgfhchlaqxa0sfx9jwnj"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@@ -64,7 +51,7 @@ lets you focus on your code.")
(package
(inherit leiningen-jar)
(name "leiningen")
- (version "2.9.10")
+ (version "2.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -73,7 +60,7 @@ lets you focus on your code.")
(file-name (git-file-name name version))
(sha256
(base32
- "1hl62ykq7sckfpgg5l3wpzq5smh6s572xnadr988vpl97l2x1g4y"))))
+ "0xvniav6iy1yrbamvbg8i3dq8issiczv3rbig2yc3nm08d2q0rig"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@@ -100,7 +87,7 @@ lets you focus on your code.")
(define-public clj-kondo
(package
(name "clj-kondo")
- (version "2022.06.22")
+ (version "2024.03.13")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append
@@ -108,26 +95,87 @@ lets you focus on your code.")
version "/clj-kondo-" version "-linux-amd64.zip"))
(sha256
(base32
- "057h48kf14pdnnyvgmbqkga1bspbr4ag22q2279s14c2c9bcinzz"))))
+ "0qdimdf854wsy19i39j18f01b3dhj4zccslymbkn8j9rm90k91m3"))))
(build-system binary-build-system)
(arguments
- `(#:patchelf-plan
- '(("clj-kondo" ("gcc:lib" "zlib")))
- #:install-plan
- '(("clj-kondo" "/bin/"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'chmod
- (lambda _
- (chmod "clj-kondo" #o755))))))
+ (list #:patchelf-plan `'(("clj-kondo" ("gcc" "zlib")))
+ #:install-plan `'(("./clj-kondo" "/bin/"))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'chmod
+ (lambda _
+ (chmod "clj-kondo" #o755))))))
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(inputs
- `(("gcc:lib" ,gcc "lib")
- ("zlib" ,zlib)))
+ (list `(,gcc "lib")
+ zlib))
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/clj-kondo/clj-kondo")
(synopsis "Linter for Clojure code")
(description "Clj-kondo performs static analysis on Clojure, ClojureScript
and EDN, without the need of a running REPL.")
(license license:epl1.0)))
+
+(define-public clojure-lsp
+ (package
+ (name "clojure-lsp")
+ (version "2024.03.13-13.11.00")
+ (source (origin
+ (method url-fetch/zipbomb)
+ (uri (string-append "https://github.com/clojure-lsp/clojure-lsp"
+ "/releases/download/" version
+ "/clojure-lsp-native-static-linux-amd64.zip"))
+ (sha256
+ (base32
+ "1l6w55aragyf8rzy087iqw97xnpih5syjwhf0jwbgrqps2k44ms5"))))
+ (build-system binary-build-system)
+ (arguments
+ `(#:install-plan
+ '(("./clojure-lsp" "/bin/"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chmod
+ (lambda _
+ (chmod "./clojure-lsp" #o755))))))
+ (inputs (list `(,gcc "lib") zlib))
+ (supported-systems '("x86_64-linux"))
+ (home-page "https://github.com/clojure-lsp/clojure-lsp")
+ (synopsis "Clojure & ClojureScript Language Server (LSP) implementation")
+ (description "This package provides a Language Server for Clojure and ClojureScript
+languages. The goal of this project is to bring great editing tools for
+Clojure/Clojurescript to all editors and programatically via its CLI and API.
+It aims to work alongside you to help you navigate, identify and fix errors,
+perform refactors and more.")
+ (license license:expat)))
+
+(define-public babashka
+ (package
+ (name "babashka")
+ (version "1.3.189")
+ (source (origin
+ (method url-fetch/tarbomb)
+ (uri (string-append "https://github.com/babashka/babashka"
+ "/releases/download/v" version "/babashka-"
+ version "-linux-amd64.tar.gz"))
+ (sha256
+ (base32
+ "1gzra3y5iljjqi4rj1qxr3yniqla3qnhv881gkzrp788fwsvlmwv"))))
+ (build-system binary-build-system)
+ (arguments
+ `(#:patchelf-plan
+ '(("bb" ("gcc" "zlib")))
+ #:install-plan
+ '(("./bb" "/bin/"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chmod
+ (lambda _
+ (chmod "bb" #o755))))))
+ (inputs (list `(,gcc "lib") zlib))
+ (supported-systems '("x86_64-linux"))
+ (home-page "https://github.com/babashka/babashka")
+ (synopsis "Native, fast starting Clojure interpreter for scripting")
+ (description "Babashka is a native Clojure interpreter for scripting with
+fast startup. Its main goal is to leverage Clojure in places where you would
+be using bash otherwise.")
+ (license license:epl1.0)))