From: Liliana Marie Prikler <liliana.prikler@ist.tugraz.at>
To: Christopher Rodriguez <yewscion@gmail.com>, 56989@debbugs.gnu.org
Cc: control@debbugs.gnu.org
Subject: [bug#56989] [PATCH v2] gnu: bqn: Add bqn.scm and dbqn package.
Date: Fri, 05 Aug 2022 09:15:52 +0200 [thread overview]
Message-ID: <7742c07ce28494af40c74262277417e60fe6f500.camel@ist.tugraz.at> (raw)
In-Reply-To: <20220805054616.30620-1-yewscion@gmail.com>
merge 56989 56990 56991 56992 56993
thanks
Regarding the patch title, just one level of grouping is enough.
That is, use "gnu: Add dbqn."
Also, you're missing a ChangeLog, i.e.
* gnu/packages/bqn.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Register it here.
Note that the second change is lacking from your patch.
Am Freitag, dem 05.08.2022 um 01:46 -0400 schrieb Christopher
Rodriguez:
> Thanks to some help from upstream and on IRC (thanks, dzaima and
> lilyp!) I
> was able to remove the non-determinism issue. Here's an updated
> patch.
>
> ---
> gnu/packages/bqn.scm | 102
> +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 102 insertions(+)
> create mode 100644 gnu/packages/bqn.scm
>
> diff --git a/gnu/packages/bqn.scm b/gnu/packages/bqn.scm
> new file mode 100644
> index 0000000000..261f29ece5
> --- /dev/null
> +++ b/gnu/packages/bqn.scm
> @@ -0,0 +1,102 @@
> +(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* ((tag "0.2.1")
> + (revision "1")
> + (commit "0bbe096fc07d278b679a8479318f1722d096a03e")
> + (hash
> "1kxzxz2hrd1871281s4rsi569qk314aqfmng9pkqn8gv9nqhmph0")
> + (version (git-version tag revision commit)))
Don't let-bind tag, version and hash, use them inline.
> + (package
> + (name "dbqn")
> + (version version)
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/dzaima/BQN")
> + (commit commit)))
> + (file-name (git-file-name name version))
Note that version will be bound here even if you use the version field
to do so.
> + (sha256
> + (base32
> + hash))))
> + (outputs '("out"))
> + (build-system gnu-build-system)
> + (arguments
> + (list #:tests? #f ;While there is a "test" directory, there
> is no
> + ;; mechanism to run the tests other than to feed the
> files into the
> + ;; binary and check for an error. This is outside the
> scope of a
> + ;; packaging workflow, and would need to be fixed
> upstream
> + ;; instead. Issue Reported:
> https://github.com/dzaima/BQN/issues/12
> + ;; Maintainer says many of the tests fail, and so they
> will remain off
> + ;; until this is sorted out.
You could do
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(for-each (lambda (known-good-test)
(invoke my-glorious-bin known-good-test))
known-good-tests))))
FSVO my-glorious-bin and known-good-tests.
> + #: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")))
> + (add-after 'build 'strip-jar-timestamps
> + (lambda* (#:key outputs #:allow-other-
> keys)
> + (write %standard-phases)))
> + (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))))
> + (add-after 'install 'subjars
> + (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")))
> + (substitute* (string-append dest-bin
> "/dbqn")
> + (("BQN.jar")
> + (string-append dest-jar
> "/BQN.jar"))))))
Could this be done in/before install?
> + (add-after 'subjars 'reorder-jar-content
> + (lambda* (#:key outputs #:allow-other-
> keys)
> + (apply (cdr (assoc 'reorder-jar-
> content
> + ant:%standard-
> phases))
> + #:outputs (list outputs))))
You can use #:rest args to bind args for apply. Also use assoc-ref
rather than cdr + assoc.
> + (add-after 'reorder-jar-content 'jar-
> indices
> + (lambda* (#:key outputs #:allow-other-
> keys)
> + (apply (cdr (assoc 'generate-jar-
> indices
> + ant:%standard-
> phases))
> + #:outputs (list outputs))))
> + (add-after 'jar-indices 'fix-jar-
> timestamps
> + (lambda* (#:key outputs #:allow-other-
> keys)
> + (apply (cdr (assoc 'reorder-jar-
> content
> + ant:%standard-
> phases))
> + #:outputs (list outputs)))))))
> + (native-inputs (list `(,openjdk17 "jdk") coreutils zip))
Is OpenJDK 17 required?
> + (synopsis "BQN implementation based on dzaima/APL")
> + (description "BQN implementation based on dzaima/APL.")
> + (home-page "https://github.com/dzaima/BQN")
> + (license license:expat))))
Cheers
next prev parent reply other threads:[~2022-08-05 7:17 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-05 2:20 [bug#56989] [PATCH v1 1/5] gnu: bqn: Add bqn.scm and dbqn package Christopher Rodriguez
2022-08-05 2:20 ` [bug#56990] [PATCH v1 2/5] gnu: bqn: Add bqn-bytecode-sources Christopher Rodriguez
2022-08-05 2:20 ` [bug#56992] [PATCH v1 3/5] gnu: bqn: Add cbqn-bootstrap Christopher Rodriguez
2022-08-05 2:20 ` [bug#56991] [PATCH v1 4/5] gnu: bqn: Add singeli-bootstrap Christopher Rodriguez
2022-08-05 2:20 ` [bug#56993] [PATCH v1 5/5] gnu: bqn: Add cbqn Christopher Rodriguez
2022-08-05 5:46 ` [bug#56989] [PATCH v2] gnu: bqn: Add bqn.scm and dbqn package Christopher Rodriguez
2022-08-05 7:15 ` Liliana Marie Prikler [this message]
2022-08-05 15:12 ` Christopher Rodriguez
2022-08-05 15:37 ` ( via Guix-patches via
2022-08-05 15:50 ` Christopher Rodriguez
2022-08-05 15:50 ` Christopher Rodriguez
2022-08-05 22:33 ` Liliana Marie Prikler
2022-08-06 1:47 ` Christopher Rodriguez
2022-08-06 2:20 ` [bug#56989] [PATCH v3] gnu: Add dbqn Christopher Rodriguez
2022-08-07 16:28 ` Liliana Marie Prikler
2022-08-08 9:19 ` Maxime Devos
2022-08-08 13:54 ` Christopher Rodriguez
2022-08-08 21:09 ` Maxime Devos
2022-08-09 8:58 ` Maxime Devos
2022-08-09 9:02 ` Maxime Devos
2022-08-07 14:43 ` [bug#56989] [PATCH v2] gnu: bqn: Add bqn.scm and dbqn package Christopher Rodriguez
2022-08-08 9:20 ` [bug#56989] [PATCH v1 1/5] " Maxime Devos
2022-08-09 1:22 ` [bug#56989] [PATCH v4] gnu: Add dbqn Christopher Rodriguez
2022-08-10 17:27 ` [bug#56989] [PATCH v5 1/5] gnu: Add dbqn package Christopher Rodriguez
2022-08-10 17:27 ` [bug#56989] [PATCH v5 2/5] gnu: Add bqn-sources Christopher Rodriguez
2022-08-10 17:27 ` [bug#56989] [PATCH v5 3/5] gnu: Add cbqn-bootstrap Christopher Rodriguez
2022-08-10 17:27 ` [bug#56989] [PATCH v5 4/5] gnu: Add singeli-sources Christopher Rodriguez
2022-08-10 17:28 ` [bug#56989] [PATCH v5 5/5] gnu: Add cbqn Christopher Rodriguez
2022-08-31 21:10 ` bug#56989: bug#56993: [PATCH v1 5/5] gnu: bqn: " Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7742c07ce28494af40c74262277417e60fe6f500.camel@ist.tugraz.at \
--to=liliana.prikler@ist.tugraz.at \
--cc=56989@debbugs.gnu.org \
--cc=control@debbugs.gnu.org \
--cc=yewscion@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.