TeXLive

From CBLFS
Revision as of 15:48, 24 October 2010 by Lunaryn (talk | contribs) (Additional configuration fixes)
Jump to navigationJump to search
Download Source: ftp://tug.org/texlive/historic/2008/texlive-20080816-source.tar.lzma
Download Source: ftp://tug.org/texlive/historic/2008/texlive-20080822-texmf.tar.lzma
Download Source: http://mirrors.cs.wmich.edu/gentoo/distfiles/texlive-core-2008-texmf.d-1.tar.lzma
Download Source: http://cross-lfs.org/~jciccone/texmf-update
Download Patch: http://svn.cross-lfs.org/svn/repos/patches/texlive/texlive-20080816-fixes-1.patch

Introduction to TeXLive

TeX Live is a complete TeX distribution.

Project Homepage: http://www.tug.org/

Dependencies

Required

Optional

Configuration Information

--with-tex-banner='TeX Live 2008/CLFS': when making executables for an independent distro, the TeX-live maintainers request adding a suffix to the banner.

It is recommended that you create a dedicated directory to download and unpack all of the TeXLive files:

mkdir texlive-build &&
cd texlive-build

After creating this dedicated directory, cd into it, download and unpack the three files above. After unpacking the files above, download and unpack some base format files:

TEXLIVE_TEXMF="abstyles amslatex-primer amsmath amsrefs amstex appendix bibtex makeindex a2ping cweb dviasm hyphenex mkind-english mkjobtexmf pdfcrop synctex texcount collection-binextra"
TEXLIVE_FONTS="fontinst bin-afm2pl bin-fontware bin-ps2pkm collection-fontbin latex-fonts"

for p in ${TEXLIVE_TEXMF}; do
   wget ftp://tug.org/texlive/historic/2008/tlnet/archive/$p.tar.lzma
   lzma d $p.tar.lzma $p.tar
   tar xf $p.tar
done

for p in ${TEXLIVE_FONTS}; do
   wget ftp://tug.org/texlive/historic/2008/tlnet/archive/$p.tar.lzma
   lzma d $p.tar.lzma $p.tar
   tar xf $p.tar
done

unset TEXLIVE_TEXMF
unset TEXLIVE_FONTS

Now change into the top of the TeXLive source tree and build TeXLive.

Non-Multilib

Move the format files into the top of the TeXLive source tree:

mv -v ../texmf.d .
mv -v ../texlive-20080822-texmf/texmf* .

Apply the patch:

patch -Np1 -i ../texlive-20080816-fixes-1.patch &&
libtoolize --force &&
cd libs/teckit &&
mkdir m4 &&
mv *.m4 m4/ &&
sed -i 's/^AC_PROG_RC/true/' configure.ac &&
autoreconf &&
libtoolize --force &&
cd ../../

Compile the package:

./configure --prefix=/usr --bindir=/usr/bin \
       --datadir=$(pwd) \
       --with-system-freetype2 --with-freetype2-include=/usr/include \
       --with-system-zlib 	--with-system-pnglib \
       --without-texinfo --without-dialog \
       --with-texi2html --disable-multiplatform \
       --with-epsfwin --with-mftalkwin \
       --with-regiswin --with-tektronixwin \
       --with-unitermwin --with-ps=gs \
       --with-psutils --without-sam2p \
       --with-t1utils --enable-ipc \
       --without-etex --with-xetex \
       --with-dvipng --without-dvipdfm \
       --without-dvipdfmx --with-xdvipdfmx \
       --without-lcdf-typetools --without-pdfopen \
       --without-ps2eps --without-detex \
       --without-ttf2pk --without-tex4htk \
       --without-cjkutils --without-xdvik \
       --without-oxdvik --without-xindy \
       --without-luatex --without-dvi2tty \
       --without-vlna --disable-largefile \
       --enable-shared \
       --with-tex-banner='TeX Live 2008/CLFS' &&
