summaryrefslogtreecommitdiff
path: root/source/t/texlive/texlive.SlackBuild
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2018-05-28 19:12:29 +0000
committerEric Hameleers <alien@slackware.com>2018-05-31 23:39:35 +0200
commit646a5c1cbfd95873950a87b5f75d52073a967023 (patch)
treeb8b8d2ab3b0d432ea69ad1a64d1c789649d65020 /source/t/texlive/texlive.SlackBuild
parentd31c50870d0bee042ce660e445c9294a59a3a65b (diff)
downloadcurrent-646a5c1cbfd95873950a87b5f75d52073a967023.tar.gz
Mon May 28 19:12:29 UTC 201820180528191229
a/pkgtools-15.0-noarch-13.txz: Rebuilt. installpkg: default line length for --terselength is the number of columns. removepkg: added --terse mode. upgradepkg: default line length for --terselength is the number of columns. upgradepkg: accept -option in addition to --option. ap/vim-8.1.0026-x86_64-1.txz: Upgraded. d/bison-3.0.5-x86_64-1.txz: Upgraded. e/emacs-26.1-x86_64-1.txz: Upgraded. kde/kopete-4.14.3-x86_64-8.txz: Rebuilt. Recompiled against libidn-1.35. n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded. n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded. n/libnftnl-1.1.0-x86_64-1.txz: Upgraded. n/links-2.16-x86_64-2.txz: Rebuilt. Rebuilt to enable X driver for -g mode. n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded. n/nftables-0.8.5-x86_64-1.txz: Upgraded. n/p11-kit-0.23.11-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-1.txz: Upgraded. n/whois-5.3.1-x86_64-1.txz: Upgraded. xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded. xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/t/texlive/texlive.SlackBuild')
-rwxr-xr-xsource/t/texlive/texlive.SlackBuild252
1 files changed, 252 insertions, 0 deletions
diff --git a/source/t/texlive/texlive.SlackBuild b/source/t/texlive/texlive.SlackBuild
new file mode 100755
index 00000000..f41e9fa6
--- /dev/null
+++ b/source/t/texlive/texlive.SlackBuild
@@ -0,0 +1,252 @@
+#!/bin/bash
+
+# TeXLive build script for Slackware
+
+# Copyright 2009, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009-2014 Robby Workman, Northport, AL, USA
+# Copyright 2016-2017 Johannes Schoepfer, Germany
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# URL: ftp://tug.org/historic/systems/texlive/
+# Testrelease: ftp://tug.org/texlive/Images/test/
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=texlive
+SOURCEVERSION=${SOURCEVERSION:-20170520}
+VERSION=${VERSION:-2017.171108}
+BUILD=${BUILD:-6}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-texlive
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# NOTE: Using the system version of poppler will require texlive to be
+# recompiled with pretty much every poppler update, as they almost always
+# bump the shared library version. But sometimes you do what you have
+# to do...
+SYSTEMPOPPLER=${SYSTEMPOPPLER:-YES}
+if [ "$SYSTEMPOPPLER" = "NO" ]; then
+ POPPLER="--without-system-poppler --without-system-xpdf"
+else
+ POPPLER="--with-system-poppler --with-system-xpdf"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf texlive-$SOURCEVERSION-source
+tar xvf $CWD/texlive-${SOURCEVERSION}-source.tar.xz || exit 1
+cd texlive-$SOURCEVERSION-source || exit 1
+chown -R root:root .
+chmod -R u+w,go-w,a+rX-st .
+
+export LANG=C
+export PATH="$PKG/usr/bin:$PATH"
+export LD_LIBRARY_PATH="$PKG/usr/lib${LIBDIRSUFFIX}:$LD_LIBRARY_PATH"
+
+# set TEXMFROOT and TEXMFLOCAL
+sed -i \
+ -e 's|^TEXMFROOT.*|TEXMFROOT = $SELFAUTODIR/share|' \
+ -e 's|^TEXMFLOCAL.*|TEXMFLOCAL = $TEXMFROOT/texmf-local|' \
+ texk/kpathsea/texmf.cnf
+
+# prevent compiling Xdvi with libXp
+sed -i 's|-lXp ||' texk/xdvik/configure
+
+# Thanks to the lfs-folks ...
+patch -Np1 -i $CWD/patches/texlive-20170524-source-gcc7-1.patch || exit 1
+patch -Np1 -i $CWD/patches/texlive-20170524-source-upstream_fixes-2.patch || exit 1
+
+# Thanks to archlinux for the poppler-0.59 API fixup patch:
+if [ ! "$SYSTEMPOPPLER" = "NO" ]; then
+ patch -Np1 -i $CWD/patches/texlive-poppler-0.59.patch || exit 1
+fi
+
+# --with-system-harfbuzz requires graphite2 (and harfbuzz linked to it)
+mkdir build
+cd build
+ CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS -fpermissive" \
+ ../configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --with-banner-add=' on Slackware' \
+ --disable-native-texlive-build \
+ --enable-largefile \
+ --enable-shared \
+ --disable-static \
+ --disable-missing \
+ --disable-multiplatform \
+ --disable-debug \
+ --with-x \
+ --enable-xindy \
+ --disable-xindy-docs \
+ --disable-xindy-rules \
+ --with-clisp-runtime=system \
+ --enable-gc=system \
+ --with-system-zlib \
+ --with-system-libpng \
+ --with-system-t1lib \
+ --with-system-gd \
+ --with-system-freetype2 \
+ --with-system-libgs \
+ --with-system-icu \
+ --with-system-pixman \
+ --with-system-cairo \
+ --with-system-gmp \
+ --with-system-mpfr \
+ --with-system-fontconfig \
+ --with-system-ncurses \
+ --without-system-harfbuzz \
+ --disable-aleph \
+ --disable-dump-share \
+ $POPPLER \
+ --build=$ARCH-slackware-linux || exit 1
+
+ make $NUMJOBS || make || exit 1
+ # make check || exit 1
+ make install-strip DESTDIR=$PKG || exit 1
+
+ # Don't ship .la files:
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+ # Remove all files which are covered by tlnet
+ rm -rf $PKG/usr/share $PKG/usr/man $PKG/usr/info
+
+ # install the tlnet stuff
+ mkdir -p $PKG/usr/share
+ tar xvf $CWD/texlive-base-$VERSION.tar.xz -C $PKG/usr/share || exit 1
+ chown -R root:root $PKG
+ chmod -R u+w,go-w,a+rX-st $PKG
+
+ # Create symlinks
+ make texlinks DESTDIR=$PKG || exit 1
+
+cd ..
+
+# set some paths
+sed -i \
+ -e 's|^TEXMFROOT.*|TEXMFROOT = $SELFAUTODIR/share|' \
+ -e 's|^TEXMFLOCAL.*|TEXMFLOCAL = $TEXMFROOT/texmf-local|' \
+ -e 's|^OSFONTDIR.*|OSFONTDIR = ~/.fonts:/usr/share/fonts|' \
+ -e 's|texlive20[0-9][0-9]|texlive|g' \
+ $PKG/usr/share/texmf-dist/web2c/texmf.cnf
+
+# disable obsolete aleph/lamed/cslatex/pdfcslatex
+sed -i \
+ -e 's|^aleph|#! aleph|' \
+ -e 's|^lamed|#! lamed|' \
+ -e 's|^cslatex|#! cslatex|' \
+ -e 's|^pdfcslatex|#! pdfcslatex|' \
+ $PKG/usr/share/texmf-dist/web2c/fmtutil.cnf
+
+# make ConTeXt work, and remove unused settings
+sed -i \
+ -e 's|selfautoparent:|/usr/share/|g' \
+ -e 's|\(TEXMFLOCAL[ ]*=[ ]*\)[^,]*|\1"/usr/share/texmf-local"|' \
+ -e 's|texlive20[0-9][0-9]|texlive|g' \
+ -e '/selfautodir/d' \
+ -e '/texmflocal/d' \
+ $PKG/usr/share/texmf-dist/web2c/texmfcnf.lua
+
+# provide texlive fonts optionally for other system apps
+mkdir -p $PKG/etc/fonts/conf.avail
+cat > $PKG/etc/fonts/conf.avail/09-texlive.conf << EOF
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+ <dir>/usr/share/texmf-dist/fonts/opentype</dir>
+ <dir>/usr/share/texmf-dist/fonts/truetype</dir>
+</fontconfig>
+EOF
+
+# Install the docs while we're still here
+mkdir -p $PKG/usr/doc/texlive-$VERSION
+cp -a ChangeLog README* $PKG/usr/doc/texlive-$VERSION
+# Install index of provided tex packages to the docs
+mv $PKG/usr/share/texmf-dist/packages.base.gz $PKG/usr/doc/texlive-$VERSION
+
+# Put a symlink to /usr/share/texmf-dist/doc in our Slackware docdir
+ln -s ../../share/texmf-dist/doc $PKG/usr/doc/texlive-$VERSION/doc
+
+# We won't make tlmgr easily available; it's still there, but
+# we'll make it harder to void the warranty :-)
+rm -f $PKG/usr/bin/tlmgr
+cat $CWD/README.tlpkg > $PKG/usr/doc/texlive-$VERSION/README.tlpkg
+
+# Create some directories to make it clear that they're owned by this package
+mkdir -p $PKG/usr/share/{texmf-config,texmf-var,texmf-local}
+
+# Add some perl modules, at least one of which is required by updmap
+mkdir -p $PKG/usr/share/perl5
+mv texk/tests/TeXLive $PKG/usr/share/perl5/
+
+# Move manual pages to the correct place
+mkdir $PKG/usr/man
+mv $PKG/usr/share/texmf-dist/doc/man/man1 $PKG/usr/man
+mv $PKG/usr/share/texmf-dist/doc/man/man5 $PKG/usr/man
+rmdir $PKG/usr/share/texmf-dist/doc/man
+mv $PKG/usr/share/texmf-dist/doc/info $PKG/usr
+
+# Handle the man pages
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $(find $PKG/usr/man -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+
+# Handle the GNU info pages
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -p -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz