diff mbox series

[bug#69023,4/5] gnu: bqn: Update cbqn-bootstrap.

Message ID 8f847b0c66450efeb6f958bd19258b95240eaf4f.1707607099.git.aecepoglu@fastmail.fm
State New
Headers show
Series gnu: package: Update cbqn. | expand

Commit Message

aecepoglu Feb. 10, 2024, 11:28 p.m. UTC
gnu/packages/bqn.scm (cbqn-bootstrap): Update cbqn-bootstrap version.
Pass make flags to disable git submodules, disable REPLXX dependency.
Update system invocation to generate bytecode.
Add 'install phase (carried over from cbqn) so other packages can use
cbqn-bootstrap to generate bytecode.

Change-Id: I115737006ef56a90e643c00009155b02a22bf0b1
---
 gnu/packages/bqn.scm | 88 ++++++++++++++++++++++++--------------------
 1 file changed, 49 insertions(+), 39 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/bqn.scm b/gnu/packages/bqn.scm
index 9623fd5b57..6d3ec43a0f 100644
--- a/gnu/packages/bqn.scm
+++ b/gnu/packages/bqn.scm
@@ -147,47 +147,57 @@  (define bqn-sources
       (sha256 (base32 "0jhrazwp4s1a0pzrzyxi7szpchp4avqsvpmslfsgk3c88wf57q6b")))))
 
 (define cbqn-bootstrap
-  (let* ((revision "2")
-         (commit "66584ce1491d300746963b8ed17170348b2a03e6"))
-    (package
-      (name "cbqn-bootstrap")
-      (version (git-version "0" revision commit))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/dzaima/CBQN")
-                      (commit commit)))
-                (file-name (git-file-name name version))
-                (sha256
-                 (base32
-                  "13gg96aa56b8k08bjvv8i0f5nxrah2sij7g6pg7i21fdv08rd9iv"))))
-      (build-system gnu-build-system)
-      (arguments
-       (list
-        #:tests? #f                     ; skipping tests for bootstrap
-        #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
-        #:phases
-        #~(modify-phases %standard-phases
-            (delete 'configure)
-            (add-before 'build 'generate-bytecode
-              (lambda* (#:key inputs #:allow-other-keys)
-                (system (string-append #+dbqn
-                                       "/bin/dbqn ./genRuntime "
-                                       #+bqn-sources))))
-            (replace 'install
-              (lambda* (#:key outputs #:allow-other-keys)
-                (mkdir-p (string-append #$output "/bin"))
-                (chmod "BQN" #o755)
-                (rename-file "BQN" "bqn")
-                (install-file "bqn" (string-append #$output "/bin")))))))
-      (native-inputs (list dbqn bqn-sources))
-      (inputs (list icedtea-8 libffi))
-      (synopsis "BQN implementation in C")
-      (description "This package provides the reference implementation of
+  (package
+    (name "cbqn-bootstrap")
+    (version "0.6.0")
+    (outputs '("out"))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/dzaima/CBQN")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1qh5hv76bj55ajna8smwniqfa1nmnyqahk40in5bzjsx3vvikpw5"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list
+      #:tests? #f
+      #:make-flags #~(list (string-append "version="
+                                          #$version)
+                           (string-append "CC="
+                                          #$(cc-for-target)) "REPLXX=0"
+                           "nogit=1" "notui=1")
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'configure)
+                   (add-before 'build 'generate-bytecode
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let ((out (assoc-ref outputs "out")))
+                         (mkdir-p (string-append "./build/bytecodeLocal/gen"))
+                         (system (string-append #+dbqn
+                                  "/bin/dbqn ./build/genRuntime "
+                                  #+bqn-sources " " "./build/bytecodeLocal")))))
+                   (add-after 'generate-bytecode 'symlink-singeli
+                     (lambda* (#:key inputs outputs #:allow-other-keys)
+                       (symlink (string-append (assoc-ref inputs "singeli")
+                                               "/lib") "build/singeliLocal")))
+                   (replace 'install
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (mkdir-p (string-append #$output "/bin"))
+                       (chmod "BQN" #o755)
+                       (rename-file "BQN" "bqn")
+                       (install-file "bqn"
+                                     (string-append #$output "/bin")))))))
+    (native-inputs (list singeli dbqn bqn-sources))
+    (inputs (list icedtea-8 libffi))
+    (synopsis "BQN implementation in C")
+    (description
+     "This package provides the reference implementation of
 @uref{https://mlochbaum.github.io/BQN/, BQN}, a programming language inspired
 by APL.")
-      (home-page "https://mlochbaum.github.io/BQN/")
-      (license license:gpl3))))
+    (home-page "https://mlochbaum.github.io/BQN/")
+    (license license:gpl3)))
 
 (define-public cbqn
   (package