|
3 | 3 | ;; file using this command: "guix shell -m manifest.scm". |
4 | 4 |
|
5 | 5 | (use-modules (guix packages) |
6 | | - (guix licenses) |
7 | | - (guix git-download) |
8 | | - (gnu packages lisp) |
9 | 6 | (gnu packages emacs) |
10 | | - (guix build-system trivial) |
11 | | - (guix gexp)) |
12 | | - |
13 | | - |
14 | | -(define jpm |
15 | | - (package |
16 | | - (name "jpm") |
17 | | - (version "1.1.0") |
18 | | - (source (origin |
19 | | - (method git-fetch) |
20 | | - (uri (git-reference |
21 | | - (url "https://github.com/janet-lang/jpm.git") |
22 | | - (commit "v1.1.0"))) |
23 | | - (sha256 (base32 "05rdxigmiy7vf93s16a8n2029lq33073jccz1rjl4iisxj6piw4l")))) |
24 | | - (build-system trivial-build-system) |
25 | | - (arguments |
26 | | - (list |
27 | | - #:modules `((guix build utils)) |
28 | | - #:builder #~(begin |
29 | | - (use-modules (guix build utils)) |
30 | | - (mkdir %output) |
31 | | - (for-each (lambda (dir) (mkdir (string-append %output "/" dir))) |
32 | | - '("bin" "lib" "share" "share/man" "lib/janet" "lib/janet/jpm" "share/man/man1")) |
33 | | - (copy-recursively (assoc-ref %build-inputs "source") "source") |
34 | | - (chdir "source") |
35 | | - (substitute* "configs/linux_config.janet" |
36 | | - (("auto-shebang true") "auto-shebang false")) |
37 | | - (substitute* "configs/linux_config.janet" |
38 | | - (("/usr/local") %output)) |
39 | | - (substitute* "jpm/shutil.janet" |
40 | | - (("cp") (string-append #$coreutils "/bin/cp"))) |
41 | | - (substitute* "jpm/declare.janet" |
42 | | - (("chmod") (string-append #$coreutils "/bin/chmod"))) |
43 | | - ;; ENV Variables needed for build |
44 | | - (setenv "PREFIX" %output) |
45 | | - (setenv "JANET_PREFIX" %output) |
46 | | - (setenv "JANET_LIBPATH" (string-append %output "/lib/janet")) |
47 | | - (setenv "JANET_MODPATH" (string-append %output "/lib/janet")) |
48 | | - ;; Running the build command |
49 | | - (system* (string-append #$janet "/bin/janet") "bootstrap.janet" "configs/linux_config.janet") |
50 | | - ;; Required for to find the janet headers |
51 | | - (copy-recursively (string-append #$janet "/include/janet") (string-append %output "/include/janet")) |
52 | | - (copy-recursively (string-append #$janet "/lib") (string-append %output "/lib"))))) |
53 | | - (inputs (list janet coreutils)) |
54 | | - (home-page "https://janet-lang.org/") |
55 | | - (synopsis "Janet Project Manager for the Janet programming language") |
56 | | - (description "JPM is the Janet Project Manager tool. It is for automating builds and downloading dependencies of Janet projects. This project is a port of the original jpm tool (which started as a single file script) to add more functionality, clean up code, make more portable and configurable, and refactor jpm into independent, reusable pieces that can be imported as normal Janet modules.") |
57 | | - (license expat))) |
| 7 | + (gnu packages lisp)) |
58 | 8 |
|
59 | 9 | ;; Change to your editor of choice To force guix shell to read |
60 | 10 | ;; environment variables run "guix shell -m manifest.scm --rebuild-cache" |
61 | 11 | (setenv "EDITOR" "emacs") |
62 | 12 |
|
63 | 13 | (packages->manifest |
64 | 14 | (append |
65 | | - (list |
66 | | - ;; Emacs is the de facto standard to working with Lisp(s) |
67 | | - emacs |
68 | | - |
69 | | - janet |
70 | | - |
71 | | - jpm))) |
| 15 | + (list emacs ;; Emacs is the de facto standard to working with Lisp(s) |
| 16 | + janet |
| 17 | + jpm ;; Janet Project Manager |
| 18 | + ))) |
0 commit comments