Package Details: texlive-most-doc 20191023-1

Git Clone URL: https://aur.archlinux.org/texlive-most-doc.git (read-only, click to copy)
Package Base: texlive-most-doc
Description: Most TeXLive documentation
Upstream URL: http://tug.org/texlive/
Licenses: unknown
Conflicts: texlive-tlpdb
Submitter: solnce
Maintainer: Sunday
Last Packager: Sunday
Votes: 9
Popularity: 0.35
First Submitted: 2017-09-20 14:28
Last Updated: 2019-10-23 09:03

Dependencies (2)

Required by (0)

Sources (0)

Pinned Comments

Sunday commented on 2019-10-23 10:28

As this package is quite big (currently around 2.4GB uncompressed) I recommend changing your makepkg.conf settings to use a low compression level and multi-threaded compression by setting either

COMPRESSXZ=(xz -T 0 -c -z -0 -)

or even faster

COMPRESSZST=(zstd -q -c -z -1 -T0 -)
PKGEXT='.pkg.tar.zst'

Latest Comments

Sunday commented on 2019-10-23 10:28

As this package is quite big (currently around 2.4GB uncompressed) I recommend changing your makepkg.conf settings to use a low compression level and multi-threaded compression by setting either

COMPRESSXZ=(xz -T 0 -c -z -0 -)

or even faster

COMPRESSZST=(zstd -q -c -z -1 -T0 -)
PKGEXT='.pkg.tar.zst'

Sunday commented on 2019-10-23 10:27

@ccorn thanks a lot for the patches, I applied both to the PKGBUILD.

ccorn commented on 2019-10-17 14:30

I have made some modifications:

First: Better integration with other texlive archlinux packages:

  • Remove texlive-most-doc.install: Obsoleted by: texlive-core /usr/share/libalpm/hooks/mktexlsr.hook
  • Change optdepends on texlive-bin to texlive-core for the mktexlsr.hook and (some of) the documented packages
  • Add conflicts=(texlive-tlpdb)
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -9,9 +9,9 @@ pkgdesc="Most TeXLive documentation"
 url="http://tug.org/texlive/"
 arch=('any')
 license=('unknown')
-optdepends=('texlive-bin: The texdoc program and some more documentation')
+optdepends=('texlive-core: texdoc, mktexlsr hook, and many packages documented here')
 makedepends=('rsync')
-install='texlive-most-doc.install'
+conflicts=(texlive-tlpdb)
 options=('!strip'  '!purge')

 pkgver() {

Second: Use rsync --link-dest to speed up updates if a previous package version has been installed. Thus, passing e.g. -I texlive-most-doc-PREVIOUSVERSION-1-any.pkg.tar.xz to makechrootpkg or extra-x86_64-build -- shortens rsync transfers by a factor of roughly 100.

I have also noticed that there are man and info subdirs, but moving those to standard locations outside the texmf-dist tree would cause conflicts with other packages, so I have chosen to simply --exclude them.

--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,10 +19,33 @@ pkgver() {
 }

 build() {
-  mkdir -p "$srcdir/usr/share/texmf-dist"
-  mkdir -p "$srcdir/usr/share/tlpkg"
-  rsync -av --no-o --no-g --chmod=D755,F644 rsync://tug.org/texlive/Contents/live/texmf-dist/doc "$srcdir/usr/share/texmf-dist/"
-  rsync -av --no-o --no-g --chmod=D755,F644 rsync://tug.org/texlive/Contents/live/tlpkg/texlive.tlpdb "$srcdir/usr/share/tlpkg/"
+  _texmfdoc=/usr/share/texmf-dist/doc
+  _olddoc=""
+  if test -d "$_texmfdoc"; then
+    _olddoc="--link-dest=$_texmfdoc"
+  else
+    cat >&2 <<EOT
+******************************************************************************
+Directory $_texmfdoc not found.
+This means that rsync'ing the TeXLive documentation tree will download
+several gigabytes of documentation.
+This could be made much more efficient by having a previous version of
+package $pkgname installed.
+******************************************************************************
+EOT
+  fi
+  mkdir -p "$srcdir$_texmfdoc"
+  # Excluding texmf-dist/doc/{man,info} because their contents are mostly
+  # provided by other packages in standard locations outside texmf-dist
+  rsync -av --no-o --no-g --chmod=D755,F644 $_olddoc --del --exclude=/man --exclude=/info rsync://tug.org/texlive/Contents/live/texmf-dist/doc/ "$srcdir$_texmfdoc/"
+
+  _tlpkg=/usr/share/tlpkg
+  _oldtlpkg=""
+  if test -d "$_tlpkg"; then
+    _oldtlpkg="--link-dest=$_tlpkg"
+  fi
+  mkdir -p "$srcdir$_tlpkg"
+  rsync -av --no-o --no-g --chmod=D755,F644 $_oldtlpkg --del rsync://tug.org/texlive/Contents/live/tlpkg/texlive.tlpdb "$srcdir$_tlpkg/texlive.tlpdb"
 }

 package() {

Sunday commented on 2019-09-23 08:26

I realize the problems, yet it fits my needs. Thanks for maintaining this up till now, I will take over.

solnce commented on 2019-09-19 19:46

@Sunday Thanks for the input. I will upload the new version shortly.

Nevertheless, this package still has systematic issues. For example, it is not in sync with the Arch texlive-full package, which gets updated quite rarely.

I personally switched to the manual texlive-installer, which is more inline with Arch's bleeding-edge concept, and consistent with itself. If some package requires some texlive package from the repos, I would recommend generating a meta-package.

Since I don't use this anymore, I will disown the package after the update. Feel free to take over from here.

EDIT: Also, since I don't use this anymore, I cannot / will not test the new version.

Sunday commented on 2019-09-18 13:40

It turns out this package is currently less useful, because the texdoc program needs the texlive.tlpdb file. It is available via rsync from tug.org. I modified the PKGBUILD accordingly and also added a pkgver() function. Maybe you would like to incorporate these changes. My version is here: https://gist.github.com/Ablinne/a4c44f345ab270bdad572764bd65407d

solnce commented on 2019-06-07 19:20

Sorry, your comment got burried under my regular work.

Thanks for the input! That looks okay-ish, but isn't a really good solution, because the generated lua file needs to be in sync with the whole texdoc. The only good solution is to run these steps manually after upgrade:

https://www.linuxquestions.org/questions/slackware-14/texlive-texdoc-not-working-4175634089/#post5882128

Or you could manually patch your /usr/share/texmf-dist/scripts/texdoc/search.tlu, according to https://bugs.archlinux.org/task/60013#comment173257

sim590 commented on 2019-01-04 06:56

Would you consider adding this patch or some variation of it?

https://github.com/sim590/texlive-most-doc/commit/fdb2b1c60048a5872b9d8e0388c143e7e77c18d8

See the commit message for how to obtain the magic file... I didn't find a way to do it more cleanly than just appending the file to the repository.