mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-12-08 23:03:46 +00:00
200 lines
5.9 KiB
Bash
200 lines
5.9 KiB
Bash
# Maintainer: Antonio Rojas <arojas@archlinux.org>
|
|
# Maintainer: Caleb Maclennan <caleb@alerque.com>
|
|
# Contributor: Rémy Oudompheng <remy@archlinux.org>
|
|
# Contributor: francois <francois.archlinux.org>
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# -fPIC for v6 and v7
|
|
# --disable-xindy, remove xindy stuff, segfaults with clisp
|
|
# --disable-cxx-runtime-hack
|
|
# drop clisp and ffcall makedepends
|
|
|
|
pkgname=(texlive-bin libsynctex)
|
|
pkgver=2024.2
|
|
pkgrel=4
|
|
license=(GPL-2.0-or-later)
|
|
arch=(x86_64)
|
|
makedepends=(bash
|
|
cairo
|
|
fontconfig
|
|
freetype2
|
|
gcc-libs
|
|
gd
|
|
git
|
|
glibc
|
|
gmp
|
|
graphite
|
|
harfbuzz
|
|
icu
|
|
libjpeg-turbo
|
|
libpaper
|
|
libpng
|
|
libsigsegv
|
|
libunistring
|
|
libx11
|
|
libxaw
|
|
libxcrypt
|
|
libxmu
|
|
libxpm
|
|
libxt
|
|
mpfr
|
|
ncurses
|
|
perl
|
|
pixman
|
|
potrace
|
|
readline
|
|
subversion
|
|
t1lib
|
|
zlib
|
|
zziplib)
|
|
url='https://tug.org/texlive/'
|
|
_commit=cf0f89c44f5d409c6d1bc0592a808af278611428 # tags/texlive-2024.2
|
|
source=(git+https://github.com/Tex-Live/texlive-source.git#commit=$_commit
|
|
ptex-debug-print.patch)
|
|
sha256sums=('bf83f4db38318468e86795c7416e972a010f46d1dcd22cc20064141dae5a952f'
|
|
'aa838f09003c62c2efb5770a8de66f99b409df049fbd65098d80fd1957d06c50')
|
|
|
|
prepare() {
|
|
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
|
|
patch -p1 -i ../ptex-debug-print.patch
|
|
}
|
|
|
|
build() {
|
|
cd texlive-source
|
|
|
|
mkdir -p build
|
|
cd build
|
|
CFLAGS=${CFLAGS/FORTIFY_SOURCE=3/FORTIFY_SOURCE=2} # https://gitlab.archlinux.org/archlinux/packaging/packages/texlive-bin/-/issues/3
|
|
CFLAGS+=" -Wno-incompatible-pointer-types" \
|
|
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 \
|
|
--disable-xindy \
|
|
--disable-xindy-rules \
|
|
--disable-xindy-docs
|
|
# prevent excessive overlinking due to libtool
|
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
|
make
|
|
}
|
|
|
|
package_libsynctex() {
|
|
pkgdesc='Library for synchronization between TeX files and resulting file'
|
|
depends=(glibc zlib)
|
|
provides=(libsynctex.so)
|
|
|
|
cd texlive-source/build
|
|
make -C texk/web2c DESTDIR="$pkgdir" \
|
|
install-data-am install-libLTLIBRARIES
|
|
|
|
# remove docs included in texlive-doc
|
|
rm -r "$pkgdir"/usr/share/man
|
|
}
|
|
|
|
package_texlive-bin() {
|
|
pkgdesc='TeX Live binaries'
|
|
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
|
|
gmp
|
|
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
|
|
perl
|
|
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)
|
|
optdepends=('psutils: to manipulate the output of dvips')
|
|
|
|
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
|
|
LD_PRELOAD="$pkgdir"/usr/lib/libkpathsea.so.6 \
|
|
make DESTDIR="$pkgdir" texlinks
|
|
|
|
# remove stuff included in texlive-texmf
|
|
rm -r "$pkgdir"/usr/share/texmf-dist
|
|
|
|
# remove docs included in texlive-doc
|
|
rm -r "$pkgdir"/usr/share/{info,man}
|
|
|
|
# remove links to scripts
|
|
for _link in $(ls "$pkgdir"/usr/bin); do
|
|
[[ $(readlink -m "$pkgdir"/usr/bin/$_link) == */scripts/* ]] && _rmlinks+="$pkgdir/usr/bin/$_link "
|
|
done
|
|
rm $_rmlinks
|
|
|
|
# remove libsynctex
|
|
rm "$pkgdir"/usr/include/synctex/*
|
|
rm "$pkgdir"/usr/lib/libsynctex.*
|
|
rm "$pkgdir"/usr/lib/pkgconfig/synctex.pc
|
|
}
|