sed -i '350i const\\' libs/xpdf/goo/gfile.cc &&
sed -i 's/getline/nl_&/g' utils/t1utils/t1asm.c &&
make texmf=${TEXMF_PATH:-/usr/share/texmf}
fpitexmf() {
    local mark="$1.found"
    find texmf -name $1 -exec touch "${mark}" \;
    find texmf-dist -name $1 -exec touch "${mark}" \;
    [ -f "${mark}" ]
}
for i in `egrep '^(Mixed)?Map' "texmf/web2c/updmap.cfg" | sed 's@.* @@'`; do
    fpitexmf "$i" || echo "$i"
done > "updmap_update"
{
    sed 's@/@\\/@g; s@^@/^MixedMap[     ]*@; s@$@$/s/^/#! /@' <"updmap_update"
    sed 's@/@\\/@g; s@^@/^Map[  ]*@; s@$@$/s/^/#! /@' <"updmap_update"
} > "updmap_update2"
unset fpitexmf
sed -f "updmap_update2" "texmf/web2c/updmap.cfg" >	"updmap_update3"\
       && cat "updmap_update3" > "texmf/web2c/updmap.cfg"

Install the package:

cp -r texmf texmf-dist /usr/share &&
make bindir="/usr/bin" texmf="${TEXMF_PATH:-/usr/share/texmf}" run_texlinks="true" run_mktexlsr="true" install
install -vm744 ../texmf-update /usr/sbin

Multilib

32Bit

Move the format files into the top of the TeXLive source tree:

mv -v ../texmf.d .
mv -v ../texlive-20080822-texmf/texmf* .

Apply the patch:

patch -Np1 -i ../texlive-20080816-fixes-1.patch &&
libtoolize --force &&
cd libs/teckit &&
mkdir m4 &&
mv *.m4 m4/
sed -i 's/^AC_PROG_RC/true/' configure.ac &&
autoreconf &&
libtoolize --force &&
cd ../../

Compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
./configure --prefix=/usr --bindir=/usr/bin \
       --datadir=$(pwd) \
       --with-system-freetype2 --with-freetype2-include=/usr/include \
       --with-system-zlib 	--with-system-pnglib \
       --without-texinfo --without-dialog \
       --with-texi2html --disable-multiplatform \
       --with-epsfwin --with-mftalkwin \
       --with-regiswin --with-tektronixwin \
       --with-unitermwin --with-ps=gs \
       --with-psutils --without-sam2p \
       --with-t1utils --enable-ipc \
       --without-etex --with-xetex \
       --with-dvipng --without-dvipdfm \
       --without-dvipdfmx --with-xdvipdfmx \
       --without-lcdf-typetools --without-pdfopen \
       --without-ps2eps --without-detex \
       --without-ttf2pk --without-tex4htk \
       --without-cjkutils --without-xdvik \
       --without-oxdvik --without-xindy \
       --without-luatex --without-dvi2tty \
       --without-vlna --disable-largefile \
       --enable-shared \
       --with-tex-banner='TeX Live 2008/CLFS' &&
sed -i '350i const\\' libs/xpdf/goo/gfile.cc &&
sed -i 's/getline/nl_&/g' utils/t1utils/t1asm.c &&
make texmf=${TEXMF_PATH:-/usr/share/texmf}
fpitexmf() {
    local mark="$1.found"
    find texmf -name $1 -exec touch "${mark}" \;
    find texmf-dist -name $1 -exec touch "${mark}" \;
    [ -f "${mark}" ]
}
for i in `egrep '^(Mixed)?Map' "texmf/web2c/updmap.cfg" | sed 's@.* @@'`; do
    texlive-common_is_file_present_in_texmf "$i" || echo "$i"
done > "updmap_update"
{
    sed 's@/@\\/@g; s@^@/^MixedMap[     ]*@; s@$@$/s/^/#! /@' <"updmap_update"
    sed 's@/@\\/@g; s@^@/^Map[  ]*@; s@$@$/s/^/#! /@' <"updmap_update"
} > "updmap_update2"
unset fpitexmf 
sed -f "updmap_update2" "texmf/web2c/updmap.cfg" >	"updmap_update3"\
       && cat "updmap_update3" > "texmf/web2c/updmap.cfg"

Install the package:

cp -r texmf texmf-dist /usr/share &&
make bindir="/usr/bin" texmf="${TEXMF_PATH:-/usr/share/texmf}" run_texlinks="true" run_mktexlsr="true" install
install -vm744 ../texmf-update /usr/sbin

