me
/
guix
Archived
1
0
Fork 0

gnu: Add cbqn.

* gnu/packages/bqn.scm (cbqn): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
master
Christopher Rodriguez 2022-08-10 13:28:00 -04:00 committed by Ludovic Courtès
parent 4e7c1130f7
commit dc9a5257a9
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 47 additions and 0 deletions

View File

@ -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))))