#!/bin/bash
CWD=${PWD}
cat > ./SlackFarms << EOF
source.tar.or.zip
http://slackbuilds.org/repository/
https://aur.archlinux.org/packages
http://www.slacky.eu/
var/abs/PKGBUILDS.on_your_drive
EOF


choosen=`yad --entry --text 'Website to Work with' $(sort SlackFarms)`


#######Arch Aur SlackBuilds are handled by this section of the script.###################

if [ "$choosen" = "https://aur.archlinux.org/packages" ]; then
SBhttp=`yad --dnd --text="Pull PKGBUILD here"`
wget $SBhttp

NAMEALL=`grep '^pkgname=' ./*PKGBUILD`
NAME=`echo ${NAMEALL:8:40}`


VERSIONALL=`grep pkgver= ./PKGBUILD`
VERSION1=`echo $VERSIONALL | sed 's/pkgver//g'`
VERSION2=`echo $VERSION1 | sed 's/=${:-//g'`
VERSION2=`echo $VERSION1 | sed 's/=${://g'`
VERSION3=`echo $VERSION2 | sed 's/}//g'`
VERSION=`echo $VERSION3 | sed 's/=//g'`


LINK=`yad --dnd --text="Pull Link Here"`


echo "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"
xterm -e "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"


fileALL=`echo $LINK | rev | cut -d/ -f1 | rev`
file1=`echo $fileALL | sed 's,'"$NAME"',${NAME},'g`
file2=`echo $file1 | sed 's,'"$VERSION"',${VERSION},'g`

sed -i 's,$NAME-$VERSION.tar.* || exit 1,'"$file2"'',g ./$NAME/src/$NAME.SlackBuild

sed -i 's,$NAME,${NAME},g' ./$NAME/src/$NAME.SlackBuild
sed -i 's,$VERSION,${VERSION},g' ./$NAME/src/$NAME.SlackBuild


