summaryrefslogtreecommitdiff
path: root/office/texlive/texlive.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'office/texlive/texlive.SlackBuild')
-rw-r--r--office/texlive/texlive.SlackBuild214
1 files changed, 214 insertions, 0 deletions
diff --git a/office/texlive/texlive.SlackBuild b/office/texlive/texlive.SlackBuild
new file mode 100644
index 0000000000..bf9ccc0f71
--- /dev/null
+++ b/office/texlive/texlive.SlackBuild
@@ -0,0 +1,214 @@
+#!/bin/sh
+
+# TeXLive build script for Slackware
+
+# Copyright 2009, 2010 Robby Workman, Northport, AL, USA
+# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# 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/2009/
+
+PRGNAM=texlive
+VERSION=20091107
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-2}
+TAG=${TAG:-_SBo}
+
+SOURCE_VERS=$VERSION
+TEXMF_VERS=$VERSION
+EXTRA_VERS=$VERSION
+
+TEXI2HTML=1.82 # texi2html version - http://www.nongnu.org/texi2html/
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-texlive
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf texlive-$SOURCE_VERS-source
+tar xvf $CWD/texlive-$SOURCE_VERS-source.tar.xz
+cd texlive-$SOURCE_VERS-source
+chown -R root:root .
+chmod -R a-s .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# etex is something for eclipse
+# Building with --disable-xindy as it requires libffcall
+# "kpsewhich -var-value=SELFAUTOPARENT" strips two trailing directories
+# from the location of the binaries, and this value is used by many
+# things in TeXLive (including tlmgr); therefore, it seems best to just
+# "go with the flow" and use "--enable-multiplatform" so the symlinks
+# that are automatically created will be correct...
+# Building with "--without-system-xpdf" because poppler-0.12+ API is not
+# compatible with <=0.11.x. This isn't an issue on 13.0, but we'll make
+# it easy for those trying to build on -current
+TL_BUILD_ENV="CFLAGS=\"$SLKCFLAGS\" CXXFLAGS=\"$SLKCFLAGS\"" \
+TL_CONFIGURE_ARGS="\
+ --enable-multiplatform \
+ --with-tex-banner='TeX Live 2009/Slackware (unofficial)' \
+ --disable-native-texlive-build \
+ --disable-static \
+ --enable-ipc \
+ --with-x \
+ --without-etex \
+ --disable-xindy \
+ --without-system-xpdf \
+ --with-system-ncurses \
+ --with-system-zlib \
+ --with-system-pnglib \
+ --with-system-t1lib \
+ --with-system-gd \
+ --with-system-freetype2 \
+ --build=$ARCH-slackware-linux" \
+./Build
+
+mkdir -p $PKG/usr/share/texmf/bin
+mv inst/bin/${ARCH}-slackware-linux-gnu/* $PKG/usr/share/texmf/bin
+
+# Install the README file while we're still here
+mkdir -p $PKG/usr/doc/texlive-$VERSION
+cp -a README $PKG/usr/doc/texlive-$VERSION
+
+# Now let's install the tlmgr stuff
+cd $TMP
+rm -rf texlive-$EXTRA_VERS-extra
+tar xvf $CWD/texlive-$EXTRA_VERS-extra.tar.xz
+cd texlive-$EXTRA_VERS-extra
+chown -R root:root .
+chmod -R a-s .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/doc/texlive-$VERSION/tlpkg
+cp -a tlpkg $PKG/usr/share/
+( cd $TMP/texlive-$EXTRA_VERS-extra
+ cp -a \
+ readme-txt.dir/* readme-html.dir/* README* LICENSE* doc.html \
+ $PKG/usr/doc/texlive-$VERSION/tlpkg
+ cat $CWD/README.tlpkg > $PKG/usr/doc/texlive-$VERSION/tlpkg/README.SLACKWARE
+)
+
+# and now we'll install the texmf stuff
+cd $TMP
+rm -rf texlive-$TEXMF_VERS-texmf
+tar xvf $CWD/texlive-$TEXMF_VERS-texmf.tar.xz
+cd texlive-$TEXMF_VERS-texmf
+chown -R root:root .
+chmod -R a-s .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/share/{texmf,texmf-dist}
+mv texmf-dist/* $PKG/usr/share/texmf-dist
+mv texmf/* $PKG/usr/share/texmf
+
+# Now let's add texi2hmtl - http://www.nongnu.org/texi2html/
+cd $TMP
+rm -rf texi2html-$TEXI2HTML
+tar xvf $CWD/texi2html-$TEXI2HTML.tar.bz2
+cd texi2html-$TEXI2HTML
+chown -R root:root .
+chmod -R a-s .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --bindir=/usr/share/texmf/bin \
+ --mandir=/usr/share/texmf/doc/man \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
+make
+make install DESTDIR=$PKG
+mkdir -p $PKG/usr/doc/texlive-$VERSION/texi2html-$TEXI2HTML
+cp -a \
+ AUTHORS COPYING NEWS README TODO \
+ $PKG/usr/doc/texlive-$VERSION/texi2html-$TEXI2HTML
+
+# Compress man pages
+( cd $PKG/usr/share/texmf/doc/man || exit 1
+ find . -type f -name "Makefile" -exec rm -f {} \;
+ find . -type f -name "*.pdf" -exec rm -f {} \;
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
+)
+
+# Handle the GNU info pages
+( cd $PKG/usr/info
+ mv $PKG/usr/share/texmf/doc/info/* .
+ rm -rf $PKG/usr/share/texmf/doc/info
+ rm -f dir
+ gzip -9 *
+)
+
+# Add profile scripts
+mkdir -p $PKG/etc/profile.d
+cat $CWD/profile.d/texlive.sh > $PKG/etc/profile.d/texlive.sh
+cat $CWD/profile.d/texlive.csh > $PKG/etc/profile.d/texlive.csh
+chmod 0755 $PKG/etc/profile.d/*
+
+mkdir -p $PKG/install
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -p -l y -c n $OUTPUT/texlive-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+
+# Ignore this - it's for reference purposes :-) -RW
+# If we turn off --enable-multiplatform and place the
+# binaries only one folder deeper than texmf{,-dist}
+# we should have our own configuration.
+#cat > $PKG/usr/share/texmf.cnf <<EOF
+#% \$SELFAUTODIR will be /usr/share
+#TEXMFMAIN = \$SELFAUTODIR/texmf
+#TEXMFDIST = \$SELFAUTODIR/texmf-dist
+#TEXMFLOCAL = \$SELFAUTODIR/texmf-local
+#TEXMFSYSVAR = \$SELFAUTODIR/texmf-var
+#TEXMFSYSCONFIG = \$SELFAUTODIR/texmf-config
+#EOF