Package: guix-patches;
Reported by: Omar Bassam <omar.bassam88 <at> gmail.com>
Date: Sun, 1 Sep 2024 09:06:01 UTC
Severity: normal
Done: jgart <jgart <at> dismail.de>
Bug is archived. No further changes may be made.
Message #109 received at 72925 <at> debbugs.gnu.org (full text, mbox):
From: "Suhail Singh" <suhailsingh247 <at> gmail.com> To: 72925 <at> debbugs.gnu.org Cc: Omar Bassam <omar.bassam88 <at> gmail.com> Subject: [PATCH v10] gnu: Add jpm. Date: Sat, 05 Oct 2024 13:21:24 -0400
* gnu/packages/lisp.scm (jpm): New variable. Change-Id: I730ef2f5c874c5142a580a42af76180e95d93ccd Signed-off-by: Suhail <suhail <at> bayesians.ca> --- gnu/packages/lisp.scm | 77 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 6c16d8ab71..48cf9dffab 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -29,6 +29,7 @@ ;;; Copyright © 2024 Andreas Enge <andreas <at> enge.fr> ;;; Copyright © 2024 bigbug <bigbookofbug <at> proton.me> ;;; Copyright © 2024 Ashish SHUKLA <ashish.is <at> lostca.se> +;;; Copyright © 2024 Omar Bassam <omar.bassam88 <at> gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -62,6 +63,7 @@ (define-module (gnu packages lisp) #: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) @@ -69,6 +71,7 @@ (define-module (gnu packages lisp) #:use-module (gnu packages bash) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages boost) + #:use-module (gnu packages certs) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) @@ -917,6 +920,80 @@ (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") + (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 "\"" + #$gcc "/bin/gcc" "\"")) + (("\"c\\+\\+\"") + (string-append "\"" + #$gcc "/bin/g++" "\"")) + (("\"git\"") + (string-append "\"" + #$git "/bin/git" "\"")) + (("\"curl\"") + (string-append "\"" + #$curl "/bin/curl" "\""))) + (substitute* "jpm/shutil.janet" + (("cp") + (string-append #$coreutils "/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)) + (propagated-inputs (list janet + ;; Lazily resolve the gcc-toolchain to avoid a + ;; circular dependency. + (module-ref (resolve-interface '(gnu packages + commencement)) + 'gcc-toolchain))) + ;; NOTE: Below ensures that the user provides the CA certificates they + ;; desire (as opposed to bundling `nss-certs' in propagated-inputs, which + ;; isn't recommended) and when they do, that they are respected. + ;; + ;; FIXME: It's unclear why `search-paths', instead of + ;; `native-search-paths', doesn't work. + (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") base-commit: 73ec844389e91cb0f5a2647070516fc8d19d8730 -- 2.46.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.