diff options
Diffstat (limited to 'nongnu/packages/clojure.scm')
-rw-r--r-- | nongnu/packages/clojure.scm | 118 |
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))) |