#!/bin/sh
# test we are root
if [ "$(id -u)" != "0" ]; then
   exit 1
fi

export CFLAGS="-mtune=generic -Os -pipe"
export CXXFLAGS="-mtune=generic -Os -pipe -fno-exceptions -fno-rtti "

# gnome-mines is looking for libgnome-games-support-1 so can not use 2.0.0 (most recent)

P=gnome-mines
V=40.1
SRC=$P-$V
USER=`cat /etc/sysconfig/tcuser`
LIST="compiletc submitqc git meson cmake libgnome-games-support-dev \
appstream-glib-dev itstool imagemagick "
for Z in $LIST 
    do 
    su -c "tce-load -i $Z" $USER
done

cd /tmp
su -c "/usr/local/bin/wget -nc --no-check-certificate \
https://download.gnome.org/sources/$P/40/$SRC.tar.xz" $USER
tar xvf $SRC*xz
cd $SRC
mkdir build && cd build
meson setup --prefix=/usr/local -Dstrip=true -Ddebug=false 
meson configure 
# debug : false
# prefix: /usr/local
# strip : true
ninja # seconds
DESTDIR=/tmp/$P ninja install
cd /tmp

# doc
#####
mkdir -p $P-doc/usr/local/share
mv $P/usr/local/share/man $P-doc/usr/local/share

# locale - move all help then put EN back
#########
mkdir -p $P-locale/usr/local/share
mv $P/usr/local/share/locale $P-locale/usr/local/share
mv $P/usr/local/share/help $P-locale/usr/local/share
mkdir -p $P/usr/local/share/help
mv $P-locale/usr/local/share/help/C $P/usr/local/share/help

# main
######
mkdir -p $P/usr/local/share/doc/$P
echo 'GPL v3' > $P/usr/local/share/doc/$P/COPYING

# desktop
mkdir -p $P/usr/local/share/pixmaps
cd $P/usr/local/share/icons/hicolor/scalable/apps
convert org.gnome.Mines.svg png.png # size was 128x128
convert png.png -resize 48x48 $P.png 
mv $P.png /tmp/$P/usr/local/share/pixmaps
rm -rf png.png
cd /tmp
echo 'X-FullPathIcon=/usr/local/share/pixmaps/gnome-mines.png' >> $P/usr/local/share/applications/org.gnome.Mines.desktop
sed 's|Icon=org.gnome.Mines|Icon=gnome-mines.png|' -i $P/usr/local/share/applications/org.gnome.Mines.desktop

# install script
################
mkdir -p $P/usr/local/tce.installed
cat >> $P/usr/local/tce.installed/$P <<'EOF'
#!/bin/sh
gtk-update-icon-cache -q -f -t /usr/local/share/icons/hicolor
glib-compile-schemas /usr/local/share/glib-2.0/schemas
EOF
chown -R root:staff $P/usr/local/tce.installed
chmod -R 775 $P/usr/local/tce.installed

# TCZ them
#######
LIST="$P $P-doc $P-locale "
for Z in $LIST
do
	mksquashfs $Z $Z.tcz
	md5sum $Z.tcz > $Z.tcz.md5.txt
	cd $Z
	find usr -not -type d > /tmp/$Z.tcz.list
        sed 's|usr|/usr|g' -i /tmp/$Z.tcz.list
	cd /tmp
done

ls -hal

echo 'Title:          gnome-mines-doc.tcz 
Description:    man page
Version:        40.1
Author:         Gnome Developers
Original-site:  https://download.gnome.org/sources/gnome-mine
Copying-policy: GPL v3
Size:           4.0K
Extension_by:   aus9 @linuxquestions.org
Tags:           gnome game
Comments:       man page 
                EN help is in main TCE
                locale help is in $TCE-locale

Change-log:     2024/07/31 v 40.1 on 15x
Current:        2024/07/31      ' > $P-doc.tcz.info
echo 'man-db.tcz ' > $P-doc.tcz.dep

echo 'Title:          gnome-mines-locale.tcz 
Description:    language and help files below
Version:        40.1
Author:         Gnome Developers
Original-site:  https://download.gnome.org/sources/gnome-mine
Copying-policy: GPL v3
Size:           404K
Extension_by:   aus9 @linuxquestions.org
Tags:           gnome game
Comments:       locales normal pathway
                International help is pathway /usr/local/share/help/

Change-log:     2024/07/31 v 40.1 on 15x
Current:        2024/07/31      ' > $P-locale.tcz.info
echo 'gnome-mines.tcz ' > $P-locale.tcz.dep

echo 'Title:          gnome-mines.tcz 
Description:    minesweeper for linux
Version:        40.1
Author:         Gnome Developers
Original-site:  https://download.gnome.org/sources/gnome-mine
Copying-policy: GPL v3
Size:           116K
Extension_by:   aus9 @linuxquestions.org
Tags:           gnome game
Comments:       game 

Change-log:     2024/07/31 v 40.1 on 15x
Current:        2024/07/31      ' > $P.tcz.info

readelf -d $P/usr/local/bin/* | grep 'NEEDED' # TCBS
#libglib-2.0.so.0]libgobject-2.0.so.0]libgio-2.0.so.0]glib2-> libgee -> libgnome-games-support
#libgtk-3.so.0]libgdk-3.so.0]gtk3 -> libgnome-games-support
#libgnome-games-support-1.so.3]libgnome-games-support


echo ' gtk-update-icon-cache.tcz
libgnome-games-support.tcz ' > $P.tcz.dep

submitqc --libs
rm -rf *.zsync

