diff options
Diffstat (limited to 'libre/texlive-core-libre/PKGBUILD')
-rw-r--r-- | libre/texlive-core-libre/PKGBUILD | 318 |
1 files changed, 318 insertions, 0 deletions
diff --git a/libre/texlive-core-libre/PKGBUILD b/libre/texlive-core-libre/PKGBUILD new file mode 100644 index 000000000..d3dc06cb1 --- /dev/null +++ b/libre/texlive-core-libre/PKGBUILD @@ -0,0 +1,318 @@ +# Maintainer: Rémy Oudompheng <remy@archlinux.org> +# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu> +# Contributor (Parabola): André Silva <emulatorman@parabola.nu> + +pkgname=texlive-core-libre +_pkgname=texlive-core +pkgver=2013.31589 +_revnr=${pkgver#2013.} +pkgrel=1.2 +pkgdesc="TeX Live core distribution, without nonfree add-on packages (Parabola rebranded)" +license=('GPL') +arch=(any) +depends=('texlive-bin' 'perl') +optdepends=( + 'ruby: for old ConTeXT MkII and epspdf' + 'tk: for texdoctk' + 'python2: for dviasm' + 'ghostscript: for epstopdf, epspdf and other ConTeXt tools' + 'psutils: to manipulate the output of dvips' + 't1utils: can be useful when installing Type1 fonts' + 'jre7-openjdk: for utilities like arara' +) +groups=('texlive-most') +conflicts=('tetex' 'texlive-latex3' 'texlive-core') +provides=('tetex' 'texlive-latex3' "texlive-core=$pkgver") +replaces=('tetex' 'texlive-latex3' 'texlive-core') +url='http://tug.org/texlive/' +mksource=("ftp://ftp.archlinux.org/other/texlive/$_pkgname-$pkgver-src.zip") +noextract=("$_pkgname-$pkgver-src.zip") +source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver-src.tar.xz" + "$_pkgname.maps" + "texmf.cnf" + "09-texlive-fonts.conf") +options=(!strip) +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/config/pdftexconfig.tex \ + etc/texmf/ttf2pk/ttf2pk.cfg \ + etc/texmf/web2c/fmtutil.cnf \ + etc/texmf/web2c/mktex.cnf \ + etc/texmf/xdvi/XDvi) + +mkmd5sums=('80c7fa3db1b468f9043c6acdd941a526') +md5sums=('ce7c019db21ce546d6d7f1df4bc247fe' + '306ab28bb9b070fc3e40d86d28ea7e8e' + 'd5a3f442ec3b7aa1518170f64f9d006b' + '393a4bf67adc7ca5df2b386759d1a637') + +mksource() { + mkdir $_pkgname-$pkgver + pushd $_pkgname-$pkgver + bsdtar xfv ../$_pkgname-$pkgver-src.zip + + # remove nonfree packages + # MeX licensed packages. + rm -v {cc-pl,cs,ec,mex,pl}.tar.xz + # Public domain, will be relicensed. + rm -v context-{account,algorithmic,fixme,games,letter,ruby}.tar.xz + # No specific free license. + rm -v euro-ce.tar.xz + # Remove their references from package list. + sed -ri '/^(cc-pl|cs|ec|mex|pl|context-(account|algorithmic|fixme|games|letter|ruby)|euro-ce) /d' CONTENTS + + popd +} + +build() { + cd $srcdir/$_pkgname-$pkgver + echo -n " --> extracting all packages... " + for p in *.tar.xz; do + bsdtar -xf $p + done + echo "done" + rm -rf {tlpkg,doc,source,omega} || true + + # remove nonfree packages references from updmap.cfg + sed -i '/ccpl.map/d' texmf-dist/web2c/updmap.cfg + sed -i '/cs-charter.map/d' texmf-dist/web2c/updmap.cfg + sed -i '/csfonts.map/d' texmf-dist/web2c/updmap.cfg + sed -i '/plother.map/d' texmf-dist/web2c/updmap.cfg + sed -i '/pltext.map/d' texmf-dist/web2c/updmap.cfg + + # remove nonfree packages references from texlive-core.maps + sed -i '/ccpl.map/d' $srcdir/$_pkgname.maps + sed -i '/cs-charter.map/d' $srcdir/$_pkgname.maps + sed -i '/csfonts.map/d' $srcdir/$_pkgname.maps + sed -i '/plother.map/d' $srcdir/$_pkgname.maps + sed -i '/pltext.map/d' $srcdir/$_pkgname.maps + + # remove nonfree packages references from fmtutil.cnf + sed -i '/cslatex/d' texmf-dist/web2c/fmtutil.cnf + sed -i '/csplain/d' texmf-dist/web2c/fmtutil.cnf + sed -i '/from mex/d' texmf-dist/web2c/fmtutil.cnf + sed -i '/mexconf.tex/d' texmf-dist/web2c/fmtutil.cnf +} + +package() { + cd $srcdir/$_pkgname-$pkgver + # Install packages. + install -m755 -d $pkgdir/var/lib/texmf/arch/installedpkgs + sed -i '/^#/d' CONTENTS + install -m644 CONTENTS $pkgdir/var/lib/texmf/arch/installedpkgs/${_pkgname}_${_revnr}.pkgs + install -m644 $srcdir/$_pkgname.maps $pkgdir/var/lib/texmf/arch/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/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.cfg \ + "$pkgdir"/etc/texmf/web2c/ + cp -a "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil.cnf \ + "$pkgdir"/etc/texmf/web2c/ + 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/config/pdftexconfig.tex \ + "$pkgdir"/etc/texmf/tex/generic/config/ + 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.* + # 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 + + + # 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 + # fix location of TEXMFCACHE for luatools + sed -i 's#texlive2013#texlive#' "$pkgdir"/usr/share/texmf-dist/web2c/texmfcnf.lua + ## remove aleph from fmtutil.cnf + sed -i -e '/aleph/d' "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil.cnf + + # 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 for dviasm + sed -i 's/env python/env python2/' $pkgdir/usr/share/texmf-dist/scripts/dviasm/dviasm.py + + # 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 obsolete stuff (we don't provide the omega and aleph binaries anyway) + rm -f $pkgdir/usr/share/texmf-dist/tex/plain/config/{omega,aleph}.ini + #sed -i '/cherokee\.map/d; /oinuit\.map/d; /omega\.map/d' \ + # "${pkgdir}/usr/share/texmf-dist/web2c/updmap.cfg" + + # remove upstream updmap.cfg: it contains too many maps. + rm "${pkgdir}/usr/share/texmf-dist/web2c/updmap.cfg" + + # 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 +chktex/chkweb.sh +chktex/deweb.pl +context/perl/mptopdf.pl +context/stubs/unix/context +context/stubs/unix/ctxtools +context/stubs/unix/luatools +context/stubs/unix/mtxrun +context/stubs/unix/pstopdf +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 +epstopdf/epstopdf.pl +findhyph/findhyph +fontools/afm2afm +fontools/autoinst +fontools/ot2kpx +fragmaster/fragmaster.pl +installfont/installfont-tl +latex2man/latex2man +latexdiff/latexdiff-vc.pl +latexdiff/latexdiff.pl +latexdiff/latexrevise.pl +latexfileversion/latexfileversion +latexmk/latexmk.pl +latexpand/latexpand +ltxfileinfo/ltxfileinfo +lua2dox/lua2dox_filter +luaotfload/luaotfload-tool.lua +match_parens/match_parens +mf2pt1/mf2pt1.pl +mkjobtexmf/mkjobtexmf.pl +oberdiek/pdfatfi.pl +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 +pfarrei/a5toa4.tlu +pfarrei/pfarrei.tlu +pkfix-helper/pkfix-helper +pkfix/pkfix.pl +ps2eps/ps2eps.pl +purifyeps/purifyeps +simpdftex/simpdftex +sty2dtx/sty2dtx.pl +texcount/texcount.pl +texdef/texdef.pl +texdiff/texdiff +texdirflatten/texdirflatten +texdoc/texdoc.tlu +texdoctk/texdoctk.pl +texlive/allcm.sh +texlive/allneeded.sh +texlive/dvi2fax.sh +texlive/dvired.sh +texlive/e2pall.sh +texlive/fmtutil-sys.sh +texlive/fmtutil.sh +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.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%.*} + [[ -f ${pkgdir}/usr/share/texmf-dist/scripts/${_script} ]] && + 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 +} |