GNU bug report logs - #74441
[PATCH] gnu: picolisp: Update to 24.9.

Previous Next

Package: guix-patches;

Reported by: David Pflug <david <at> pflug.io>

Date: Tue, 19 Nov 2024 21:40:02 UTC

Severity: normal

Tags: patch

Done: Guillaume Le Vaillant <glv <at> posteo.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 74441 in the body.
You can then email your comments to 74441 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to glv <at> posteo.net, cox.katherine.e+guix <at> gmail.com, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#74441; Package guix-patches. (Tue, 19 Nov 2024 21:40:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Pflug <david <at> pflug.io>:
New bug report received and forwarded. Copy sent to glv <at> posteo.net, cox.katherine.e+guix <at> gmail.com, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, jgart <at> dismail.de, guix-patches <at> gnu.org. (Tue, 19 Nov 2024 21:40:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: David Pflug <david <at> pflug.io>
To: guix-patches <at> gnu.org
Cc: David Pflug <david <at> pflug.io>
Subject: [PATCH] gnu: picolisp: Update to 24.9.
Date: Tue, 19 Nov 2024 16:39:15 -0500
* 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(-)

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





Reply sent to Guillaume Le Vaillant <glv <at> posteo.net>:
You have taken responsibility. (Wed, 20 Nov 2024 17:20:03 GMT) Full text and rfc822 format available.

Notification sent to David Pflug <david <at> pflug.io>:
bug acknowledged by developer. (Wed, 20 Nov 2024 17:20:04 GMT) Full text and rfc822 format available.

Message #10 received at 74441-done <at> debbugs.gnu.org (full text, mbox):

From: Guillaume Le Vaillant <glv <at> posteo.net>
To: David Pflug <david <at> pflug.io>
Cc: 74441-done <at> debbugs.gnu.org
Subject: Re: [bug#74441] [PATCH] gnu: picolisp: Update to 24.9.
Date: Wed, 20 Nov 2024 17:19:48 +0000
[Message part 1 (text/plain, inline)]
Patch applied as 804f8b2094f3214c5b129047c1b18a7779720496.
The build works on powerpc64le, so I added it to the list of supported
systems.
Thanks.
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 19 Dec 2024 12:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 182 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.