#!/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 "

P=libsndfile
V=1.0.28
SRC=$P-$V
USER=`cat /etc/sysconfig/tcuser`
LIST="compiletc submitqc flac-dev libvorbis-dev  "
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 \
http://www.mega-nerd.com/$P/files/$SRC.tar.gz  " $USER 
tar xvf $SRC*gz
cd $SRC 
./configure --prefix=/usr/local --enable-alsa
# libsndfile version : ...........1.0.28
# Host CPU : .....................x86_64
# Host Vendor : ..................pc
# Host OS : ......................linux-gnu
# Experimental code : ............no
# Using ALSA in example programs :yes
# External FLAC/Ogg/Vorbis : .....yes
#    Tools :
# Compiler is Clang : ............no
# Compiler is GCC : ..............yes
# GCC version : ..................13.2.0
# Sanitizer enabled : ............no
# Stack smash protection : .......no
#    Installation directories :
# Library directory : ............/usr/local/lib
# Program directory : ............/usr/local/bin
# Pkgconfig directory : ........../usr/local/lib/pkgconfig
# HTML docs directory : ........../usr/local/share/doc/
make -j4 # 8 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/
rm -rf $P/usr/local/lib/*.la
mv $P/usr/local/lib/*.a $P-dev/usr/local/lib/

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

# main
######
mkdir -p $P/usr/local/share/doc/$P
echo 'LGPL v 2.1' > $P/usr/local/share/doc/$P/COPYING

# TCZ them
###########
LIST2="$P $P-dev $P-doc "
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

echo 'Title:          libsndfile-dev.tcz
Description:    dev files
Version:        1.0.28
Author:         http://www.mega-nerd.com/libsndfile/AUTHORS
Original-site:  http://www.mega-nerd.com/libsndfile/
Copying-policy: LGPL v 2.1
Size:           300K           
Extension_by:   aus9 @linuxquestions.org
Tags:           audio 
Comments:       Development
                contains libsndfile.a
                
Change-log:     2013/11/10 v 1.0.25 (Juanito)
Current:        2024/06/21 v 1.0.28 on 15x (aus9) ' > $P-dev.tcz.info
echo 'libsndfile.tcz
flac-dev.tcz
libvorbis-dev.tcz' > $P-dev.tcz.dep

echo 'Title:          libsndfile-doc.tcz
Description:    manpages and html
Version:        1.0.28
Author:         http://www.mega-nerd.com/libsndfile/AUTHORS
Original-site:  http://www.mega-nerd.com/libsndfile/
Copying-policy: LGPL v 2.1
Size:           80K          
Extension_by:   aus9 @linuxquestions.org
Tags:           audio 
Comments:       help
                
Change-log:     2024/06/21 v 1.0.28 on 15x
Current:        2024/06/21  ' > $P-doc.tcz.info
echo 'man-db.tcz' > $P-doc.tcz.dep

echo 'Title:          libsndfile.tcz
Description:    read write routines for audio data
Version:        1.0.28
Author:         http://www.mega-nerd.com/libsndfile/AUTHORS
Original-site:  http://www.mega-nerd.com/libsndfile/
Copying-policy: LGPL v 2.1
Size:           264K          
Extension_by:   aus9 @linuxquestions.org
Tags:           audio  
Comments:       C routines for reading/writing files 
                containing sampled audio data
                
Change-log:     2013/11/10 v 1.0.25 (Juanito)
Current:        2024/06/21 v 1.0.28 on 15x (aus9) ' > $P.tcz.info

readelf -d $P/usr/local/bin/* | grep 'NEEDED' # ignore TCBS
# [libsndfile.so.1] this TCE
readelf -d $P/usr/local/lib/*.so | grep 'NEEDED' # no extras
#libFLAC.so.8]flac
#libogg.so.0]libogg -> flac
#libvorbis.so.0]libvorbisenc.so.2]libvorbis

echo 'flac.tcz
libvorbis.tcz ' > $P.tcz.dep

submitqc --libs
rm -rf *.zsync

# dep checks on update
# audacity ok my build script says *.so.1
# /tmp/tcloop/libpulseaudio/usr/local/lib/pulseaudio$ readelf -d * | grep libsndfile  ALSO OK
# 0x0000000000000001 (NEEDED)             Shared library: [libsndfile.so.1]
# /tmp/tcloop/libsamplerate/usr/local/bin$ readelf -d * | grep libsndfile
# 0x0000000000000001 (NEEDED)             Shared library: [libsndfile.so.1]
# no hits in its lib file ^^