N32

Move the format files into the top of the TeXLive source tree:

mv -v ../texmf.d .
mv -v ../texlive-20080822-texmf/texmf* .

Apply the patch:

patch -Np1 -i ../texlive-20080816-fixes-1.patch &&
libtoolize --force &&
cd libs/teckit &&
mkdir m4 &&
mv *.m4 m4/ &&
sed -i 's/^AC_PROG_RC/true/' configure.ac &&
autoreconf &&
libtoolize --force &&
cd ../../

Compile the package:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" \
./configure --prefix=/usr --bindir=/usr/bin \
       --libdir=/usr/lib32 --datadir=$(pwd) \
       --with-system-freetype2 --with-freetype2-include=/usr/include \
       --with-system-zlib 	--with-system-pnglib \
       --without-texinfo --without-dialog \
       --with-texi2html --disable-multiplatform \
       --with-epsfwin --with-mftalkwin \
       --with-regiswin --with-tektronixwin \
       --with-unitermwin --with-ps=gs \
       --with-psutils --without-sam2p \
       --with-t1utils --enable-ipc \
       --without-etex --with-xetex \
       --with-dvipng --without-dvipdfm \
       --without-dvipdfmx --with-xdvipdfmx \
       --without-lcdf-typetools --without-pdfopen \
       --without-ps2eps --without-detex \
       --without-ttf2pk --without-tex4htk \
       --without-cjkutils --without-xdvik \
       --without-oxdvik --without-xindy \
       --without-luatex --without-dvi2tty \
       --without-vlna --disable-largefile \
       --enable-shared \
       --with-tex-banner='TeX Live 2008/CLFS' &&
sed -i '350i const\\' libs/xpdf/goo/gfile.cc &&
sed -i 's/getline/nl_&/g' utils/t1utils/t1asm.c &&
make texmf=${TEXMF_PATH:-/usr/share/texmf}
fpitexmf() {
    local mark="$1.found"
    find texmf -name $1 -exec touch "${mark}" \;
    find texmf-dist -name $1 -exec touch "${mark}" \;
    [ -f "${mark}" ]
}
for i in `egrep '^(Mixed)?Map' "texmf/web2c/updmap.cfg" | sed 's@.* @@'`; do
    texlive-common_is_file_present_in_texmf "$i" || echo "$i"
done > "updmap_update"
{
    sed 's@/@\\/@g; s@^@/^MixedMap[     ]*@; s@$@$/s/^/#! /@' <"updmap_update"
    sed 's@/@\\/@g; s@^@/^Map[  ]*@; s@$@$/s/^/#! /@' <"updmap_update"
} > "updmap_update2"
unset fpitexmf
sed -f "updmap_update2" "texmf/web2c/updmap.cfg" >	"updmap_update3"\
       && cat "updmap_update3" > "texmf/web2c/updmap.cfg"

Install the package:

cp -r texmf texmf-dist /usr/share &&
make bindir="/usr/bin" texmf="${TEXMF_PATH:-/usr/share/texmf}" run_texlinks="true" run_mktexlsr="true" install
install -vm744 ../texmf-update /usr/sbin

64Bit

Move the format files into the top of the TeXLive source tree:

mv -v ../texmf.d .
mv -v ../texlive-20080822-texmf/texmf* .

Apply the patch:

patch -Np1 -i ../texlive-20080816-fixes-1.patch &&
libtoolize --force &&
cd libs/teckit &&
mkdir m4 &&
mv *.m4 m4/ &&
sed -i 's/^AC_PROG_RC/true' configure.ac &&
autoreconf &&
libtoolize --force &&
cd ../../

Compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
./configure --prefix=/usr --bindir=/usr/bin \
       --libdir=/usr/lib64 --datadir=$(pwd) \
       --with-system-freetype2 --with-freetype2-include=/usr/include \
       --with-system-zlib 	--with-system-pnglib \
       --without-texinfo --without-dialog \
       --with-texi2html --disable-multiplatform \
       --with-epsfwin --with-mftalkwin \
       --with-regiswin --with-tektronixwin \
       --with-unitermwin --with-ps=gs \
       --with-psutils --without-sam2p \
       --with-t1utils --enable-ipc \
       --without-etex --with-xetex \
       --with-dvipng --without-dvipdfm \
       --without-dvipdfmx --with-xdvipdfmx \
       --without-lcdf-typetools --without-pdfopen \
       --without-ps2eps --without-detex \
       --without-ttf2pk --without-tex4htk \
       --without-cjkutils --without-xdvik \
       --without-oxdvik --without-xindy \
       --without-luatex --without-dvi2tty \
       --without-vlna --disable-largefile \
       --enable-shared \
       --with-tex-banner='TeX Live 2008/CLFS' &&
sed -i '350i const\\' libs/xpdf/goo/gfile.cc &&
sed -i 's/getline/nl_&/g' utils/t1utils/t1asm.c &&
make texmf=${TEXMF_PATH:-/usr/share/texmf}
fpitexmf() {
    local mark="$1.found"
    find texmf -name $1 -exec touch "${mark}" \;
    find texmf-dist -name $1 -exec touch "${mark}" \;
    [ -f "${mark}" ]
}
for i in `egrep '^(Mixed)?Map' "texmf/web2c/updmap.cfg" | sed 's@.* @@'`; do
    echo "$i"
done > "updmap_update"
{
    sed 's@/@\\/@g; s@^@/^MixedMap[     ]*@; s@$@$/s/^/#! /@' <"updmap_update"
    sed 's@/@\\/@g; s@^@/^Map[  ]*@; s@$@$/s/^/#! /@' <"updmap_update"
} > "updmap_update2"
unset fpitexmf
sed -f "updmap_update2" "texmf/web2c/updmap.cfg" >	"updmap_update3"\
       && cat "updmap_update3" > "texmf/web2c/updmap.cfg"

Install the package:

cp -r texmf texmf-dist /usr/share &&
make prefix="/usr" bindir="/usr/bin" libdir="/usr/lib64" texmf="${TEXMF_PATH:-/usr/share/texmf}" run_texlinks="true" run_mktexlsr="true" install &&
install -vm744 ../texmf-update /usr/sbin

Configuring

Configure your system to use TeX-live.

install -dvm1777 /var/cache/fonts &&
install -dvm755 /usr/share/texmf-site &&
install -dvm755 /etc/texmf/{web2c,updmap.d,fmtutil.d,texmf.d,language.dat.d,language.def.d}

Remove fmtutil.cnf and the default texmf.cnf, they will be regenerated by texmf-update.

rm -f /usr/share/texmf/web2c/fmtutil.cnf &&
rm -f /usr/share/texmf/web2c/texmf.cnf &&
cp -v texmf.d/*.cnf /etc/texmf/texmf.d &&
cp -v /usr/share/texmf/fmtutil/* /etc/texmf/fmtutil.d/ &&
mv /usr/share/texmf/web2c/updmap.cfg /etc/texmf/updmap.d/00updmap.cfg

Create some symlinks so certain components can find configuration files:

ln -svf /etc/texmf/web2c/fmtutil.cnf /usr/share/texmf/web2c/fmtutil.cnf &&
ln -svf /etc/texmf/web2c/texmf.cnf /usr/share/texmf/web2c/texmf.cnf &&
ln -svf /etc/texmf/web2c/updmap.cfg /usr/share/texmf/web2c/updmap.cfg &&
ln -svf /etc/texmf/dvips/config/config.ps /usr/share/texmf/dvips/config/config.ps &&
ln -svf tex /usr/bin/virtex &&
ln -svf pdftex /usr/bin/pdfvirtex

As root, execute the texmf-update script:

texmf-update

Create symlinks from format files to engines:

for i in /usr/share/texmf/fmtutil/format*.cnf; do
    [ -f "${i}" ] && texlinks -v -f "${i}"
done

Copy in the remaining texmf entries from tlnet:

cp -rv ../texmf ../texmf-dist /usr/share

Contents

Installed Directories: /etc/texmf
Installed Programs:
Installed Libraries:

Short Descriptions

Retrieved from "?title=TeXLive&oldid=20668"