Quote:
Originally Posted by brixtoncalling
I looked into texlive but it didn't look much more straightforward to install than XeTeX. If there's a script for compiling I'd like to take a look at it though. Thanks for all the answers B.
|
Ok, here follows my texlive.SlackBuild script. I used it to successfully build texlive-2007 package. Probably it will be as successful to build texlive-2008 as well.
#!/bin/sh
PRGNAM=texlive
VERSION=2007.02.12
PKG_VERSION=$VERSION
ARCH=${ARCH:-i386}
BUILD=${BUILD:-1}
TAG=${TAG:-_mai}
CWD=$(pwd)
PKG="/home/marto/build/tmp/package-$PRGNAM"
OUTPUT=${OUTPUT:-/home/marto/build/packages}
rm -rf $PKG
mkdir -p $PKG $OUTPUT
export TEXLIVE_INSTALL_PREFIX=/usr/share
export TEXLIVE_INSTALL_TEXDIR=/usr/share/texmf
export TEXLIVE_INSTALL_TEXMFLOCAL=/usr/share/texmf-local
export TEXLIVE_INSTALL_TEXMFSYSVAR=/usr/share/texmf-var
sh /mnt/cdrw/install-tl.sh || exit 1
cd /usr/share/texmf || exit 1
echo "Adjusting directory structure:"
mv bin/i386-linux/* bin
rmdir bin/i386-linux
mv texmf/* .
rmdir texmf
cp -R texmf-var /usr/share
rm -rf texmf-var
mv texmf-dist /usr/share
mv texmf-doc /usr/share
PATH="$PATH:/usr/share/texmf/bin"
if [ ! -r /usr/share/texmf/bin/latex ]; then
texconfig-sys init
fi
texconfig-sys confall
texconfig-sys dvips paper letter
texconfig-sys xdvi paper us
texconfig-sys mode ljfour
texconfig-sys dvips paper a4
texconfig-sys xdvi paper a4
texconfig-sys dvips printcmd -
texconfig-sys dvips add bjc600
texconfig-sys dvips add stcolor
texconfig-sys dvips add deskjet
texconfig-sys dvips add ljet4
texconfig-sys dvips -P bjc600 mode canonbjc
texconfig-sys dvips -P stcolor mode epstylus
texconfig-sys dvips -P deskjet mode deskjet
texconfig-sys dvips -P ljet4 mode ljfour
texconfig-sys font ro
texconfig-sys rehash
# Discard local configurations:
if [ -e /root/.texmf-config ]; then
mv /root/.texmf-config /root/.texmf-config-$(mcookie)
echo "/root/.texmf-config moved out of the way... you may wish"
echo "to purge any /root/.texmf-config-* directories if the"
echo "cruft heap gets too large."
fi
cd $PKG
mkdir -p usr/share
echo "Moving files from system directories into package texlive structure:"
mv /usr/share/texmf usr/share
mv /usr/share/texmf-var usr/share
mv /usr/share/texmf-dist usr/share
mv /usr/share/texmf-local usr/share
mv /usr/share/texmf-doc usr/share
echo "Adjusting permissions:"
chown -R root:root .
find . -type f -perm 666 -exec chmod 644 {} \;
chmod 0755 usr/share/texmf-var
find usr/share/texmf-var -type f -exec chmod 0644 {} \;
find usr/share/texmf-var -type d -exec chmod 0755 {} \;
mkdir -p etc/profile.d
cd etc/profile.d
cat > texlive.sh << EOF
PATH="$PATH:/usr/share/texmf/bin"
MANPATH="$MANPATH:/usr/share/texmf/doc/man"
EOF
cat > texlive.csh << EOF
setenv PATH $PATH:/usr/share/texmf/bin
setenv MANPATH=$MANPATH:/usr/share/texmf/doc/man
EOF
chmod 0755 texlive.*sh
echo "Stripping everything:"
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
# Compress man pages:
( cd $PKG/usr/share/texmf/doc/man
find . -type f -exec gzip -9 {} \;
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
# Compress info pages:
( cd $PKG/usr/share/texmf/doc/info
rm -f dir
gzip -9 *
)
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cd $PKG/usr/doc
ln -sf /usr/share/texmf/doc $PRGNAM-$VERSION
# Install script:
mkdir -p $PKG/install
cd $PKG/install
cat > slack-desc << EOF
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
texlive: texlive (the TeX Live distribution)
texlive:
texlive: TeX Live is an easy way to get up and running with TeX. It provides a
texlive: comprehensive TeX system which includes all the major TeX-related
texlive: programs, macro packages, and fonts that are free software, including
texlive: support for many languages around the world. This package uses the
texlive: "TeX Live full scheme".
texlive:
texlive: Learn more about TeX Live at:
texlive:
http://www.tug.org/texlive/
texlive:
EOF
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKG_VERSION-$ARCH-$BUILD$TAG.tgz