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))
|
||||
(sha256
|
||||
(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