#!/bin/sh
# test we are root
if [ "$USER" != "root" ] ; then
   echo "Run as root please, exiting." 
   exit 1                                                      
fi

# checking if gcc supports -fno-rtti -fno-exceptions... no
export CFLAGS="-mtune=generic -Os -pipe"
export CXX="-mtune=generic -Os -pipe "

P=libpipeline
V=1.5.7
SRC=$P-main
USER=`cat /etc/sysconfig/tcuser`
LIST="compiletc submitqc libtool-dev automake git"
for Z in $LIST 
    do 
    su -c "tce-load -i $Z" $USER
done

cd /tmp
su -c "/usr/local/bin/wget -nc \
https://gitlab.com/$P/$P/-/archive/main/$P-main.zip " $USER
# downloads as .zip
unzip $P*.zip
# unpacks as libpipeline-1.5.7-c9662e67d575299df2b87bc70f0e4865f04a8f01
cd $SRC*
# libtoolize && autoreconf --install----configure.ac:119: error: required file 'gl/lib/Makefile.in' not found
# ^ not libEGL or other such but gnulib
./bootstrap
./configure --prefix=/usr/local --enable-static=no
make -j5 # seconds
make install-strip DESTDIR=/tmp/$P
cd /tmp

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

# dev
#####
mkdir -p $P-dev/usr/local/lib
mv $P/usr/local/include $P-dev/usr/local/
mv $P/usr/local/lib/*a $P-dev/usr/local/lib/
mv $P/usr/local/lib/pkgconfig $P-dev/usr/local/lib/
chmod 644 $P-dev/usr/local/lib/*a 

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

# TCZ them
#######
LIST="$P $P-doc $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:          libpipeline-dev.tcz
Description:    dev files 
Version:        1.5.0
Author:         Colin Watson  
Original-site:  https://gitlab.com/libpipeline/libpipeline
Copying-policy: GPL v3
Size:           12K		
Extension_by:   aus9 
Tags:           libpipeline 
Comments:       Development files

Change-log:     2015/07/07 v 1.4.0  (gordon64)
                2018/03/08 v 1.5.0 (aus9)
Current:        2023/04/06 v 1.5.7 ' > $P-dev.tcz.info

echo 'libpipeline.tcz
libtool-dev.tcz 
automake.tcz 
git.tcz' > $P-dev.tcz.dep

echo 'Title:          libpipeline-doc.tcz
Description:    docs
Version:        1.5.7
Author:         Colin Watson 
Original-site:  https://gitlab.com/libpipeline/libpipeline
Copying-policy: GPL v3
Size:           12K		
Extension_by:   aus9 
Tags:           libpipeline
Comments:       man pages
                
Change-log:     2015/07/07 v 1.4.0  (gordon64)
                2018/03/08 v 1.5.0 (aus9)
Current:        2023/04/06 v 1.5.7 ' > $P-doc.tcz.info

echo 'man-db.tcz' > $P-doc.tcz.dep

echo 'Title:          libpipeline.tcz
Description:    a C library 
Version:        1.5.7
Author:         Colin Watson
Original-site:  https://gitlab.com/libpipeline/libpipeline
Copying-policy: GPL v3
Size:           28K		
Extension_by:   aus9 
Tags:           libpipeline 
Comments:       library is used to safely construct pipelines 
                between subprocesses
                
Change-log:     2015/07/07 v 1.4.0  (gordon64)
                2018/03/08 v 1.5.0 (aus9)
Current:        2023/04/06 v 1.5.7 '  > $P.tcz.info

readelf -d $P/usr/local/lib/$P.so | grep 'NEEDED'
# [libc.so.6] TCB

submitqc --libs
