all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#63061] [PATCH] Add s7.
@ 2023-04-25  1:58 Antero Mejr via Guix-patches via
  2023-04-25  2:06 ` [bug#63061] [PATCH 1/3] gnu: notcurses: Update to 3.0.9 Antero Mejr via Guix-patches via
  2023-06-03  8:43 ` bug#63061: [PATCH] " 宋文武 via Guix-patches via
  0 siblings, 2 replies; 5+ messages in thread
From: Antero Mejr via Guix-patches via @ 2023-04-25  1:58 UTC (permalink / raw)
  To: 63061

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




^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#63061] [PATCH 1/3] gnu: notcurses: Update to 3.0.9.
  2023-04-25  1:58 [bug#63061] [PATCH] Add s7 Antero Mejr via Guix-patches via
@ 2023-04-25  2:06 ` Antero Mejr via Guix-patches via
  2023-04-25  2:06   ` [bug#63061] [PATCH 2/3] gnu: Add s7-bootstrap Antero Mejr via Guix-patches via
  2023-04-25  2:06   ` [bug#63061] [PATCH 3/3] gnu: Add s7 Antero Mejr via Guix-patches via
  2023-06-03  8:43 ` bug#63061: [PATCH] " 宋文武 via Guix-patches via
  1 sibling, 2 replies; 5+ messages in thread
From: Antero Mejr via Guix-patches via @ 2023-04-25  2:06 UTC (permalink / raw)
  To: 63061; +Cc: jgart

* 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





^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#63061] [PATCH 2/3] gnu: Add s7-bootstrap.
  2023-04-25  2:06 ` [bug#63061] [PATCH 1/3] gnu: notcurses: Update to 3.0.9 Antero Mejr via Guix-patches via
@ 2023-04-25  2:06   ` Antero Mejr via Guix-patches via
  2023-04-25  2:06   ` [bug#63061] [PATCH 3/3] gnu: Add s7 Antero Mejr via Guix-patches via
  1 sibling, 0 replies; 5+ messages in thread
From: Antero Mejr via Guix-patches via @ 2023-04-25  2:06 UTC (permalink / raw)
  To: 63061; +Cc: jgart

* 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





^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [bug#63061] [PATCH 3/3] gnu: Add s7.
  2023-04-25  2:06 ` [bug#63061] [PATCH 1/3] gnu: notcurses: Update to 3.0.9 Antero Mejr via Guix-patches via
  2023-04-25  2:06   ` [bug#63061] [PATCH 2/3] gnu: Add s7-bootstrap Antero Mejr via Guix-patches via
@ 2023-04-25  2:06   ` Antero Mejr via Guix-patches via
  1 sibling, 0 replies; 5+ messages in thread
From: Antero Mejr via Guix-patches via @ 2023-04-25  2:06 UTC (permalink / raw)
  To: 63061; +Cc: jgart

* 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





^ permalink raw reply related	[flat|nested] 5+ messages in thread

* bug#63061: [PATCH] Add s7.
  2023-04-25  1:58 [bug#63061] [PATCH] Add s7 Antero Mejr via Guix-patches via
  2023-04-25  2:06 ` [bug#63061] [PATCH 1/3] gnu: notcurses: Update to 3.0.9 Antero Mejr via Guix-patches via
@ 2023-06-03  8:43 ` 宋文武 via Guix-patches via
  1 sibling, 0 replies; 5+ messages in thread
From: 宋文武 via Guix-patches via @ 2023-06-03  8:43 UTC (permalink / raw)
  To: Antero Mejr; +Cc: 63061-done

Antero Mejr <antero@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.




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-06-03  8:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-25  1:58 [bug#63061] [PATCH] Add s7 Antero Mejr via Guix-patches via
2023-04-25  2:06 ` [bug#63061] [PATCH 1/3] gnu: notcurses: Update to 3.0.9 Antero Mejr via Guix-patches via
2023-04-25  2:06   ` [bug#63061] [PATCH 2/3] gnu: Add s7-bootstrap Antero Mejr via Guix-patches via
2023-04-25  2:06   ` [bug#63061] [PATCH 3/3] gnu: Add s7 Antero Mejr via Guix-patches via
2023-06-03  8:43 ` bug#63061: [PATCH] " 宋文武 via Guix-patches via

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.