gnu: Add cbqn.
* gnu/packages/bqn.scm (cbqn): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
4e7c1130f7
commit
dc9a5257a9
|
@ -175,3 +175,50 @@ by APL.")
|
||||||
(file-name (git-file-name "singeli-sources" commit))
|
(file-name (git-file-name "singeli-sources" commit))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1rr4l7ijzcg25n2igi1mzya6qllh5wsrf3m5i429rlgwv1fwvfji")))))
|
(base32 "1rr4l7ijzcg25n2igi1mzya6qllh5wsrf3m5i429rlgwv1fwvfji")))))
|
||||||
|
|
||||||
|
(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 #+singeli-sources "Singeli")))
|
||||||
|
(add-before 'build 'generate-bytecode
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(system (string-append #+dbqn
|
||||||
|
"/bin/dbqn ./genRuntime "
|
||||||
|
#+bqn-sources))))
|
||||||
|
(replace 'check
|
||||||
|
(lambda* (#:key inputs tests? #:allow-other-keys)
|
||||||
|
(when tests?
|
||||||
|
(system (string-append "./BQN -M 1000 \""
|
||||||
|
#+bqn-sources
|
||||||
|
"/test/this.bqn\""))
|
||||||
|
(map (lambda (x)
|
||||||
|
(system (string-append "./BQN ./test/" x
|
||||||
|
".bqn")))
|
||||||
|
'("cmp" "equal" "copy" "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)
|
||||||
|
(copy-recursively "BQN"
|
||||||
|
(string-append bin "/bqn"))
|
||||||
|
(install-file "libcbqn.so" lib)))))))
|
||||||
|
(native-inputs (list dbqn
|
||||||
|
bqn-sources
|
||||||
|
singeli-sources
|
||||||
|
libffi
|
||||||
|
clang-toolchain
|
||||||
|
linux-libre-headers))))
|
||||||
|
|
Reference in New Issue