mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-12 04:44:40 +08:00
335 lines
12 KiB
Bash
335 lines
12 KiB
Bash
# Contributions from Arch: https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/texlive-core
|
|
|
|
pkgname=texlive-core
|
|
pkgver=2018.47471
|
|
_revnr=${pkgver#2018.}
|
|
pkgrel=2
|
|
pkgdesc="TeX Live core distribution"
|
|
license=('GPL')
|
|
arch=(x86_64)
|
|
depends=('texlive-bin' 'perl')
|
|
optdepends=(
|
|
'dialog: for texconfig'
|
|
'ghostscript: for epstopdf, epspdf and other ConTeXt tools'
|
|
'java-runtime: for utilities like arara'
|
|
'perl-tk: for texdoctk'
|
|
'psutils: to manipulate the output of dvips'
|
|
'python2: for dviasm'
|
|
'python3: for pythontex'
|
|
'ruby: for old ConTeXT MkII and epspdf'
|
|
't1utils: can be useful when installing Type1 fonts'
|
|
)
|
|
groups=('texlive-most')
|
|
conflicts=('tetex' 'texlive-latex3' 'pdfjam'
|
|
'texlive-genericextra'
|
|
'texlive-plainextra')
|
|
provides=('tetex' 'texlive-latex3' 'pdfjam'
|
|
'texlive-genericextra'
|
|
'texlive-plainextra')
|
|
replaces=('tetex' 'texlive-latex3' 'pdfjam'
|
|
'texlive-genericextra'
|
|
'texlive-plainextra')
|
|
url='http://tug.org/texlive/'
|
|
source=("https://sources.archlinux.org/other/texlive/$pkgname-$pkgver-src.zip"
|
|
"$pkgname.maps"
|
|
"$pkgname.fmts"
|
|
"mktexlsr.hook"
|
|
"mktexlsr.script"
|
|
"texlive-updmap.hook"
|
|
"texlive-updmap.script"
|
|
"texlive-fmtutil.hook"
|
|
"texlive-fmtutil.script"
|
|
"texmf.cnf"
|
|
"texmfcnf.lua"
|
|
"09-texlive-fonts.conf")
|
|
install=texlive.install
|
|
backup=(etc/texmf/web2c/texmf.cnf \
|
|
etc/texmf/chktex/chktexrc \
|
|
etc/texmf/dvipdfmx/dvipdfmx.cfg \
|
|
etc/texmf/dvips/config/config.ps \
|
|
etc/texmf/tex/generic/config/language.dat \
|
|
etc/texmf/tex/generic/config/language.def \
|
|
etc/texmf/tex/generic/tex-ini-files/pdftexconfig.tex \
|
|
etc/texmf/ttf2pk/ttf2pk.cfg \
|
|
etc/texmf/web2c/fmtutil.cnf \
|
|
etc/texmf/web2c/mktex.cnf \
|
|
etc/texmf/xdvi/XDvi)
|
|
sha256sums=('212da3e889b4a991a1bd1a8e9e647a93dc31fc8027b4245708d06ccb348abcf9'
|
|
'275253728d884b2b75e01840b0824c1fe5afbdda91fafeacd33deb6cd92341a3'
|
|
'009ab6be9e4fa18709fc74d26a3777372f4b5af9313421ff0546ba94a9d5ff13'
|
|
'1d62d46d4d3a538ccad48d31192fccdfc8d6c0a60b331575a10a007d46812d46'
|
|
'05afeae62a5d4c9de79c838c9636e2aefe9ad1d6b787fed4e5930c13baf60eba'
|
|
'9a0e462ad44d2ced432860ff62288b1c2f55b04c8d0c92887672478752417cf4'
|
|
'ee6e76192a5ad880a2152cd7900b86c8465239fb228045a2f8360b0d7a449f4a'
|
|
'1f2c67e3cab02398980008f3095257ade3bb79f188cf0815a2671af3080e21af'
|
|
'f96e9f815fa0a4b85e677f2a9215d9106b8abe46eceb3f3e36a6c76eda3e4a85'
|
|
'65ffceec62ccb6e1b01f58ff8e7ec6123f6385139d45bec7f8332f6f3c717912'
|
|
'0b6c3ee516608ce04d7133db52cadfa1be5d885b3f82bb39dc5897b213847e0d'
|
|
'5e79c40cf3ab93348fc89e97890198601767ea2c8fea89ea76088c17a2b35962')
|
|
|
|
build() {
|
|
cd "$srcdir"
|
|
echo -n " --> extracting all packages... "
|
|
for p in *.tar.xz; do
|
|
bsdtar -xf $p
|
|
done
|
|
echo "done"
|
|
rm -rf source doc
|
|
}
|
|
|
|
package() {
|
|
cd "$srcdir"
|
|
|
|
# Install packages.
|
|
install -m755 -d $pkgdir/var/lib/texmf/chakra/installedpkgs
|
|
sed -i '/^#/d' CONTENTS
|
|
install -m644 CONTENTS $pkgdir/var/lib/texmf/chakra/installedpkgs/${pkgname}_${_revnr}.pkgs
|
|
install -m644 $pkgname.maps $pkgdir/var/lib/texmf/chakra/installedpkgs/
|
|
install -m644 $pkgname.fmts $pkgdir/var/lib/texmf/chakra/installedpkgs/
|
|
install -m755 -d $pkgdir/usr/share
|
|
wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true
|
|
for dir in $wanteddirs; do
|
|
find $dir -type d -exec install -d -m755 $pkgdir/usr/share/texmf-dist/'{}' \;
|
|
find $dir -type f -exec install -m644 '{}' $pkgdir/usr/share/texmf-dist/'{}' \;
|
|
done
|
|
find texmf-dist -type d -exec install -d -m755 $pkgdir/usr/share/'{}' \;
|
|
find texmf-dist -type f -exec install -m644 '{}' $pkgdir/usr/share/'{}' \;
|
|
find texmf-dist -type f -executable -exec chmod 755 $pkgdir/usr/share/'{}' \;
|
|
|
|
#############################################################
|
|
### install texmf tree
|
|
echo "--> installing the /etc/texmf tree"
|
|
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/dvipdfmx
|
|
install -d -m755 "$pkgdir"/etc/texmf/tex/generic/config
|
|
install -d -m755 "$pkgdir"/etc/texmf/tex/generic/tex-ini-files
|
|
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/
|
|
|
|
# Remove manpages (already in texlive-bin).
|
|
rm -rf "$pkgdir"/usr/share/texmf-dist/doc/man
|
|
|
|
# copy config files to $TEXMFCONFIG tree
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/chktex/chktexrc \
|
|
"$pkgdir"/etc/texmf/chktex/
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/web2c/mktex.cnf \
|
|
"$pkgdir"/etc/texmf/web2c/
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/web2c/updmap-hdr.cfg \
|
|
"$pkgdir"/etc/texmf/web2c/
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil-hdr.cnf \
|
|
"$pkgdir"/etc/texmf/web2c/fmtutil.cnf
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/dvips/config/config.ps \
|
|
"$pkgdir"/etc/texmf/dvips/config/
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/dvipdfmx/dvipdfmx.cfg \
|
|
"$pkgdir"/etc/texmf/dvipdfmx/
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex \
|
|
"$pkgdir"/etc/texmf/tex/generic/tex-ini-files/
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/tex/generic/config/language.dat \
|
|
"$pkgdir"/etc/texmf/tex/generic/config/
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/tex/generic/config/language.def \
|
|
"$pkgdir"/etc/texmf/tex/generic/config/
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/ttf2pk/ttf2pk.cfg \
|
|
"$pkgdir"/etc/texmf/ttf2pk/
|
|
cp -a "$pkgdir"/usr/share/texmf-dist/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.*
|
|
|
|
# replace upstream texmf.cnf with ours
|
|
rm -f "$pkgdir"/usr/share/texmf-dist/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-dist/web2c/texmf.cnf
|
|
# replace upstream texmfcnf.lua with ours
|
|
install -m644 "$srcdir"/texmfcnf.lua "$pkgdir"/usr/share/texmf-dist/web2c/texmfcnf.lua
|
|
|
|
# create symlinks for formats
|
|
echo "--> Create symlinks for TeX formats ..."
|
|
mkdir -p "${pkgdir}/usr/bin"
|
|
bash "${pkgdir}"/usr/share/texmf-dist/scripts/texlive/texlinks.sh -f "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil.cnf "$pkgdir"/usr/bin/
|
|
|
|
# use python2 instead of python for scripts.
|
|
sed -i '1s/python/python2/' $pkgdir/usr/share/texmf-dist/scripts/de-macro/de-macro
|
|
sed -i 's/env python/env python2/' $pkgdir/usr/share/texmf-dist/scripts/dviasm/dviasm.py
|
|
|
|
# install Perl libraries
|
|
mv "$pkgdir"/usr/share/texmf-dist/tlpkg "$pkgdir"/usr/share
|
|
rm -rf "$pkgdir"/usr/share/tlpkg/tlpobj
|
|
|
|
## install pacman hooks
|
|
install -D -m644 ${srcdir}/mktexlsr.hook "$pkgdir/usr/share/libalpm/hooks/mktexlsr.hook"
|
|
install -D -m644 ${srcdir}/texlive-updmap.hook "$pkgdir/usr/share/libalpm/hooks/texlive-updmap.hook"
|
|
install -D -m644 ${srcdir}/texlive-fmtutil.hook "$pkgdir/usr/share/libalpm/hooks/texlive-fmtutil.hook"
|
|
install -D -m755 ${srcdir}/mktexlsr.script "$pkgdir/usr/share/libalpm/scripts/mktexlsr"
|
|
install -D -m755 ${srcdir}/texlive-updmap.script "$pkgdir/usr/share/libalpm/scripts/texlive-updmap"
|
|
install -D -m755 ${srcdir}/texlive-fmtutil.script "$pkgdir/usr/share/libalpm/scripts/texlive-fmtutil"
|
|
|
|
# copy config file to texmf-config
|
|
#mkdir -p $pkgdir/etc/texmf/tex/context/config
|
|
#cp -a $pkgdir/usr/share/texmf-dist/tex/context/config/cont-usr.tex \
|
|
# $pkgdir/etc/texmf/tex/context/config/cont-usr.tex
|
|
|
|
# remove upstream updmap.cfg: it contains too many maps.
|
|
rm "${pkgdir}/usr/share/texmf-dist/web2c/updmap.cfg"
|
|
# remove upstream fmtutil.cnf: it will be autogenerated
|
|
rm "${pkgdir}/usr/share/texmf-dist/web2c/fmtutil.cnf"
|
|
|
|
# more cleanup
|
|
rm -rf $pkgdir/usr/share/texmf-dist/scripts/context/stubs/mswin/
|
|
|
|
# link programs from /usr/share/texmf-dist/scripts
|
|
_linked_scripts="
|
|
a2ping/a2ping.pl
|
|
accfonts/mkt1font
|
|
accfonts/vpl2ovp
|
|
accfonts/vpl2vpl
|
|
adhocfilelist/adhocfilelist.sh
|
|
arara/arara.sh
|
|
bundledoc/arlatex
|
|
bundledoc/bundledoc
|
|
checkcites/checkcites.lua
|
|
checklistings/checklistings.sh
|
|
chktex/chkweb.sh
|
|
chktex/deweb.pl
|
|
cjk-gs-integrate/cjk-gs-integrate.pl
|
|
context/perl/mptopdf.pl
|
|
context/stubs/unix/context
|
|
context/stubs/unix/contextjit
|
|
context/stubs/unix/luatools
|
|
context/stubs/unix/mtxrun
|
|
context/stubs/unix/mtxrunjit
|
|
context/stubs/unix/texexec
|
|
context/stubs/unix/texmfstart
|
|
ctanify/ctanify
|
|
ctanupload/ctanupload.pl
|
|
de-macro/de-macro
|
|
dosepsbin/dosepsbin.pl
|
|
dtxgen/dtxgen
|
|
dviasm/dviasm.py
|
|
dviinfox/dviinfox.pl
|
|
epstopdf/epstopdf.pl
|
|
findhyph/findhyph
|
|
fontools/afm2afm
|
|
fontools/autoinst
|
|
fontools/ot2kpx
|
|
fragmaster/fragmaster.pl
|
|
installfont/installfont-tl
|
|
jfmutil/jfmutil.pl
|
|
latex-git-log/latex-git-log
|
|
latex-papersize/latex-papersize.py
|
|
latex2man/latex2man
|
|
latex2nemeth/latex2nemeth
|
|
latexdiff/latexdiff-vc.pl
|
|
latexdiff/latexdiff.pl
|
|
latexdiff/latexrevise.pl
|
|
latexfileversion/latexfileversion
|
|
latexindent/latexindent.pl
|
|
latexmk/latexmk.pl
|
|
latexpand/latexpand
|
|
ltxfileinfo/ltxfileinfo
|
|
ltximg/ltximg.pl
|
|
lua2dox/lua2dox_filter
|
|
luaotfload/luaotfload-tool.lua
|
|
lwarp/lwarpmk.lua
|
|
make4ht/make4ht
|
|
match_parens/match_parens
|
|
mf2pt1/mf2pt1.pl
|
|
mkjobtexmf/mkjobtexmf.pl
|
|
oberdiek/pdfatfi.pl
|
|
pdfbook2/pdfbook2
|
|
pdfcrop/pdfcrop.pl
|
|
pdfjam/pdf180
|
|
pdfjam/pdf270
|
|
pdfjam/pdf90
|
|
pdfjam/pdfbook
|
|
pdfjam/pdfflip
|
|
pdfjam/pdfjam
|
|
pdfjam/pdfjam-pocketmod
|
|
pdfjam/pdfjam-slides3up
|
|
pdfjam/pdfjam-slides6up
|
|
pdfjam/pdfjoin
|
|
pdfjam/pdfnup
|
|
pdfjam/pdfpun
|
|
pdflatexpicscale/pdflatexpicscale.pl
|
|
pdfxup/pdfxup
|
|
pfarrei/a5toa4.tlu
|
|
pfarrei/pfarrei.tlu
|
|
pkfix-helper/pkfix-helper
|
|
pkfix/pkfix.pl
|
|
ps2eps/ps2eps.pl
|
|
purifyeps/purifyeps
|
|
pythontex/pythontex.py
|
|
pythontex/depythontex.py
|
|
simpdftex/simpdftex
|
|
srcredact/srcredact.pl
|
|
sty2dtx/sty2dtx.pl
|
|
texcount/texcount.pl
|
|
tex4ebook/tex4ebook
|
|
tex4ht/ht.sh
|
|
tex4ht/htcontext.sh
|
|
tex4ht/htlatex.sh
|
|
tex4ht/htmex.sh
|
|
tex4ht/httex.sh
|
|
tex4ht/httexi.sh
|
|
tex4ht/htxelatex.sh
|
|
tex4ht/htxetex.sh
|
|
tex4ht/mk4ht.pl
|
|
tex4ht/xhlatex.sh
|
|
texdef/texdef.pl
|
|
texdiff/texdiff
|
|
texdirflatten/texdirflatten
|
|
texdoc/texdoc.tlu
|
|
texdoctk/texdoctk.pl
|
|
texfot/texfot.pl
|
|
texlive/allcm.sh
|
|
texlive/allneeded.sh
|
|
texlive/dvi2fax.sh
|
|
texlive/dvired.sh
|
|
texlive/e2pall.pl
|
|
texlive/fmtutil-sys.sh
|
|
texlive/fmtutil-user.sh
|
|
texlive/fmtutil.pl
|
|
texlive/fontinst.sh
|
|
texlive/kpsetool.sh
|
|
texlive/kpsewhere.sh
|
|
texlive/ps2frag.sh
|
|
texlive/pslatex.sh
|
|
texlive/rungs.tlu
|
|
texlive/texconfig-dialog.sh
|
|
texlive/texconfig-sys.sh
|
|
texlive/texconfig.sh
|
|
texlive/texlinks.sh
|
|
texlive/updmap-sys.sh
|
|
texlive/updmap-user.sh
|
|
texlive/updmap.pl
|
|
texliveonfly/texliveonfly.py
|
|
texloganalyser/texloganalyser
|
|
thumbpdf/thumbpdf.pl
|
|
typeoutfileinfo/typeoutfileinfo.sh
|
|
xindy/texindy.pl
|
|
xindy/xindy.pl
|
|
"
|
|
install -m755 -d $pkgdir/usr/bin
|
|
for _script in ${_linked_scripts}; do
|
|
_scriptbase=$(basename $_script)
|
|
_scriptbase=${_scriptbase%.*}
|
|
ln -s /usr/share/texmf-dist/scripts/${_script} ${pkgdir}/usr/bin/${_scriptbase}
|
|
done
|
|
ln -s /usr/share/texmf-dist/scripts/listings-ext/listings-ext.sh ${pkgdir}/usr/bin/listings-ext.sh
|
|
|
|
# additional symlinks
|
|
ln -s allcm ${pkgdir}/usr/bin/allec
|
|
ln -s fmtutil ${pkgdir}/usr/bin/mktexfmt
|
|
ln -s kpsetool ${pkgdir}/usr/bin/kpsexpand
|
|
ln -s kpsetool ${pkgdir}/usr/bin/kpsepath
|
|
ln -s epstopdf ${pkgdir}/usr/bin/repstopdf
|
|
ln -s pdfcrop ${pkgdir}/usr/bin/rpdfcrop
|
|
ln -s luaotfload-tool ${pkgdir}/usr/bin/mkluatexfontdb
|
|
ln -s texdef ${pkgdir}/usr/bin/latexdef
|
|
}
|