~ruther/guix-local

fc5ec0827e5bc887cef3c42a5b668c9d246d0a3c — λx.x 5 months ago d2c2e7f
gnu: dbqn: Update to 0.2.2

* gnu/packages/bqn.scm (dbqn): Update to 0.2.2.

Change-Id: I4bdbb74a412b65de7aa7d910cb9ef75d3fe54738
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 67 insertions(+), 68 deletions(-)

M gnu/packages/bqn.scm
M gnu/packages/bqn.scm => gnu/packages/bqn.scm +67 -68
@@ 2,6 2,7 @@
;;; Copyright © 2022 Christopher Rodriguez <yewscion@gmail.com>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2025 Lee Thompson <lee.p.thomp@gmail.com>
;;; © 2025 case_lambda <case_lambda@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 36,77 37,75 @@
  #:use-module (gnu packages compression))

(define-public dbqn
  (let ((commit "88f2b43966a75cc2c382421218eb30003bb16f4a")
        (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
                  "06mzvv7kmandhgwb6jwz3rivsj4ic549sy8afnb5zr6mfn5isyg5"))))
      (build-system gnu-build-system)
      (arguments
       (list
        #:imported-modules `(,@%default-gnu-imported-modules
                             (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")
                         (chmod "./BQN" #o755)))
                     (replace 'check
                       (lambda* (#:key tests? #:allow-other-keys)
                         (when tests?
                           (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)
                           (rename-file "BQN" "dbqn")
                           (install-file "dbqn" dest-bin)
                           (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") zip))
      (inputs (list icedtea-8 bash-minimal))
      (synopsis "BQN implementation based on dzaima/APL")
      (description
       "dbqn is a Java implementation of the
  (package
    (name "dbqn")
    (version "0.2.2")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                     (url "https://github.com/dzaima/BQN")
                     (commit (string-append "v" version))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1zy3y9wbmaw0mrd2sp7d1r912gvs9k0mzw5d3drgmbzkbvpd6iq1"))))
    (build-system gnu-build-system)
    (arguments
     (list
      #:imported-modules `(,@%default-gnu-imported-modules
                           (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")
                       (chmod "./BQN" #o755)))
                   (replace 'check
                     (lambda* (#:key tests? #:allow-other-keys)
                       (when tests?
                         (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)
                         (rename-file "BQN" "dbqn")
                         (install-file "dbqn" dest-bin)
                         (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") zip))
    (inputs (list icedtea-8 bash-minimal))
    (synopsis "BQN implementation based on dzaima/APL")
    (description
     "dbqn is a Java implementation of the
@uref{https://mlochbaum.github.io/BQN/, BQN programming language} that does
not need to be bootstrapped, based on an earlier Java implementation of APL by
the same author.")
      (home-page "https://github.com/dzaima/BQN")
      (license license:expat))))
    (home-page "https://github.com/dzaima/BQN")
    (license license:expat)))

(define bqn-sources
  ;; Aside from dbqn above, the main bqn repository is used by other