#!/bin/sh # Built on TCL v4.1 # Required extensions: # compiletc # bison # diffutils # file # findutils # flex # gawk # gcc # gcc_libs # binutils # mpc # mpfr # gmp # grep # m4 # make # patch # pkg-config # glib2 # libffi # popt # sed # e2fsprogs_base-dev # eglibs_base-dev # fltk_base-dev # freetype_base-dev # gcc_base-dev # imlib2_base-dev # jpeg_base-dev # libpng_base-dev # linux-3.0.1_api_headers # util-linux_base-dev # zlib_base-dev # squashfs-tools-4.x # tar # SDL # libmad # SDL-dev # gtk2-dev # Xorg-7.6-dev # perl5 # atk-dev # atk # glib2-dev # libffi-dev # cairo-dev # cairo # pixman # fontconfig # expat2 # pixman-dev # fontconfig-dev # expat2-dev # graphics-libs-1-dev # graphics-libs-1 # libxml2-dev # libxml2 # libxml2-bin # gtk2 # pango # Xorg-7.6-lib # libxcb # gdk-pixbuf2 # shared-mime-info # gdk-pixbuf2-dev # pango-dev # libxcb-dev # libpthread-stubs # alsa-dev # alsa # alsa-modules-KERNEL # input-joystick-KERNEL # v4l-dvb-KERNEL # i2c-KERNEL # libasound # pci-utils # libpci # alsa-config # libmad-dev # Xorg-7.6 # Xorg-7.6-bin # Xorg-fonts # xf86-video-all # xf86-video-apm # xf86-video-ark # xf86-video-ast # xf86-video-ati # graphics-KERNEL # firmware-radeon # xf86-video-chips # xf86-video-cirrus # xf86-video-geode # xf86-video-glint # xf86-video-i128 # xf86-video-i740 # xf86-video-intel # xf86-video-mach64 # xf86-video-mga # xf86-video-neomagic # xf86-video-newport # xf86-video-nv # xf86-video-openchrome # xf86-video-r128 # xf86-video-rendition # xf86-video-s3 # xf86-video-s3virge # xf86-video-savage # xf86-video-siliconmotion # xf86-video-sis # xf86-video-sisusb # xf86-video-tdfx # xf86-video-tga # xf86-video-trident # xf86-video-tseng # xf86-video-v4l # xf86-video-vmware # xf86-video-voodoo # xf86-video-xgi # xf86-video-xgixp 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 } createExtension() { mksquashfs $1 $1.tcz -noappend [ ! -e $1.tcz ] && echo "Error: "$1".tcz not created! Aborting" && exit } unpackSrc() { #unpack source if [ -e $1.tar.bz2 ]; then tar -jxf $1.tar.bz2 elif [ -e $1.tb2 ]; then tar -jxf $1.tb2 elif [ -e $1.tbz ]; then tar -jxf $1.tbz elif [ -e $1.tar.gz ]; then tar -zxf $1.tar.gz elif [ -e $1.tgz ]; then tar -zxf $1.tgz elif [ -e $1.tar.xz ]; then tar -Jxf $1.tar.xz elif [ -e $1.txz ]; then tar -Jxf $1.txz elif [ -e $1.tar.lzma ]; then tar -xf $1.tar.lzma --lzma elif [ -e $1.tlz ]; then tar -xf $1.tlz --lzma elif [ -e $1.zip ]; then unzip $1.zip else echo "Source "$1" not found! Aborting" && exit fi } # Install these extensions automagically export EXTS="compiletc squashfs-tools-4.x tar SDL SDL-dev gtk2-dev alsa-dev libmad-dev Xorg-7.6" export TCEDIR=`cat /opt/.tce_dir` export CFLAGS="-march=i486 -mtune=i686 -O3 -pipe" export CXXFLAGS=$CFLAGS" -fno-exceptions -fno-rtti" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export EXTNAME="nestopia" export VER="140" export REL="_lnx_release_h" export DESTDIR=`pwd`/$EXTNAME export PKGNAME="Nestopia"$VER"src" export RELNAME="nst"$VER$REL for f in $EXTS; do installExtension $f done mkdir -p $PKGNAME $DESTDIR/usr/local/share/$EXTNAME $DESTDIR/usr/local/bin $DESTDIR/usr/local/share/applications $DESTDIR/usr/local/share/pixmaps $DESTDIR/usr/local/tce.installed cd $PKGNAME unpackSrc "../"$PKGNAME unpackSrc "../"$RELNAME make || exit # manually install cp nst $DESTDIR/usr/local/bin cp nstcontrols $DESTDIR/usr/local/share/$EXTNAME cp NstDatabase.xml $DESTDIR/usr/local/share/$EXTNAME cp ../Nestopia.png $DESTDIR/usr/local/share/pixmaps cd $DESTDIR sudo strip --strip-unneeded usr/local/bin/* echo "[Desktop Entry] Name=Nestopia Comment=NES/Famicon Emulator Exec=nst Icon=Nestopia Type=Application Categories=Game;Emulator; X-FullPathIcon=/usr/local/share/pixmaps/Nestopia.png" > usr/local/share/applications/$EXTNAME.desktop echo '#!/bin/sh TCUSER=`cat /etc/sysconfig/tcuser` if [ ! -e /home/$TCUSER/.nestopia ]; then mkdir -p /home/$TCUSER/.nestopia /home/$TCUSER/.local/share cp -p /usr/local/share/nestopia/* /home/$TCUSER/.nestopia chown -R $TCUSER:staff /home/$TCUSER/.nestopia fi' > usr/local/tce.installed/$EXTNAME sudo chown -R root:staff usr/local/tce.* sudo chmod -R 775 usr/local/tce.* cd .. createExtension $EXTNAME rm -rf $PKGNAME $EXTNAME # Create extension support files and test installExtension "submitqc4" submitqc4