#!/bin/sh # Built on TCL v3.3 # Required extensions: # compiletc # binutils # base-dev # bison # diffutils # file # findutils # flex # gawk # gcc # gcc_libs # cloog # ppl # gmp # mpfr # gperf # grep # m4 # make # patch # pkg-config # sed # squashfs-tools-4.x # tar # SDL # libmad # SDL-dev # gtk2-dev # Xorg-7.5-dev # perl5 # atk-dev # atk # glib2 # glib2-dev # cairo-dev # pixman # pixman-dev # fontconfig # expat2 # fontconfig-dev # graphics-libs-1-dev # graphics-libs-1 # expat2-dev # libxml2-dev # libxml2 # libxml2-bin # gtk2 # cairo # pango # libxft # gdk-pixbuf2 # Xorg-7.5-lib # gdk-pixbuf2-dev # pango-dev # Xorg-7.5 # openssl-0.9.8 # Xorg-7.5-bin # Xorg-fonts # libmad-dev getTime.sh installExtension() { if [ ! -e /usr/local/tce.installed/$1 ]; then echo "Installing "$1" ..." if [ -e $TCEDIR/optional/$1.tcz ]; then tce-load -i $1 else tce-load -wi $1 fi [ ! -e /usr/local/tce.installed/$1 ] && echo "Error: Extension "$1" not installed! Aborting" && exit fi } # Install these extensions automagically export EXTS="compiletc squashfs-tools-4.x tar SDL SDL-dev gtk2-dev Xorg-7.5 libmad-dev" export TCEDIR=`cat /opt/.tce_dir` export CFLAGS="-march=i486 -mtune=i686 -Os -pipe" export CXXFLAGS=$CFLAGS" -fno-exceptions -fno-rtti" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export EXTNAME="mupen64plus" export VER="-1-5-src" export DESTDIR=`pwd`/$EXTNAME export PKGNAME="Mupen64Plus"$VER for f in $EXTS; do installExtension $f done #unpack source if [ -e $PKGNAME.tar.bz2 ]; then tar -jxf $PKGNAME.tar.bz2 elif [ -e $PKGNAME.tb2 ]; then tar -jxf $PKGNAME.tb2 elif [ -e $PKGNAME.tbz ]; then tar -jxf $PKGNAME.tbz elif [ -e $PKGNAME.tar.gz ]; then tar -zxf $PKGNAME.tar.gz elif [ -e $PKGNAME.tgz ]; then tar -zxf $PKGNAME.tgz elif [ -e $PKGNAME.tar.xz ]; then tar -Jxf $PKGNAME.tar.xz elif [ -e $PKGNAME.txz ]; then tar -Jxf $PKGNAME.txz elif [ -e $PKGNAME.tar.lzma ]; then tar -xf $PKGNAME.tar.lzma --lzma elif [ -e $PKGNAME.tlz ]; then tar -xf $PKGNAME.tlz --lzma else echo "Source tarball not found! Aborting" && exit fi cd $PKGNAME # fix some bugs, patches from Debian # fix GL overflow sed -i 's!90!256!' rice_video/GraphicsContext.h sed -i 's!%s - %s : %s!%.60s - $.128s : %.60s!' rice_video/GraphicsContext.h # fix typedef error from gvariant.h sed -i '22s!.*!#include !' rice_video/typedefs.h sed -i 's!#define uchar unsigned char!typedef uint8_t uchar;!' rice_video/typedefs.h sed -i 's!#define uint16 unsigned short!typedef uint16_t uint16;!' rice_video/typedefs.h sed -i 's!#define uint32 unsigned int!typedef uint32_t uint32;!' rice_video/typedefs.h sed -i 's!#define uint64 unsigned long long!typedef uint64_t uint64;!' rice_video/typedefs.h # Fix const char* to char* error sed -i '/strstr/{x;p;x;}' glide64/Combine.cpp sed -i '11876s!.*!const char *extstr = strstr(extensions, "COMBINE");!' glide64/Combine.cpp sed -i '11877s!.*!if (extstr) {!' glide64/Combine.cpp sed -i '786s!.*!{ const char * extstr = strstr(extensions, "TEXTUREBUFFER");!' glide64/Main.cpp sed -i '787s!.*!if (extstr)!' glide64/Main.cpp # Add DESTDIR to Makefile sed -i 's!^INSTALLOPTS :=.*!INSTALLOPTS := "$(DESTDIR)$(PREFIX)" "$(DESTDIR)$(SHAREDIR)" "$(DESTDIR)$(BINDIR)" "$(DESTDIR)$(LIBDIR)" "$(DESTDIR)$(MANDIR)" "$(DESTDIR)$(APPLICATIONSDIR)"!' Makefile make all && make install || exit cd $DESTDIR rm -rf usr/local/man mkdir usr/local/share/pixmaps usr/local/tce.installed ln -s /usr/local/share/$EXTNAME/icons/$EXTNAME-large.png usr/local/share/pixmaps/$EXTNAME.png sed -i "s!^Icon=.*!Icon=$EXTNAME!" usr/local/share/applications/$EXTNAME.desktop echo "X-FullPathIcon=/usr/local/share/pixmaps/$EXTNAME.png" >> usr/local/share/applications/$EXTNAME.desktop export CONFDIR="usr/local/share/mupen64plus/config" for f in $(ls $CONFDIR); do mv $CONFDIR/$f $CONFDIR/$f.orig done echo '#!/bin/sh cd /usr/local/share/mupen64plus/config for f in $(ls *.orig); do [ ! -e `echo $f | cut -d . -f 1-2` ] && cp -p $f `echo $f | cut -d . -f 1-2` done' > usr/local/tce.installed/$EXTNAME sudo chown -R root:staff usr/local/tce.* sudo chmod -R 775 usr/local/tce.* find usr -not -type d > ../$EXTNAME.tcz.list cd .. mmksquashfs $EXTNAME $EXTNAME.tcz -noappend md5sum $EXTNAME.tcz > $EXTNAME.tcz.md5.txt rm -rf $PKGNAME $EXTNAME