summaryrefslogtreecommitdiff
path: root/libre/texlive-core/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/texlive-core/PKGBUILD')
-rw-r--r--libre/texlive-core/PKGBUILD333
1 files changed, 333 insertions, 0 deletions
diff --git a/libre/texlive-core/PKGBUILD b/libre/texlive-core/PKGBUILD
new file mode 100644
index 000000000..9b4556602
--- /dev/null
+++ b/libre/texlive-core/PKGBUILD
@@ -0,0 +1,333 @@
+# Maintainer (Arch): Rémy Oudompheng <remy@archlinux.org>
+# Maintainer: Michał Masłowski <mtjm@mtjm.eu>
+# Contributor: André Silva <emulatorman@parabola.nu>
+
+_pkgname=texlive-core-libre
+pkgname=texlive-core
+pkgver=2014.34872
+_revnr=${pkgver#2014.}
+pkgrel=1.parabola1
+pkgdesc="TeX Live core distribution, without nonfree add-on packages (Parabola rebranded)"
+license=('GPL')
+arch=(any)
+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'
+ 'python: for pythontex'
+ 'python2: for dviasm'
+ 'ruby: for old ConTeXT MkII and epspdf'
+ 't1utils: can be useful when installing Type1 fonts'
+)
+groups=('texlive-most')
+conflicts=('tetex' 'texlive-latex3' 'texlive-core-libre')
+provides=('tetex' 'texlive-latex3')
+replaces=('tetex' 'texlive-latex3' 'texlive-core-libre')
+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"
+ "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/config/pdftexconfig.tex \
+ etc/texmf/ttf2pk/ttf2pk.cfg \
+ etc/texmf/web2c/fmtutil.cnf \
+ etc/texmf/web2c/mktex.cnf \
+ etc/texmf/xdvi/XDvi)
+mkmd5sums=('65e63bdefdc909b9d6e6624924e53feb')
+md5sums=('016626916175b074e98b6f1aa9fa9ff7'
+ '75c813acb5df57d174e4bd07019adf34'
+ 'd5a3f442ec3b7aa1518170f64f9d006b'
+ '16ad4dc53deb00029baef1b01ba1d984'
+ '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 source doc
+
+ # 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
+ # replace upstream texmfcnf.lua with ours
+ install -m644 "$srcdir"/texmfcnf.lua "$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 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
+
+ # 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/contextjit
+context/stubs/unix/ctxtools
+context/stubs/unix/luatools
+context/stubs/unix/mtxrun
+context/stubs/unix/mtxrunjit
+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
+latex-git-log/latex-git-log
+latex2man/latex2man
+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
+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
+pythontex/pythontex.py
+pythontex/depythontex.py
+simpdftex/simpdftex
+sty2dtx/sty2dtx.pl
+texcount/texcount.pl
+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.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
+}