(define-module (gnu packages bqn) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix utils) #:use-module (guix deprecation) #:use-module (gnu packages) #:use-module (gnu packages libffi) #:use-module (gnu packages base) #:use-module (gnu packages pkg-config) #:use-module (gnu packages llvm) #:use-module (gnu packages java) #:use-module (gnu packages compression)) (define-public dbqn (let ((commit "0bbe096fc07d278b679a8479318f1722d096a03e") (revision "1")) (package (name "dbqn") (version (git-version "0.2.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dzaima/BQN") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1kxzxz2hrd1871281s4rsi569qk314aqfmng9pkqn8gv9nqhmph0")))) (outputs '("out")) (build-system gnu-build-system) (arguments (list #:imported-modules `(,@%gnu-build-system-modules (guix build syscalls) (guix build ant-build-system)) #:modules `((guix build gnu-build-system) ((guix build ant-build-system) #:prefix ant:) (guix build utils)) #:phases #~(modify-phases %standard-phases (delete 'configure) (replace 'build (lambda* _ (invoke "./build"))) (replace 'check (lambda* (:#key tests? #:allow-other-tags) (when tests? (chmod "./BQN" 493) (system "./BQN ./test/test")))) (add-after 'install 'reorder-jar-content (lambda* (#:key outputs #:allow-other-keys) (apply (assoc-ref ant:%standard-phases 'reorder-jar-content) #:outputs (list outputs)))) (add-after 'reorder-jar-content 'jar-indices (lambda* (#:key outputs #:allow-other-keys) (apply (assoc-ref ant:%standard-phases 'generate-jar-indices) #:outputs (list outputs)))) (add-after 'jar-indices 'fix-jar-timestamps (lambda* (#:key outputs #:allow-other-keys) (apply (assoc-ref ant:%standard-phases 'reorder-jar-content) #:outputs (list outputs)))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (dest-bin (string-append out "/bin")) (dest-jar (string-append out "/share/java"))) (mkdir-p dest-bin) (mkdir-p dest-jar) (copy-recursively "BQN" (string-append dest-bin "/dbqn")) (chmod (string-append dest-bin "/dbqn") 493) (install-file "BQN.jar" dest-jar) (substitute* (string-append dest-bin "/dbqn") (("BQN.jar") (string-append dest-jar "/BQN.jar"))))))))) (native-inputs (list `(,icedtea-8 "jdk") coreutils zip)) (synopsis "BQN implementation based on dzaima/APL") (description "BQN implementation based on dzaima/APL.") (home-page "https://github.com/dzaima/BQN") (license license:expat))))