Autor Tema: Como compilar la última versión del pngquant en Mint  (Leído 2256 veces)

Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 8163
Como compilar la última versión del pngquant en Mint
« en: 17 de Febrero de 2018, 02:06:27 pm »
Quote (selected)
pngquant is a command-line utility and a library for lossy compression of PNG images.

The conversion reduces file sizes significantly (often as much as 70%) and preserves full alpha transparency. Generated images are compatible with all web browsers and operating systems.

Features
High-quality palette generation using a combination of vector quantization algorithms.
Unique adaptive dithering algorithm that adds less noise to images than the standard Floyd-Steinberg.
Easy to integrate with shell scripts, GUIs and server-side software.
Fast mode for real-time processing/large numbers of images.

https://pngquant.org

Creada versión nueva con estos cambios (son solo de compilación, el programa no ha cambiado)

1-Ahora se han integrado dentro del binario las librerias externas como el zlib y la glibc
2-El script ha cambiado para hacer esos cambios
3-El ejecutable ha aumentado 500kb's
4-Actualizada la libreria libpng 1.6.34 por la 1.6.37

Si la versión antigua ya te iba bien no es necesario descargar esta nueva

El ejecutable está comprimido con el UPX

El código nuevo
Código: [Seleccionar]
#
#pngquant script compiler REV 01092021 by KAPITALSIN
#
# Eliminada la dependéncia del zlib1g-dev
#
sudo apt-get install git make libc6-dev
git clone git://github.com/kornelski/pngquant.git

cd pngquant
wget https://downloads.sourceforge.net/libpng/libpng-1.6.37.tar.xz
tar xf 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 http://prdownloads.sourceforge.net/libpng/zlib-1.2.11.tar.gz
tar xvfa zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --static
make -j4
cd ..
CPPFLAGS="-I$PWD/zlib-1.2.11" LDFLAGS="-L$PWD/zlib-1.2.11" 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 xf lcms2-2.9.tar.gz
cd lcms2-2.9/
./configure --without-zlib --enable-static && make -j4
cd ..
./configure --with-lcms2="lcms2-2.9" --with-libpng="libpng-1.6.37" --extra-cflags="-Izlib-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

Adjunto el script y el binario para 64 bits

Sitios utilizados

https://github.com/kornelski/pngquant/issues/241
https://pngquant.org/install.html
http://www.linuxfromscratch.org/blfs/view/cvs/general/lcms2.html
http://www.linuxfromscratch.org/blfs/view/svn/general/libpng.html

Versión antigua
Spoiler for Hiden:
Quote (selected)
git clone git://github.com/kornelski/pngquant.git
cd pngquant
wget https://downloads.sourceforge.net/libpng/libpng-1.6.34.tar.xz
tar xvfa libpng-1.6.34.tar.xz
cd libpng-1.6.34
wget https://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-1.6.34-apng.patch.gz
gzip -cd libpng-1.6.34-apng.patch.gz | patch -p1
LIBS=-lpthread ./configure --prefix=/usr --enable-static && make
cd ..
wget https://downloads.sourceforge.net/lcms/lcms2-2.9.tar.gz
tar xvfa lcms2-2.9.tar.gz
cd lcms2-2.9/
./configure --prefix=/usr --enable-static && make
cd ..
./configure --with-lcms2 && make pngquant && strip pngquant
Y ya lo tenemos :D
Siempre que pasa igual sucede lo mismo



Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 8163
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #1 en: 18 de Mayo de 2019, 01:48:22 am »
Creada versión actualizada a la 2.12.2, la anterior era la 2.11.7
Actualizado el adjunto  :ok:

Quote (selected)
version 2.12
------------
- improved speed on large images
Siempre que pasa igual sucede lo mismo



Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 8163
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #2 en: 13 de Noviembre de 2020, 05:02:44 pm »
Creada versión nueva actualizada a la 2.13.0
Actualizado adjunto en post principal

Changelog
Quote (selected)
version 2.13
 - small speed and quality improvements
Siempre que pasa igual sucede lo mismo



