summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuhail Singh <suhailsingh247@gmail.com>2024-10-07 23:31:57 -0400
committerjgart <jgart@dismail.de>2025-01-05 20:12:55 -0600
commit6d0659d98cd05d8efe30c7db6b46e5866b3e318b (patch)
treeae5e801f1d16b4cd4887a002260a2d6548950889
parenta65ebe5fad6921dddb165f417761886fc114ad29 (diff)
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.scm73
1 files changed, 73 insertions, 0 deletions
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 9cc630eec26..f99ad688284 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -29,6 +29,7 @@
29;;; Copyright © 2024 Andreas Enge <andreas@enge.fr> 29;;; Copyright © 2024 Andreas Enge <andreas@enge.fr>
30;;; Copyright © 2024 bigbug <bigbookofbug@proton.me> 30;;; Copyright © 2024 bigbug <bigbookofbug@proton.me>
31;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se> 31;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se>
32;;; Copyright © 2024 Omar Bassam <omar.bassam88@gmail.com>
32;;; Copyright © 2024 David Pflug <david@pflug.io> 33;;; Copyright © 2024 David Pflug <david@pflug.io>
33;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> 34;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
34;;; 35;;;
@@ -64,6 +65,7 @@
64 #:use-module (guix build-system gnu) 65 #:use-module (guix build-system gnu)
65 #:use-module (guix build-system haskell) 66 #:use-module (guix build-system haskell)
66 #:use-module (guix build-system trivial) 67 #:use-module (guix build-system trivial)
68 #:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
67 #:use-module (gnu packages admin) 69 #:use-module (gnu packages admin)
68 #:use-module (gnu packages algebra) 70 #:use-module (gnu packages algebra)
69 #:use-module (gnu packages autotools) 71 #:use-module (gnu packages autotools)
@@ -919,6 +921,77 @@ platforms. The entire language (core library, interpreter, compiler,
919assembler, PEG) is less than 1MB.") 921assembler, PEG) is less than 1MB.")
920 (license license:expat))) 922 (license license:expat)))
921 923
924(define-public jpm
925 (package
926 (name "jpm")
927 (version "1.1.0")
928 (source
929 (origin
930 (method git-fetch)
931 (uri (git-reference
932 (url "https://github.com/janet-lang/jpm")
933 (commit (string-append "v" version))))
934 (file-name (git-file-name name version))
935 (sha256
936 (base32 "05rdxigmiy7vf93s16a8n2029lq33073jccz1rjl4iisxj6piw4l"))))
937 (build-system copy-build-system)
938 (arguments
939 (list
940 #:phases #~(modify-phases %standard-phases
941 (add-after 'unpack 'fix-paths
942 (lambda* (#:key inputs #:allow-other-keys)
943 (substitute* "configs/linux_config.janet"
944 (("/usr/local")
945 #$output)
946 (("\"cc\"")
947 (string-append "\""
948 (search-input-file inputs "/bin/gcc")
949 "\""))
950 (("\"c\\+\\+\"")
951 (string-append "\""
952 (search-input-file inputs "/bin/g++")
953 "\""))
954 (("\"git\"")
955 (string-append "\""
956 (search-input-file inputs "/bin/git")
957 "\""))
958 (("\"curl\"")
959 (string-append "\""
960 (search-input-file inputs "/bin/curl")
961 "\"")))
962 (substitute* "jpm/shutil.janet"
963 (("cp")
964 (string-append (search-input-file inputs "/bin/cp"))))
965 (setenv "PREFIX"
966 #$output)))
967 (replace 'install
968 (lambda _
969 (for-each (lambda (dir)
970 (mkdir-p (string-append #$output "/" dir)))
971 '("lib/janet/jpm" "share/man/man1"))
972 (invoke "janet" "bootstrap.janet"
973 "configs/linux_config.janet")
974 (wrap-program (string-append #$output "/bin/jpm")
975 `("JANET_HEADERPATH" ":" =
976 (,(string-append #$janet "/include/janet")))
977 `("JANET_LIBPATH" ":" =
978 (,(string-append #$janet "/lib")))))))))
979 (inputs (list bash-minimal
980 coreutils-minimal
981 curl
982 gcc
983 git-minimal/pinned))
984 (propagated-inputs (list janet))
985 (native-search-paths
986 (list $SSL_CERT_DIR $SSL_CERT_FILE))
987 (home-page "https://janet-lang.org/")
988 (synopsis "Janet Project Manager for the Janet programming language")
989 (description
990 "@code{jpm} is the Janet Project Manager tool. It is a build
991tool and its main uses are installing dependencies, compiling C/C++ to native
992libraries, and other management tasks for Janet projects.")
993 (license license:expat)))
994
922(define-public lisp-repl-core-dumper 995(define-public lisp-repl-core-dumper
923 (package 996 (package
924 (name "lisp-repl-core-dumper") 997 (name "lisp-repl-core-dumper")