#!/bin/sh

tce-load -w -i squashfs-tools compiletc openssl-dev libffi-dev bzip2-dev readline-devncurses-dev liblzma-dev gdbm-dev sqlite3-dev tk-dev 

mkdir src_package
DESTDIR='/tmp/package'
mkdir /tmp/source_package
mkdir -p $DESTDIR/usr/local/

# Create package directory
. /etc/init.d/tc-functions
PKGDIR=/tmp/`getMajorVer`.x/`getBuild`
mkdir -p $PKGDIR/tar.gz $PKGDIR/tcz


cd /tmp/source_package
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
tar xvf Python-3.7.6.tgz
cd Python-3.7.6/

# Compile
export CFLAGS="-mtune=generic -Os -pipe"
export CXXFLAGS="-mtune=generic -Os -pipe"
export LDFLAGS="-Wl,-O1"
./configure --prefix=/usr/local --with-openssl=/usr/local/ --enable-optimizations
make -j4
make install DESTDIR=/tmp/package 

# Remove all __pycache__
find . -name "__pycache__" | xargs rm -fr

# Create python3.7-dev.tcz package
cd $DESTDIR
mkdir dev
for i in usr/local/include/python3.7m ; do
  tar cpf - $i | (cd dev && tar xvpf - )
  rm -rf $i
done
mkdir -p dev/usr/local/lib/python3.7
mv usr/local/lib/libpython3.7m.a dev/usr/local/lib
mv usr/local/lib/python3.7/config-3.7m-x86_64-linux-gnu dev/usr/local/lib/python3.7
mv usr/local/lib/pkgconfig/ dev/usr/local/lib
cd dev
tar -czf $PKGDIR/tar.gz/python3.7-dev.tcz.tar.gz *
mksquashfs $DESTDIR/dev $PKGDIR/tcz/python3.7-dev.tcz -all-root -info
find $DESTDIR/dev -not -type d | sed -e "s#^${DESTDIR}/dev##" > $PKGDIR/tcz/python3.7-dev.tcz.list
rm -fr $DESTDIR/include
cd .. && rm -rf dev
cd $PKGDIR/tcz
md5sum python3.7-dev.tcz > python3.7-dev.tcz.md5.txt
echo "python3.7.tcz" > python3.7-dev.tcz.dep

# Create python3.7-doc.tcz package
cd $DESTDIR
mkdir doc
for i in usr/local/share/man; do
  tar cpf - $i | (cd doc && tar xvpf - )
  rm -rf $i
done
cd doc
tar -czf $PKGDIR/tar.gz/python3.7-doc.tcz.tar.gz *
mksquashfs $DESTDIR/doc $PKGDIR/tcz/python3.7-doc.tcz -all-root -info
find $DESTDIR/doc -not -type d | sed -e "s#^${DESTDIR}/doc##" > $PKGDIR/tcz/python3.7-doc.tcz.list
rm -fr $DESTDIR/usr/local/share/man
cd .. && rm -rf doc
cd $PKGDIR/tcz
md5sum python3.7-doc.tcz > python3.7-doc.tcz.md5.txt

# Create python3.7.tcz package
cd $DESTDIR
strip --strip-all usr/local/bin/*
mkdir -p usr/local/share/python3.7/files usr/local/tce.installed/
tar -czvf usr/local/share/python3.7/files/files.tar.gz usr/local/bin/
rm -fr usr/local/bin/bin

echo -e "#!/bin/sh\ntar xzf /usr/local/share/python3.7/files/files.tar.gz -C /" > usr/local/tce.installed/python3.7
chmod +x usr/local/tce.installed/python3.7

tar -czf $PKGDIR/tar.gz/python3.7.tcz.tar.gz *
mksquashfs $DESTDIR $PKGDIR/tcz/python3.7.tcz -all-root -info
find $DESTDIR -not -type d | sed -e "s#^${DESTDIR}##" > $PKGDIR/tcz/python3.7.tcz.list
cd $PKGDIR/tcz
md5sum python3.7.tcz > python3.7.tcz.md5.txt
echo -e "openssl.tcz\nsqlite3.tcz\ngdbm.tcz\nbzip2-lib.tcz\nliblzma.tcz\nreadline.tcz" > python3.7.tcz.dep

# Cleanup
cd /tmp
rm -rf $DESTDIR
rm -rf /tmp/source_package/
