#!/bin/sh -x # build script for spacefm # built on tc-7.x set -o nounset set -o errexit . /etc/init.d/tc-functions ################################################################################################### ################################################################################################### # Downloads # http://sourceforge.net/projects/spacefm/files/ ################################################################################################### # Build spacefm name=spacefm srcname=`find . -iname 'spacefm*.tar*' -print | sed 's/.tar.[a-z0-9]*//'` ver=`echo $srcname | sed -e 's/spacefm-//'` pkg=/tmp/${name}_build/pkg loc=/tmp/${name}_build/loc pkgdir=/tmp/${name}-build kerarch=$(uname -m) kerbuild=$(uname -r) ##****************************************** ## load build deps echo -e "\n\nFetching build dependencies... " tceinstalled="/usr/local/tce.installed" tcepath="/etc/sysconfig/tcedir/optional" deps="compiletc.tcz \ bash.tcz \ desktop-file-utils.tcz \ shared-mime-info.tcz \ libstartup-notification-dev.tcz \ pango-dev.tcz \ libX11-dev.tcz \ intltool.tcz \ gtk2-dev.tcz \ glib2-dev.tcz \ gamin-dev.tcz \ autogen-dev.tcz \ wget.tcz \ cairo-dev.tcz \ libtool-dev.tcz \ automake.tcz \ pkg-config.tcz \ udev-lib-dev.tcz \ udevil.tcz \ fakeroot.tcz \ gzip.tcz \ gamin-dev.tcz \ ntfs-3g-dev.tcz \ bzip2-dev.tcz \ acl-dev.tcz \ cifs-utils.tcz \ coreutils.tcz \ davfs2.tcz \ e2fsprogs-dev.tcz \ util-linux-dev.tcz \ lsof.tcz \ xdg-utils.tcz" for i in `echo $deps`; do pkgname=`basename "$i" .tcz` # check if tcz installed already if [ -f ${tceinstalled}/"$pkgname" ]; then echo "${WHITE}"$i" ${GREEN}Already loaded${NORMAL}" else if [ ! -f ${tceinstalled}/"$pkgname" ]; then # tcz not installed, then install from local path if [ -f ${tcepath}/"$i" ]; then while [ ! -f ${tceinstalled}/"$pkgname" ]; do tce-load -i "$pkgname"; sleep 0.5 done if [ -f ${tceinstalled}/"$pkgname" ]; then echo "${CYAN}"$i" ${BLUE}loaded locally${NORMAL}" fi # tcz not downloaded, install from repo elif [ ! -f ${tcepath}/"$i" ]; then tce-load -wil "$pkgname"; sleep 0.5 if [ -f ${tceinstalled}/"$pkgname" ]; then echo "${MAGENTA}"$i" ${YELLOW}downloaded from repo${NORMAL}" fi fi fi fi if [ ! -f "${tceinstalled}/$pkgname" ]; then echo "${RED}$i failed to load, exiting..${NORMAL}"; exit 8 fi done read -p "continue?" sleep 1 cd /tmp ##End od fetch deps ##****************************************** #cleanup echo -e "\n\n Cleaning up previous builds, starting fresh... " [ -d "$pkgdir" ] && find ${pkgdir} -type d -print0 | xargs -0 -r sudo rm -rvf sleep 1.5 if [ -d $pkgdir ]; then echo -e "\n\n Previous build directory found, discard before continuing... " sleep 10 exit 1 fi if [ ! -f ${srcname}*.tar* ]; then mkdir $pkgdir && cd $pkgdir echo -e "\n\n Downloading src... " wget -O spacefm.tar.gz https://github.com/IgnorantGuru/spacefm/tarball/master sleep 10 exit 1 fi if [ -f ${srcname}*.tar* ]; then echo -e "\n\n Unpacking src... " mkdir -p $pkgdir [ -d $pkgdir ] && tar xpvf ${srcname}*.tar.[gx]z -C $pkgdir fi echo -e "\n\n Setting file ownership..." [ -d $pkgdir ] && sudo chown tc.staff -R $pkgdir set +x; echo -e "\n\n ${BLUE}Export compiler flags... ${NORMAL}"; set -x if [ "x$kerarch" == xx86_64 ]; then # x86_64 echo "compile flags for $kerarch" export CFLAGS="-mtune=generic -Os -pipe" export CXXFLAGS="-mtune=generic -Os -pipe -fno-exceptions -fno-rtti" else # x86 echo "compile flags for $kerarch" export CFLAGS="-march=i486 -mtune=i686 -Os -pipe" export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe" fi cd $pkgdir [ -d $srcname* ] && cd $srcname* find . -name Makefile -type f -exec sed -i 's/-O2//g' {} \; ./configure --prefix=/usr/local --disable-video-thumbnails #read -p "waiting to make.." echo -e "\n\n Running make + make install..." make -j3 cd src sudo strip --strip-debug --strip-unneeded $name cd .. sudo make install DESTDIR=$(pwd)/stage echo -e "\n\n Setting file ownership..." [ -d $(pwd)/stage ] && sudo chown tc.staff -R $(pwd)/stage echo -e "\n Done" echo "\n Completed files can be found in $(pwd)/stage \n " exit 2