#
# pngquant script compiler REV 26022022 by KAPITALSIN
#
# 2602022
# Los autores han migrado a rust con lo cual el código mediant git se ha reemplazado por el código "antiguo",
# es por ello que el script de compilacińo se ha modificado bastante, la lista de cambios es larqa

# Eliminada la dependéncia del zlibg1-dev
# Añadido parámetros del zlib para LCMS2
#
sudo apt-get install make libc6-dev
time_start=`date +%s`
wget https://github.com/kornelski/pngquant/archive/refs/tags/2.17.0.zip -O pngquant.zip
unzip pngquant.zip

mv pngquant-2.17.0 pngquant
cd pngquant

wget https://github.com/ImageOptim/libimagequant/archive/refs/tags/2.17.0.zip -O libimagequant.zip
unzip -j -o libimagequant.zip -d lib


wget https://fossies.org/linux/misc/libpng-1.6.37.tar.xz
tar xvfa libpng-1.6.37.tar.xz
cd libpng-1.6.37
wget https://deac-ams.dl.sourceforge.net/project/libpng-apng/libpng16/1.6.37/libpng-1.6.37-apng.patch.gz
gzip -cd libpng-1.6.37-apng.patch.gz | patch -p1

wget https://www.zlib.net/zlib1211.zip
unzip zlib1211.zip
cd zlib-1.2.11
./configure --static --prefix=$PWD
make -j4 install
cd ..
CPPFLAGS="-I$PWD/zlib-1.2.11/include" LDFLAGS="-L$PWD/zlib-1.2.11/lib" LIBS=-lpthread ./configure --prefix=$PWD --enable-static && make -j4
#LIBS=-lpthread ./configure --prefix=$PWD --enable-static && make -j4
cd .. 
wget https://netcologne.dl.sourceforge.net/project/lcms/lcms/2.9/lcms2-2.9.tar.gz
tar xvfa lcms2-2.9.tar.gz
cd lcms2-2.9/
./configure --without-zlib --enable-static && make -j4
cd .. 
./configure --with-lcms2 --with-libpng="libpng-1.6.37" --extra-cflags="-Ilibpng-1.6.37/zlib-1.2.11" --extra-ldflags="libpng-1.6.37/zlib-1.2.11/libz.a"
sed -i 's/$(CC) $(OBJS) $(CFLAGS) $(LDFLAGS)/$(CC) $(OBJS) $(CFLAGS) $(LDFLAGS) -static -pthread/g' Makefile
make -j4 && strip pngquant

time_end=`date +%s`
time_exec=`expr $(( $time_end - $time_start ))`
echo "EL PROCESO DE COMPILADO HA TARDADO UN TOTAL DE $(($time_exec / 60)) minutos y $(($time_exec % 60)) segundos."
