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

Fl0ppy

  • Administrador
  • Usuario Héroe
  • *****
  • Mensajes: 7604
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]
git clone git://github.com/kornelski/pngquant.git
cd pngquant
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
LIBS=-lpthread ./configure --prefix=/usr --enable-static && make -j4
cd .. && wget https://www.zlib.net/zlib1211.zip
unzip zlib1211.zip
cd zlib-1.2.11
./configure --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 --prefix=/usr --enable-static && make -j4
cd .. &&  ./configure --with-lcms2 --with-libpng="libpng-1.6.37" --extra-cflags="-Izlib-1.2.11" --extra-ldflags="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: 7604
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: 7604
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: 620
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: 7604
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: 7604
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]
mkdir -p pngquant2
cd pngquant2
wget https://github.com/kornelski/pngquant/archive/3e941916cd1d04765f134533e8fc47434f53ef83.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
LIBS=-lpthread ./configure --prefix=/usr --enable-static && make -j4
cd .. && wget https://www.zlib.net/zlib1211.zip
unzip zlib1211.zip
cd zlib-1.2.11
./configure --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 --prefix=/usr --enable-static && make -j4
cd .. &&  ./configure --with-lcms2 --with-libpng="libpng-1.6.37" --extra-cflags="-Izlib-1.2.11" --extra-ldflags="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