Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Texlive 2023 #47130

Merged
merged 24 commits into from
Feb 8, 2024
Merged

Texlive 2023 #47130

merged 24 commits into from
Feb 8, 2024

Conversation

fosslinux
Copy link
Contributor

@fosslinux fosslinux commented Nov 9, 2023

Testing the changes

  • I tested the changes in this PR: yes

Local build testing

  • I built this PR locally for my native architecture, x86_64
  • I built this PR locally for these architectures (if supported. mark crossbuilds):
    • aarch64-musl
    • armv7l
    • armv6l-musl

A few consideration's I'm 100% sure about.

  1. I'm not certain about our current ownerships - a lot of things from texmf-dist come from the texlive package, whereas most other distributions appear to have the primary texlive package as compiled binaries-only and then place all the texmf-dist binaries symlinked to scripts in their texlive-core package (obviously different names but same idea). Should we be doing this?
  2. What do I do about the ppc64 patches, should they be dropped or left?
    all considered now

@tornaria
Copy link
Contributor

tornaria commented Jan 6, 2024

Small suggestion:

--- a/common/build-style/texmf.sh
+++ b/common/build-style/texmf.sh
@@ -3,14 +3,11 @@ do_build() {
        # Extract the source files
        mkdir -p "build/usr/share/texmf-dist"
        find . -maxdepth 1 -print -name "*.tar.xz" \
-               -exec bsdtar -C "build/usr/share/texmf-dist" -xf {} \;
+               -exec bsdtar \
+                       -s '|^texmf-dist/||' \
+                       -C "build/usr/share/texmf-dist" \
+                       -xf {} \;
        cd "build/usr/share/texmf-dist/"
-       # Everything in usr/share/texmf-dist/texmf-dist should really be in
-       # usr/share/texmf-dist, so we move it
-       if [ -d "texmf-dist" ] ; then
-               rsync -ar texmf-dist/ ./
-               rm -rf texmf-dist/
-       fi
        # LICENSEs are unneeded
        rm -f LICENSE*
 

If you do this, maybe get rid of the rsync makedepends ?

Do you think there's a chance we can try to fix texdoc ? (#30340)

@tornaria
Copy link
Contributor

tornaria commented Jan 6, 2024

Also note this:

--- a/srcpkgs/texlive/patches/tlmgr.patch
+++ b/srcpkgs/texlive/patches/tlmgr.patch
@@ -63,7 +63,7 @@
 +  if (!$opts{"usermode"} && $action ne "init-usertree") {
 +    $opts{"usermode"} = 1;
 +    print "(running on Void Linux, switching to user mode!)\n";
-+    print "(see https://docs.voidlinux.org/config/texlive.html)\n");
++    print "(see https://docs.voidlinux.org/config/texlive.html)\n";
 +  }
 +
    #

@fosslinux
Copy link
Contributor Author

Thanks; applied those two.

Re: texdoc, I'm not certain of the best way to attack that at this point. We can't include the docs in the main package - they're HUGE. They don't seem to be included in any tarball. This is something I'd prefer to address in a follow up PR.

@fosslinux fosslinux changed the title WIP: Texlive 2023 Texlive 2023 Jan 12, 2024
@tornaria
Copy link
Contributor

Thanks; applied those two.

Re: texdoc, I'm not certain of the best way to attack that at this point. We can't include the docs in the main package - they're HUGE. They don't seem to be included in any tarball. This is something I'd prefer to address in a follow up PR.

I think the docs are (optionally?) produced when each TL package is built, and placed in $TEXMFDIST/doc/. I think arch creates these TL packages without the documentation (each *.xz file inside texlive-core-2023.66587-src.zip and friends is one TL package) and makes this zip files with collections of packages.

In spite of the name, I don't think these files texlive-core-2023.66587-src.zip are texlive sources, and I don't think the arch package uses those, rather something more like texlive-20230313-texmf.tar.xz. That one file seems to contain everything, source, runtime and documentation for all the collections together. Then there's texlive-20230311-tlpdb-full.tar.gz which contains the database of installed files; arch seems to parse the database to split the texmf runtime files into collections, and I think all the documentation goes together in a single package (but documentation could also be split by collections).

TL;DR

  • the docs are included in texlive-20230313-texmf.tar.xz
  • the database with meta information of all those files is in texlive-20230311-tlpdb-full.tar.gz
  • maybe it's possible to eventually transition to using those files to generate all collections and documentation of collections (and also ship the database which I think is needed by texdoc)

Another note: I think texlive expects the tlpkg directory to be placed in /usr/share/tlpkg instead of /usr/share/texmf-dist/tlpkg. Simple way to fix this is to make a symlink, and I think doing this gets rid of some patches here.

@fosslinux
Copy link
Contributor Author

Hmm, alright.

I'll have a bit of a closer look at arch's texlive packages, and a couple of other distributions.
If it is appropriate to do so, I'll have a look at the possibility of taking collections straight from upstream, rather than from Arch.

Previously, the consensus was that shipping tlpdb didn't really make any sense since tlmgr system wide is unsupported. But that might not be quite true. Perhaps tlpdb should be shipped - with the intention that it is still a package managed file and is not changed by the user.

(This is still something I'd prefer to address after this PR, let's get this merged first)

sgn pushed a commit to sgn/void-packages that referenced this pull request Jan 18, 2024
@ahesford ahesford merged commit 3ef82ec into void-linux:master Feb 8, 2024
8 checks passed
@dkwo
Copy link
Contributor

dkwo commented Feb 29, 2024

it seems that arch linux has dropped its collections https://archlinux.org/news/tex-live-package-reorganization/ so we may need to take them from upstream anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants