Package Details: texlive-full 1:2022.20220406-1

Git Clone URL: https://aur.archlinux.org/texlive-full.git (read-only, click to copy)
Package Base: texlive-full
Description: This packages provides texlive-full in /opt. It also tricks ArchLinux into thinking it has its texlive packages installed.
Upstream URL: http://www.tug.org/texlive/
Licenses: custom
Conflicts: asymptote, git-latexdiff, haskell-citeproc, psutils, t1utils, texlive-bibtexextra, texlive-bin, texlive-core, texlive-fontsextra, texlive-formatsextra, texlive-games, texlive-htmlxml, texlive-humanities, texlive-langchinese, texlive-langcyrillic, texlive-langextra, texlive-langgreek, texlive-langjapanese, texlive-langkorean, texlive-latexextra, texlive-music, texlive-pictures, texlive-pstricks, texlive-publishers, texlive-science
Provides: asymptote, git-latexdiff, haskell-citeproc, psutils, t1utils, texlive-bibtexextra, texlive-bin, texlive-core, texlive-fontsextra, texlive-formatsextra, texlive-games, texlive-htmlxml, texlive-humanities, texlive-langchinese, texlive-langcyrillic, texlive-langextra, texlive-langgreek, texlive-langjapanese, texlive-langkorean, texlive-latexextra, texlive-music, texlive-pictures, texlive-pstricks, texlive-publishers, texlive-science
Submitter: hottea
Maintainer: sukanka
Last Packager: sukanka
Votes: 5
Popularity: 0.000178
First Submitted: 2019-05-17 13:17 (UTC)
Last Updated: 2022-04-07 11:31 (UTC)

Dependencies (2)

Required by (866)

Sources (2)

Pinned Comments

sukanka commented on 2022-02-20 07:17 (UTC) (edited on 2022-02-20 07:20 (UTC) by sukanka)

  • This package will be updated once a year in general, following the TeX Live release in April.
  • You can select a different mirror(e.g. fastest mirror in your country, see CTAN Sites) by changing the line (be careful of the ending systems/texlive/tlnet/)
_mirror='rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/'

Users in mainland China are recommended to use bfsu mirror, set

_mirror='mirrors.bfsu.edu.cn/CTAN/systems/texlive/tlnet/'
  • _syncdir works as a local CTAN/telnet mirror (about 4.5GiB). You can change it to a different place if your BUILDDIR is on tmpfs, which may not have enough space
_syncdir="CTAN/tlnet"
  • Just ignore the adding to path messages (MANPATH INFOPATH PATH), they have been linked to the correct path already.
  • checksum is skipped as the shasum of install-tl-unx.tar.gz is varying. There is a directory called install-tl-YYYYMMDD (YYYYMMDD is the pkgver) and its contents are changing in every release.
  • rsync is added to makedepends for faster installation.
  • I plan to change the pkgver to be like 2021_20220220 in future, where the first 2021 means this is TeX Live 2021, and 20220220 is from install-tl-unx.tar.gz's contents. Current pkgver is not obvious enough. Especially when TeX Live 2022 has not been released yet, but we have pkgver=20220220!
  • Comments are welcome

Latest Comments

sukanka commented on 2022-04-07 11:34 (UTC)

@sacrelicious, it's because of the license file. The pkgver was 2022.20220405 in PKGBUILD, but it then is updated by pkgver() to 2022.20220406, so install can find the correct file. I just removed pkgver in LICENSE file. Please try again. Thanks for your feedback.

sacrelicious commented on 2022-04-07 11:23 (UTC)

@sukanka got this error instead


  -> Install license file
install: cannot stat '/home/username/Downloads/AUR/texlive-full/src/LICENSE.2022.20220406': No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...

sukanka commented on 2022-04-06 09:37 (UTC)

@sacrelicious, thanks for you comment. It should be fixed now.

sacrelicious commented on 2022-04-06 09:29 (UTC) (edited on 2022-04-06 09:31 (UTC) by sacrelicious)

My current version is 20220405-1, I tried updating and got the error message as below


==> Starting pkgver()...
cat: /home/username/.cache/yay/texlive-full/src/install-tl-/release-texlive.txt: No such file or directory
==> ERROR: A failure occurred in pkgver().
    Aborting...
-> error making: texlive-full

sukanka commented on 2022-04-06 02:39 (UTC)

@haawda thanks! I merged your changes, and add other provides and conflicts. Next step is to move all these provides and conflicts to depends, and only install the needed files.

haawda commented on 2022-04-05 18:34 (UTC)

texlive 2022 is out.

