#!/bin/bash
# Pull in common software
VERSION="1.2-20"
if [[ -f "ultimate-common" ]]; then
	source ultimate-common
elif [[ -f "/usr/share/ultimate_edition/ultimate-common" ]]; then
	source /usr/share/ultimate_edition/ultimate-common
else
	echo "No Ultimate Edition common source. Please install ultimate-edition-common. https://os-builder.com/Arch/repostorm/"
	exit 1;
fi
FullBar
APPS=( "git" "make" "cmake" "gcc" "pkgconf" "udisks2" "dbus" "sqlite3" "alsa-lib" "pulseaudio" "boost" "gnutls" "fftw" "qt6-base" "qt6-tool" "gst-plugins-base" "gst-plugins-good" "taglib" "chromaprint" "rapidjson" "sparsehash" "libcdio" "libmtp" "libgpod" "repostorm" );
Center "Scanning for dependancies."
for EACH in "${APPS[@]}"
do
	INSTALLED=(pacman -Qs "${EACH}")
	if [[ "${INSTALLED}" ]]; then
		Encapsulate "${EACH} is installed."
	else
		Error "${EACH} is not installed.  Installing: ${EACH}"
		sudo pacman -S --noconfirm "${EACH}"
	fi
done
FullBar
	cmake ..
	make -j$(nproc)
	#sudo make install
	if ! [[ -d "../dist/ultimate-player-${VERSION}" ]]; then
		FullBar
		Encapsulate "New Version detected: ${VERSION}"
		mkdir -p "../dist/ultimate-player-${VERSION}-any/usr/local/bin/"
		mkdir -p "../dist/ultimate-player-${VERSION}-any/usr/share/icons/hicolor/48x48/"
		mkdir -p "../dist/ultimate-player-${VERSION}-any/usr/share/icons/hicolor/64x64/"
		mkdir -p "../dist/ultimate-player-${VERSION}-any/usr/share/icons/hicolor/128x128/"
		mkdir -p "../dist/ultimate-player-${VERSION}-any/usr/share/applications/"
		mkdir -p "../dist/ultimate-player-${VERSION}-any/usr/local/share/metainfo/"
		mkdir -p "../dist/ultimate-player-${VERSION}-any/usr/share/man/man1/"
		mkdir -p "../dist/ultimate-player-${VERSION}-any/usr/share/ultimate_edition/"
		mkdir -p "../dist/ultimate-player-${VERSION}-any/usr/share/doc/ultimateplayer"
	fi

if [[ -d "../dist/ultimate-player-${VERSION}-any/usr/local/bin/" ]]; then
	cp ultimateplayer ../dist/ultimate-player-${VERSION}-any/usr/local/bin/
	cp ../data/icons/48x48/ueplayer.png ../dist/ultimate-player-${VERSION}-any/usr/share/icons/hicolor/48x48/
	cp ../data/icons/64x64/ueplayer.png ../dist/ultimate-player-${VERSION}-any/usr/share/icons/hicolor/64x64/
	cp ../data/icons/128x128/ueplayer.png ../dist/ultimate-player-${VERSION}-any/usr/share/icons/hicolor/128x128/
	cp ../data/icons/128x128/ueplayer.png ../dist/ultimate-player-${VERSION}-any/usr/share/ultimate_edition/
	cp ../dist/unix/org.ultimateplayer.desktop ../dist/ultimate-player-${VERSION}-any/usr/share/applications/
	cp ../dist/unix/ultimateplayer.desktop ../dist/ultimate-player-${VERSION}-any/usr/share/applications/
	cp ../dist/unix/org.ultimateplayer.appdata.xml ../dist/ultimate-player-${VERSION}-any/usr/local/share/metainfo/
	cp ../dist/unix/ultimateplayer.pdf ../dist/ultimate-player-${VERSION}-any/usr/share/ultimate_edition/
	cp ../dist/unix/ultimateplayer.pdf ../dist/ultimate-player-${VERSION}-any/usr/share/doc/ultimateplayer/
	cp -R ../dist/doc ../dist/ultimate-player-${VERSION}-any/usr/share/
	cp ../dist/unix/pi ../dist/ultimate-player-${VERSION}-any/.PKGINFO
	sed -i "s/#VERSION/${VERSION}/g" ../dist/ultimate-player-${VERSION}-any/.PKGINFO
	TODAY=$(date +%Y-%m-%d)
	sed -i "s/#TODAY/${TODAY}/g" ../dist/ultimate-player-${VERSION}-any/.PKGINFO
else
	Error "Missing permissions exiting."
	exit 1;
fi
if ! [[ -f "../readme.gz" ]]; then
	Encapsulate "Compressing readme..."
	gzip -9 ../readme
fi
if [[ -f "../readme.gz" ]]; then
	Encapsulate "Repopulating Readme..."
	zcat "../readme.gz" > ../readme
fi
if [[ -f "../readme.gz" ]]; then
	Encapsulate "Moving Readme..."
	mv "../readme.gz" ../dist/ultimate-player-${VERSION}-any/usr/share/doc/ultimateplayer/
fi
if ! [[ -f "../changelog.gz" ]]; then
	Encapsulate "Compressing Changelog..."
	gzip -9 ../changelog
fi
if [[ -f "../changelog.gz" ]]; then
	Encapsulate "Repopulating Changelog..."
	zcat "../changelog.gz" > ../changelog
fi
if [[ -f "../changelog.gz" ]]; then
	Encapsulate "Moving Changelog..."
	mv "../changelog.gz" ../dist/ultimate-player-${VERSION}-any/usr/share/doc/ultimateplayer/
fi
if ! [[ -f "../dist/unix/ultimateplayer.1.gz" ]]; then
	Encapsulate "Compressing Manpage..."
	gzip -9 -k ../dist/unix/ultimateplayer.1
	#Encapsulate "Repopulating Manpage..."
	#zcat "../dist/unix/ultimateplayer.1.gz" > ../dist/unix/
fi
if [[ -f "../dist/unix/ultimateplayer.1.gz" ]]; then
	Encapsulate "Moving Manpage..."
	mv ../dist/unix/ultimateplayer.1.gz ../dist/ultimate-player-${VERSION}-any/usr/share/man/man1/
fi
cd ../dist/
FullBar
sudo repostorm --build
cp .arch/* .
repostorm --extract
sudo pacman -U .arch/*
