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

# build order is libfm-extra-dev menu-cache libfm pcmanfm, can build after libfm-extra without reboot
export CFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe"
export CXXFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -fno-exceptions -fno-rtti"

P=menu-cache
V=1.1.0
SRC=$P-$V
USER=`cat /etc/sysconfig/tcuser`
LIST="compiletc submitqc libfm-extra-dev "
for Z in $LIST
    do 
    su -c "tce-load -i $Z" $USER
done

# can be built right after libfm-extra-dev but la files may not all be there
# if clean boot each time
cd /usr/local/lib
rm -rf gcc/aarch64-unknown-linux-gnu/12.2.0/*.la
rm -rf gcc/aarch64-unknown-linux-gnu/12.2.0/plugin/*.la
rm -rf gprofng/*.la
rm -rf *.la
cd /tmp
rm -rf /usr/lib/*.la

LFS=http://www.linuxfromscratch.org/patches/blfs/svn
su -c "/usr/local/bin/wget -nc --no-check-certificate \
https://sourceforge.net/projects/lxde/files/$P/1.1/$SRC.tar.xz \
$LFS/menu-cache-1.1.0-consolidated_fixes-1.patch  "  $USER
tar xvf $SRC.tar.xz
cd $SRC
patch -Np1 -i ../menu-cache-1.1.0-consolidated_fixes-1.patch
./configure --prefix=/usr/local --disable-static --enable-debug=no

# checking if gcc supports -fno-rtti -fno-exceptions... no
make check # about 10 seconds
make install-strip DESTDIR=/tmp/$P
cd /tmp

# dev
#####
mkdir -p $P-dev/usr/local/lib/
mv $P/usr/local/include $P-dev/usr/local/
mv $P/usr/local/lib/pkgconfig $P-dev/usr/local/lib/

# main
#######
mkdir -p $P/usr/local/share/doc/$P
echo 'LGPL v2.1' > $P/usr/local/share/doc/$P/COPYING
# remove LA as prev discussed
rm -rf $P/usr/local/lib/libmenu-cache.la 

# TCZ them
###########
LIST="$P $P-dev  "
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:          menu-cache-dev.tcz
Description:    dev files
Version:        1.1.0
Author:         https://github.com/lxde/menu-cache/blob/master/AUTHORS
                patch author=Pierre Labastie
Original-site:  https://sourceforge.net/projects/lxde/files/menu-cache/
Copying-policy: LGPL v2.1
Size:           4.0K
Extension_by:   aus9
Tags:           pcmanfm
Comments:       Dev files
                
Change-log:     2020/09/06 v 1.1.0 on 12x
                2023/05/24 rebuild for updated libfm-extra-dev 
Current:        2023/06/07 rebuilt against pcre2' > $P-dev.tcz.info

echo 'menu-cache.tcz
libfm-extra-dev.tcz  '> $P-dev.tcz.dep

echo 'Title:          menu-cache.tcz
Description:    menu cache Library 
Version:        1.1.0
Author:         see https://github.com/lxde/menu-cache/blob/master/AUTHORS
Original-site:  https://sourceforge.net/projects/lxde/files/menu-cache/
Copying-policy: LGPL v2.1
Size:           44K
Extension_by:   aus9
Tags:           pcmanfm
Comments:       A library to speed up the manipulation for 
                freedesktop.org defined application menus

Change-log:     2020/09/06 v 1.1.0 on 12x
                2023/05/24 rebuild for updated libfm  
Current:        2023/06/07 rebuilt against pcre2' > $P.tcz.info
 
readelf -d $P/usr/local//lib/libmenu-cache.so | grep 'NEEDED' # delete TCB
# [libgio-2.0.so.0]   glib2
# [libgobject-2.0.so.0] "
# [libglib-2.0.so.0]    "

echo 'glib2.tcz '> $P.tcz.dep

submitqc --libs

rm -rf *.zsync