# Maintainer: Sukanka <su975853527 [AT] gmail.com>
# Contributor: Butui Hu <hot123tea123@gmail.com>

pkgname=texlive-full
pkgver=20220405
pkgrel=1
pkgdesc="This packages provides texlive-full in /opt.  It also tricks ArchLinux into thinking it has its texlive packages installed."
url="http://www.tug.org/texlive/"
arch=("x86_64")
license=('custom')
makedepends=('rsync')
depends=('libxcrypt-compat')
provides=('asymptote' 'psutils' 't1utils' 'texlive-bin' 'git-latexdiff' 'texlive-bibtexextra' 'texlive-core' 'texlive-fontsextra' 'texlive-formatsextra' 'texlive-games' 'texlive-humanities' 'texlive-latexextra' 'texlive-music' 'texlive-pictures' 'texlive-pstricks' 'texlive-publishers' 'texlive-science' 'texlive-langchinese' 'texlive-langcyrillic' 'texlive-langextra' 'texlive-langgreek' 'texlive-langjapanese' 'texlive-langkorean' 'texlive-htmlxml')
conflicts=('asymptote' 'psutils' 't1utils' 'texlive-bin' 'git-latexdiff' 'texlive-bibtexextra' 'texlive-core' 'texlive-fontsextra' 'texlive-formatsextra' 'texlive-games' 'texlive-humanities' 'texlive-latexextra' 'texlive-music' 'texlive-pictures' 'texlive-pstricks' 'texlive-publishers' 'texlive-science' 'texlive-langchinese' 'texlive-langcyrillic' 'texlive-langextra' 'texlive-langgreek' 'texlive-langjapanese' 'texlive-langkorean' 'texlive-htmlxml')
source=("https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz"
    "LICENSE.$pkgver::http://texlive.tug.org/texlive/LICENSE.TL")
sha256sums=('20b661d5c8b0b080db48d685ce4017329b1ca6017f407fd25f9a70d64e4a5454'
            'e8f070b2d1a9bad00af9d6cb94e687f2120591d092c8dab8727249b70adc96d0')
#PKGEXT='.pkg.tar'
options=(!strip)

# You can choose a mirror and rsync directory here.
# _syncdir works as a local CTAN mirror (about 4.5GiB) for faster installation
# For mainland China, use 
# mirrors.bfsu.edu.cn/CTAN/systems/texlive/tlnet/

_mirror='rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/'
_syncdir="CTAN/tlnet"

pkgver(){
    ls  | grep -E '[0-9]+' -o | sort -r | head -1
}
prepare(){
    # TeXLive release year
    _tldate=$(ls  | grep -E '[0-9]+' -o | sort -r | head -1)
    _year=$(cat ${srcdir}/install-tl-${_tldate}/release-texlive.txt| grep -E '[0-9]+' -o)
    # creating a profile for unattened installation
    echo "selected_scheme scheme-full" > "${srcdir}/texlive.profile"
    echo "TEXDIR ${pkgdir}/opt/texlive/${_year}" >> "${srcdir}/texlive.profile"
    echo "TEXMFLOCAL ${pkgdir}/opt/texlive/texmf-local" >> "${srcdir}/texlive.profile"
    echo "TEXMFSYSCONFIG ${pkgdir}/opt/texlive/${_year}/texmf-config" >> "${srcdir}/texlive.profile"
    echo "TEXMFSYSVAR ${pkgdir}/opt/texlive/${_year}/texmf-var" >> "${srcdir}/texlive.profile"
    echo "TEXMFHOME ~/.config/texlive/texmf" >> "${srcdir}/texlive.profile"
    echo "TEXMFCONFIG ~/.config/texlive/${_year}/texmf-config" >> "${srcdir}/texlive.profile"
    echo "TEXMFVAR ~/.config/texlive/${_year}/texmf-var" >> "${srcdir}/texlive.profile"

    # syncing repository
    mkdir -p ${_syncdir}
    msg2 "Syncing local mirror"
    rsync -av --delete --info=progress2 --info=name0 rsync://${_mirror}  ${_syncdir}

}

