[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#72925] [PATCH] adding jpm package
From: |
Omar Bassam |
Subject: |
[bug#72925] [PATCH] adding jpm package |
Date: |
Thu, 5 Sep 2024 17:50:02 +0300 |
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..96698d375d 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2024 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2024 bigbug <bigbookofbug@proton.me>
;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
+;;; Copyright © 2024 Omar Bassam <omar.bassam88@gmail.com>
;;;
;;; 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