From 14fd8cafaebc27a00a4b198abe8e3759583c56b5 Mon Sep 17 00:00:00 2001 Message-ID: < 14fd8cafaebc27a00a4b198abe8e3759583c56b5.1725179146.git.omar.bassam88@gmail.com > From: Omar Bassam Date: Sun, 1 Sep 2024 08:17:08 +0000 Subject: [PATCH] adding jpm package Change-Id: I730ef2f5c874c5142a580a42af76180e95d93ccd --- gnu/packages/lisp.scm | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 5d4399f145..4d4748dcb4 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2024 Andreas Enge ;;; Copyright © 2024 bigbug ;;; Copyright © 2024 Ashish SHUKLA +;;; Copyright © 2024 Omar Bassam ;;; ;;; This file is part of GNU Guix. ;;; @@ -917,6 +918,57 @@ (define-public janet assembler, PEG) is less than 1MB.") (license license:expat))) +(define-public jpm + (package + (name "jpm") + (version "1.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/janet-lang/jpm.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 "05rdxigmiy7vf93s16a8n2029lq33073jccz1rjl4iisxj6piw4l")))) + (build-system trivial-build-system) + (arguments + (list + #:modules `((guix build utils)) + #:builder #~(begin + (use-modules (guix build utils)) + (mkdir %output) + (for-each (lambda (dir) (mkdir (string-append %output "/" dir))) + '("bin" "lib" "share" "share/man" "lib/janet" + "lib/janet/jpm" "share/man/man1")) + (copy-recursively (assoc-ref %build-inputs "source") "source") + (chdir "source") + (substitute* "configs/linux_config.janet" + (("auto-shebang true") "auto-shebang false")) + (substitute* "configs/linux_config.janet" + (("/usr/local") %output)) + (substitute* "jpm/shutil.janet" + (("cp") (string-append #$coreutils "/bin/cp"))) + (substitute* "jpm/declare.janet" + (("chmod") (string-append #$coreutils "/bin/chmod"))) + (setenv "PREFIX" %output) + (setenv "JANET_PREFIX" %output) + (setenv "JANET_LIBPATH" (string-append %output "/lib/janet")) + (setenv "JANET_MODPATH" (string-append %output "/lib/janet")) + (system* (string-append #$janet "/bin/janet") + "bootstrap.janet" "configs/linux_config.janet") + (substitute* (string-append %output "/bin/jpm") + (("/usr/bin/env janet") + (string-append #$janet "/bin/janet"))) + (copy-recursively (string-append #$janet "/include/janet") + (string-append %output "/include/janet")) + (copy-recursively (string-append #$janet "/lib") + (string-append %output "/lib"))))) + (inputs (list janet coreutils)) + (home-page "https://janet-lang.org/") + (synopsis "Janet Project Manager for the Janet programming language") + (description "JPM is the Janet Project Manager tool. It is for automating +builds and downloading dependencies of Janet projects.") + (license license:expat))) + (define-public lisp-repl-core-dumper (package (name "lisp-repl-core-dumper") base-commit: e05f0e9832326703fa90a02559f1a4b44e4401ad -- 2.45.2