GNU bug report logs - #63061
[PATCH] Add s7.

Previous Next

Package: guix-patches;

Reported by: Antero Mejr <antero <at> mailbox.org>

Date: Tue, 25 Apr 2023 01:59:02 UTC

Severity: normal

Tags: patch

Done: 宋文武 <iyzsong <at> envs.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 63061 in the body.
You can then email your comments to 63061 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 guix-patches <at> gnu.org:
bug#63061; Package guix-patches. (Tue, 25 Apr 2023 01:59:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Antero Mejr <antero <at> mailbox.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 25 Apr 2023 01:59:02 GMT) Full text and rfc822 format available.

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

From: Antero Mejr <antero <at> mailbox.org>
To: guix-patches <at> gnu.org
Subject: [PATCH] Add s7.
Date: Tue, 25 Apr 2023 01:58:23 +0000
This patchset adds s7 and fixes notcurses, which currently doesn't
build.




Information forwarded to jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#63061; Package guix-patches. (Tue, 25 Apr 2023 02:08:02 GMT) Full text and rfc822 format available.

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

From: Antero Mejr <antero <at> mailbox.org>
To: 63061 <at> debbugs.gnu.org
Subject: [PATCH 1/3] gnu: notcurses: Update to 3.0.9.
Date: Tue, 25 Apr 2023 02:06:51 +0000
* gnu/packages/notcurses.scm (notcurses): Update to 3.0.9.
---
 gnu/packages/notcurses.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/notcurses.scm b/gnu/packages/notcurses.scm
