package: pngquant
version: 2.0.1-1
tags: patch
priority: wishlist

A new release of pngquant is now out. Could it please be uploaded? I have
included an upload ready debdiff.
diff -Nru pngquant-2.0.1/debian/changelog pngquant-2.0.2/debian/changelog
--- pngquant-2.0.1/debian/changelog     2013-11-26 08:46:18.000000000 +1100
+++ pngquant-2.0.2/debian/changelog     2014-01-21 16:22:51.000000000 +1100
@@ -1,3 +1,10 @@
+pngquant (2.0.2-1) UNRELEASED; urgency=medium
+
+  * New upstream release
+  * Use upstream's manpage, it's more complete
+
+ -- Jackson Doak <nosk...@ubuntu.com>  Tue, 21 Jan 2014 16:20:54 +1100
+
 pngquant (2.0.1-1) unstable; urgency=low
 
   * New upstream version
diff -Nru pngquant-2.0.1/debian/manpages pngquant-2.0.2/debian/manpages
--- pngquant-2.0.1/debian/manpages      2013-11-26 08:46:18.000000000 +1100
+++ pngquant-2.0.2/debian/manpages      2014-01-21 16:22:32.000000000 +1100
@@ -1 +1 @@
-debian/pngquant.1
+pngquant.1
diff -Nru pngquant-2.0.1/debian/pngquant.1 pngquant-2.0.2/debian/pngquant.1
--- pngquant-2.0.1/debian/pngquant.1    2013-11-26 08:46:18.000000000 +1100
+++ pngquant-2.0.2/debian/pngquant.1    1970-01-01 10:00:00.000000000 +1000
@@ -1,42 +0,0 @@
-.TH PNGQUANT 1 "Thu, 07 Dec 2006 00:33:40 -0200"
-.SH NAME
-pngquant \- PNG image optimising utility
-.SH SYNOPSIS
-.B pngquant
-.RI "[ options ] <ncolors> [pngfile [pngfile ...]]"
-.br
-.B pngquant
-.RI "[ options ] \-map mapfile [pngfile [pngfile ...]]"
-.br
-.PP
-Note that it's \fBrequired\fP to specify the number of colors 
(\fI<ncolors>\fP) or the \fImapfile\fP. Arguments in square brackets are 
optional.
-.SH DESCRIPTION
-This manual page documents briefly the
-.B pngquant
-command.
-.PP
-\fBpngquant\fP quantizes one or more 32-bit RGBA PNGs to 8-bit (or smaller) 
RGBA-palette PNGs using either ordered dithering or Floyd-Steinberg diffusion 
dithering (default). The output filename is the same as the input name except 
that it ends in \fI-fs8.png\fP or \fI-or8.png\fP (unless the input is stdin, in 
which case the quantized image will go to stdout).  The default behavior if the 
output file exists is to skip the conversion; use \fI-force\fP to overwrite.
-.SH OPTIONS
-.TP
-.B \-force
-Overwrite existing output files.
-.TP
-.B \-ordened, \-nofloyd, \-nofs
-Use ordered dithering.
-.TP
-.B \-verbose, \-noquiet
-Print status messages.
-.TP
-.B NOTE:
-the \-map option is NOT YET SUPPORTED.
-.SH EXAMPLE
-Creating a new image with the number of colors reduced to 64:
-.TP
-       pngquant 64 image.png
-.TP
-The resulting image will have 64 colors and will be saved as 
\fBimage-fs8.png\fP.
-.SH AUTHOR
-pngquant was written by Greg Roelofs <n...@pobox.com>.
-.PP
-This manual page was written by Nelson A. de Oliveira <nao...@debian.org>,
-for the Debian project (but may be used by others).
diff -Nru pngquant-2.0.1/INSTALL pngquant-2.0.2/INSTALL
--- pngquant-2.0.1/INSTALL      2013-10-24 09:20:48.000000000 +1100
+++ pngquant-2.0.2/INSTALL      2014-01-17 09:12:45.000000000 +1100
@@ -14,6 +14,7 @@
 pngquant uses GNU Makefile. To compile on FreeBSD you will need to use gmake,
 and on Windows the MinGW compiler (MSVC does not support C99).
 
