summaryrefslogtreecommitdiff
path: root/context-mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'context-mkiv')
-rw-r--r--context-mkiv/PKGBUILD77
-rw-r--r--context-mkiv/context-setup-env.sh16
2 files changed, 93 insertions, 0 deletions
diff --git a/context-mkiv/PKGBUILD b/context-mkiv/PKGBUILD
new file mode 100644
index 0000000..0d8d2a9
--- /dev/null
+++ b/context-mkiv/PKGBUILD
@@ -0,0 +1,77 @@
+# Context MkIV additional distribution files
+# Maintainer: Philipp Gesang <phg@phi-gamma.net>
+pkgname=context-mkiv
+pkgver=20160905_1028
+pkgrel=1
+pkgdesc="The ConTeXt MkIV typesetting system; additional files"
+arch=(any)
+url=""
+license=('GPL')
+groups=()
+depends=(luatex-svn context-git)
+## mtxrun is part of Context; to execute it we need Luatex as the interpreter
+makedepends=(rsync luatex-svn context-git)
+conflicts=(context-minimals-git)
+source=(context-setup-env.sh)
+sha512sums=('17d82d422873abd4eac79660e4cf0eefd8cba7fca3fae0eaad832911a5066385ba18625ccc61638da4c91fd180c4bcf21a6cd7664cdb4248ef530fe6cc2c64b0')
+
+# binaries and scripts installed with deps
+readonly _luatex=/usr/bin/texlua
+readonly _cntroot=/usr/share/context-git
+readonly _mtxpath=./texmf-context/scripts/context/lua
+readonly _mtxrun=${_mtxpath}/mtxrun.lua
+
+_mtx-script () {
+ local scr="mtx-$1.lua"
+ shift
+ ${_luatex} ${_mtxrun} --script "${_mtxpath}/${scr}" $@
+}
+
+pkgver() {
+ # no colon, hyphen, or whitespace permitted
+ cd context
+ _mtx-script context --version 2>/dev/null \
+ |egrep "^mtx-context *| current version: .*$" \
+ |sed -n 's/^.*: \(....\)\.\(..\)\.\(..\) \(..\):\(..\)$/\1\2\3_\4\5/p'
+ exit 42
+}
+
+prepare() {
+ [[ ! -d context ]] && mkdir context
+ cd context
+ if [[ -L ./texmf-context ]]; then
+ msg "Repo symlink already present"
+ else
+ ln -s "${_cntroot}" ./texmf-context
+ fi
+ _mtx-script update \
+ --force --update --context=beta --platform=linux \
+ --engine=luatex --modules=all --texroot=.
+}
+
+build() {
+ cd context
+ ${_luatex} ${_mtxrun} --generate
+}
+
+package() {
+ rm -rf "${pkgdir}"/*
+ local texdst="${pkgdir}/usr/share/texmf"
+ local libdst="${pkgdir}/usr/lib"
+ local execdst="${pkgdir}/usr/bin"
+ local subdirs=( texmf texmf-fonts texmf-modules )
+ cd context
+ install -dm755 "${texdst}"
+ for dir in ${subdirs[@]}; do
+ cp -a "${dir}" "${texdst}"
+ done
+ # install symlink to Context git
+ ln -s /usr/share/context-git "${texdst}/texmf-context"
+ # mktexlsr is the only script we take as-is
+ install -dm755 "${execdst}"
+ install -Dm755 texmf-linux/bin/mktexlsr "${execdst}"
+ install -dm755 "${libdst}"
+ install -Dm644 "${srcdir}/context-setup-env.sh" "${libdst}"
+}
+
+# vim:et:ft=sh:sw=2:ts=8
diff --git a/context-mkiv/context-setup-env.sh b/context-mkiv/context-setup-env.sh
new file mode 100644
index 0000000..99a8def
--- /dev/null
+++ b/context-mkiv/context-setup-env.sh
@@ -0,0 +1,16 @@
+# Context executable wrapper
+declare -r context_root=/usr/share/texmf
+declare font_dirs=""
+if [[ -d "${HOME}/.fonts" ]]; then
+ declare font_dirs+="${HOME}/.fonts"
+fi
+if [[ -d /usr/share/fonts ]]; then
+ [[ -n "${font_dirs}" ]] && declare font_dirs+=";"
+ declare font_dirs+=/usr/share/fonts
+fi
+
+declare -x OSFONTDIR="${font_dirs:-}"
+declare -x TEXMFCACHE=${HOME}/.texmf/texmf-cache
+declare -x TEXMFOS=${context_root}/texmf-context
+
+# vim:et:ft=sh:sw=2:ts=8