index bb0086d4b3..591bed23ef 100644
--- a/gnu/packages/notcurses.scm
+++ b/gnu/packages/notcurses.scm
@@ -35,7 +35,7 @@ (define-module (gnu packages notcurses)
 (define-public notcurses
   (package
     (name "notcurses")
-    (version "3.0.8")
+    (version "3.0.9")
     (source
      (origin
        (method url-fetch)
@@ -48,7 +48,7 @@ (define-public notcurses
                            "+dfsg.1.orig.tar.xz"))
        (file-name (string-append name "-" version ".tar.xz"))
        (sha256
-        (base32 "1nz32nqh7fn4i06hvl8ndkm0z4g08a6wzhilvv8ggx2hc5axsz89"))))
+        (base32 "1sj2m7sil2i3yw73z15947kypsp0rnapwpwanwzam15lbicc8c3y"))))
     (build-system cmake-build-system)
     (arguments
      `(#:make-flags
-- 
2.39.2





Information forwarded to jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#63061; Package guix-patches. (Tue, 25 Apr 2023 02:08:02 GMT) Full text and rfc822 format available.

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

From: Antero Mejr <antero <at> mailbox.org>
To: 63061 <at> debbugs.gnu.org
Subject: [PATCH 2/3] gnu: Add s7-bootstrap.
Date: Tue, 25 Apr 2023 02:06:52 +0000
* gnu/packages/lisp.scm (s7-bootstrap): New variable.
---
 gnu/packages/lisp.scm | 96 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 95 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 4f1243e8c0..1b05417bc9 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -57,6 +57,7 @@ (define-module (gnu packages lisp)
   #:use-module (guix build-system haskell)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bdw-gc)
@@ -83,6 +84,7 @@ (define-module (gnu packages lisp)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages notcurses)
   #:use-module (gnu packages onc-rpc)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages readline)
@@ -93,7 +95,8 @@ (define-module (gnu packages lisp)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages xorg)
-  #:use-module (ice-9 match))
+  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1))
 
 (define-public cl-asdf
   (package
@@ -1477,3 +1480,94 @@ (define-public eisl
                    license:expat ;; cii/LICENSE
                    license:gpl2+ ;; nana/gdb/test.c and others under nana/
                    license:bsd-3)))) ;; bench/*
+
+(define-public s7-bootstrap
+  ;; Need s7-bootstrap to build libc_s7.so (for the REPL) and run tests
+  (let ((commit "a5b4bb49f8bcd7c33ae2366065fc8c254b734460") ;no releases
+        (revision "0"))
+    (hidden-package
+     (package
+       (name "s7-bootstrap")
+       (version (git-version "23.3" revision commit))
+       (source (origin
+                 (method git-fetch)
+                 (uri (git-reference
+                       (url "https://cm-gitlab.stanford.edu/bil/s7.git")
+                       (commit commit)))
+                 (file-name (git-file-name name version))
+                 (sha256
+                  (base32
+                   "03n1axdlypzmbgzrhlwfqwa1xiw36hi25j2hwc7vw77mz90cd9f8"))))
+       (build-system gnu-build-system)
+       (arguments
+        (list #:tests? #f ;no tests in bootstrap
+              #:phases #~(modify-phases %standard-phases
+                           (delete 'configure) ;no configure
+                           (replace 'build
+                             (lambda _
+                               ;; using build commands from s7 home page
+                               (invoke #$(cc-for-target) "s7.c" "-o" "repl"
+                                       "-I." "-O2" "-g"
+                                       "-DWITH_MAIN"
+                                       (string-append
+                                        "-DS7_LOAD_PATH=\""
+                                        #$output "/share/s7/scm\"")
+                                       "-ldl" "-lm"
+                                       "-Wl,-export-dynamic")
+                               (invoke #$(cc-for-target) "s7.c" "-o" "nrepl"
+                                       "-I." "-O2" "-g"
+                                       "-DWITH_MAIN" "-DWITH_NOTCURSES"
+                                       (string-append
+                                        "-DS7_LOAD_PATH=\""
+                                        #$output "/share/s7/scm\"")
+                                       "-ldl" "-lm" "-lnotcurses-core"
+                                       "-Wl,-export-dynamic")
+                               (invoke #$(cc-for-target) "libarb_s7.c"
+                                       "-I." "-O2" "-g"
+                                       "-shared" "-o" "libarb_s7.so"
+                                       "-larb" "-lflint" "-lmpc" "-fPIC")
+                               (invoke #$(cc-for-target) "notcurses_s7.c"
+                                       "-I." "-O2" "-g"
+                                       "-shared" "-o" "libnotcurses_s7.so"
+                                       "-lnotcurses-core" "-fPIC")
+                               ;; Need s7.o and ffitest for tests
+                               (invoke #$(cc-for-target) "-c" "s7.c" "-o"
+                                       "s7.o" "-I." "-O2"  "-ldl" "-lm")
+                               (invoke #$(cc-for-target) "-o" "ffitest"
+                                       "ffitest.c" "-g2" "s7.o" "-lm" "-I."
+                                       "-ldl" "-Wl,-export-dynamic")))
+                           (add-before 'check 'install-scm
+                             ;; scm files need to be installed before testing
+                             (lambda _
+                               (for-each (lambda (x)
+                                           (install-file
+                                            x (string-append
+                                               #$output "/share/s7/scm/")))
+                                         (find-files "." "\\.scm"))))
+                           (replace 'install
+                             (lambda _
+                               (let ((bin (string-append #$output "/bin"))
+                                     (share (string-append #$output
+                                                           "/share/s7/"))
+                                     (doc (string-append #$output
+                                                         "/share/doc/s7/"))
+                                     (lib (string-append #$output "/lib"))
+                                     (inc (string-append #$output "/include/")))
+                                 (install-file "repl" bin)
+                                 (install-file "nrepl" bin)
+                                 (install-file "ffitest" bin)
+                                 (install-file "libarb_s7.so" lib)
+                                 (install-file "libnotcurses_s7.so" lib)
+                                 (install-file "s7.c" share)
+                                 (install-file "s7.h" inc)
+                                 (install-file "s7.html" doc)))))))
+       (inputs (list arb flint mpc notcurses))
+       (home-page "https://ccrma.stanford.edu/software/snd/snd/s7.html")
+       (synopsis "Scheme interpreter intended as an extension language")
+       (description
+        "s7 is a Scheme interpreter intended as an extension language for
+other applications.  It exists as just two files, @code{s7.c} and @code{s7.h},
+that may be copied into the source tree of another application.  There are no
+libraries, no run-time init files, and no configuration scripts.  It can also
+be built as a stand-alone REPL interpreter.")
+       (license license:bsd-0)))))
-- 
2.39.2





Information forwarded to jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#63061; Package guix-patches. (Tue, 25 Apr 2023 02:08:03 GMT) Full text and rfc822 format available.

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

From: Antero Mejr <antero <at> mailbox.org>
To: 63061 <at> debbugs.gnu.org
Subject: [PATCH 3/3] gnu: Add s7.
Date: Tue, 25 Apr 2023 02:06:53 +0000
* gnu/packages/lisp.scm (s7): New variable.
---
 gnu/packages/lisp.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 1b05417bc9..7c4064da30 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -1571,3 +1571,32 @@ (define-public s7-bootstrap
 libraries, no run-time init files, and no configuration scripts.  It can also
 be built as a stand-alone REPL interpreter.")
        (license license:bsd-0)))))
+
+(define-public s7
+  (package
+    (inherit s7-bootstrap)
+    (name "s7")
+    (arguments
+     (substitute-keyword-arguments (package-arguments s7-bootstrap)
+       ((#:tests? _) #t)
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (add-after 'unpack 'patch
+              (lambda _
+                (substitute* "s7.c"
+                  (("libc_s7.so")
+                   (string-append #$output "/lib/libc_s7.so")))))
+            (add-after 'build 'build-full
+              (lambda _
+                (invoke "repl" "./libc.scm")))
+            (replace 'check
+              (lambda* (#:key tests? #:allow-other-keys)
+                (when tests?
+                  (invoke "repl" "./s7test.scm"))))
+            (add-after 'install 'install-full
+              (lambda _
+                (install-file "libc_s7.so"
+                              (string-append #$output "/lib/"))
+                (delete-file (string-append #$output "/bin/ffitest"))))))))
+    (native-inputs (list s7-bootstrap))
+    (properties (alist-delete 'hidden? (package-properties s7-bootstrap)))))
-- 
2.39.2





Reply sent to 宋文武 <iyzsong <at> envs.net>:
You have taken responsibility. (Sat, 03 Jun 2023 08:44:02 GMT) Full text and rfc822 format available.

Notification sent to Antero Mejr <antero <at> mailbox.org>:
bug acknowledged by developer. (Sat, 03 Jun 2023 08:44:02 GMT) Full text and rfc822 format available.

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

From: 宋文武 <iyzsong <at> envs.net>
To: Antero Mejr <antero <at> mailbox.org>
Cc: 63061-done <at> debbugs.gnu.org
Subject: Re: bug#63061: [PATCH] Add s7.
Date: Sat, 03 Jun 2023 16:43:40 +0800
Antero Mejr <antero <at> mailbox.org> writes:

> This patchset adds s7 and fixes notcurses, which currently doesn't
> build.

Applied now, thank you!

I added some "[BUILD] xxx" to the build phase to reduce the chance of
timeout.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 01 Jul 2023 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 297 days ago.

Previous Next


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