if grep p0 ./*PKGBUILD; then sed -i 's/p1/p0/g' ./$NAME/src/$NAME.SlackBuild; fi


sed -i '254i cat $CWD/*install >> $PKG/install/doinst.sh' ./$NAME/src/$NAME.SlackBuild
sed -i '196i if test -f $CWD/$NAME.png; then' ./$NAME/src/$NAME.SlackBuild
sed -i '197i mkdir -p $PKG/usr/share/pixmaps' ./$NAME/src/$NAME.SlackBuild
sed -i '198i cp $CWD/$NAME.png $PKG/usr/share/pixmaps/$NAME.png; fi' ./$NAME/src/$NAME.SlackBuild
sed -i '199i ## Now test for desktop file' ./$NAME/src/$NAME.SlackBuild
sed -i '200i mkdir -p $PKG/usr/share/applications' ./$NAME/src/$NAME.SlackBuild
sed -i '201i if test -f $CWD/${NAME}.desktop; then' ./$NAME/src/$NAME.SlackBuild
sed -i '202i cp $CWD/$NAME.desktop $PKG/usr/share/applications/$NAME.desktop' ./$NAME/src/$NAME.SlackBuild
sed -i '203i fi' ./$NAME/src/$NAME.SlackBuild

pkgdesc=`grep pkgdesc= ./*PKGBUILD`
pkgdesc1=`echo $pkgdesc | sed 's/pkgdesc=//g'`
pkgdesc2=`echo $pkgdesc1 | sed 's/"//g'`
echo $pkgdesc2
sed -i '292i $NAME: $NAME (insert description here)' ./$NAME/src/$NAME.SlackBuild
sed -i '293d' ./$NAME/src/$NAME.SlackBuild
sed -i 's/insert description here/'"${pkgdesc2}"''/g ./$NAME/src/$NAME.SlackBuild

license=`grep license= ./*PKGBUILD`
echo $license
license1=`echo $license | sed 's/(//g;s/)//g'`
echo $license1
sed -i 's/License\: GPL/'"$license1"''/g ./$NAME/src/$NAME.SlackBuild

url=`grep url= ./*PKGBUILD`
url1=`echo $url | sed 's/url=//g'`
url2=`echo $url1 | sed 's/"//g'`
echo $url2
sed -i '303i $NAME: Website: website info here' ./$NAME/src/$NAME.SlackBuild
sed -i '304d' ./$NAME/src/$NAME.SlackBuild
sed -i 's,website info here,'"$url2"'',g ./$NAME/src/$NAME.SlackBuild

sed -i "s/Authors: /Authors: See Website"/g ./$NAME/src/$NAME.SlackBuild

morestuff=`yad --dnd --text="Download Tarball here"`

rm ./*PKGBUILD

cd $CWD/$NAME/src/
wget $morestuff
tar xfv ./*tar.*z

path=`find ./ -name "PKGBUILD" -exec dirname {} \;`
mv $path/*diff ./*/*patch $CWD/$NAME/src/patches
mv $path/* $CWD/$NAME/src/

sleep 4
rm $CWD/$NAME/src/$NAME*tar.gz
rm -r $path

sed -i ',cd $srcdir/,d' $CWD/$NAME/src/PKGBUILD
sed -i 's/pkgdir/PKG/g' $CWD/$NAME/src/PKGBUILD
sed -i 's/pkgname/NAME/g' $CWD/$NAME/src/PKGBUILD
sed -i 's,${srcdir},${TMP}/${NAME}-${VERSION},g' $CWD/$NAME/src/PKGBUILD
sed -i 's,srcdir,TMP/${NAME}-${VERSION},g' $CWD/$NAME/src/PKGBUILD
sed -i 's,${pkgver},${VERSION},g' $CWD/$NAME/src/PKGBUILD 
sed -i 's,pkgver,VERSION,g' $CWD/$NAME/src/PKGBUILD 

sed -i 's,${startdir}/src,${TMP},g' $CWD/$NAME/src/PKGBUILD 
sed -i 's,$startdir/src,$TMP,g' $CWD/$NAME/src/PKGBUILD

sed -i 's,${startdir}/pkg,${PKG},g' $CWD/$NAME/src/PKGBUILD 
sed -i 's,$startdir/pkg,$PKG,g' $CWD/$NAME/src/PKGBUILD

sed -i 's,${startdir},${CWD},g' $CWD/$NAME/src/PKGBUILD 
sed -i 's,startdir,CWD,g' $CWD/$NAME/src/PKGBUILD

sed -i 's,${NAME}-${VERSION}/$NAME-$VERSION,${NAME}-${VERSION}/,g' $CWD/$NAME/src/PKGBUILD
sed -i 's,${NAME}-${VERSION}/${NAME}-${VERSION/_/-},${NAME}-${VERSION}/,g' $CWD/$NAME/src/PKGBUILD

sed -i '17i ##Thanks to the people at https://aur.archlinux.org for the references drawn from their SlackBuild.' ./$NAME/src/$NAME.SlackBuild

vsuper terminator --working-directory=$CWD/$NAME/src/ &

cd $CWD
rm ./PKGBUILD
exit
fi






#######SlackBuild.org SlackBuilds are handled by this section of the script.###################


if [ "$choosen" = "http://slackbuilds.org/repository/" ]; then
SBhttp=`yad --dnd --text="Pull a SlackBuild here"`
wget $SBhttp

NAMEALL=`grep '^PRGNAM=' ./*SlackBuild`
NAME=`echo ${NAMEALL:7:40}`


VERSIONALL=`grep '^VERSION=' ./*SlackBuild`
VERSION1=`echo $VERSIONALL | sed 's/VERSION//g' | sed 's/=//g'`
VERSION2=`echo $VERSION1 | sed 's/-//g'`
VERSION3=`echo $VERSION2 | sed 's/${//g'`
VERSION4=`echo $VERSION3 | sed 's/}//g'`
VERSION=`echo $VERSION4 | sed 's/://g'`


LINK=`yad --dnd --text="Pull Link Here"`


echo "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"
xterm -e "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"

fileALL=`echo $LINK | rev | cut -d/ -f1 | rev`
file1=`echo $fileALL | sed 's,'"$NAME"',${NAME},'g`
file2=`echo $file1 | sed 's,'"$VERSION"',${VERSION},'g`

sed -i 's,$NAME-$VERSION.tar.* || exit 1,'"$file2"'',g ./$NAME/src/$NAME.SlackBuild

sed -i 's,$NAME,${NAME},g' ./$NAME/src/$NAME.SlackBuild
sed -i 's,$VERSION,${VERSION},g' ./$NAME/src/$NAME.SlackBuild

if [ `echo $file2 | grep zip` ]; then
sed -i 's,tar xvf,unzip,g' ./$NAME/src/$NAME.SlackBuild
fi

if grep p0 ./*SlackBuild; then sed -i 's/p1/p0/g' ./$NAME/src/$NAME.SlackBuild; fi


sed -i '254i cat $CWD/doinst.sh >> $PKG/install/doinst.sh' ./$NAME/src/$NAME.SlackBuild
sed -i '196i if test -f $CWD/$NAME.png; then' ./$NAME/src/$NAME.SlackBuild
sed -i '197i mkdir -p $PKG/usr/share/pixmaps' ./$NAME/src/$NAME.SlackBuild
sed -i '198i cp $CWD/$NAME.png $PKG/usr/share/pixmaps/$NAME.png; fi' ./$NAME/src/$NAME.SlackBuild
sed -i '199i ## Now test for desktop file' ./$NAME/src/$NAME.SlackBuild
sed -i '200i mkdir -p $PKG/usr/share/applications' ./$NAME/src/$NAME.SlackBuild
sed -i '201i if test -f $CWD/${NAME}.desktop; then' ./$NAME/src/$NAME.SlackBuild
sed -i '202i cp $CWD/$NAME.desktop $PKG/usr/share/applications/$NAME.desktop' ./$NAME/src/$NAME.SlackBuild
sed -i '203i fi' ./$NAME/src/$NAME.SlackBuild



sed -i 's/PRGNAM/NAME/g' $CWD/*SlackBuild
sed -i 's/pkgname/NAME/g' $CWD/*SlackBuild
sed -i 's,${TMP}/${SRCDIR},${TMP}/${NAME}-${VERSION},g' $CWD/$NAME-SlackBuild
sed -i 's,$TMP/SRCDIR,TMP/${NAME}-${VERSION},g' $CWD/$NAME-SlackBuild
sed -i 's,${pkgver},${VERSION},g' $CWD/$NAME-SlackBuild 

sed -i '17i ##Thanks to the people at http://slackbuilds.org for the references drawn from thier SlackBuild.' ./$NAME/src/$NAME.SlackBuild


vsuper terminator --working-directory=$CWD/$NAME/src/ &


mv ./*SlackBuild $CWD/$NAME/src/Reference.txt

fi


#######Slacky.eu SlackBuilds are handled by this section of the script.###################


if [ "$choosen" = "http://www.slacky.eu/" ]; then
SBhttp=`yad --dnd --text="Pull SlackBuild here"`
wget $SBhttp
NAMEALL=`grep PKGNAME= ./*SlackBuild`
NAME=`echo ${NAMEALL:8:40}`


VERSIONALL=`grep '^VERSION=' ./*SlackBuild`
VERSION1=`echo $VERSIONALL | sed 's/VERSION//g' | sed 's/=//g'`
VERSION2=`echo $VERSION1 | sed 's/-//g'`
VERSION3=`echo $VERSION2 | sed 's/${//g'`
VERSION4=`echo $VERSION3 | sed 's/}//g'`
VERSION=`echo $VERSION4 | sed 's/://g'`


LINKALL=`grep 'SOURCE=' ./*SlackBuild`
LINK=`echo $LINKALL | sed 's,SOURCE,,g' | sed 's,=,,g' | sed 's,",,g' | sed 's,$PKGNAME,'"${NAME}"';,g' | sed 's,$VERSION,'"$VERSION"',g'`





echo "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK "
xterm -e "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"

fileALL=`echo $LINK | rev | cut -d/ -f1 | rev`
file1=`echo $fileALL | sed 's,'"$NAME"',${NAME},'g`
file2=`echo $file1 | sed 's,'"$VERSION"',${VERSION},'g`

sed -i 's,$NAME-$VERSION.tar.* || exit 1,'"$file2"'',g ./$NAME/src/$NAME.SlackBuild

sed -i 's,$NAME,${NAME},g' ./$NAME/src/$NAME.SlackBuild
sed -i 's,$VERSION,${VERSION},g' ./$NAME/src/$NAME.SlackBuild

if [ `echo $file2 | grep zip` ]; then
sed -i 's,tar xvf,unzip,g' ./$NAME/src/$NAME.SlackBuild
fi

if grep p0 ./*SlackBuild; then sed -i 's/p1/p0/g' ./$NAME/src/$NAME.SlackBuild; fi


sed -i '254i cat $CWD/doinst.sh >> $PKG/install/doinst.sh' ./$NAME/src/$NAME.SlackBuild
sed -i '196i if test -f $CWD/$NAME.png; then' ./$NAME/src/$NAME.SlackBuild
sed -i '197i mkdir -p $PKG/usr/share/pixmaps' ./$NAME/src/$NAME.SlackBuild
sed -i '198i cp $CWD/$NAME.png $PKG/usr/share/pixmaps/$NAME.png; fi' ./$NAME/src/$NAME.SlackBuild
sed -i '199i ## Now test for desktop file' ./$NAME/src/$NAME.SlackBuild
sed -i '200i mkdir -p $PKG/usr/share/applications' ./$NAME/src/$NAME.SlackBuild
sed -i '201i if test -f $CWD/${NAME}.desktop; then' ./$NAME/src/$NAME.SlackBuild
sed -i '202i cp $CWD/$NAME.desktop $PKG/usr/share/applications/$NAME.desktop' ./$NAME/src/$NAME.SlackBuild
sed -i '203i fi' ./$NAME/src/$NAME.SlackBuild



sed -i 's/PKGNAME/NAME/g' $CWD/*SlackBuild

sed -i '17i ##Thanks to the people at www.slacky.eu for the references drawn from their SlackBuild.' ./$NAME/src/$NAME.SlackBuild

vsuper terminator --working-directory=$CWD/$NAME/src/ &


mv ./*SlackBuild $CWD/$NAME/src/Reference.txt

fi


####This section has the script that handles when just a link to a tar* or zip file is found.
if [ "$choosen" = "source.tar.or.zip" ]; then

LINKAll=`yad --dnd --text="Pull Link Here"`
echo $LINKAll
LINK=$LINKAll

fileALL=`echo $LINKAll | rev | cut -d/ -f1 | rev`
echo $fileALL
file=`echo $fileALL | sed 's/.tar.gz//g' | sed 's/.tar.bz2//g' | sed 's/_/-/g' | sed 's/-src//g' | sed 's/.zip//g'`
echo $file

num=`grep -o "-" <<<"$file" | wc -l`

if [ $num = 1 ]; then
NAME=`echo $file | cut -d- -f1 `
VERSION=`echo $file | cut -d- -f2`


echo "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"
xterm -e "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"
fi

if [ $num = 2 ]; then
NAME=`echo $file | cut -d- -f1,2 `
VERSION=`echo $file | cut -d- -f3`


echo "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"
xterm -e "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"
fi

if [ $num = 3 ]; then
NAME=`echo $file | cut -d- -f1,2,3 `
VERSION=`echo $file | cut -d- -f4`


echo "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"
xterm -e "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$LINK $type"
fi

fileALL=`echo $LINK | rev | cut -d/ -f1 | rev`
file1=`echo $fileALL | sed 's,'"$NAME"',${NAME},'g`
file2=`echo $file1 | sed 's,'"$VERSION"',${VERSION},'g`

sed -i 's,$NAME-$VERSION.tar.* || exit 1,'"$file2"'',g ./$NAME/src/$NAME.SlackBuild

sed -i 's,$NAME,${NAME},g' ./$NAME/src/$NAME.SlackBuild
sed -i 's,$VERSION,${VERSION},g' ./$NAME/src/$NAME.SlackBuild

if [ `echo $file2 | grep zip` ]; then
sed -i 's,tar xvf,unzip,g' ./$NAME/src/$NAME.SlackBuild
fi

fi

####This section has the script that handles when user wants to work with a PKGBUILD in var/abs.
if [ "$choosen" = "var/abs/PKGBUILDS.on_your_drive" ]; then

PKGBUILD=`yad --dnd --text="Pull file Here"`
PKGBUILDdir=`echo $PKGBUILD |sed 's,file,,g' |sed 's,///var,/var,g' | sed 's,:,,g'`
echo $PKGBUILDdir
cp $PKGBUILDdir $CWD



NAME=`grep '^pkgname=' ./PKGBUILD`
NAMEALL=`echo $NAME | sed 's/(//g' | sed's/)//g'`
NAME=`echo ${NAMEALL:8:40}`
echo $NAME
BaseNameAll=`grep '^pkgbase=' ./PKGBUILD`
BaseName=`echo ${BaseNameAll:8:40}`
#if [ -n $BaseNameAll ]; then
#NAME=$BaseName
#fi
echo $NAME
VERSIONALL=`grep pkgver= ./PKGBUILD`
VERSION1=`echo $VERSIONALL | sed 's/pkgver//g'`
VERSION2=`echo $VERSION1 | sed 's/=${:-//g'`
VERSION2=`echo $VERSION1 | sed 's/=${://g'`
VERSION3=`echo $VERSION2 | sed 's/}//g'`
VERSION=`echo $VERSION3 | sed 's/=//g'`

sed -i 's,cd $srcdir/,removeme ,g' $CWD/PKGBUILD
sed -i 's,cd "${srcdir},removeme ,g' $CWD/PKGBUILD
sed -i 's,cd "$srcdir,removeme ,g' $CWD/PKGBUILD
sed -i 's,cd "$pkgname-$pkgver,removeme ,g' $CWD/PKGBUILD
sed -i '/removeme/d'  $CWD/PKGBUILD
sed -i 's/pkgdir/PKG/g' $CWD/PKGBUILD
sed -i 's/pkgname/NAME/g' $CWD/PKGBUILD
sed -i 's/pkgbase/NAME/g' $CWD/PKGBUILD
sed -i 's,${srcdir},${CWD},g' $CWD/PKGBUILD
sed -i 's,srcdir,CWD,g' $CWD/PKGBUILD
sed -i 's,${pkgver},${VERSION},g' $CWD/PKGBUILD 
sed -i 's,pkgver,VERSION,g' $CWD/PKGBUILD 

sed -i 's,${startdir}/src,${TMP},g' $CWD/PKGBUILD 
sed -i 's,$startdir/src,$TMP,g' $CWD/PKGBUILD

sed -i 's,${startdir}/pkg,${PKG},g' $CWD/PKGBUILD 
sed -i 's,$startdir/pkg,$PKG,g' $CWD/PKGBUILD

sed -i 's,${startdir},${CWD},g' $CWD/PKGBUILD 
sed -i 's,startdir,CWD,g' $CWD/PKGBUILD

sed -i 's,${NAME}-${VERSION}/$NAME-$VERSION,${NAME}-${VERSION}/,g' $CWD/PKGBUILD
sed -i 's,${NAME}-${VERSION}/${NAME}-${VERSION/_/-},${NAME}-${VERSION}/,g' $CWD/PKGBUILD



LINKALL=`grep '^source=' ./PKGBUILD`
LINK=`echo $LINKALL | sed 's,source=,,g' | sed 's,(,,g' | sed 's,),,g' | sed 's,",,g'`
BLINK="BLANKLINK"

xterm -e "sbbuilder --package=$NAME --version=$VERSION --user=stretchedthin --link=$BLINK $type"
echo "--package=$NAME --version=$VERSION --user=stretchedthin --link=$BLINK $type"

fileALL=`echo $LINK | rev | cut -d/ -f1 | rev`
file1=`echo $fileALL | sed 's,'"$NAME"',${NAME},'g`
file2=`echo $file1 | sed 's,'"$VERSION"',${VERSION},'g`


sed -i 's,BLANKLINK,'"$LINK"'',g ./$NAME/src/$NAME.SlackBuild
sed -i 's,$NAME-$VERSION.tar.* || exit 1,'"$file2"'',g ./$NAME/src/$NAME.SlackBuild

sed -i 's,$NAME,${NAME},g' ./$NAME/src/$NAME.SlackBuild
sed -i 's,$VERSION,${VERSION},g' ./$NAME/src/$NAME.SlackBuild


if grep p0 ./*PKGBUILD; then sed -i 's/p1/p0/g' ./$NAME/src/$NAME.SlackBuild; fi


sed -i '254i cat $CWD/*install >> $PKG/install/doinst.sh' ./$NAME/src/$NAME.SlackBuild
sed -i '196i if test -f $CWD/$NAME.png; then' ./$NAME/src/$NAME.SlackBuild
sed -i '197i mkdir -p $PKG/usr/share/pixmaps' ./$NAME/src/$NAME.SlackBuild
sed -i '198i cp $CWD/$NAME.png $PKG/usr/share/pixmaps/$NAME.png; fi' ./$NAME/src/$NAME.SlackBuild
sed -i '199i ## Now test for desktop file' ./$NAME/src/$NAME.SlackBuild
sed -i '200i mkdir -p $PKG/usr/share/applications' ./$NAME/src/$NAME.SlackBuild
sed -i '201i if test -f $CWD/${NAME}.desktop; then' ./$NAME/src/$NAME.SlackBuild
sed -i '202i cp $CWD/$NAME.desktop $PKG/usr/share/applications/$NAME.desktop' ./$NAME/src/$NAME.SlackBuild
sed -i '203i fi' ./$NAME/src/$NAME.SlackBuild

pkgdesc=`grep pkgdesc= ./*PKGBUILD`
pkgdesc1=`echo $pkgdesc | sed 's/pkgdesc=//g'`
pkgdesc2=`echo $pkgdesc1 | sed 's/"//g'`
echo $pkgdesc2
sed -i '292i $NAME: $NAME (insert description here)' ./$NAME/src/$NAME.SlackBuild
sed -i '293d' ./$NAME/src/$NAME.SlackBuild
sed -i 's/insert description here/'"${pkgdesc2}"''/g ./$NAME/src/$NAME.SlackBuild

license=`grep license= ./*PKGBUILD`
echo $license
license1=`echo $license | sed 's/(//g;s/)//g'`
echo $license1
sed -i 's/License\: GPL/'"$license1"''/g ./$NAME/src/$NAME.SlackBuild

url=`grep url= ./*PKGBUILD`
url1=`echo $url | sed 's/url=//g'`
url2=`echo $url1 | sed 's/"//g'`
echo $url2
sed -i '303i $NAME: Website: website info here' ./$NAME/src/$NAME.SlackBuild
sed -i '304d' ./$NAME/src/$NAME.SlackBuild
sed -i 's,website info here,'"$url2"'',g ./$NAME/src/$NAME.SlackBuild

sed -i "s/Authors: /Authors: See Website"/g ./$NAME/src/$NAME.SlackBuild

mv $CWD/PKGBUILD $CWD/$NAME/src/PKGBUILD




sed -i '17i ##Thanks to the people at https://aur.archlinux.org for the references drawn from their SlackBuild.' ./$NAME/src/$NAME.SlackBuild

vsuper terminator --working-directory=$CWD/$NAME/src/ &

fi
exit




