mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-20 06:37:08 +01:00
gnu: picolisp: Update to 24.9.
Upstream has retired Java version and 32bit support. * gnu/packages/lisp.scm (picolisp): Update to 24.9. (picolisp32): Remove variable. Change-Id: I6bb3604ed9d48ef5a4b372d8dbc6dd3917295b5f Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
This commit is contained in:
parent
0651fba73a
commit
804f8b2094
1 changed files with 64 additions and 143 deletions
|
@ -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 David Pflug <david@pflug.io>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1028,81 +1029,47 @@ (define-public lush2
|
|||
(home-page "https://lush.sourceforge.net/")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define picolisp32
|
||||
(define-public picolisp
|
||||
(package
|
||||
(name "picolisp32")
|
||||
(version "19.12")
|
||||
(name "picolisp")
|
||||
(version "24.9")
|
||||
(supported-systems '("aarch64-linux"
|
||||
"powerpc64le-linux"
|
||||
"x86_64-linux"))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://software-lab.de/picoLisp-" version ".tgz"))
|
||||
(sha256
|
||||
(base32 "10np0mhihr47r3201617zccrvzpkhdl1jwvz7zimk8kxpriydq2j"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;; Delete the pre-compiled jar file.
|
||||
(delete-file "ersatz/picolisp.jar")
|
||||
#t))))
|
||||
(base32 "1bsp14vjzvlav813mxzgigcdrmsxhrrhlhdzfdvdq6havacm0cwf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libxcrypt" ,libxcrypt)
|
||||
("openssl" ,openssl)))
|
||||
(inputs (list clang readline libffi openssl pkg-config))
|
||||
(arguments
|
||||
`(#:system ,(match (%current-system)
|
||||
((or "armhf-linux" "aarch64-linux")
|
||||
"armhf-linux")
|
||||
(_
|
||||
"i686-linux"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-paths
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(shebang-line (string-append
|
||||
"#!" out "/bin/picolisp "
|
||||
out "/lib/picolisp/lib.l")))
|
||||
(substitute* '("bin/pil"
|
||||
"bin/pilIndent"
|
||||
"bin/pilPretty"
|
||||
"bin/psh"
|
||||
"bin/replica"
|
||||
"bin/vip"
|
||||
"bin/watchdog"
|
||||
"games/xchess"
|
||||
"misc/bigtest"
|
||||
"misc/calc"
|
||||
"misc/chat"
|
||||
"misc/mailing"
|
||||
"src/mkVers")
|
||||
(picolisp-shebang (string-append "#!" out
|
||||
"/bin/picolisp " out
|
||||
"/lib/picolisp/lib.l"))
|
||||
(pil-shebang (string-append "#!" out "/bin/pil")))
|
||||
(substitute* '("bin/pil" "bin/psh" "bin/pty" "bin/vip"
|
||||
"bin/watchdog")
|
||||
(("#\\!bin/picolisp lib.l")
|
||||
shebang-line)
|
||||
picolisp-shebang)
|
||||
(("#\\!\\.\\./bin/picolisp \\.\\./lib.l")
|
||||
shebang-line)
|
||||
picolisp-shebang)
|
||||
(("#\\!/usr/bin/picolisp /usr/lib/picolisp/lib.l")
|
||||
shebang-line)))
|
||||
#t))
|
||||
(add-after 'fix-paths 'make-build-reproducible
|
||||
(lambda _
|
||||
(substitute* "src64/lib/asm.l"
|
||||
(("\\(prinl \"/\\* \" \\(datSym \\(date\\)\\) \" \\*/\\)")
|
||||
""))
|
||||
#t))
|
||||
(add-after 'make-build-reproducible 'fix-permissions
|
||||
(lambda _
|
||||
(for-each make-file-writable
|
||||
'("doc/family.tgz"
|
||||
"doc/family64.tgz"
|
||||
"lib/map"
|
||||
"src64/tags"))
|
||||
#t))
|
||||
picolisp-shebang)
|
||||
(("#\\!/usr/bin/pil")
|
||||
pil-shebang)))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "make" "-C" "src" "picolisp" "tools" "gate")))
|
||||
(invoke "make" "-C" "src")))
|
||||
(add-before 'check 'set-home-for-tests
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
#t))
|
||||
(setenv "HOME" "/tmp")))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "./pil" "test/lib.l" "-bye" "+")))
|
||||
|
@ -1110,22 +1077,29 @@ (define picolisp32
|
|||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(doc (string-append out "/share/doc"))
|
||||
(man (string-append out "/share/man"))
|
||||
(picolisp (string-append out "/lib/picolisp")))
|
||||
(copy-recursively "man" man)
|
||||
(copy-recursively "doc" doc)
|
||||
(copy-recursively "." picolisp)
|
||||
(for-each (lambda (name)
|
||||
(let ((path (string-append picolisp "/" name)))
|
||||
(let ((path (string-append picolisp "/"
|
||||
name)))
|
||||
(delete-file-recursively path)))
|
||||
'("CHANGES" "COPYING" "CREDITS" "cygwin"
|
||||
"INSTALL" "man" "pil" "README" "src" "src64"
|
||||
'("doc" "COPYING"
|
||||
"INSTALL"
|
||||
"man"
|
||||
"pil"
|
||||
"README"
|
||||
"src"
|
||||
"test"))
|
||||
(mkdir-p bin)
|
||||
(symlink (string-append picolisp "/bin/picolisp")
|
||||
(string-append bin "/picolisp"))
|
||||
(symlink (string-append picolisp "/bin/pil")
|
||||
(string-append bin "/pil")))
|
||||
#t)))))
|
||||
(for-each (lambda (name)
|
||||
(symlink name
|
||||
(string-append bin "/"
|
||||
(basename name))))
|
||||
(find-files (string-append picolisp "/bin")))))))))
|
||||
(synopsis "Interpreter for the PicoLisp programming language")
|
||||
(description
|
||||
"PicoLisp is a programming language, or really a programming system,
|
||||
|
@ -1133,59 +1107,6 @@ (define picolisp32
|
|||
(home-page "https://picolisp.com/wiki/?home")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public picolisp
|
||||
(match (%current-system)
|
||||
((or "aarch64-linux" "x86_64-linux")
|
||||
(package
|
||||
;; Use the 32-bit picolisp to generate the assembly files required by
|
||||
;; the 64-bit picolisp.
|
||||
(inherit picolisp32)
|
||||
(name "picolisp")
|
||||
(native-inputs
|
||||
(list picolisp32 which))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments picolisp32)
|
||||
((#:system _ "") (%current-system))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'fix-paths)
|
||||
(add-before 'build 'fix-paths
|
||||
;; This must run after the other shebang-patching phases,
|
||||
;; or they will override our changes.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((picolisp32 (assoc-ref inputs "picolisp32"))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(shebang-line (string-append
|
||||
"#!" out "/bin/picolisp "
|
||||
out "/lib/picolisp/lib.l")))
|
||||
(substitute* '("bin/pil"
|
||||
"bin/pilIndent"
|
||||
"bin/pilPretty"
|
||||
"bin/psh"
|
||||
"bin/replica"
|
||||
"bin/vip"
|
||||
"bin/watchdog"
|
||||
"games/xchess"
|
||||
"misc/bigtest"
|
||||
"misc/calc"
|
||||
"misc/chat"
|
||||
"misc/mailing"
|
||||
"src/mkVers")
|
||||
(("#\\!.*picolisp32.*/bin/picolisp .*lib\\.l")
|
||||
shebang-line))
|
||||
(substitute* "src64/mkAsm"
|
||||
(("/usr/bin/")
|
||||
(string-append picolisp32 "/bin/"))))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "make" "-C" "src" "tools" "gate")
|
||||
(invoke "make" "-C" "src64" "CC=gcc" "picolisp")))))))))
|
||||
(_
|
||||
(package
|
||||
(inherit picolisp32)
|
||||
(name "picolisp")))))
|
||||
|
||||
(define-public roswell
|
||||
(package
|
||||
(name "roswell")
|
||||
|
|
Loading…
Reference in a new issue