[PATCH 0/2] Fix the texlive-poetry package

  • Open
  • quality assurance status badge
Details
3 participants
  • Nicolas Goaziou
  • Spencer King
  • spencernursiapress
Owner
unassigned
Submitted by
Spencer King
Severity
normal
S
S
Spencer King wrote on 9 Dec 2023 03:04
(address . guix-patches@gnu.org)(name . Spencer King)(address . spencer@nursiapress.com)
cover.1702087317.git.spencer@nursiapress.com
Hello. When attempting to build a document using the texlive-poetry package I discovered that it was missing some necessary inputs. The two needed inputs were texlive-modulus and texlive-imakeidx. When adding these I then discovered that texlive-imakeidx was missing texlive-xkeyval. In both cases these are noted by RequirePackage in the respective .sty files. The texlive-imakeidx .sty does actually list multiple required packages, however I believe all of the rest are accounted for by texlive-scheme-basic, which was needed to be installed anyway in order to get a compiler. If you would like to reproduce this bug, I've pasted a sample tex file below, adapted from one of the initial examples in texlive-poetry's documentation.

\documentclass{article}
\usepackage{poetry}

\begin{document}

\begin{poem}
Let me not to the marriage of true minds \\
\hin Admit impediments. Love is not love \\
Which alters when it alteration finds, \\
\hin Or bends with the remover to remove: \\!
O, no! it is an ever-fixed mark, \\
\hin That looks on tempests and is never shaken; \\
It is the star to every wandering bark, \\
\hin Whose worth’s unknown, although his height be taken. \\-
\end{poem}

\end{document}

The only packages I had installed in the environment were texlive-scheme-basic and texlive-poetry.

In addition to the changes described above, guix style did change some of the existing structure of the packages. This is both my first patch series and my first time submitting a fix to an existing package, so I apologize if I have done something incorrectly.

Best,
Spencer

Spencer King (2):
gnu: texlive-imakeidx: Fix inputs.
gnu: texlive-poetry: Fix inputs.

gnu/packages/tex.scm | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)


base-commit: 4e7cb241188cf9f213d5fbabbabce07d35ca0991
--
2.41.0
S
S
Spencer King wrote on 9 Dec 2023 04:03
[PATCH 1/2] gnu: texlive-imakeidx: Fix inputs.
(address . 67723@debbugs.gnu.org)(name . Spencer King)(address . spencer@nursiapress.com)
9e255281f2019bfacd67032ca7b350f4b82ba5ab.1702087317.git.spencer@nursiapress.com
* gnu/packages/tex.scm (texlive-imakeidx)[propagated-inputs]: Add
texlive-xkeyval.

Change-Id: Icd48cf4316639dee73051bed6fb3de84a7637f15
---
gnu/packages/tex.scm | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)