marc731116

  • KaPiTaL SiN miembro
  • Usuario Héroe
  • *
  • Mensajes: 624
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #3 en: 13 de Noviembre de 2020, 05:24:35 pm »
gracias, checando como funciona  :ok: :ok:

Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 8163
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #4 en: 17 de Diciembre de 2020, 10:10:44 pm »
Creada versión nueva con estos cambios (son solo de compilación, el programa no ha cambiado)

1-Ahora se han integrado dentro del binario las librerias externas como la zlib y la glibc
2-El script ha cambiado para hacer esos cambios
3-El ejecutable ha aumentado unos 500kb's
4-Actualizada la libreria libpng 1.6.34 por la 1.6.37

Si la versión antigua ya te iba bien no es necesario descargar esta nueva

El ejecutable está comprimido con el UPX
Siempre que pasa igual sucede lo mismo



Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 8163
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #5 en: 04 de Enero de 2021, 04:27:50 pm »
Creado script (4tehlulz) que no usa GIT

Código: [Seleccionar]
#
#pngquant script compiler NO GIT REV 04102021 by KAPITALSIN
#
# Eliminada la dependéncia del zlib1g-dev
# Ahora el zip usa el master
#

sudo apt-get install make libc6-dev
mkdir -p pngquant2
cd pngquant2
wget https://github.com/kornelski/pngquant/archive/refs/heads/master.zip -O pngquant.zip
unzip -j -o pngquant.zip

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

wget https://downloads.sourceforge.net/libpng/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 http://prdownloads.sourceforge.net/libpng/zlib-1.2.11.tar.gz
tar xvfa zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --static
make -j4
cd ..
CPPFLAGS="-I$PWD/zlib-1.2.11" LDFLAGS="-L$PWD/zlib-1.2.11" 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="lcms2-2.9" --with-libpng="libpng-1.6.37" --extra-cflags="-Izlib-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
Siempre que pasa igual sucede lo mismo



Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 8163
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #6 en: 23 de Agosto de 2021, 12:32:39 am »
Creada versión nueva actualizada a la 2.15.1
Actualizado adjunto en post principal

Changelog
Quote (selected)
version 2.13-2.15
------------
- speed and quality improvements
Siempre que pasa igual sucede lo mismo



Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 8163
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #7 en: 31 de Agosto de 2021, 10:48:47 pm »
Creada versión nueva de los scripts del compilador, tanto como el que usa git como el que no, ahora instala todas las dependéncias necesarias para su compilado
Los post y sus adjuntos se han actualizado  :ok:

Código: [Seleccionar]
Eliminada la dependéncia del zlibg1-dev
Se ha vuelto a compilar y esta vez bajo ARCO Linux, el resultado, un ejecutable unos 100kb más pequeño  :ouo:, (precomprimido con upx) es el fichero pngquant.2.15.1.x86_64.arch.bin
Siempre que pasa igual sucede lo mismo



Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 8163
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #8 en: 07 de Septiembre de 2021, 01:49:55 am »
Creada versión compilada con MUSL, ahora ocupa 400 kb MENOS y es estático  :fuckyeah:

https://musl.libc.org/

http://www.etalabs.net/compare_libcs.html

Siempre que pasa igual sucede lo mismo



paddddd

  • Usuario Héroe
  • *****
  • Mensajes: 1583
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #9 en: 11 de Septiembre de 2021, 01:31:11 am »
Creada versión compilada con MUSL, ahora ocupa 400 kb MENOS y es estático  :fuckyeah:

https://musl.libc.org/

http://www.etalabs.net/compare_libcs.html



Como diria el Mandaloriano, ese es el camino.   ;D





« Última modificación: 11 de Septiembre de 2021, 01:32:54 am por paddddd »

Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 8163
Re:Como compilar la última versión del pngquant en Mint
« Respuesta #10 en: 03 de Octubre de 2021, 09:05:01 pm »
Creada versión nueva (2.16) compilada con MUSL

Quote (selected)
version 2.16
------------
- reduced stack usage, prevenitng stack overlfow in pathological cases

Y actualizado el script para versión que no usa GIT
Siempre que pasa igual sucede lo mismo