+pngquant will compile with libpng 1.2, but you should use 1.5 or later.
 
 ##Compilation with OpenMP
 
diff -Nru pngquant-2.0.1/lib/libimagequant.c pngquant-2.0.2/lib/libimagequant.c
--- pngquant-2.0.1/lib/libimagequant.c  2013-10-24 09:20:48.000000000 +1100
+++ pngquant-2.0.2/lib/libimagequant.c  2014-01-17 09:12:45.000000000 +1100
@@ -68,12 +68,6 @@
     void *log_flush_callback_user_info;
 };
 
-struct pngquant_options {
-    liq_attr *liq;
-    liq_image *fixed_palette_image;
-    bool floyd, using_stdin, force, ie_mode;
-};
-
 struct liq_image {
     const char *magic_header;
     void* (*malloc)(size_t);
diff -Nru pngquant-2.0.1/lib/libimagequant.h pngquant-2.0.2/lib/libimagequant.h
--- pngquant-2.0.1/lib/libimagequant.h  2013-10-24 09:20:48.000000000 +1100
+++ pngquant-2.0.2/lib/libimagequant.h  2014-01-17 09:12:45.000000000 +1100
@@ -1,6 +1,6 @@
-//
-// http://pngquant.org
-//
+/*
+ * http://pngquant.org
+ */
 
 #ifndef LIBIMAGEQUANT_H
 #define LIBIMAGEQUANT_H
diff -Nru pngquant-2.0.1/lib/Makefile pngquant-2.0.2/lib/Makefile
--- pngquant-2.0.1/lib/Makefile 2013-10-24 09:20:48.000000000 +1100
+++ pngquant-2.0.2/lib/Makefile 2014-01-17 09:12:45.000000000 +1100
@@ -9,11 +9,15 @@
 DLLIMP=libimagequant_dll.a
 DLLDEF=libimagequant_dll.def
 
-CFLAGSOPT ?= -DNDEBUG -O3 -fstrict-aliasing -ffast-math -funroll-loops 
-fomit-frame-pointer -ffinite-math-only
+CFLAGSOPT ?= -DNDEBUG -O3 -ffast-math -funroll-loops -fomit-frame-pointer
 
 CFLAGS ?= -Wall -Wno-unknown-pragmas -I. $(CFLAGSOPT)
 CFLAGS += -std=c99 $(CFLAGSADD)
 
+ifdef USE_SSE
+CFLAGS += -DUSE_SSE=$(USE_SSE)
+endif
+
 OBJS = pam.o mediancut.o blur.o mempool.o viter.o nearest.o libimagequant.o
 
 BUILD_CONFIGURATION="$(CC) $(CFLAGS) $(LDFLAGS)"
@@ -30,10 +34,10 @@
        $(MAKE) CFLAGSADD="-DLIQ_EXPORT='__declspec(dllexport)'" $(DLL)
 
 openmp::
-       $(MAKE) CFLAGSADD=-fopenmp OPENMPFLAGS="-Bstatic -lgomp" -j8 
-$(MAKEFLAGS)
+       $(MAKE) CFLAGSADD=-fopenmp OPENMPFLAGS="-Bstatic -lgomp" -j8
 
 $(DLL) $(DLLIMP): $(OBJS)
-       $(CC) -shared -o $(DLL) $(OBJS) $(LDFLAGS) 
-Wl,--out-implib,$(DLLIMP),--output-def,$(DLLDEF)
+       $(CC) -fPIC -shared -o $(DLL) $(OBJS) $(LDFLAGS) 
-Wl,--out-implib,$(DLLIMP),--output-def,$(DLLDEF)
 
 $(STATICLIB): $(OBJS)
        $(AR) $(ARFLAGS) $@ $^
diff -Nru pngquant-2.0.1/lib/MANUAL.md pngquant-2.0.2/lib/MANUAL.md
--- pngquant-2.0.1/lib/MANUAL.md        2013-10-24 09:20:48.000000000 +1100
+++ pngquant-2.0.2/lib/MANUAL.md        2014-01-17 09:12:45.000000000 +1100
@@ -1,42 +1,44 @@
-#libimagequant—Image Quantization Library
+# libimagequant—Image Quantization Library
 
 Small, portable C library for high-quality conversion of RGBA images to 8-bit 
indexed-color (palette) images.
 It's powering [pngquant2](http://pngquant.org).
 
-##License
+## License
 
 
[BSD-like](https://raw.github.com/pornel/improved-pngquant/master/lib/COPYRIGHT).
 It can be linked with both free and closed-source software.
 
-##Download
+## Download
 
-The library is currently a part of the [pngquant2 
project](https://github.com/pornel/improved-pngquant/tree/lib/lib).
+The [library](http://pngquant.org/lib) is currently a part of the [pngquant2 
project](https://github.com/pornel/improved-pngquant/tree/lib/lib).
 
-Files needed for the library are only in the `lib/` directory inside the 
repository.
+Files needed for the library are only in the `lib/` directory inside the 
repository (and you can ignore the rest).
 
-##Compiling and Linking
+## Compiling and Linking
 
 The library can be linked with ANSI C and C++ programs. It has no external 
dependencies.
 
-To build it run:
+To build on Unix-like systems run:
 
     make -C lib
 
 it will create `lib/libimagequant.a` which you can link with your program.
 
-    gcc yourprogram.c lib/libimagequant.a
+    gcc yourprogram.c /path/to/lib/libimagequant.a
 
 Alternatively you can compile the library with your program simply by 
including all `.c` files (and define `NDEBUG` to get fast build):
 
     gcc -std=c99 -O3 -DNDEBUG lib/*.c yourprogram.c
 
-###Compiling on Windows
+### Compiling on Windows/Visual Studio
 
-The library can be compiled with any C compiler that has at least basic 
support for C99 (GCC, clang, ICC, C++ Builder, even Tiny C Compiler). 
Unfortunately as of 2013 Visual Studio (MSVC) has not yet been updated to 
support C newer than the 1989 version.
+The library can be compiled with any C compiler that has at least basic 
support for C99 (GCC, clang, ICC, C++ Builder, even Tiny C Compiler), but 
Visual Studio 2012 and older are not up to date with the 1999 C standard. There 
are 3 options for using `libimagequant` with Visual Studio:
 
-On Windows you can compile the library with GCC from MinGW or Cygwin. Use GCC 
to build `libimagequant.a` (using instructions above) and add it along with 
`libgcc.a` (shipped with the compiler) to your VC project.
+ * Use Visual Studio **2013** (MSVC12) or newer.
+ * Or use GCC from [MinGW](http://www.mingw.org). Use GCC to build 
`libimagequant.a` (using above instructions for Unix) and add it along with 
`libgcc.a` (shipped with the MinGW compiler) to your VC project.
+ * Or use [C++ version of 
`libimagequant`](https://github.com/pornel/pngquant/tree/cpp). The C++ version 
is not as up-to-date as C version, but should be compatible with Visual Studio 
older than 2013 (VC12).
 
-##Overview
+## Overview
 
 The basic flow is:
 
@@ -63,7 +65,7 @@
     liq_image_destroy(image);
     liq_result_destroy(res);
 
-It's safe to pass `NULL` to any function accepting `liq_attr`, `liq_image`, 
`liq_result`. These objects can be reused multiple times. Functions returning 
`liq_error` return `LIQ_OK` on success.
+It's safe to pass `NULL` to any function accepting `liq_attr`, `liq_image`, 
`liq_result`. These objects can be reused multiple times. Functions returning 
`liq_error` return `LIQ_OK` (`0`) on success and non-zero on error.
 
 There are 3 ways to create image object for quantization:
 
@@ -71,7 +73,7 @@
   * `liq_image_create_rgba_rows()` for non-contiguous RGBA bitmaps (that have 
padding between rows or reverse order, e.g. BMP).
   * `liq_image_create_custom()` for RGB, ABGR, YUV and all other formats that 
can be converted on-the-fly to RGBA (you have to supply the conversion 
function).
 
-##Functions
+## Functions
 
 ----
 
@@ -79,7 +81,7 @@
 
 Returns object that will hold initial settings (atrributes) for the library. 
The object should be freed using `liq_attr_destroy()` after it's no longer 
needed.
 
-Returns `NULL` if the library cannot run on the current machine (e.g. the 
library has been compiled for SSE2-capable x86 CPU and run on VIA C3 CPU).
+Returns `NULL` in the unlikely case that the library cannot run on the current 
machine (e.g. the library has been compiled for SSE2-capable x86 CPU and run on 
VIA C3 CPU).
 
 ----
 
@@ -209,7 +211,7 @@
 
 Freeing `liq_result` also frees any `liq_palette` obtained from it.
 
-##Advanced Functions
+## Advanced Functions
 
 ----
 
@@ -252,11 +254,11 @@
 
 ----
 
-    liq_image *liq_image_create_custom(liq_attr *attr, 
liq_image_get_rgba_row_callback *row_callback, void* user_info, int width, int 
height, double gamma);
+    liq_image *liq_image_create_custom(liq_attr *attr, 
liq_image_get_rgba_row_callback *row_callback, void *user_info, int width, int 
height, double gamma);
 
 <p>
 
-    void image_get_rgba_row_callback(liq_color row_out[], int row_index, int 
width, void* user_info) {
+    void image_get_rgba_row_callback(liq_color row_out[], int row_index, int 
width, void *user_info) {
         for(int column_index=0; column_index < width; column_index++) {
             row_out[column_index] = /* generate pixel at (row_index, 
column_index) */;
         }
@@ -272,7 +274,7 @@
 
 To use RGB image:
 
-    void rgb_to_rgba_callback(liq_color row_out[], int row_index, int width, 
void* user_info) {
+    void rgb_to_rgba_callback(liq_color row_out[], int row_index, int width, 
void *user_info) {
         unsigned char *rgb_row = ((unsigned char *)user_info) + 
3*width*row_index;
 
         for(int i=0; i < width; i++) {
@@ -347,18 +349,18 @@
 
 ----
 
-    void liq_set_log_callback(liq_attr*, liq_log_callback_function*, void* 
user_info);
+    void liq_set_log_callback(liq_attr*, liq_log_callback_function*, void 
*user_info);
 
 <p>
 
-    void log_callback_function(const liq_attr*, const char *message, void* 
user_info) {}
+    void log_callback_function(const liq_attr*, const char *message, void 
*user_info) {}
 
 ----
 
-    void liq_set_log_flush_callback(liq_attr*, 
liq_log_flush_callback_function*, void* user_info);
+    void liq_set_log_flush_callback(liq_attr*, 
liq_log_flush_callback_function*, void *user_info);
 <p>
 
-    void log_flush_callback_function(const liq_attr*, void* user_info) {}
+    void log_flush_callback_function(const liq_attr*, void *user_info) {}
 
 Sets up callback function to be called when the library reports work progress 
or errors. The callback must not call any library functions.
 
@@ -399,7 +401,7 @@
 Getters for `width`, `height` and `gamma` of the input image.
 
 
-##Multithreading
+## Multithreading
 
 The library is stateless and doesn't use any global or thread-local storage. 
It doesn't use any locks.
 
@@ -408,7 +410,7 @@
 
 The library needs to sort unique colors present in the image. Although the 
sorting algorithm does few things to make stack usage minimal in typical cases, 
there is no guarantee against extremely degenerate cases, so threads should 
have automatically growing stack.
 
-###OpenMP
+### OpenMP
 
 The library will parallelize some operations if compiled with OpenMP.
 
@@ -416,7 +418,7 @@
 
 Callback of `liq_image_create_custom()` may be called from different threads 
at the same time.
 
-##Acknowledgements
+## Acknowledgements
 
 Thanks to Irfan Skiljan for helping test the first version of the library.
 
diff -Nru pngquant-2.0.1/lib/mempool.c pngquant-2.0.2/lib/mempool.c
--- pngquant-2.0.1/lib/mempool.c        2013-10-24 09:20:48.000000000 +1100
+++ pngquant-2.0.2/lib/mempool.c        2014-01-17 09:12:45.000000000 +1100
@@ -35,9 +35,9 @@
         .used = sizeof(struct mempool),
         .next = old,
     };
-    uintptr_t mptr_used_start = (uintptr_t)(*mptr + (*mptr)->used);
+    uintptr_t mptr_used_start = (uintptr_t)(*mptr) + (*mptr)->used;
     (*mptr)->used += (ALIGN_MASK + 1 - (mptr_used_start & ALIGN_MASK)) & 
ALIGN_MASK; // reserve bytes required to make subsequent allocations aligned
-    assert(!((uintptr_t)(*mptr + (*mptr)->used) & ALIGN_MASK));
+    assert(!(((uintptr_t)(*mptr) + (*mptr)->used) & ALIGN_MASK));
 
     return mempool_alloc(mptr, size, size);
 }
diff -Nru pngquant-2.0.1/Makefile pngquant-2.0.2/Makefile
--- pngquant-2.0.1/Makefile     2013-10-24 09:20:48.000000000 +1100
+++ pngquant-2.0.2/Makefile     2014-01-17 09:12:45.000000000 +1100
@@ -1,5 +1,5 @@
 # Makefile for pngquant
-VERSION = $(shell grep 'define PNGQUANT_VERSION' pngquant.c | egrep -Eo 
'[12]\.[0-9.]*')
+VERSION = $(shell grep 'define PNGQUANT_VERSION' pngquant.c | grep -Eo 
'[12]\.[0-9.]*')
 
 # This changes default "cc" to "gcc", but still allows customization of the CC 
variable
 # if this line causes problems with non-GNU make, just remove it:
@@ -13,12 +13,33 @@
 CUSTOMLIBPNG ?= ../libpng
 CUSTOMZLIB ?= ../zlib
 
-CFLAGSOPT ?= -DNDEBUG -O3 -fstrict-aliasing -ffast-math -funroll-loops 
-fomit-frame-pointer -ffinite-math-only
+CFLAGSOPT ?= -DNDEBUG -O3 -ffast-math -funroll-loops -fomit-frame-pointer
 
-CFLAGS ?= -Wall -Wno-unknown-pragmas -I. -I$(CUSTOMLIBPNG) -I$(CUSTOMZLIB) 
-I/usr/local/include/ -I/usr/include/ -I/usr/X11/include/ $(CFLAGSOPT)
+CFLAGS ?= -Wall -Wno-unknown-pragmas -I. -I/usr/local/include/ -I/usr/include/ 
$(CFLAGSOPT)
 CFLAGS += -std=c99 $(CFLAGSADD)
 
-LDFLAGS ?= -L$(CUSTOMLIBPNG) -L$(CUSTOMZLIB) -L/usr/local/lib/ -L/usr/lib/ 
-L/usr/X11/lib/
+LDFLAGS ?= -L/usr/local/lib/ -L/usr/lib/
+
+ifneq "$(wildcard /usr/X11/lib/)" ""
+LDFLAGS += -L/usr/X11/lib/
+CFLAGS += -I/usr/X11/include/
+endif
+
+ifneq "$(wildcard /opt/local/lib)" ""
+LDFLAGS += -L/opt/local/lib
+CFLAGS += -I/opt/local/include/libpng15
+endif
+
+ifneq "$(wildcard $(CUSTOMLIBPNG))" ""
+LDFLAGS += -L$(CUSTOMLIBPNG) -L$(CUSTOMLIBPNG)/lib
+CFLAGS += -I$(CUSTOMLIBPNG) -I$(CUSTOMLIBPNG)/include
+endif
+
+ifneq "$(wildcard $(CUSTOMZLIB))" ""
+LDFLAGS += -L$(CUSTOMZLIB) -L$(CUSTOMZLIB)/lib
+CFLAGS += -I$(CUSTOMZLIB) -I$(CUSTOMZLIB)/include
+endif
+
 LDFLAGS += -lpng -lz -lm lib/libimagequant.a -lm $(LDFLAGSADD)
 
 OBJS = pngquant.o rwpng.o
@@ -41,7 +62,7 @@
 all: $(BIN)
 
 lib/libimagequant.a::
-       $(MAKE) -C lib -$(MAKEFLAGS) static
+       $(MAKE) -C lib static
 
 openmp::
        $(MAKE) CFLAGSADD="$(CFLAGSADD) -fopenmp" OPENMPFLAGS="-Bstatic -lgomp" 
-j8 $(MKFLAGS)
@@ -73,7 +94,7 @@
 
 clean:
        rm -f $(BIN) $(OBJS) $(COCOA_OBJS) $(TARFILE) build_configuration
-       $(MAKE) -C lib -$(MAKEFLAGS) clean
+       $(MAKE) -C lib clean
 
 build_configuration::
        @test -f build_configuration && test $(BUILD_CONFIGURATION) = "`cat 
build_configuration`" || echo > build_configuration $(BUILD_CONFIGURATION)
diff -Nru pngquant-2.0.1/pngquant.c pngquant-2.0.2/pngquant.c
--- pngquant-2.0.1/pngquant.c   2013-10-24 09:20:48.000000000 +1100
+++ pngquant-2.0.2/pngquant.c   2014-01-17 09:12:45.000000000 +1100
@@ -13,7 +13,7 @@
 ** implied warranty.
 */
 
-#define PNGQUANT_VERSION "2.0.1 (September 2013)"
+#define PNGQUANT_VERSION "2.0.2 (January 2014)"
 
 #define PNGQUANT_USAGE "\
 usage:  pngquant [options] [ncolors] [pngfile [pngfile ...]]\n\n\
@@ -41,6 +41,9 @@
 #include <stdbool.h>
 #include <getopt.h>
 
+extern char *optarg;
+extern int optind, opterr;
+
 #if defined(WIN32) || defined(__WIN32__)
 #  include <fcntl.h>    /* O_BINARY */
 #  include <io.h>   /* setmode() */
diff -Nru pngquant-2.0.1/rwpng.c pngquant-2.0.2/rwpng.c
--- pngquant-2.0.1/rwpng.c      2013-10-24 09:20:48.000000000 +1100
+++ pngquant-2.0.2/rwpng.c      2014-01-17 09:12:45.000000000 +1100
@@ -31,6 +31,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 #include "png.h"
 #include "rwpng.h"
@@ -48,8 +49,18 @@
 
 void rwpng_version_info(FILE *fp)
 {
+    const char *pngver = png_get_header_ver(NULL);
+
     fprintf(fp, "   Compiled with libpng %s; using libpng %s.\n",
-      PNG_LIBPNG_VER_STRING, png_get_header_ver(NULL));
+      PNG_LIBPNG_VER_STRING, pngver);
+
+#if PNG_LIBPNG_VER < 10600
+    if (strcmp(pngver, "1.3.") < 0) {
+        fputs("\nWARNING: Your version of libpng is outdated and may produce 
corrupted files.\n"
+              "Please recompile pngquant with newer version of libpng (1.5 or 
later.)\n", fp);
+    }
+#endif
+
 #if USE_COCOA
     fputs("   Compiled with Apple Cocoa image reader.\n", fp);
 #endif
@@ -142,9 +153,7 @@
 
     if (!(color_type & PNG_COLOR_MASK_ALPHA)) {
 #ifdef PNG_READ_FILLER_SUPPORTED
-        /* GRP:  expand palette to RGB, and grayscale or RGB to GA or RGBA */
-        if (color_type == PNG_COLOR_TYPE_PALETTE)
-            png_set_expand(png_ptr);
+        png_set_expand(png_ptr);
         png_set_filler(png_ptr, 65535L, PNG_FILLER_AFTER);
 #else
         fprintf(stderr, "pngquant readpng:  image is neither RGBA nor GA\n");
@@ -291,6 +300,7 @@
 
     /* set the image parameters appropriately */
     int sample_depth;
+#if PNG_LIBPNG_VER > 10400 /* old libpng corrupts files with low depth */
     if (mainprog_ptr->num_palette <= 2)
         sample_depth = 1;
     else if (mainprog_ptr->num_palette <= 4)
@@ -298,6 +308,7 @@
     else if (mainprog_ptr->num_palette <= 16)
         sample_depth = 4;
     else
+#endif
         sample_depth = 8;
 
     png_set_IHDR(png_ptr, info_ptr, mainprog_ptr->width, mainprog_ptr->height,
_______________________________________________
Pkg-phototools-devel mailing list
Pkg-phototools-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-phototools-devel

Reply via email to