PKGBUILDs/extra/texlive-bin/PKGBUILD

201 lines
5.9 KiB
Bash
Raw Normal View History

2023-06-03 19:14:05 +00:00
# Maintainer: Antonio Rojas <arojas@archlinux.org>
2024-01-24 14:09:17 +00:00
# Maintainer: Caleb Maclennan <caleb@alerque.com>
2023-06-03 19:14:05 +00:00
# Contributor: Rémy Oudompheng <remy@archlinux.org>
2011-09-17 17:37:29 +00:00
# Contributor: francois <francois.archlinux.org>
2011-02-07 14:55:51 +00:00
2011-12-24 08:09:03 +00:00
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
2013-08-03 21:15:44 +00:00
# -fPIC for v6 and v7
# --disable-xindy, remove xindy stuff, segfaults with clisp
# --disable-cxx-runtime-hack
2016-08-05 13:02:06 +00:00
# drop clisp and ffcall makedepends
2011-02-07 14:55:51 +00:00
2023-06-03 19:14:05 +00:00
pkgname=(texlive-bin libsynctex)
2024-04-15 23:13:55 +00:00
pkgver=2024.2
2024-11-08 18:03:07 +00:00
pkgrel=4
2024-03-21 00:40:17 +00:00
license=(GPL-2.0-or-later)
2023-06-03 19:14:05 +00:00
arch=(x86_64)
2024-01-24 14:09:17 +00:00
makedepends=(bash
cairo
fontconfig
freetype2
gcc-libs
gd
git
glibc
2024-03-21 00:40:17 +00:00
gmp
2024-01-24 14:09:17 +00:00
graphite
harfbuzz
icu
2024-09-17 13:14:28 +00:00
libjpeg-turbo
2024-01-24 14:09:17 +00:00
libpaper
libpng
libsigsegv
libunistring
libx11
libxaw
libxcrypt
libxmu
libxpm
libxt
mpfr
ncurses
perl
pixman
potrace
readline
subversion
t1lib
zlib
zziplib)
2019-08-23 13:03:38 +00:00
url='https://tug.org/texlive/'
2024-04-15 23:13:55 +00:00
_commit=cf0f89c44f5d409c6d1bc0592a808af278611428 # tags/texlive-2024.2
2023-06-03 19:14:05 +00:00
source=(git+https://github.com/Tex-Live/texlive-source.git#commit=$_commit
2024-03-21 00:40:17 +00:00
ptex-debug-print.patch)
2024-04-15 23:13:55 +00:00
sha256sums=('bf83f4db38318468e86795c7416e972a010f46d1dcd22cc20064141dae5a952f'
2024-03-21 00:40:17 +00:00
'aa838f09003c62c2efb5770a8de66f99b409df049fbd65098d80fd1957d06c50')
2017-07-17 23:37:12 +00:00
prepare() {
2023-06-03 19:14:05 +00:00
cd texlive-source
# bibtex-x needs kpathsea flags
sed -i '/AC_SEARCH_LIBS/a KPSE_KPATHSEA_FLAGS' texk/bibtex-x/configure.ac
(cd texk/bibtex-x && autoreconf)
# t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251)
sed -i s/SELFAUTOPARENT/TEXMFROOT/ texk/tex4htk/t4ht.c
# remove spurious ptex "guessed encoding" print
2023-06-05 23:50:13 +00:00
patch -p1 -i ../ptex-debug-print.patch
2017-07-17 23:37:12 +00:00
}
2011-05-08 18:02:30 +00:00
2011-02-07 14:55:51 +00:00
build() {
2023-06-03 19:14:05 +00:00
cd texlive-source
mkdir -p build
cd build
2024-11-08 18:03:07 +00:00
CFLAGS=${CFLAGS/FORTIFY_SOURCE=3/FORTIFY_SOURCE=2} # https://gitlab.archlinux.org/archlinux/packaging/packages/texlive-bin/-/issues/3
2024-05-19 19:33:23 +00:00
CFLAGS+=" -Wno-incompatible-pointer-types" \
2023-06-03 19:14:05 +00:00
ax_cv_c_float_words_bigendian=no \
../configure --prefix=/usr -C \
--sysconfdir=/etc \
--datarootdir=/usr/share \
--datadir=/usr/share \
--mandir=/usr/share/man \
--disable-cxx-runtime-hack \
--disable-native-texlive-build \
--with-banner-add="/Arch Linux" \
--disable-multiplatform \
--disable-dialog \
--disable-psutils \
--disable-t1utils \
--disable-bibtexu \
--disable-dvisvgm \
--disable-xz \
--enable-shared \
--disable-static \
--with-system-zlib \
--with-system-zziplib \
--with-system-pnglib \
--with-system-ncurses \
--with-system-t1lib \
--with-system-gd \
--with-system-freetype2 \
--with-system-pixman \
--with-system-cairo \
--with-system-harfbuzz \
--with-system-graphite \
--with-system-icu \
--with-system-gmp \
--with-system-mpfr \
--with-system-potrace \
--with-system-libpaper \
--with-freetype2-libdir=/usr/lib \
--with-freetype2-include=/usr/include/freetype2 \
--with-xdvi-x-toolkit=xaw \
--disable-dump-share \
--with-clisp-runtime=default \
2023-06-19 11:05:44 +00:00
--disable-xindy \
--disable-xindy-rules \
--disable-xindy-docs
2023-08-25 12:44:32 +00:00
# prevent excessive overlinking due to libtool
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
2023-06-03 19:14:05 +00:00
make
2011-02-07 14:55:51 +00:00
}
2016-02-05 13:55:22 +00:00
package_libsynctex() {
2023-06-03 19:14:05 +00:00
pkgdesc='Library for synchronization between TeX files and resulting file'
depends=(glibc zlib)
2024-01-24 14:09:17 +00:00
provides=(libsynctex.so)
2016-02-05 13:55:22 +00:00
2023-06-03 19:14:05 +00:00
cd texlive-source/build
make -C texk/web2c DESTDIR="$pkgdir" \
install-data-am install-libLTLIBRARIES
2022-04-29 12:39:32 +00:00
2023-07-17 12:22:18 +00:00
# remove docs included in texlive-doc
rm -r "$pkgdir"/usr/share/man
2016-02-05 13:55:22 +00:00
}
package_texlive-bin() {
2023-06-03 19:14:05 +00:00
pkgdesc='TeX Live binaries'
2024-01-24 14:09:17 +00:00
depends=(bash
cairo libcairo.so
fontconfig libfontconfig.so
freetype2 libfreetype.so
gcc-libs # libgcc_s.so libstdc++.so
gd # libgd.so
glibc # ld-linux-x86-64.so libc.so libm.so
2024-03-21 00:40:17 +00:00
gmp
2024-01-24 14:09:17 +00:00
graphite libgraphite2.so
harfbuzz libharfbuzz.so
icu libicui18n.so libicuuc.so
libpaper # libpaper.so
libpng libpng16.so
libsigsegv # libsigsegv.so
libsynctex libsynctex.so
libunistring libunistring.so
libx11 # libX11.so
libxaw # libXaw.so
libxcrypt libcrypt.so
libxmu # libXmu.so
libxpm # libXpm.so
libxt # libXt.so
mpfr libmpfr.so
ncurses libncursesw.so
2024-03-21 00:40:17 +00:00
perl
2024-01-24 14:09:17 +00:00
pixman libpixman-1.so
potrace # libpotrace.so
readline libreadline.so
zlib libz.so
zziplib) # libzzip-0.so
provides=(lcdf-typetools
libptexenc.so
libtexlua53.so
libtexluajit.so
kpathsea)
2023-06-26 23:35:07 +00:00
optdepends=('psutils: to manipulate the output of dvips')
2023-06-03 19:14:05 +00:00
cd texlive-source
# fixes for xindy
find utils/xindy -name Makefile -exec sed -i -e "s|^prefix =.\+$|prefix = $pkgdir/usr|" -e "s|^mandir =.\+$|mandir = \${prefix}/share/man|" -e "s|^datadir =.\+$|datadir = \${datarootdir}/texmf|" -e "s|^docdir =.\+$|docdir = \${datadir}/doc/xindy|" '{}' \;
cd build
make DESTDIR="$pkgdir" texmf="$pkgdir"/usr/share/texmf install
2023-06-19 11:05:44 +00:00
LD_PRELOAD="$pkgdir"/usr/lib/libkpathsea.so.6 \
2023-06-03 19:14:05 +00:00
make DESTDIR="$pkgdir" texlinks
2023-06-19 11:05:44 +00:00
# remove stuff included in texlive-texmf
rm -r "$pkgdir"/usr/share/texmf-dist
2023-06-03 19:14:05 +00:00
2023-07-17 12:22:18 +00:00
# remove docs included in texlive-doc
rm -r "$pkgdir"/usr/share/{info,man}
2023-06-19 11:05:44 +00:00
# remove links to scripts
for _link in $(ls "$pkgdir"/usr/bin); do
2023-07-20 18:03:44 +00:00
[[ $(readlink -m "$pkgdir"/usr/bin/$_link) == */scripts/* ]] && _rmlinks+="$pkgdir/usr/bin/$_link "
2023-06-19 11:05:44 +00:00
done
2023-07-20 18:03:44 +00:00
rm $_rmlinks
2023-06-03 19:14:05 +00:00
# remove libsynctex
rm "$pkgdir"/usr/include/synctex/*
rm "$pkgdir"/usr/lib/libsynctex.*
rm "$pkgdir"/usr/lib/pkgconfig/synctex.pc
2016-02-05 13:55:22 +00:00
}