[PATCH] gnu: picolisp: Update to 24.9.

  • Done
  • quality assurance status badge
Details
2 participants
  • David Pflug
  • Guillaume Le Vaillant
Owner
unassigned
Submitted by
David Pflug
Severity
normal
D
D
David Pflug wrote on 19 Nov 22:39 +0100
(address . guix-patches@gnu.org)(name . David Pflug)(address . david@pflug.io)
b8a387b33d99dd53b14873dfdff1c37ac989f151.1732052355.git.david@pflug.io
* gnu/packages/lisp.scm (picolisp): Update to 24.9.

Upstream has retired Java version and 32bit support.

Change-Id: I6bb3604ed9d48ef5a4b372d8dbc6dd3917295b5f
---
gnu/packages/lisp.scm | 207 +++++++++++++-----------------------------
1 file changed, 63 insertions(+), 144 deletions(-)

Toggle diff (235 lines)
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 6c16d8ab71..ea38fd81de 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1028,163 +1028,82 @@ (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")
(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"))
+ (modules '((guix build utils)))))
(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
- (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")
- (("#\\!bin/picolisp lib.l")
- shebang-line)
- (("#\\!\\.\\./bin/picolisp \\.\\./lib.l")
- shebang-line)
- (("#\\!/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))
- (replace 'build
- (lambda _
- (invoke "make" "-C" "src" "picolisp" "tools" "gate")))
- (add-before 'check 'set-home-for-tests
- (lambda _
- (setenv "HOME" "/tmp")
- #t))
- (replace 'check
- (lambda _
- (invoke "./pil" "test/lib.l" "-bye" "+")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (man (string-append out "/share/man"))
- (picolisp (string-append out "/lib/picolisp")))
- (copy-recursively "man" man)
- (copy-recursively "." picolisp)
- (for-each (lambda (name)
- (let ((path (string-append picolisp "/" name)))
- (delete-file-recursively path)))
- '("CHANGES" "COPYING" "CREDITS" "cygwin"
- "INSTALL" "man" "pil" "README" "src" "src64"
- "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)))))
+ '(#:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (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")
+ picolisp-shebang)
+ (("#\\!\\.\\./bin/picolisp \\.\\./lib.l")
+ picolisp-shebang)
+ (("#\\!/usr/bin/picolisp /usr/lib/picolisp/lib.l")
+ picolisp-shebang)
+ (("#\\!/usr/bin/pil")
+ pil-shebang))) #t))
+ (replace 'build
+ (lambda _
+ (invoke "make" "-C" "src")))
+ (add-before 'check 'set-home-for-tests
+ (lambda _
+ (setenv "HOME" "/tmp") #t))
+ (replace 'check
+ (lambda _
+ (invoke "./pil" "test/lib.l" "-bye" "+")))
+ (replace 'install
+ (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)))
+ (delete-file-recursively path)))
+ '("doc" "COPYING"
+ "INSTALL"
+ "man"
+ "pil"
+ "README"
+ "src"
+ "test"))
+ (mkdir-p bin)
+ (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,
including a built-in database engine and a GUI system.")
(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")))))
+ (license license:expat)
+ (supported-systems '("aarch64-linux" "x86_64-linux"))))
(define-public roswell
(package

base-commit: 304a6deaeb42c24488d909641aeb72ddcf2b6a02
--
2.46.0
G
G
Guillaume Le Vaillant wrote on 20 Nov 18:19 +0100
(name . David Pflug)(address . david@pflug.io)(address . 74441-done@debbugs.gnu.org)
87v7wh256z.fsf@kitej
Patch applied as 804f8b2094f3214c5b129047c1b18a7779720496.
The build works on powerpc64le, so I added it to the list of supported
systems.
Thanks.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCZz4aNA8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j8bsgEAoipX1ufwC6axbrQzYyO1bWJ574ut7njM1Azm
a3THAa0A/329g62MehaYwDyR3tpdwqIS3PoJ2RqPT2hSfmmIyB61
=6xRZ
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 74441@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 74441
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch