diff mbox series

[bug#56992,v1,3/5] gnu: bqn: Add cbqn-bootstrap.

Message ID 20220805022023.5044-3-yewscion@gmail.com
State Accepted
Headers show
Series [bug#56989,v1,1/5] gnu: bqn: Add bqn.scm and dbqn package. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Christopher Rodriguez Aug. 5, 2022, 2:20 a.m. UTC
---
 gnu/packages/bqn.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
diff mbox series

Patch

diff --git a/gnu/packages/bqn.scm b/gnu/packages/bqn.scm
index 221ed9eaaa..0e26706476 100644
--- a/gnu/packages/bqn.scm
+++ b/gnu/packages/bqn.scm
@@ -125,3 +125,49 @@  (define bqn-bytecode-sources
 purposes.")
       (home-page "https://github.com/mlochbaum/BQN.git")
       (license license:gpl3))))
+(define cbqn-bootstrap
+  (let* ((tag "0")
+         (revision "1")
+         (commit "88f65850fa6ac28bc50886c5942652f21d5be924")
+         (hash "0bqwpvzwp2v20k2l725cwxx4fkvisniw9nls3685wd0fa3agpb47")
+         (version (git-version tag revision commit)))
+    (package
+      (name "cbqn-bootstrap")
+      (version version)
+      (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
+                  hash))))
+      (build-system gnu-build-system)
+      (outputs '("out"))
+      (arguments
+       (list #:tests? #f ;Skipping Tests for Bootstrap.
+             #:phases #~(modify-phases %standard-phases
+                          (delete 'configure)
+                          (add-before 'build 'generate-bytecode
+                            (lambda* (#:key inputs #:allow-other-keys)
+                              (system (string-append #$(this-package-native-input
+                                                        "dbqn")
+                                       "/bin/dbqn ./genRuntime "
+                                       #$(this-package-input
+                                          "bqn-bytecode-sources") "/share/"))))
+                          (replace 'install
+                            (lambda* (#:key outputs #:allow-other-keys)
+                              (mkdir-p (string-append #$output "/bin"))
+                              (chmod "BQN" 493)
+                              (copy-recursively "BQN"
+                                                (string-append #$output
+                                                               "/bin/bqn")))))))
+      (native-inputs (list dbqn openjdk17 clang-toolchain))
+      (inputs (list bqn-bytecode-sources libffi))
+      (synopsis "BQN implementation in C")
+      (description
+       "The expected implementation for the BQN language,
+according to the official documentation of that specification.")
+      (home-page "https://mlochbaum.github.io/BQN/")
+      (license license:gpl3))))