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

# simple script so loading any other locales please
# to prevent make error No -fno-rtti nor -fno-exceptions 
export CFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe"
export CXXFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -DNDEBUG"

P=vte  
P1=$P-2.91
V=0.70.2
SRC=$P-$V
USER=`cat /etc/sysconfig/tcuser`
LIST="compiletc submitqc cmake gtk3-dev pcre2-dev libglade-dev python3.8-meson icu70-dev"
for Z in $LIST
    do 
    su -c "tce-load -i $Z" $USER
done

# remove any la files 
cd /usr/local/lib
rm -rf *.la
rm -rf gcc/aarch64-unknown-linux-gnu/12.2.0/plugin/*.la
rm -rf gcc/aarch64-unknown-linux-gnu/12.2.0/*.la
rm -rf gprofng/*.la 
rm -rf python3.8/site-packages/*.la
rm -rf pkcs11/*.la
rm -rf cairo/*.la
rm -rf gtk-2.0/modules/*.la
rm -rf gtk-2.0/2.10.0/printbackends/*.la
rm -rf gtk-2.0/2.10.0/immodules/*.la
rm -rf gtk-2.0/2.10.0/engines/*.la
cd /tmp
rm -rf /usr/lib/*.la

# dataclasses setup
######################
echo 'import dataclasses' > script.py
chmod 775 script.py
python3.8 script.py

su -c "/usr/local/bin/wget -nc --no-check-certificate \
https://gitlab.gnome.org/GNOME/$P/-/archive/$V/$SRC.zip  " $USER 
unzip $SRC.zip
cd $SRC

mkdir build && cd build # debugg below is correct spelling
meson setup --prefix=/usr/local -D_b_symbolic_functions=false -Ddebugg=false \
-Ddocs=false -Dgir=false -Dgnutls=true -Dgtk3=true -Dgtk4=false -Dicu=true \
-D_systemd=false -Dvapi=false -Dglade=true -Dstrip=true
# Program python3 (dataclasses) found: YES made above
##################
# Version:      0.70.2
# C compiler:   gcc (version 12.2.0)
# C++ compiler: gcc (version 12.2.0)
# Coverage:     false
# Debug:        false
# A11y:         true
# Docs:         false
# FRIBIDI:      true
# GNUTLS:       true
# GTK+ 3.0:     true
# GTK+ 4.0:     false
# ICU:          true
# GIR:          false
# systemd:      false
# Glade:        true
# Vala:         false
# Prefix:       /usr/local
# strip                : true
# _b_symbolic_functions: false
# _systemd             : false
# debugg               : false
# docs                 : false
# gir                  : false #### then remove duplicates eg gtk3 
# vapi                 : false

ninja # 2m 20s 
ninja test # 11/11 pass in 1M
ninja install # dest dir fails but output reveals paths installed
cd /tmp

# locale
######
mkdir -p $P1-locale/usr/local/share
mv /usr/local/share/locale $P1-locale/usr/local/share

# dev
#####
mkdir -p $P1-dev/usr/local/include
mkdir -p $P1-dev/usr/local/lib/pkgconfig
mv /usr/local/include/$P1 $P1-dev/usr/local/include
mv /usr/local/lib/pkgconfig/$P1.pc $P1-dev/usr/local/lib/pkgconfig

# main 
####
mkdir -p $P1/usr/local/etc/profile.d
mkdir -p $P1/usr/local/bin
mkdir -p $P1/usr/local/lib
mkdir -p $P1/usr/local/libexec
mkdir -p $P1/usr/local/share/doc/$P1
mv /usr/local/etc/profile.d/vte* $P1/usr/local/etc/profile.d/
mv /usr/local/bin/$P1 $P1/usr/local/bin/
mv /usr/local/lib/libvte-2.91.so* $P1/usr/local/lib/
mv /usr/local/libexec/vte-urlencode-cwd $P1/usr/local/libexec

echo 'GPL v3 ' > $P1/usr/local/share/doc/$P1/COPYING

# TCZ them
###########
LIST2="$P1 $P1-dev $P1-locale"
for Z in $LIST2
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

# info files 
######
echo 'Title:          vte-2.91-dev.tcz
Description:    dev files
Version:        0.70.1
Author:         Gnome vte team
Original-site:  https://gitlab.gnome.org/GNOME/vte
Copying-policy: GPL v3
Size:           20K	
Extension_by:   aus9
Tags:           terminal vte 
Comments:       Development files

Change-log:     2023/05/25 v 0.70.1 on 14x aarch64
Current:        2023/05/25'  > $P1-dev.tcz.info

echo 'vte-2.91.tcz 
gtk3-dev.tcz
pcre2-dev.tcz
libglade-dev.tcz 
python3.8-meson.tcz
icu70-dev.tcz ' > $P1-dev.tcz.dep

echo 'Title:           vte-2.91-locale.tcz
Description:     locales 
Version:         0.70.1
Author:          Gnome vte team
Original-site:   https://gitlab.gnome.org/GNOME/vte
Copying-policy:  GPL v3
Size:            88K
Extension_by:    aus9
Tags:            locales vte
Comments:        locales not tested by me

Change-log:     2023/05/25 v 0.70.1 on 14x aarch64
Current:        2023/05/25' > $P1-locale.tcz.info

echo 'vte-2.91.tcz ' > $P1-locale.tcz.dep

echo 'Title:           vte-2.91.tcz
Description:     Virtual Terminal Emulator
Version:         0.70.1
Author:          Gnome vte team
Original-site:   https://gitlab.gnome.org/GNOME/vte
Copying-policy:  GPL v3
Size:            248K
Extension_by:    aus9
Tags:            terminal gtk3
Comments:        Build for updated lxterminal
                 conflicts with vte TCE

Change-log:     2023/05/25 v 0.70.1 on 14x aarch64
Current:        2023/05/25' > $P1.tcz.info

readelf -d $P1/usr/local/lib/libvte-2.91.so.0.7000.2 | grep "NEEDED"
# [libgio-2.0.so.0]       glib2 cairo..gtk3
# [libgobject-2.0.so.0]   glib2 cairo..gtk3
# [libglib-2.0.so.0]     glib2 cairo..gtk3
# [libpango-1.0.so.0]    pango...gtk3
# [libfribidi.so.0]  fribidi pango...gtk3
# [libgnutls.so.30]   gnutls
# [libicuuc.so.67]    icu70
# [libpcre2-8.so.0]   pcre2
# [libz.so.1]           TCB
# [libgtk-3.so.0]       gtk3
# [libgdk-3.so.0]       gtk3
# [libpangocairo-1.0.so.0] pango ..gtk3
# [libatk-1.0.so.0]  atk...gtk3
# [libcairo.so.2]     cairo pango gtk3
# [libstdc++.so.6]          TCB
# [libgcc_s.so.1]           TCB
# [libc.so.6]               TCB
# [ld-linux-aarch64.so.1]   TCB

# use eof as echo failed below
cat >> $P1.tcz.dep <<'EOF'
gtk3.tcz
gnutls.tcz 
icu70.tcz
pcre2.tcz
EOF

submitqc --libs

# full reboot please
