Christopher Rodriguez wrote 3 years ago
(address . guix-patches@gnu.org)(name . Christopher Rodriguez)(address . yewscion@gmail.com)
---
gnu/packages/bqn.scm | 52 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
Toggle diff (62 lines)
diff --git a/gnu/packages/bqn.scm b/gnu/packages/bqn.scm
index 3616067d87..cebf3acd13 100644
--- a/gnu/packages/bqn.scm
+++ b/gnu/packages/bqn.scm
@@ -206,3 +206,55 @@ (define singeli-bootstrap
there are no plans to target GPUs.")
(home-page "https://github.com/mlochbaum/Singeli")
(license license:isc))))
+(define-public cbqn
+ (package
+ (inherit cbqn-bootstrap)
+ (name "cbqn")
+ (outputs '("out" "lib"))
+ (arguments
+ (list #:make-flags '(list "shared-o3" "o3n-singeli")
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'link-singeli
+ (lambda* (#:key inputs #:allow-other-keys)
+ (symlink (string-append #$(this-package-input
+ "singeli-bootstrap")
+ "/share/singeli")
+ "Singeli")))
+ (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 'check
+ (lambda* (#:key inputs tests? #:allow-other-keys)
+ (when tests?
+ (map (lambda (x)
+ (system (string-append "./test/" x ".sh "
+ #$(this-package-input
+ "bqn-bytecode-sources")
+ "/share/")))
+ '("mainCfgs" "x86Cfgs" "moreCfgs"))
+ (map (lambda (x)
+ (system (string-append "./BQN ./test/" x
+ ".bqn")))
+ '("cmp" "equal" "copy" "bitcpy" "random"))
+ (system "make -C test/ffi"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((bin (string-append (assoc-ref outputs
+ "out")
+ "/bin"))
+ (lib (string-append (assoc-ref outputs
+ "lib")
+ "/lib")))
+ (mkdir-p bin)
+ (mkdir-p lib)
+ (chmod "BQN" 493)
+ (copy-recursively "BQN"
+ (string-append bin "/bqn"))
+ (install-file "libcbqn.so" lib)))))))
+ (inputs (list bqn-bytecode-sources libffi singeli-bootstrap))))
--
2.37.1