package() {
    _tldate=$(ls  | grep -E '[0-9]+' -o | sort -r | head -1)
    _year=$(cat ${srcdir}/install-tl-${_tldate}/release-texlive.txt| grep -E '[0-9]+' -o)
    # find installer path automatically.
    _installer_dir=install-tl-${_tldate}

    # start the installer and install
    _timestamp=$(date "+%m%d%H%M")
    "${srcdir}/${_installer_dir}/install-tl" \
        -profile "${srcdir}/texlive.profile" -repository ${_syncdir} -logfile "/tmp/install-tl-${_timestamp}.log"

    msg2 'Stripping $srcdir'
    find ${pkgdir}/* -type f -print0 | xargs -0 sed -i "s|${srcdir}||g"

    msg2 'Stripping $pkgdir'
    find ${pkgdir}/* -type f -print0 | xargs -0 sed -i "s|${pkgdir}||g"

    msg2 "Linking manpage"
    mkdir -p ${pkgdir}/usr/share/man/{man1,man5}
    for mann in {man1,man5}
    do 
        cd ${pkgdir}/opt/texlive/${_year}/texmf-dist/doc/man/$mann
        find . -type f,l  -print0 |sed "s|\./||g"| while read -d $'\0' man
        do 
            ln -s "/opt/texlive/${_year}/texmf-dist/doc/man/$mann/${man}"  "${pkgdir}/usr/share/man/$mann/"
        done
    done

    msg2 "Linking info"
    cd ${pkgdir}/opt/texlive/${_year}/texmf-dist/doc/info/
    mkdir -p ${pkgdir}/usr/share/info
    find . -type f,l  -print0 |sed "s|\./||g"| while read -d $'\0' info
    do 
        ln -s "/opt/texlive/${_year}/texmf-dist/doc/info/${info}" "${pkgdir}/usr/share/info/"
    done

    msg2 "Linking binary"
    cd ${pkgdir}/opt/texlive/${_year}/bin/${arch}-linux/
    mkdir -p ${pkgdir}/usr/bin
    find . -type f,l  -print0 |sed "s|\./||g"| while read -d $'\0' bin
    do 
        ln -s "/opt/texlive/${_year}/bin/${arch}-linux/${bin}" "${pkgdir}/usr/bin/"
    done

    # remove profile file and installation log, and wrong man link.
    rm -rf ${pkgdir}/usr/bin/man
    rm -vf "${pkgdir}/opt/texlive/${_year}/tlpkg/texlive.profile"

    msg2 "Removing files for Windows"
    rm -rf ${pkgdir}/opt/texlive/${_year}/texmf-dist/scripts/context/stubs/{win64,mswin}/*
    find -H ${pkgdir} -name "*.bat" -print0 | xargs -0 rm -rf

    msg2 "Install license file"
    install -Dm644 "$srcdir"/LICENSE.* "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE.TL
}

haawda commented on 2022-02-28 19:33 (UTC)

I also needed texlive-htmlxml (do not understand why, but dblatex still wants it) and t1utils in the provides/conflicts array.

sukanka commented on 2022-02-28 02:47 (UTC)

@haawda, thanks updated. I will try to add asymptote and psutils to depends later.

haawda commented on 2022-02-27 15:17 (UTC)

I think this PKKGBUILD should have conflicts/provides to asymptote and psutils. Arch packages them separately. But I am not 100% sure because I happened to have a file install-tl-unx.tar.gz lying around in my $SRCDEST directory. It was from 2019, so I have a package implementing texlive-full for texlive 2019. My fault, but maybe a warning in the sticky comment would be usefull.

sukanka commented on 2022-02-27 14:01 (UTC) (edited on 2022-02-28 02:45 (UTC) by sukanka)

@haawda, thanks, updated, as this package takes many space, I will not update the pkgver or pkgrel until texlive 2022 released.

haawda commented on 2022-02-27 13:34 (UTC)

Texlive is not GPL. See

http://texlive.tug.org/texlive/copying.html

sukanka commented on 2022-02-20 07:17 (UTC) (edited on 2022-02-20 07:20 (UTC) by sukanka)

  • This package will be updated once a year in general, following the TeX Live release in April.
  • You can select a different mirror(e.g. fastest mirror in your country, see CTAN Sites) by changing the line (be careful of the ending systems/texlive/tlnet/)
_mirror='rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/'

Users in mainland China are recommended to use bfsu mirror, set

_mirror='mirrors.bfsu.edu.cn/CTAN/systems/texlive/tlnet/'
  • _syncdir works as a local CTAN/telnet mirror (about 4.5GiB). You can change it to a different place if your BUILDDIR is on tmpfs, which may not have enough space
_syncdir="CTAN/tlnet"
  • Just ignore the adding to path messages (MANPATH INFOPATH PATH), they have been linked to the correct path already.
  • checksum is skipped as the shasum of install-tl-unx.tar.gz is varying. There is a directory called install-tl-YYYYMMDD (YYYYMMDD is the pkgver) and its contents are changing in every release.
  • rsync is added to makedepends for faster installation.
  • I plan to change the pkgver to be like 2021_20220220 in future, where the first 2021 means this is TeX Live 2021, and 20220220 is from install-tl-unx.tar.gz's contents. Current pkgver is not obvious enough. Especially when TeX Live 2022 has not been released yet, but we have pkgver=20220220!
  • Comments are welcome

sukanka commented on 2022-02-18 18:51 (UTC) (edited on 2022-02-18 19:00 (UTC) by sukanka)

@guielge, plz note that in PKGBUILD, we only rsync the telnet dir, like

_mirror='mirrors.bfsu.edu.cn/CTAN/systems/texlive/tlnet/'

but if you use

rsync://rsync.dante.ctan.org/CTAN

which is equivalent to

mirrors.bfsu.edu.cn/CTAN

you are syncing the whole CTAN!

Maybe you can try rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/ I'm not sure whether this is the right url. (Yeah, it is the right url, and has the same contents as the bfsu link. just try this.)

If not, just try bfsu mirror or other equivalent mirror, be careful of the url!

guielge commented on 2022-02-18 18:16 (UTC)

It seems that the rsync command downloads all CTAN content because the command used from this is made to build a CTAN mirror. That is a mere 50GB of data. And in the end I just got a cannot find installation source at CTAN/tlnet. error.

sukanka commented on 2022-01-26 08:30 (UTC) (edited on 2022-02-18 19:08 (UTC) by sukanka)

@vgivanovic My explaination are as follows:

  • I didn't see the *.exe files, maybe they are downloaded by the install-tl script. But it is easy to delete all of them. I will do it later.

  • checksum is skipped as the shasum of install-tl-unx.tar.gz is varying. There is a directory called install-tl-YYYYMMDD and its contents are changing in every release. Thus, it is very difficult to check the shasum.

  • The Chinese bfsu mirror: when I use mirrors.ctan.org, makepkg gives an error, thus I have to set BFSU manually, which is a fast mirror in China, and maybe also worldwide. I notice there is rsync://rsync.dante.ctan.org/CTAN/systems/texlive/tlnet/ in official site. But the speed is low. See Synchronicity

@ERROR: Unknown module 'systems'
rsync error: error starting client-server protocol (code 5) at main.c(1814) [Receiver=v3.2.3]

vgivanovic commented on 2022-01-26 08:02 (UTC)

I have some concerns about this package: * Why does this package download Windows .exe files? * Why doesn't this package verify checksums of downloaded files? I see that tlmgr performs checksums on its files, but I don't see that checksum are performed on tlmgr. * Why does this package hardcode a Chinese website when mirrors.ctan.org exists?

Perhaps my concerns are born of paranoia or of ignorance, but right now I feel uncomfortable with this package. I'd appreciate some clarification.

sukanka commented on 2021-10-03 09:14 (UTC) (edited on 2021-10-03 12:48 (UTC) by sukanka)

I modify the PKGBUILD so that it can find the installer path automatically. And you can manually set a mirror in PKGBUILD, see Github gist. Hope it can be merged. BTW, I want to be a co-maintainer.

Andriamanitra commented on 2021-06-23 21:52 (UTC)

I was getting error texlive-full/src/install-tl-20210624/install-tl: No such file or directory.

I managed to fix it by changing PKGBUILD line 4 to pkgver=$(date -u "+%Y%m%d") (to use UTC date instead of local timezone date) and line 14 to source=("http://dante.ctan.org/tex-archive/systems/texlive/tlnet/install-tl-unx.tar.gz") (to use the main mirror).

skuroedov commented on 2021-06-16 14:37 (UTC)

The PKGBUILD has an incorrect path to the install-tl on line 29. It should be: "install-tl-${pkgver}/install-tl" -profile "${srcdir}/texlive.profile"

lujz-br commented on 2021-04-10 15:27 (UTC) (edited on 2021-04-10 15:35 (UTC) by lujz-br)

I used original mirror, main mirror (dante.ctan.org/) like @th1ccpad, and tuna like @sukanka ... I get the same error at all.

I try pkgver=$(date "+%Y%m%d") ... /var/tmp/pamac-build-lud/texlive-full/src/install-tl-20210410/install-tl: Arquivo ou diretório inexistente

fine date, with error!

I try pkgver="20191008" and pkgver="20200626" both with error... There are another way?

(...) ==> Removendo diretório $pkgdir/ existente... ==> Entrando no ambiente de fakeroot... ==> Iniciando package()... /var/tmp/pamac-build-lud/texlive-full/PKGBUILD: linha 29: /var/tmp/pamac-build-lud/texlive-full/src/install-tl-20210410/install-tl: Arquivo ou diretório inexistente ==> ERRO: Uma falha ocorreu em package(). Abortando...

th1ccpad commented on 2021-03-16 11:44 (UTC) (edited on 2021-03-16 11:49 (UTC) by th1ccpad)

Maybe use the main mirror instead?

http://dante.ctan.org/tex-archive/systems/texlive/tlnet/install-tl-unx.tar.gz


Some of the mirrors that CTAN automatically fetches are out of date by several days, causing the install to fail.

Sensu commented on 2021-01-02 05:15 (UTC)

The PKGBUILD extracts the file successfully to path, but I get the error

~/.cache/yay/texlive-full/PKGBUILD: line 29: ~/.cache/yay/texlive-full/src/install-tl-20210102/install-tl: No such file or directory

Looking at the PKGBUILD itself, line 29 seems to be missing a "./", because the installation doesn't get executed when installing via yay.

Running sudo ./install-tl works for me however without additional modification.

sukanka commented on 2020-02-29 08:57 (UTC) (edited on 2020-02-29 10:07 (UTC) by sukanka)

I encountered the same problem on 2020-02-29

/var/tmp/pamac-build-sukanka/texlive-full/PKGBUILD:行29: /var/tmp/pamac-build-sukanka/texlive-full/src/install-tl-20200229/install-tl: No such file or directory.

When I changed the source to tuna(a mirror of CTAN)

https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz

There is no problem now.

cotcot commented on 2019-12-14 19:13 (UTC) (edited on 2019-12-15 18:59 (UTC) by cotcot)

ecomaikgolf : thanks for the tip, this allowed me to install texlive-full.

modifying PKGBUILD pkgver=$(date "+%Y%m%d") to pkgver="20191008" Unfortunately I had to uninstall the full and reinstall the normal texlive. The instruction to produce the pdf was not found.

hottea commented on 2019-11-02 06:54 (UTC)

@specter119 I'm sure if it's a good idea. I usually add these paths to user specific setting.

specter119 commented on 2019-11-02 05:23 (UTC)

how about add a /etc/profile.d/texlive-full.sh like

_year=2019
[ -d /opt/texlive/${_year}/bin/x86_64-linux ] && export PATH=$PATH:/opt/texlive/${_year}/bin/x86_64-linux
[ -d /opt/texlive/${_year}/texmf-dist/doc/man ] && export MANPATH=:$MANPATH:/opt/texlive/${_year}/texmf-dist/doc/man
[ -d /opt/texlive/${_year}/texmf-dist/doc/info ] && export INFOPATH=:$MANPATH:/opt/texlive/${_year}/texmf-dist/doc/info

ecomaikgolf commented on 2019-10-09 13:02 (UTC) (edited on 2019-10-09 13:10 (UTC) by ecomaikgolf)

==> ADVERTENCIA: Usando el árbol existente $srcdir/
==> Entrando en entorno fakeroot...
==> Iniciando package()...
/home/ecomaikgolf/.cache/yay/texlive-full/PKGBUILD: línea 29: /home/ecomaikgolf/.cache/yay/texlive-full/src/install-tl-20191009/install-tl: No existe el fichero o el directorio
==> ERROR: Se produjo un fallo en package().
    Cancelando...
Error making: texlive-full

Hotfixed by modifying PKGBUILD pkgver=$(date "+%Y%m%d") to pkgver="20191008"

Berkmann18 commented on 2019-08-13 00:03 (UTC)

@hottea yay is showing the correct date (Making package: texlive-full 20190813-1 (Tue 13 Aug 2019 01:00:20 BST)), the No such file message makes me think that something is missing on my hand.

hottea commented on 2019-08-12 01:31 (UTC)

@Berkmann I set pkgver by pkgver=$(date "+%Y%m%d"). The installer tarball install-tl-unx.tar.gz is updated every day, but not sure which timezone it uses. So there might a chance that the date of your system according to the timezone is not the same as the tarball. In that case, you could manual update the pkgver.

Berkmann18 commented on 2019-08-11 23:31 (UTC)

Is it me or is there any missing files causing the error below (using yay by the way)?

==> WARNING: Using existing $srcdir/ tree
==> Entering fakeroot environment...
==> Starting package()...
/home/maxie/.cache/yay/texlive-full/PKGBUILD: line 29: /home/maxie/.cache/yay/texlive-full/src/install-tl-20190812/install-tl: No such file or directory
==> ERROR: A failure occurred in package().
    Aborting...
Error making: texlive-full