#!/bin/sh
# test we are root
if [ "$(id -u)" != "0" ]; then
   echo "run as root now exitting"
   exit 1
fi
# to fix error #error You MUST NOT use -fno-rtti to build vte...#You MUST NOT use -fno-exceptions 
export CFLAGS="-mtune=generic -Os -pipe"
export CXXFLAGS="-mtune=generic -Os -pipe"

# to keep code simple....do not load any locales please

P=vte  
P1=$P-2.91
V=0.70.1
SRC=$P-$V
USER=`cat /etc/sysconfig/tcuser`
# order is py 3.9 last
LIST="compiletc submitqc python3.9 cmake gtk3-dev pcre2-dev glade-dev meson"
for Z in $LIST
    do 
    su -c "tce-load -i $Z" $USER
done
cd /tmp

# even tho I loaded py 3.9 first pyenv links to 3.6, meson loads 3.6
ls -al /usr/local/bin/pyvenv
# lrwxrwxrwx 1 root root 10 Mar 16 06:49 /usr/local/bin/pyvenv -> pyvenv-3.6

mv /usr/local/bin/pyvenv-3.6 /usr/local/bin/pyvenv
sed 's|3.6|3.9|' -i /usr/local/bin/pyvenv
# usr loc bin pip3 python 3.9 
# meson links to py 3.6 get new meson
######################################
pip3 install meson
# Successfully installed meson-1.0.1
# meson is only a make dep

# dataclasses setup
######################
echo 'import dataclasses' > script.py
chmod 775 script.py
python3.9 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 # debug has double g
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 (/usr/local/bin/python3.9) modules: dataclasses
##################
# 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

# Build targets in project: 132
# vte 0.70.1
# User defined options
# prefix               : /usr/local
# strip                : true
# _b_symbolic_functions: false
# _systemd             : false
# debugg               : false
# docs                 : false
# gir                  : false
# glade                : true
# gnutls               : true
# gtk3                 : true
# gtk4                 : false
# icu                  : true
# vapi                 : false
###################################
 
ninja # 30 seconds
ninja test # 11/11 pass about 30 sec
ninja install # dest dir fails
cd /tmp

# ninja install shows where files went so no need for timestamp method

# 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.0.7000.1 $P1/usr/local/lib/
mv /usr/local/lib/libvte-2.91.so.0 $P1/usr/local/lib/
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:   you
Tags:           terminal vte 
Comments:       Development files

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

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:    you
Tags:            locales vte
Comments:        locales not tested by me

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

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:            252K
Extension_by:    you
Tags:            terminal gtk3
Comments:        Build for updated lxterminal
                 conflicts with vte TCE

Change-log:     2023/03/16 v 0.70.1 on 14x 
Current:        2023/03/16' > $P1.tcz.info

echo 'vte-2.91.tcz
python3.9.tcz
cmake.tcz
gtk3-dev.tcz
pcre2-dev.tcz
glade-dev.tcz 
meson.tcz ' > $P1-dev.tcz.dep

readelf -d $P1/usr/local/lib/libvte-2.91.so.0.7000.1 | grep "NEEDED"
# 0x0000000000000001 (NEEDED) Shared library: [libgio-2.0.so.0]       glib2 cairo..gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libgobject-2.0.so.0]   glib2 cairo..gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libglib-2.0.so.0]     glib2 cairo..gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libpango-1.0.so.0]    pango...gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libfribidi.so.0]  fribidi pango...gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libgnutls.so.30]   gnutls35
# 0x0000000000000001 (NEEDED) Shared library: [libicuuc.so.67]    icu67
# 0x0000000000000001 (NEEDED) Shared library: [libpcre2-8.so.0]   pcre2
# 0x0000000000000001 (NEEDED) Shared library: [libz.so.1]           TCB
# 0x0000000000000001 (NEEDED) Shared library: [libgtk-3.so.0]       gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libgdk-3.so.0]       gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libpangocairo-1.0.so.0] pango ..gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libatk-1.0.so.0]  atk...gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libcairo.so.2]     cairo pango gtk3
# 0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]          TCB
# 0x0000000000000001 (NEEDED) Shared library: [libm.so.6]               TCB
# 0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]           TCB
# 0x0000000000000001 (NEEDED) Shared library: [libc.so.6]               TCB

# gremlin in old method so eof method
cat >> $P1.tcz.dep <<'EOF'
gtk3.tcz
gnutls35.tcz 
icu67.tcz
pcre2.tcz
EOF

submitqc --libs

# full reboot please