Toggle diff (29 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index 0d76710daa..cdefddb467 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -17658,15 +17658,15 @@ (define-public texlive-imakeidx
(package
(name "texlive-imakeidx")
(version (number->string %texlive-revision))
- (source (texlive-origin
- name version
- (list "doc/latex/imakeidx/"
- "source/latex/imakeidx/"
- "tex/latex/imakeidx/")
- (base32
- "1s65kbzafx5q7519pbxjldb87flws0mgg76yxi7a5mgxrnkfy961")))
+ (source
+ (texlive-origin name version
+ (list "doc/latex/imakeidx/" "source/latex/imakeidx/"
+ "tex/latex/imakeidx/")
+ (base32
+ "1s65kbzafx5q7519pbxjldb87flws0mgg76yxi7a5mgxrnkfy961")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (propagated-inputs (list texlive-xkeyval))
(home-page "https://ctan.org/pkg/imakeidx")
(synopsis "Package for producing multiple indexes")
(description
--
2.41.0
S
S
Spencer King wrote on 9 Dec 2023 04:03
[PATCH 2/2] gnu: texlive-poetry: Fix inputs.
(address . 67723@debbugs.gnu.org)(name . Spencer King)(address . spencer@nursiapress.com)
90ca9e70de924dbd07605d43b56d808e854b6382.1702087317.git.spencer@nursiapress.com
* gnu/packages/tex.scm (texlive-poetry)[propagated-inputs]: Add
texlive-modulues, texlive-imakeidx.

Change-Id: I1119b6dcebe8836b579c43835105711a7a7633dc
---
gnu/packages/tex.scm | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

Toggle diff (28 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index cdefddb467..fa9a5a005c 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -25407,14 +25407,15 @@ (define-public texlive-poetry
(package
(name "texlive-poetry")
(version (number->string %texlive-revision))
- (source (texlive-origin
- name version
- (list "doc/latex/poetry/" "source/latex/poetry/"
- "tex/latex/poetry/")
- (base32
- "1z262am0qh6h1qqf36hxj2lc7d5pr4r65yx8ysrydh0sijccgild")))
+ (source
+ (texlive-origin name version
+ (list "doc/latex/poetry/" "source/latex/poetry/"
+ "tex/latex/poetry/")
+ (base32
+ "1z262am0qh6h1qqf36hxj2lc7d5pr4r65yx8ysrydh0sijccgild")))
(outputs '("out" "doc"))
(build-system texlive-build-system)
+ (propagated-inputs (list texlive-modulus texlive-imakeidx))
(home-page "https://ctan.org/pkg/poetry")
(synopsis "Facilities for typesetting poetry and poetical structure")
(description
--
2.41.0
N
N
Nicolas Goaziou wrote on 9 Dec 2023 15:21
Re: [bug#67723] [PATCH 0/2] Fix the texlive-poetry package
(name . Spencer King)(address . spencer@nursiapress.com)
87r0jva22o.fsf@nicolasgoaziou.fr
Hello,

Spencer King <spencer@nursiapress.com> writes:

Toggle quote (12 lines)
> Hello. When attempting to build a document using the texlive-poetry
> package I discovered that it was missing some necessary inputs. The
> two needed inputs were texlive-modulus and texlive-imakeidx. When
> adding these I then discovered that texlive-imakeidx was missing
> texlive-xkeyval. In both cases these are noted by RequirePackage in
> the respective .sty files. The texlive-imakeidx .sty does actually
> list multiple required packages, however I believe all of the rest are
> accounted for by texlive-scheme-basic, which was needed to be
> installed anyway in order to get a compiler. If you would like to
> reproduce this bug, I've pasted a sample tex file below, adapted from
> one of the initial examples in texlive-poetry's documentation.

This is not a bug, or rather, I don't think we should jump into that
rabbit hole. See, for example, https://issues.guix.gnu.org/67660.

Regards,
--
Nicolas Goaziou
S
S
spencernursiapress wrote on 9 Dec 2023 20:54
[PATCH 0/2] Fix the texlive-poetry package
(address . 67723@debbugs.gnu.org)
ae42b8be7162c644f7204684a992aeec.squirrel@p110.lithium.hosting
Hi Nicolas,

I appreciate the quick response. I've read through the conversation on issue
67660 and understand your concerns, but can't say that I entirely agree. I am
aware that it would be a substantial manual burden to fix the potentially
hundreds of impacted packages. However, from an end-user perspective, those
packages are currently broken. I think it is completely valid for the Guix
project to not want to take on the burden of managing those dependencies,
however I fail to see the utility in offering individual packages in that
case.

On the other issue you had mentioned the idea of having package collections.
How do you envision that working in practice? For example, if I wanted to
create a collection for typesetting poetry it seems a little arbitrary which
packages I would choose to include.

I am a frequent user of the Tex ecosystem and would like to improve it in
Guix. Currently it seems that the only realistic way to use Tex is to install
the entirety of texlive, which isn't any different than what I would do on
any
other distro.

Best,
Spencer
N
N
Nicolas Goaziou wrote on 10 Dec 2023 11:46
(address . spencernursiapress@nursiapress.com)(address . 67723@debbugs.gnu.org)
87msui9vxm.fsf@nicolasgoaziou.fr
Hello,

spencernursiapress@nursiapress.com writes:

Toggle quote (6 lines)
> However, from an end-user perspective, those packages are currently
> broken. I think it is completely valid for the Guix project to not
> want to take on the burden of managing those dependencies, however
> I fail to see the utility in offering individual packages in that
> case.

The point is that you can use any package set as long as you manage to
resolve the dependencies yourself. This is not very difficult actually,
and only need to be done once if you always use the same TeX Live packages.

Toggle quote (5 lines)
> On the other issue you had mentioned the idea of having package collections.
> How do you envision that working in practice? For example, if I wanted to
> create a collection for typesetting poetry it seems a little arbitrary which
> packages I would choose to include.

I'm talking about TeX Live predefined collections of packages, such as
`texlive-collection-pictures' or `texlive-scheme-small', not about user
defined collections. For example, `texlive-xkeyval' belongs to
`texlive-collection-latexrecommended', which you ought to install.

Toggle quote (6 lines)
> I am a frequent user of the Tex ecosystem and would like to improve it in
> Guix. Currently it seems that the only realistic way to use Tex is to install
> the entirety of texlive, which isn't any different than what I would do on
> any
> other distro.

FWIW, I'm using modular TeX regularly. The actual problem — yes, there
is one — is not about resolving dependencies, really.

Regards,
--
Nicolas Goaziou
?