diff options
author | Suhail Singh <suhailsingh247@gmail.com> | 2024-10-07 23:31:57 -0400 |
---|---|---|
committer | jgart <jgart@dismail.de> | 2025-01-05 20:12:55 -0600 |
commit | 6d0659d98cd05d8efe30c7db6b46e5866b3e318b (patch) | |
tree | ae5e801f1d16b4cd4887a002260a2d6548950889 | |
parent | a65ebe5fad6921dddb165f417761886fc114ad29 (diff) | |
download | guix-6d0659d98cd05d8efe30c7db6b46e5866b3e318b.tar.gz guix-6d0659d98cd05d8efe30c7db6b46e5866b3e318b.zip |
gnu: Add jpm package.
* gnu/packages/lisp.scm (jpm): New variable.
Change-Id: I9f5ab89a38622689b5d3545abe5d87906dc61f3b
Signed-off-by: Suhail <suhail@bayesians.ca>
Signed-off-by: jgart <jgart@dismail.de>
-rw-r--r-- | gnu/packages/lisp.scm | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 9cc630eec2..f99ad68828 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> ;;; Copyright © 2024 David Pflug <david@pflug.io> ;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; @@ -64,6 +65,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system haskell) #:use-module (guix build-system trivial) + #:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE)) #:use-module (gnu packages admin) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) @@ -919,6 +921,77 @@ platforms. The entire language (core library, interpreter, compiler, 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") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05rdxigmiy7vf93s16a8n2029lq33073jccz1rjl4iisxj6piw4l")))) + (build-system copy-build-system) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "configs/linux_config.janet" + (("/usr/local") + #$output) + (("\"cc\"") + (string-append "\"" + (search-input-file inputs "/bin/gcc") + "\"")) + (("\"c\\+\\+\"") + (string-append "\"" + (search-input-file inputs "/bin/g++") + "\"")) + (("\"git\"") + (string-append "\"" + (search-input-file inputs "/bin/git") + "\"")) + (("\"curl\"") + (string-append "\"" + (search-input-file inputs "/bin/curl") + "\""))) + (substitute* "jpm/shutil.janet" + (("cp") + (string-append (search-input-file inputs "/bin/cp")))) + (setenv "PREFIX" + #$output))) + (replace 'install + (lambda _ + (for-each (lambda (dir) + (mkdir-p (string-append #$output "/" dir))) + '("lib/janet/jpm" "share/man/man1")) + (invoke "janet" "bootstrap.janet" + "configs/linux_config.janet") + (wrap-program (string-append #$output "/bin/jpm") + `("JANET_HEADERPATH" ":" = + (,(string-append #$janet "/include/janet"))) + `("JANET_LIBPATH" ":" = + (,(string-append #$janet "/lib"))))))))) + (inputs (list bash-minimal + coreutils-minimal + curl + gcc + git-minimal/pinned)) + (propagated-inputs (list janet)) + (native-search-paths + (list $SSL_CERT_DIR $SSL_CERT_FILE)) + (home-page "https://janet-lang.org/") + (synopsis "Janet Project Manager for the Janet programming language") + (description + "@code{jpm} is the Janet Project Manager tool. It is a build +tool and its main uses are installing dependencies, compiling C/C++ to native +libraries, and other management tasks for Janet projects.") + (license license:expat))) + (define-public lisp-repl-core-dumper (package (name "lisp-repl-core-dumper") |