PKGBUILDs/extra/texlive-bin/PKGBUILD
2011-12-24 03:09:03 -05:00

346 lines
11 KiB
Bash

# Maintainer: Rémy Oudompheng <remy@archlinux.org>
# Contributor: francois <francois.archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - Removed clisp makedepend, removed xindy from build and packaging (only thing that used clisp)
# - Use -fPIC with armv7
plugrel=1
pkgname=texlive-bin
pkgver=2011.3
_luatex_ver=0.70.1
pkgrel=1
pkgdesc="TeX Live binaries"
license=('GPL')
arch=('i686' 'x86_64')
depends=('t1lib' 'gd' 'poppler' 'libsigsegv' 'zziplib')
makedepends=('perl' 'ffcall')
optdepends=('ed: for texconfig')
provides=('lcdf-typetools' 'kpathsea' 'pdfjam')
conflicts=('pdfjam')
options=('!libtool' '!strip')
url='http://tug.org/texlive/'
install="texlive.install"
source=('texmf.cnf'
'fix-fontforge-encoding.patch'
'09-texlive-fonts.conf'
'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-20111210.tar.xz'
'http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-texmf-20111210.tar.xz'
# "http://foundry.supelec.fr/gf/download/frsrelease/392/1730/luatex-beta-${_luatex_ver}.tar.bz2"
'http://ftp.archlinux.org/other/texlive/luatex-svn4356.tar.xz'
)
backup=(etc/texmf/web2c/texmf.cnf \
etc/texmf/chktex/chktexrc \
etc/texmf/web2c/mktex.cnf \
etc/texmf/web2c/updmap.cfg \
etc/texmf/web2c/fmtutil.cnf \
etc/texmf/tex/generic/config/language.dat \
etc/texmf/tex/generic/config/language.def \
etc/texmf/tex/generic/config/pdftexconfig.tex \
etc/texmf/ttf2pk/ttf2pk.cfg \
etc/texmf/dvips/config/config.ps \
etc/texmf/dvipdfmx/dvipdfmx.cfg \
etc/texmf/dvipdfm/config/config \
etc/texmf/xdvi/XDvi)
md5sums=('220a4f4cc0d915bf8fcbcb553dcee1ae'
'bfb9716aa00c86c08cd31e5b32edeb98'
'393a4bf67adc7ca5df2b386759d1a637'
'c7bb38c0ab30c2b64cf4cf83a736b35c'
'5d8f06a3683ce88a3c33e15f5ba6a858'
'e7f0197559ef865d8c01683dab3b8526')
build() {
if [ "${CARCH}" = "armv7h" ]; then
export CFLAGS="${CFLAGS} -fPIC"
export CXXFLAGS="${CXXFLAGS} -fPIC"
fi
cd $srcdir
# Building LuaTeX
# cd luatex-beta-${_luatex_ver}
cd luatex
patch -p0 -i ../fix-fontforge-encoding.patch
(cd source && ./texk/web2c/luatexdir/getluatexsvnversion.sh)
mkdir build
cd build
../source/configure --prefix=/usr -C \
--disable-native-texlive-build \
--with-banner-add="/Arch Linux" \
--enable-cxx-runtime-hack \
--disable-all-pkgs \
--disable-dump-share \
--disable-ptex \
--enable-luatex \
--without-system-ptexenc \
--without-system-graphite \
--without-system-icu \
--without-system-kpathsea \
--with-system-freetype2 \
--with-system-poppler \
--with-freetype2-libdir=/usr/lib \
--with-freetype2-include=/usr/include/freetype2 \
--with-system-gd \
--with-system-libpng \
--without-system-teckit \
--with-system-zlib \
--with-system-zziplib \
--with-system-t1lib \
--disable-shared \
--disable-largefile \
--disable-ipc \
--without-mf-x-toolkit \
--without-x
make
make -C libs/obsdcompat
make -C texk/kpathsea
make -C texk/web2c luatex
cd "$srcdir"
# this patch removes spurious error message with locale "xx_YY.utf8"
patch -p0 -i fix-fontforge-encoding.patch
# t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251)
sed -i s/SELFAUTOPARENT/TEXMFROOT/ source/texk/tex4htk/t4ht.c
#############################################################
### configure
cd source
## prevent compiling Xdvi with libXp
sed -i~ 's|-lXp ||' texk/xdvik/configure
test ! -d Work && mkdir Work
cd Work
echo "--> Initial configuration..."
# we use temporary prefix to avoid messing the existing $pkgdir/usr/share/texmf tree
../configure --prefix=/usr -C \
--sysconfdir=/etc \
--datarootdir=/usr/share \
--datadir=/usr/share \
--mandir=/usr/share/man \
--disable-native-texlive-build \
--with-banner-add="/Arch Linux" \
--disable-multiplatform \
--disable-dialog \
--disable-psutils \
--disable-t1utils \
--disable-bibtexu \
--disable-xz \
--with-system-zlib \
--with-system-zziplib \
--with-system-pnglib \
--with-system-ncurses \
--with-system-t1lib \
--with-system-gd \
--with-system-poppler \
--with-system-xpdf \
--with-system-freetype2 \
--without-system-graphite \
--with-freetype2-libdir=/usr/lib \
--with-freetype2-include=/usr/include/freetype2 \
--with-xdvi-x-toolkit=xaw \
--disable-dump-share \
--disable-aleph \
--disable-luatex
#############################################################
### make
echo "-------------------------------------------------------"
echo "--> Building the whole beast ..."
echo "-------------------------------------------------------"
make
}
package() {
cd $srcdir
#############################################################
### install texmf tree
echo "-------------------------------------------------------"
echo "--> installing the texmf tree"
echo "-------------------------------------------------------"
install -m755 -d $pkgdir/usr/share
cp -r texmf $pkgdir/usr/share/
install -d -m755 $pkgdir/etc/texmf/web2c
install -d -m755 $pkgdir/etc/texmf/chktex
install -d -m755 $pkgdir/etc/texmf/dvips/config
install -d -m755 $pkgdir/etc/texmf/dvipdfm/config
install -d -m755 $pkgdir/etc/texmf/dvipdfmx
install -d -m755 $pkgdir/etc/texmf/tex/generic/config
install -d -m755 $pkgdir/etc/texmf/ttf2pk
install -d -m755 $pkgdir/etc/texmf/xdvi
install -d -m755 $pkgdir/etc/fonts/conf.avail
install -m644 $srcdir/09-texlive-fonts.conf $pkgdir/etc/fonts/conf.avail/
# move man files to /usr/share/man
for i in 1 5; do
install -d -m755 $pkgdir/usr/share/man/man$i
mv $pkgdir/usr/share/texmf/doc/man/man$i/*.$i $pkgdir/usr/share/man/man$i/
done
# move info files to /usr/share/info
install -d -m755 $pkgdir/usr/share/info
mv $pkgdir/usr/share/texmf/doc/info/*.info $pkgdir/usr/share/info/
rm -rf $pkgdir/usr/share/texmf/doc/{man,info}
# copy config files to $TEXMFCONFIG tree
cp -a $pkgdir/usr/share/texmf/chktex/chktexrc \
$pkgdir/etc/texmf/chktex/
cp -a $pkgdir/usr/share/texmf/web2c/mktex.cnf \
$pkgdir/etc/texmf/web2c/
cp -a $pkgdir/usr/share/texmf/web2c/updmap.cfg \
$pkgdir/etc/texmf/web2c/
cp -a $pkgdir/usr/share/texmf/web2c/fmtutil.cnf \
$pkgdir/etc/texmf/web2c/
cp -a $pkgdir/usr/share/texmf/dvips/config/config.ps \
$pkgdir/etc/texmf/dvips/config/
cp -a $pkgdir/usr/share/texmf/dvipdfm/config/config \
$pkgdir/etc/texmf/dvipdfm/config/
cp -a $pkgdir/usr/share/texmf/dvipdfmx/dvipdfmx.cfg \
$pkgdir/etc/texmf/dvipdfmx/
cp -a $pkgdir/usr/share/texmf/tex/generic/config/pdftexconfig.tex \
$pkgdir/etc/texmf/tex/generic/config/
cp -a $pkgdir/usr/share/texmf/tex/generic/config/language.dat \
$pkgdir/etc/texmf/tex/generic/config/
cp -a $pkgdir/usr/share/texmf/tex/generic/config/language.def \
$pkgdir/etc/texmf/tex/generic/config/
cp -a $pkgdir/usr/share/texmf/ttf2pk/ttf2pk.cfg \
$pkgdir/etc/texmf/ttf2pk/
cp -a $pkgdir/usr/share/texmf/xdvi/XDvi \
$pkgdir/etc/texmf/xdvi/
# remove TL specific warnings in the language.{dat,def} files:
sed -i -e '/DO NOT EDIT/,+3 d' $pkgdir/etc/texmf/tex/generic/config/language.*
# clean updmap.cfg
sed -i '/^\(Map\|MixedMap\)/d' $pkgdir/etc/texmf/web2c/updmap.cfg
sed -i '/^#! \(Map\|MixedMap\)/d' $pkgdir/etc/texmf/web2c/updmap.cfg
#############################################################
### install
cd source
echo "-------------------------------------------------------"
echo "--> Proceeding with make install ..."
echo "-------------------------------------------------------"
cd Work
make DESTDIR=${pkgdir} texmf=$pkgdir/usr/share/texmf install
rm -rf ${pkgdir}/usr/{texmf,share/texmf-dist}
# replace upstream texmf.cnf with ours
rm -f $pkgdir/usr/share/texmf/web2c/texmf.cnf
install -m644 $srcdir/texmf.cnf $pkgdir/etc/texmf/web2c/texmf.cnf
# since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c
# we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter
ln -sf /etc/texmf/web2c/texmf.cnf $pkgdir/usr/share/texmf/web2c/texmf.cnf
# fix location of TEXMFCACHE for luatools
sed -i 's#texlive2010#texlive#' $pkgdir/usr/share/texmf/web2c/texmfcnf.lua
## remove aleph from fmtutil.cnf
sed -i -e '/aleph/d' $pkgdir/usr/share/texmf/web2c/fmtutil.cnf
## install luatex binary
#install -m755 $srcdir/luatex-beta-${_luatex_ver}/build/texk/web2c/luatex $pkgdir/usr/bin/
install -m755 $srcdir/luatex/build/texk/web2c/luatex $pkgdir/usr/bin/
cd $pkgdir/usr/bin
/bin/ln -s luatex texlua
/bin/ln -s luatex texluac
## install Perl libraries
mkdir -p $pkgdir/usr/share/tlpkg/TeXLive
install -m644 ${srcdir}/source/utils/biber/TeXLive/*.pm $pkgdir/usr/share/tlpkg/TeXLive
# create symlinks for formats
echo "--> Create symlinks for TeX formats ..."
PATH="$PATH:${pkgdir}/usr/bin" texlinks -f $pkgdir/usr/share/texmf/web2c/fmtutil.cnf $pkgdir/usr/bin/
#############################################################
# remove dangling symlinks
_bibtexextra_scripts="
bibexport
urlbst
"
_core_scripts="
afm2afm
arlatex
autoinst
bundledoc
cmap2enc
ctanify
ctanupload
de-macro
dosepsbin
dviasm
epstopdf
findhyph
font2afm
fragmaster
installfont-tl
latex2man
latexdiff
latexdiff-vc
latexmk
latexrevise
listings-ext.sh
match_parens
mf2pt1
mkjobtexmf
mkluatexfontdb
mkt1font
mptopdf
ot2kpx
pdf180
pdf270
pdf90
pdfatfi
pdfbook
pdfcrop
pdfflip
pdfjam
pdfjam-pocketmod
pdfjam-slides3up
pdfjam-slides6up
pdfjoin
pdfnup
pdfpun
pfm2kpx
pkfix
pkfix-helper
purifyeps
repstopdf
rpdfcrop
showglyphs
sty2dtx
texcount
texdef
texdiff
texdirflatten
texliveonfly
texloganalyser
thumbpdf
vpl2ovp
vpl2vpl
"
_htmlxml_scripts="ht htcontext htlatex htmex httex httexi htxelatex htxetex mk4ht"
_langextra_scripts="ebong"
_langgreek_scripts="mkgrkindex"
_latexextra_scripts="authorindex \
makeglossaries \
pdfannotextractor \
pdfthumb \
perltex \
ppower4 \
ps4pdf \
splitindex \
svn-multi \
vpe"
_music_scripts="musixtex musixflx"
_pictures_scripts="cachepic epspdf epspdftk fig4latex mathspic"
_pstricks_scripts="pst2pdf"
_science_scripts="ulqda"
for s in \
${_bibtexextra_scripts} \
${_core_scripts} \
${_htmlxml_scripts} \
${_langextra_scripts} \
${_langgreek_scripts} \
${_latexextra_scripts} \
${_music_scripts} \
${_pictures_scripts} \
${_pstricks_scripts} \
${_science_scripts} \
tlmgr; do
rm -f $pkgdir/usr/bin/$s
done
###################################################################
}