From: "Jakub Kądziołka" <kuba@kadziolka.net>
To: "B. Wilson" <elaexuotee@wilsonb.com>
Cc: 40815@debbugs.gnu.org
Subject: [bug#40815] gnu: Add metamath
Date: Sun, 26 Apr 2020 19:29:45 +0200 [thread overview]
Message-ID: <20200426172945.7ez6i2fl3pjcoexd@gravity> (raw)
In-Reply-To: <3JR2ES0G0DYM2.3NI13ZSG185CK@wilsonb.com>
[-- Attachment #1: Type: text/plain, Size: 4270 bytes --]
On Fri, Apr 24, 2020 at 08:48:30PM +0900, B. Wilson wrote:
> This is my first packaging attempt, so careful critiques are very
> welcome.
Welcome to Guix, then!
> diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
> index 73ee161e81..c70557ef8f 100644
> --- a/gnu/packages/maths.scm
> +++ b/gnu/packages/maths.scm
> @@ -38,6 +38,7 @@
> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
> +;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
Huh, we usually don't abbreviate first names. It's fine if you prefer it
this way, though. (BTW, the LaTeX on your website is broken.)
> +(define-public metamath
> + (package
> + (name "metamath")
> + (version "0.182")
> + (source
> + (origin
> + (method url-fetch)
> + (uri "http://us2.metamath.org/downloads/metamath-program.zip")
This looks like an unversioned URL. That's not ideal, since when
upstream will release a new version, it will break the hash below. I
looked around on their website and couldn't find a versioned URL, but I
also couldn't find the one you're using. We could fetch from GitHub
instead...
> The package definition itself is pretty bog standard, apart from how
> the "doc" output is supplied. Upstream provides the official
> documentation as a pdf offered separately from the source. I decided
> to include this as an input and manually copy it over. Upstream does
> also have a repo with the TeX sources. Would it be better to typset it
> directly instead?
AFAIK, building from source is preferred. grep for texlive-union to see
how it can be done without pulling in gigabytes of dependencies.
The no-versioned-URL problem also applies to the documentation, and
this would let you solve two problems at once ;)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-after 'install 'install-doc
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (mkdir-p (string-append (assoc-ref outputs "doc") "/share/doc"))
> + (copy-file (assoc-ref inputs "book")
> + (string-append (assoc-ref outputs "doc")
> + "/share/doc/metamath.pdf")))))))
Let me cite an excerpt from your build log: ;)
## WARNING: phase `install-doc' returned `#<unspecified>'. Return values other than #t
## are deprecated. Please migrate this package so that its phase
## procedures report errors by raising an exception, and otherwise
## always return #t.
Also, consider binding the path to the /share/doc directory in a variable:
(let ((docdir (string-append ...)))
(mkdir-p docdir)
(copy-file (assoc-ref inputs "book")
(string-append docdir "/metamath.pdf"))
#t)
> Also, regarding my `install-doc' phase, is the way I copy over the
> /gnu/store/<hash>-metamath.pdf file reasonable? Unfortunately,
> `install-file' doesn't allow renaming the destination, so I had to
> mimic its effect. Is there a better, or more idiomatic way to do this
> kind of thing?
Nothing comes to mind as far as other alternatives for mkdir-p +
copy-file go.
> diff --git a/gnu/packages/patches/metamath-remove-missing-file-refs.patch b/gnu/packages/patches/metamath-remove-missing-file-refs.patch
> new file mode 100644
> index 0000000000..bc4748de98
> --- /dev/null
> +++ b/gnu/packages/patches/metamath-remove-missing-file-refs.patch
Make sure to add this new file to gnu/local.mk!
> @@ -0,0 +1,17 @@
> +--- metamath.orig/Makefile.am 2020-01-27 20:43:55.650195602 +0900
> ++++ metamath/Makefile.am 2020-01-27 20:44:18.876578014 +0900
> +@@ -36,14 +36,6 @@
> + mmwtex.c \
> + $(noinst_HEADERS)
> +
> +-dist_pkgdata_DATA = \
> +- big-unifier.mm \
> +- demo0.mm \
> +- miu.mm \
> +- peano.mm \
> +- ql.mm \
> +- set.mm
> +-
> +
> + EXTRA_DIST = \
> + LICENSE.TXT \
I suppose your not including the databases is intentional, but the
reasoning behind that seems not entirely clear to me - wouldn't the
program be more useful when packaged with its database?
Regards,
Jakub Kądziołka
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2020-04-26 17:31 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-24 11:48 [bug#40815] gnu: Add metamath B. Wilson via Guix-patches via
2020-04-26 17:29 ` Jakub Kądziołka [this message]
2020-04-27 4:21 ` x--- via Guix-patches via
2020-04-27 12:12 ` Jakub Kądziołka
2020-05-11 11:25 ` B. Wilson via Guix-patches via
2020-05-11 14:05 ` B. Wilson via Guix-patches via
2020-06-04 17:49 ` Nicolas Goaziou
2020-06-23 11:32 ` elaexuotee--- via Guix-patches via
2020-06-26 7:19 ` Nicolas Goaziou
2020-06-26 8:46 ` elaexuotee--- via Guix-patches via
2020-06-28 20:12 ` Nicolas Goaziou
2020-06-29 7:09 ` elaexuotee--- via Guix-patches via
2020-07-01 11:02 ` bug#40815: " Nicolas Goaziou
2020-07-01 23:53 ` [bug#40815] " elaexuotee--- via Guix-patches via
2020-06-24 1:14 ` elaexuotee--- via Guix-patches via
2020-05-13 7:25 ` elaexuotee--- via Guix-patches via
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200426172945.7ez6i2fl3pjcoexd@gravity \
--to=kuba@kadziolka.net \
--cc=40815@debbugs.gnu.org \
--cc=elaexuotee@wilsonb.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 public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).