All pastes #148758 Raw Edit

Untitled

public shellscript v1 · immutable
#148758 ·published 2006-08-25 10:42 UTC
rendered paste body
#!/bin/shfunction add_step() {    steps=("${steps[@]}" "$@")}. customSEPS_ACLOCAL_FLAGS=" "SEPS_AUTOTOOLS_CPPFLAGS=" "SEPS_AUTOTOOLS_LDFLAGS=" "SEPS_GUILE_LOAD_PATH=";"SEPS_PATH=":"SEPS_PKG_CONFIG_PATH=":"SEPS_READLINE_CPPFLAGS=" "SEPS_READLINE_LDFLAGS=" "SEPS_REGEX_CPPFLAGS=" "SEPS_REGEX_LDFLAGS=" "SEPS_SCHEME_LIBRARY_PATH=";"ENV_VARS="\ACLOCAL_FLAGS \AUTOTOOLS_CPPFLAGS \AUTOTOOLS_LDFLAGS \GUILE_LOAD_PATH \PATH \PKG_CONFIG_PATH \READLINE_CPPFLAGS \READLINE_LDFLAGS \REGEX_CPPFLAGS \REGEX_LDFLAGS \SCHEME_LIBRARY_PATH \"function setup() {    echo    echo "############################################################"    echo "###  $*"    echo "############################################################"}function die() {    echo    echo "!!! $* !!!"    echo "!!! ABORTING !!!"    exit -1}function quiet() { "$@" &>/dev/null; }function qpushd() { pushd "$@" >/dev/null; }function qpopd() { popd >/dev/null; }function add_to_env() {    _SEP=`eval echo '"$'"SEPS_$2"'"'`    _ENV=`eval echo '"$'"$2"'"'`    _SED=`eval echo '"s#.*'"${_SEP}$1${_SEP}"'.*##"'`    _TEST=`echo "${_SEP}${_ENV}${_SEP}" | sed "${_SED}"`    if [ "$_TEST" ]; then	if [ "$_ENV" ]; then	    eval "$2_ADDS"'="'"$1${_SEP}"'$'"$2_ADDS"'"'	else	    eval "$2_ADDS"'="'"$1"'"'	fi	eval "$2"'="$'"$2_ADDS"'$'"$2_BASE"'"'    fi}# c:/dir/subfunction win_fs_path() {    echo "$*" | sed 's,\\,/,g'}# /c/dir/subfunction unix_path() {    echo "$*" | sed 's,^\([A-Za-z]\):,/\1,;s,\\,/,g'}function prepare() {    mkdir -p $TMP_DIR    for _ENV in $ENV_VARS; do	eval "${_ENV}_BASE"'=$'"${_ENV}"	eval "${_ENV}_ADDS="	eval export "${_ENV}"    done    DOWNLOAD_UDIR=`unix_path $DOWNLOAD_DIR`    TMP_UDIR=`unix_path $TMP_DIR`}function inst_wget() {    setup Wget    _WGET_UDIR=`unix_path $WGET_DIR`    mkdir -p $WGET_DIR    tar -xjpf $DOWNLOAD_UDIR/wget*.tar.bz2 -C $WGET_DIR    cp $_WGET_UDIR/*/*/wget.exe $WGET_DIR    add_to_env $_WGET_UDIR PATH    quiet wget --version || die "wget unavailable"}function inst_dtk() {    setup MSYS DTK    wget -c $DTK_URL -P $DOWNLOAD_DIR    echo "!!! The path must be: $MSYS_DIR !!!"    $DOWNLOAD_UDIR/msysDTK-*.exe    for file in \	/bin/{aclocal*,auto*,ifnames,libtool*} \	/share/{aclocal,aclocal-1.7,autoconf,autogen,automake-1.7,libtool}    do	mv $file $file.bak    done    quiet perl --help || die "msys dtk not installed correctly"}function inst_mingw() {    setup MinGW    _MINGW_WFSDIR=`win_fs_path $MINGW_DIR`    wget -c $MINGW_URL -P $DOWNLOAD_DIR    echo "!!! Install g++ !!!"    echo "!!! The path must be: $MINGW_DIR !!!"    $DOWNLOAD_UDIR/MinGW-*.exe    (echo "y"; echo "y"; echo "$_MINGW_WFSDIR") | sh pi.sh    quiet gcc --version && quiet ld --help || die "mingw not installed correctly"}function inst_unzip() {    setup Unzip    _UNZIP_UDIR=`unix_path $UNZIP_DIR`    wget -c $UNZIP_URL -P $DOWNLOAD_DIR    echo "!!! The path must be: $UNZIP_DIR !!!"    $DOWNLOAD_UDIR/unzip-*.exe    add_to_env $_UNZIP_UDIR/bin PATH    quiet unzip --help || die "unzip unavailable"}function inst_regex() {    setup RegEx    _REGEX_UDIR=`unix_path $REGEX_DIR`    wget -c $REGEX_BIN_URL -P $DOWNLOAD_DIR    wget -c $REGEX_LIB_URL -P $DOWNLOAD_DIR    mkdir -p $REGEX_DIR    unzip $DOWNLOAD_UDIR/regex-*-bin.zip -d $REGEX_DIR    unzip $DOWNLOAD_UDIR/regex-*-lib.zip -d $REGEX_DIR    add_to_env -I$_REGEX_UDIR/include REGEX_CPPFLAGS    add_to_env -L$_REGEX_UDIR/lib REGEX_LDFLAGS    add_to_env $_REGEX_UDIR/bin PATH    quiet ld $REGEX_LDFLAGS -lregex -o tmp && rm tmp || die "regex not installed correctly"}function inst_readline() {    setup Readline    _READLINE_UDIR=`unix_path $READLINE_DIR`    wget -c $READLINE_BIN_URL -P $DOWNLOAD_DIR    wget -c $READLINE_LIB_URL -P $DOWNLOAD_DIR    mkdir -p $READLINE_DIR    unzip $DOWNLOAD_DIR/readline-*-bin.zip -d $READLINE_DIR    unzip $DOWNLOAD_DIR/readline-*-lib.zip -d $READLINE_DIR    add_to_env -I$_READLINE_UDIR/include READLINE_CPPFLAGS    add_to_env -L$_READLINE_UDIR/lib READLINE_LDFLAGS    add_to_env $_READLINE_UDIR/bin PATH    ld $READLINE_LDFLAGS -lreadline -o tmp && rm tmp || die "readline not installed correctly"}function inst_indent() {    setup Indent    _INDENT_UDIR=`unix_path $INDENT_DIR`    wget -c $INDENT_BIN_URL -P $DOWNLOAD_DIR    mkdir -p $INDENT_DIR    unzip $DOWNLOAD_UDIR/indent-*-bin.zip -d $INDENT_DIR    add_to_env $_INDENT_UDIR/bin PATH    quiet which indent || die "indent unavailable"}function inst_guile() {    setup Guile    _GUILE_WFSDIR=`win_fs_path $GUILE_DIR`    _GUILE_UDIR=`unix_path $GUILE_DIR`    wget -c $GUILE_URL -P $DOWNLOAD_DIR    wget -c $SLIB_URL -P $DOWNLOAD_DIR    tar -xzpf $DOWNLOAD_UDIR/guile-*.tar.gz -C $TMP_UDIR    qpushd $TMP_UDIR/guile-*    qpushd ice-9    cp boot-9.scm boot-9.scm.bak    cat boot-9.scm.bak | sed '/SIGBUS/d' > boot-9.scm    qpopd    qpushd libguile    cp fports.c fports.c.bak    cat fports.c.bak | sed 's,#elif defined (FIONREAD),#elif 0,' > fports.c    cp load.c load.c.bak    cat load.c.bak | sed '/scan !=/s,:,;,' > load.c    qpopd    qpushd libguile-ltdl    cp raw-ltdl.c raw-ltdl.c.bak    cat raw-ltdl.c.bak | sed 's,\(SCMLTSTATIC\) LT_GLOBAL_DATA,\1,' > raw-ltdl.c    touch upstream/ltdl.c.diff    qpopd    ./configure \	--disable-elisp \	--disable-networking \	--disable-dependency-tracking \	--disable-libtool-lock \	--disable-linuxthreads \	-C --prefix=$_GUILE_WFSDIR \	ac_cv_func_regcomp_rx=yes \	CPPFLAGS="${READLINE_CPPFLAGS} ${REGEX_CPPFLAGS}" \	LDFLAGS="-lwsock32 ${READLINE_LDFLAGS} ${REGEX_LDFLAGS} -lregex"   cp config.status config.status.bak   cat config.status.bak | sed 's# fileblocks[$.A-Za-z]*,#,#' > config.status   ./config.status    for file in {srfi,libguile-ltdl,libguile}/Makefile; do	cp $file $file.bak	cat $file.bak | sed '/^lib.*LDFLAGS =/s,\(\\*\)$, -no-undefined \1,' > $file    done    qpushd guile-config    cp Makefile Makefile.bak    cat Makefile.bak | sed '/-bindir-/s,:,^,g' > Makefile    qpopd    make    make install    qpopd    qpushd $GUILE_DIR/bin    mv libguilereadline-v-12-12.dll libguilereadline-v-12.dll    mv libguile-srfi-srfi-4-v-1-1.dll libguile-srfi-srfi-4-v-1.dll    mv libguile-srfi-srfi-13-14-v-1-1.dll libguile-srfi-srfi-13-14-v-1.dll    qpopd    _SLIB_DIR=$GUILE_DIR\\share\\guile\\site    mkdir -p $_SLIB_DIR    unzip $DOWNLOAD_DIR/slib*.zip -d $_SLIB_DIR    qpushd $_SLIB_DIR/slib    cp guile.init guile.init.bak    echo "(define software-type (lambda () 'MS-DOS))" >> guile.init    qpopd    add_to_env $_GUILE_UDIR/bin PATH    add_to_env $_GUILE_WFSDIR/share/guile/site/slib/ SCHEME_LIBRARY_PATH    add_to_env "-I $_GUILE_UDIR/share/aclocal" ACLOCAL_FLAGS    guile -c '(use-modules (srfi srfi-39))' &&    guile -c "(use-modules (ice-9 slib)) (require 'printf)" || die "guile not installed correctly"}function inst_glade() {    setup Glade    wget -c $GLADE_URL -P $DOWNLOAD_DIR    echo "!!! The path must be: $GLADE_DIR !!!"    $DOWNLOAD_UDIR/gtk-win32-devel-*.exe    qpushd $GLADE_DIR\\lib\\pkgconfig    cp cairo.pc cairo.pc.bak    cat cairo.pc.bak | sed 's,libpng12,libpng13,' > cairo.pc    qpopd    qpushd $GLADE_DIR\\bin    cp intl.dll libintl-2.dll    qpopd    pkg-config --exists glib-2.0 gtk+-2.0 || die "glade not installed correctly"}function inst_gwrap() {    setup G-Wrap    _GWRAP_WFSDIR=`win_fs_path $GWRAP_DIR`    _GWRAP_UDIR=`unix_path $GWRAP_DIR`    wget -c $GWRAP_URL -P $DOWNLOAD_DIR    tar -xzpf $DOWNLOAD_UDIR/g-wrap-*.tar.gz -C $TMP_UDIR    qpushd $TMP_UDIR/g-wrap-*    qpushd g-wrap    cp core-runtime.c core-runtime.c.bak    cat core-runtime.c.bak | sed '/vasprintf/d' > core-runtime.c    qpopd    cp configure configure.bak    cat configure.bak | sed 's,"glib","glib-2.0",g' > configure    ./configure \	--prefix=$_GWRAP_WFSDIR \	LDFLAGS="-no-undefined"    qpushd guile/g-wrap/gw    cp Makefile Makefile.bak    cat Makefile.bak | sed '/^libgw_guile_standard_la_LIBADD/s,$, ../../../libffi/libffi.la ../../../g-wrap/libgwrap-core-runtime.la,;/libgw_guile_gw_glib_la_LIBADD/s,$, ../../../g-wrap/libgwrap-core-runtime.la,' > Makefile    make standard.c gw-glib.c    cp standard.scm standard.scm.bak    cat standard.scm.bak | sed -c 's,\(libgw-guile-standard\),../lib/\1-0,' > standard.scm    cp gw-glib.scm gw-glib.scm.bak    cat gw-glib.scm.bak | sed -c 's,\(libgw-guile-gw-glib\),../lib/\1-0,' > gw-glib.scm    qpopd    qpushd guile/test    cp Makefile Makefile.bak    cat Makefile.bak | sed '/^std_libs/s,\\$, ../../libffi/libffi.la \\,' > Makefile    qpopd    make    make install    qpopd    add_to_env $_GWRAP_UDIR/bin PATH    add_to_env $_GWRAP_UDIR/lib/pkgconfig PKG_CONFIG_PATH    add_to_env $_GWRAP_WFSDIR/share/guile/site GUILE_LOAD_PATH    guile -c '(use-modules (srfi srfi-39))' &&    quiet g-wrap-config --version || die "g-wrap not installed correctly"}function inst_gnome() {    setup Gnome platform    _GNOME_UDIR=`unix_path $GNOME_DIR`    wget -c $INTLTOOL_URL -P $DOWNLOAD_DIR    wget -c $ORBIT2_URL -P $DOWNLOAD_DIR    wget -c $ORBIT2_DEV_URL -P $DOWNLOAD_DIR    wget -c $GCONF_URL -P $DOWNLOAD_DIR    wget -c $GCONF_DEV_URL -P $DOWNLOAD_DIR    wget -c $LIBBONOBO_URL -P $DOWNLOAD_DIR    wget -c $LIBBONOBO_DEV_URL -P $DOWNLOAD_DIR    wget -c $GNOME_VFS_URL -P $DOWNLOAD_DIR    wget -c $GNOME_VFS_DEV_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOME_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOME_DEV_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOMECANVAS_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOMECANVAS_DEV_URL -P $DOWNLOAD_DIR    wget -c $LIBBONOBOUI_URL -P $DOWNLOAD_DIR    wget -c $LIBBONOBOUI_DEV_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOMEUI_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOMEUI_DEV_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOMEPRINT_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOMEPRINT_DEV_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOMEPRINTUI_URL -P $DOWNLOAD_DIR    wget -c $LIBGNOMEPRINTUI_DEV_URL -P $DOWNLOAD_DIR    wget -c $GTKHTML_URL -P $DOWNLOAD_DIR    wget -c $GTKHTML_DEV_URL -P $DOWNLOAD_DIR    mkdir -p $GNOME_DIR    unzip $DOWNLOAD_UDIR/intltool-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/ORBit2-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/ORBit2-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/GConf-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/GConf-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libbonobo-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libbonobo-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/gnome-vfs-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/gnome-vfs-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnome-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnome-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnomecanvas-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnomecanvas-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libbonoboui-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libbonoboui-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnomeui-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnomeui-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnomeprint-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnomeprint-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnomeprintui-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/libgnomeprintui-dev-*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/gtkhtml-[^d]*.zip -d $GNOME_DIR    unzip $DOWNLOAD_UDIR/gtkhtml-dev-*.zip -d $GNOME_DIR    add_to_env $_GNOME_UDIR/bin PATH    add_to_env $_GNOME_UDIR/lib/pkgconfig PKG_CONFIG_PATH    add_to_env "-I $_GNOME_UDIR/share/aclocal" ACLOCAL_FLAGS    quiet gconftool-2 --version &&    pkg-config --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&    quiet intltoolize --version || die "gnome not installed correctly"}function inst_autotools() {    setup Autotools    _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`    wget -c $AUTOCONF_URL -P $DOWNLOAD_DIR    wget -c $AUTOMAKE_URL -P $DOWNLOAD_DIR    wget -c $LIBTOOL_URL -P $DOWNLOAD_DIR    add_to_env $_AUTOTOOLS_UDIR/bin PATH    tar -xjpf $DOWNLOAD_UDIR/autoconf-*.tar.bz2 -C $TMP_UDIR    qpushd $TMP_UDIR/autoconf-*   ./configure --prefix=$_AUTOTOOLS_UDIR    make    make install    qpopd    tar -xjpf $DOWNLOAD_UDIR/automake-*.tar.bz2 -C $TMP_UDIR    qpushd $TMP_UDIR/automake-*    ./configure --prefix=$_AUTOTOOLS_UDIR    make    make install    qpopd    tar -xzpf $DOWNLOAD_UDIR/libtool-*.tar.gz -C $TMP_UDIR    qpushd $TMP_UDIR/libtool-*    ./configure --prefix=$_AUTOTOOLS_UDIR    make    make install    qpopd    add_to_env -I$_AUTOTOOLS_UDIR/include AUTOTOOLS_CPPFLAGS    add_to_env -L$_AUTOTOOLS_UDIR/lib AUTOTOOLS_LDFLAGS    add_to_env "-I $_AUTOTOOLS_UDIR/share/aclocal" ACLOCAL_FLAGS    quiet autoconf --help &&    quiet automake --help &&    quiet libtool --help || die "autotools not installed correctly"}function inst_svn() {    setup Subversion    _SVN_UDIR=`unix_path $SVN_DIR`    wget -c $SVN_URL -P $DOWNLOAD_DIR    echo "!!! The path must be: $SVN_DIR !!!"    $DOWNLOAD_UDIR/svn-*.exe    export PATH="$_SVN_UDIR/bin:$PATH"}function svn_up() {    mkdir -p $REPOS_DIR    qpushd $REPOS_DIR    if [ -x .svn ]; then	setup svn up	svn up    else	setup svn co	svn co $REPOS_URL .    fi    qpopd}function inst_gnucash() {    setup GnuCash    _GNUCASH_WFSDIR=`win_fs_path $GNUCASH_DIR`    qpushd $REPOS_DIR    cp configure.in configure.in.bak    cat configure.in.bak | sed '/AC_PROG_INTLTOOL/s#$#([],[no-xml])#;/GUILE_LOAD_PATH/s,:,;,g' > configure.in    ./autogen.sh    ./configure \	--prefix=$_GNUCASH_WFSDIR \	--enable-debug \	CPPFLAGS="${AUTOTOOLS_CPPFLAGS}" \	LDFLAGS="${AUTOTOOLS_LDFLAGS}"#    make    qpopd}function finish() {    _NEW=x    for _ENV in $ENV_VARS; do	_ADDS=`eval echo '"\$'"${_ENV}"'_ADDS"'`	if [ "$_ADDS" ]; then	    if [ "$_NEW" ]; then		echo		echo "Environment variables changed, please do the following"		echo		_NEW=	    fi	    _VAL=`eval echo '"$'"${_ENV}_BASE"'"'`	    if [ "$_VAL" ]; then		_CHANGE="export ${_ENV}=\"${_ADDS}"'$'"${_ENV}\""	    else		_CHANGE="export ${_ENV}=\"${_ADDS}\""	    fi	    echo $_CHANGE	    echo echo "'${_CHANGE}' >> /etc/profile.d/installer.sh"	fi    done}preparefor step in "${steps[@]}" ; do    eval $stepdonefinish