#!/bin/sh # Public domain. Originally written 2005 by Karl Berry. this_dir=`pwd` tl_sourcedir=${this_dir}/source . ${this_dir}/variables.conf echo "" echo " TeX Live for OpenBSD built script " echo "" echo "You are about to build TeX Live from the development sources." echo "Please specify whether you also want to include xindy, context" echo "and asymptote in the process." echo "" echo "Do I have to get the sources? (You ought to have done so before launching this script.)" read get_dev_src?'[y/n] ' if [[ ${get_dev_src} == "y" ]]; then ./checkout-tl.sh $1 && echo "... Ok." fi echo "Include clisp and xindy?" read with_clisp?'[y/n] ' enable_xindy="" # Context echo "Include Context?" read with_context?'[y/n] ' # Asymptote echo "Include Asymptote?" read with_asymptote?'[y/n] ' # TL echo "Build TL?" read build_tl?'[y/n] ' # First build: clisp if [[ ${with_clisp} == "y" ]]; then mkdir $tl_sourcedir/clisp && cd $tl_sourcedir/clisp utils_README=$tl_sourcedir/utils/README clisp_basedir=`pwd` clisp_toolsdir=$clisp_basedir/clisp-tools clisp_builddir=$clisp_basedir/clisp-build mkdir $clisp_toolsdir wget=wget # or "curl -O" or whatever #libsigsegv_ver=libsigsegv-2.13 libsigsegv_ver=$(cat ${utils_README} | grep libsigsegv_ver= | sed 's/.*=//') cd $clisp_basedir $wget http://ftp.gnu.org/gnu/libsigsegv/$libsigsegv_ver.tar.gz gzip -dc $libsigsegv_ver.tar.gz | tar xf - cd $libsigsegv_ver ./configure -C --prefix=$clisp_toolsdir --disable-shared --enable-static \ && make && make check && make install # iconv #libiconv_ver=libiconv-1.16 libiconv_ver=$(cat ${utils_README} | grep libiconv_ver= | sed 's/.*=//') cd $clisp_basedir $wget http://ftp.gnu.org/gnu/libiconv/$libiconv_ver.tar.gz gzip -dc $libiconv_ver.tar.gz | tar xf - cd $libiconv_ver ./configure -C --prefix=$clisp_toolsdir \ --disable-shared --enable-static --disable-nls \ && make && make check && make install #clisp_ver=clisp-2.49.92 clisp_ver=$(cat ${utils_README} | grep clisp_ver= | sed 's/.*=//') cd $clisp_basedir $wget https://alpha.gnu.org/gnu/clisp/$clisp_ver.tar.bz2 bunzip2 -dc $clisp_ver.tar.bz2 | tar xf - cd $clisp_ver ./configure CPPFLAGS=-DUNIX_BINARY_DISTRIB --prefix=$clisp_toolsdir \ --without-readline --without-dynamic-modules \ --disable-nls \ --with-libsigsegv-prefix=$clisp_toolsdir \ --with-libiconv-prefix=$clisp_toolsdir \ $clisp_builddir \ && (cd $clisp_builddir && make) # define --enable-xindy variable enable_xindy="--enable-xindy CLISP=$clisp_builddir/clisp" fi # If Context is required, then retrieve and build it first if [[ ${with_context} == "y" ]]; then cd $tl_sourcedir if [[ -e $1 ]];then context_ver=$(svn list svn://tug.org/texlive/branches/branch${TL_BRANCH}/Master/source | grep luametatex-.*xz | sed 's/.*-\(.*\).tar.xz/\1/') if [[ -d luametatex ]];then rm -f luametatex-{$context_ver}.tar.xz rm -rf luametatex fi svn export svn://tug.org/texlive/branches/branch${TL_BRANCH}/Master/source/luametatex-${context_ver}.tar.xz else context_ver=$(svn list svn://tug.org/texlive/trunk/Master/source | grep luametatex-.*xz | sed 's/.*-\(.*\).tar.xz/\1/') if [[ -d luametatex ]];then rm -f luametatex-{$context_ver}.tar.xz rm -rf luametatex fi svn export svn://tug.org/texlive/trunk/Master/source/luametatex-${context_ver}.tar.xz fi xzcat luametatex-$context_ver.tar.xz | tar xf - luametatex_src_dir=$(xzcat luametatex-$context_ver.tar.xz | tar tf - | head -1) cd ${luametatex_src_dir} sh build.sh fi function include_context { cd ${tl_sourcedir} if [[ -d ${tl_sourcedir}/inst/bin ]];then tl_bindir=${tl_sourcedir}/inst/bin/`ls ${tl_sourcedir}/inst/bin` cp ${luametatex_src_dir}/build/native/luametatex $tl_bindir cd ${tl_bindir} ln -s luametatex context ln -s luametatex mtxrun ln -s ../../texmf-dist/scripts/context/lua/context.lua context.lua ln -s ../../texmf-dist/scripts/context/lua/mtxrun.lua mtxrun.lua ln -s ../../texmf-dist/scripts/context-texlive/stubs-mkiv/unix/luatools luatools ln -s ../../texmf-dist/scripts/context-texlive/stubs-mkiv/unix/contextjit contextjit ln -s ../../texmf-dist/scripts/context-texlive/stubs-mkiv/unix/mtxrunjit mtxrunjit ln -s ../../texmf-dist/scripts/context-texlive/stubs/unix/texexec texexec ln -s ../../texmf-dist/scripts/context-texlive/stubs/unix/texmfstart texmfstart fi } # Build Asymptote if [[ ${with_asymptote} == "y" ]];then cd ${tl_sourcedir}/utils/asymptote ./configure --prefix=/tmp/asyinst --enable-texlive-build \ --enable-static CXXFLAGS=-std=c++11 \ --disable-curl --disable-lsp --disable-gsl --disable-fftw sed -i.bak -e 's/^LIBS = /LIBS = -static /' Makefile gmake strip asy fi function include_asymptote { cd ${tl_sourcedir} if [[ -d ${tl_sourcedir}/inst/bin ]];then tl_bindir=${tl_sourcedir}/inst/bin/`ls ${tl_sourcedir}/inst/bin` cp utils/asymptote/asy ${tl_bindir} cd ${tl_bindir} ln -s ../../texmf-dist/asymptote/GUI/xasy.py xasy fi } function include_extras { if [[ -d ${tl_sourcedir}/inst/bin ]];then tl_bindir=${tl_sourcedir}/inst/bin/`ls ${tl_sourcedir}/inst/bin` install -m 0755 ${this_dir}/tlobsd-mksymlinks ${tl_bindir}/tlobsd-mksymlinks install -m 0755 ${this_dir}/tlobsd-getbiber ${tl_bindir}/tlobsd-getbiber install -m 0755 ${this_dir}/tlobsd ${tl_bindir}/tlobsd fi } # Now build TL if [[ ${build_tl} == "y" ]]; then cd ${tl_sourcedir} export TL_MAKE=gmake ./Build ${enable_xindy} if [[ ${with_context} == "y" ]]; then include_context fi if [[ ${with_asymptote} == "y" ]];then include_asymptote fi include_extras else if [[ ${with_context} == "y" ]]; then include_context fi if [[ ${with_asymptote} == "y" ]];then include_asymptote fi fi cd ${this_dir}