pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/graphics/freeimage freeimage: Update to 3.18.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/f20b2c238633
branches:  trunk
changeset: 407968:f20b2c238633
user:      nia <nia%pkgsrc.org@localhost>
date:      Sat Jan 11 14:40:44 2020 +0000

description:
freeimage: Update to 3.18.0

Release 3.18.0 is a maintenance release that mainly brings updates of its third party libraries.
The library has been updated with the new ZLib (1.2.11), LibJPEG (9c), LibPNG (1.6.35), LibTIFF (4.0.9), LibRaw (0.19.0), LibWebP (1.0.0), OpenEXR (2.2.1).
Other significant improvements concern better support for JPEG saving (when using 32-bit CMYK images) and PSD saving.
Lastly, the library contains many bug fixes provided by our users (will concern especially plugins PCX, TIFF, XPM, GIF, TARGA, PSD, BMP, DDS, PNG, HDR).
As usual, check the changes log for full details (especially for bug fixes) and check also the updated FreeImage documentation.

diffstat:

 graphics/freeimage/Makefile                                                          |    7 +-
 graphics/freeimage/distinfo                                                          |   18 +-
 graphics/freeimage/patches/patch-Makefile                                            |    4 +-
 graphics/freeimage/patches/patch-Makefile.fip                                        |    4 +-
 graphics/freeimage/patches/patch-Source_FreeImage_PluginPCX.cpp                      |  220 ----------
 graphics/freeimage/patches/patch-Source_FreeImage_PluginXPM.cpp                      |   33 -
 graphics/freeimage/patches/patch-Source_LibWebP_src_dsp_dsp.upsampling_mips_dsp_r2.c |   44 --
 graphics/freeimage/patches/patch-Source_LibWebP_src_dsp_dsp.yuv_mips_dsp_r2.c        |   24 -
 8 files changed, 16 insertions(+), 338 deletions(-)

diffs (truncated from 400 to 300 lines):

diff -r 3de84d4cdb8f -r f20b2c238633 graphics/freeimage/Makefile
--- a/graphics/freeimage/Makefile       Sat Jan 11 14:37:18 2020 +0000
+++ b/graphics/freeimage/Makefile       Sat Jan 11 14:40:44 2020 +0000
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.8 2019/11/02 22:37:56 rillig Exp $
+# $NetBSD: Makefile,v 1.9 2020/01/11 14:40:44 nia Exp $
 
-DISTNAME=      FreeImage3170
-PKGNAME=       freeimage-3.17.0
-PKGREVISION=   3
+DISTNAME=      FreeImage3180
+PKGNAME=       freeimage-3.18.0
 CATEGORIES=    devel graphics
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=freeimage/}
 EXTRACT_SUFX=  .zip
diff -r 3de84d4cdb8f -r f20b2c238633 graphics/freeimage/distinfo
--- a/graphics/freeimage/distinfo       Sat Jan 11 14:37:18 2020 +0000
+++ b/graphics/freeimage/distinfo       Sat Jan 11 14:40:44 2020 +0000
@@ -1,13 +1,9 @@
-$NetBSD: distinfo,v 1.6 2017/12/26 11:55:01 he Exp $
+$NetBSD: distinfo,v 1.7 2020/01/11 14:40:44 nia Exp $
 
-SHA1 (FreeImage3170.zip) = 6752c83798c2f81dee71a2e8bb11657068672669
-RMD160 (FreeImage3170.zip) = c4e87846098327ee346c49ae81b6036f6d9ab36d
-SHA512 (FreeImage3170.zip) = 703c2626c0bcfe73eb40d720f45745208ca9650a7730759680a2b38ad3f6c719a43008477032bc70b76a95761f7d4b6f901b961359d36b54ace906dd78fb391b
-Size (FreeImage3170.zip) = 7020636 bytes
-SHA1 (patch-Makefile) = 196331f954913d5b49ae1e2464fb356a26212168
-SHA1 (patch-Makefile.fip) = c12dd636f83f774a11c91c4e3373176fd27e562d
-SHA1 (patch-Source_FreeImage_PluginPCX.cpp) = 26853626d1dc6a52804f946fd0576269de380512
-SHA1 (patch-Source_FreeImage_PluginXPM.cpp) = eac7be24c3d64593feebdb548df8a404db66c113
+SHA1 (FreeImage3180.zip) = 38daa9d8f1bca2330a2eaa42ec66fbe6ede7dce9
+RMD160 (FreeImage3180.zip) = b791715fccf49355a3cb27b6250d8ed809c2454e
+SHA512 (FreeImage3180.zip) = 9d9cc7e2d57552c3115e277aeb036e0455204d389026b17a3f513da5be1fd595421655488bb1ec2f76faebed66049119ca55e26e2a6d37024b3fb7ef36ad4818
+Size (FreeImage3180.zip) = 7415716 bytes
+SHA1 (patch-Makefile) = d453337cb2a34f4480d1bd3c2115cb93715170b8
+SHA1 (patch-Makefile.fip) = 466b82e70d06f9552a73d86a742aa1bd3450f881
 SHA1 (patch-Source_LibOpenJPEG_opj__malloc.h) = 7e8b65d17cf1f0ed295964d477b96acac56bd927
-SHA1 (patch-Source_LibWebP_src_dsp_dsp.upsampling_mips_dsp_r2.c) = 9725fa20d545e6482f4396487b70c104ddb37ce6
-SHA1 (patch-Source_LibWebP_src_dsp_dsp.yuv_mips_dsp_r2.c) = bd569e2b2fa7b79a3651f53352fc8e5d26d0b2d3
diff -r 3de84d4cdb8f -r f20b2c238633 graphics/freeimage/patches/patch-Makefile
--- a/graphics/freeimage/patches/patch-Makefile Sat Jan 11 14:37:18 2020 +0000
+++ b/graphics/freeimage/patches/patch-Makefile Sat Jan 11 14:40:44 2020 +0000
@@ -1,5 +1,7 @@
-$NetBSD: patch-Makefile,v 1.2 2017/07/08 08:08:25 nros Exp $
+$NetBSD: patch-Makefile,v 1.3 2020/01/11 14:40:44 nia Exp $
+
 * use c++ for linking instead of linking with stdc++
+
 --- Makefile.gnu.orig  2015-03-08 17:04:00.000000000 +0000
 +++ Makefile.gnu
 @@ -5,8 +5,8 @@ include Makefile.srcs
diff -r 3de84d4cdb8f -r f20b2c238633 graphics/freeimage/patches/patch-Makefile.fip
--- a/graphics/freeimage/patches/patch-Makefile.fip     Sat Jan 11 14:37:18 2020 +0000
+++ b/graphics/freeimage/patches/patch-Makefile.fip     Sat Jan 11 14:40:44 2020 +0000
@@ -1,5 +1,7 @@
-$NetBSD: patch-Makefile.fip,v 1.2 2017/07/08 08:08:25 nros Exp $
+$NetBSD: patch-Makefile.fip,v 1.3 2020/01/11 14:40:44 nia Exp $
+
 * use c++ for linking instead of linking with stdc++
+
 --- Makefile.fip.orig  2015-03-08 17:03:56.000000000 +0000
 +++ Makefile.fip
 @@ -5,8 +5,8 @@ include fipMakefile.srcs
diff -r 3de84d4cdb8f -r f20b2c238633 graphics/freeimage/patches/patch-Source_FreeImage_PluginPCX.cpp
--- a/graphics/freeimage/patches/patch-Source_FreeImage_PluginPCX.cpp   Sat Jan 11 14:37:18 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,220 +0,0 @@
-$NetBSD: patch-Source_FreeImage_PluginPCX.cpp,v 1.1 2017/02/20 08:00:42 snj Exp $
-
-Fix CVE-2015-0852.
-
-http://freeimage.cvs.sourceforge.net/viewvc/freeimage/FreeImage/Source/FreeImage/PluginPCX.cpp?r1=1.17&r2=1.18&pathrev=MAIN
-
---- Source/FreeImage/PluginPCX.cpp.orig        2015-03-02 02:07:08.000000000 -0800
-+++ Source/FreeImage/PluginPCX.cpp     2017-02-19 23:39:07.000000000 -0800
-@@ -30,7 +30,7 @@
- //   Constants + headers
- // ----------------------------------------------------------
- 
--#define IO_BUF_SIZE   2048
-+#define PCX_IO_BUF_SIZE       2048
- 
- // ----------------------------------------------------------
- 
-@@ -120,17 +120,17 @@ readline(FreeImageIO &io, fi_handle hand
- 
-               while (length--) {
-                       if (count == 0) {
--                              if (*ReadPos >= IO_BUF_SIZE - 1 ) {
--                                      if (*ReadPos == IO_BUF_SIZE - 1) {
-+                              if (*ReadPos >= PCX_IO_BUF_SIZE - 1 ) {
-+                                      if (*ReadPos == PCX_IO_BUF_SIZE - 1) {
-                                               // we still have one BYTE, copy it to the start pos
- 
--                                              *ReadBuf = ReadBuf[IO_BUF_SIZE - 1];
-+                                              *ReadBuf = ReadBuf[PCX_IO_BUF_SIZE - 1];
- 
--                                              io.read_proc(ReadBuf + 1, 1, IO_BUF_SIZE - 1, handle);
-+                                              io.read_proc(ReadBuf + 1, 1, PCX_IO_BUF_SIZE - 1, handle);
-                                       } else {
-                                               // read the complete buffer
- 
--                                              io.read_proc(ReadBuf, 1, IO_BUF_SIZE, handle);
-+                                              io.read_proc(ReadBuf, 1, PCX_IO_BUF_SIZE, handle);
-                                       }
- 
-                                       *ReadPos = 0;
-@@ -346,19 +346,9 @@ Load(FreeImageIO *io, fi_handle handle, 
-       BOOL header_only = (flags & FIF_LOAD_NOPIXELS) == FIF_LOAD_NOPIXELS;
- 
-       try {
--              // check PCX identifier
--
--              long start_pos = io->tell_proc(handle);
--              BOOL validated = pcx_validate(io, handle);              
--              io->seek_proc(handle, start_pos, SEEK_SET);
--              if(!validated) {
--                      throw FI_MSG_ERROR_MAGIC_NUMBER;
--              }
--
--              // process the header
--
-               PCXHEADER header;
- 
-+              // process the header
-               if(io->read_proc(&header, sizeof(PCXHEADER), 1, handle) != 1) {
-                       throw FI_MSG_ERROR_PARSING;
-               }
-@@ -366,20 +356,38 @@ Load(FreeImageIO *io, fi_handle handle, 
-               SwapHeader(&header);
- #endif
- 
--              // allocate a new DIB
-+              // process the window
-+              const WORD *window = header.window;     // left, upper, right,lower pixel coord.
-+              const int left          = window[0];
-+              const int top           = window[1];
-+              const int right         = window[2];
-+              const int bottom        = window[3];
- 
--              unsigned width = header.window[2] - header.window[0] + 1;
--              unsigned height = header.window[3] - header.window[1] + 1;
--              unsigned bitcount = header.bpp * header.planes;
-+              // check image size
-+              if((left >= right) || (top >= bottom)) {
-+                      throw FI_MSG_ERROR_PARSING;
-+              }
- 
--              if (bitcount == 24) {
--                      dib = FreeImage_AllocateHeader(header_only, width, height, bitcount, FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK);
--              } else {
--                      dib = FreeImage_AllocateHeader(header_only, width, height, bitcount);                   
-+              const unsigned width = right - left + 1;
-+              const unsigned height = bottom - top + 1;
-+              const unsigned bitcount = header.bpp * header.planes;
-+
-+              // allocate a new dib
-+              switch(bitcount) {
-+                      case 1:
-+                      case 4:
-+                      case 8:
-+                              dib = FreeImage_AllocateHeader(header_only, width, height, bitcount);
-+                              break;
-+                      case 24:
-+                              dib = FreeImage_AllocateHeader(header_only, width, height, bitcount, FI_RGBA_RED_MASK, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK);
-+                              break;
-+                      default:
-+                              throw FI_MSG_ERROR_DIB_MEMORY;
-+                              break;
-               }
- 
-               // if the dib couldn't be allocated, throw an error
--
-               if (!dib) {
-                       throw FI_MSG_ERROR_DIB_MEMORY;
-               }
-@@ -426,19 +434,23 @@ Load(FreeImageIO *io, fi_handle handle, 
- 
-                               if (palette_id == 0x0C) {
-                                       BYTE *cmap = (BYTE*)malloc(768 * sizeof(BYTE));
--                                      io->read_proc(cmap, 768, 1, handle);
- 
--                                      pal = FreeImage_GetPalette(dib);
--                                      BYTE *pColormap = &cmap[0];
-+                                      if(cmap) {
-+                                              io->read_proc(cmap, 768, 1, handle);
- 
--                                      for(int i = 0; i < 256; i++) {
--                                              pal[i].rgbRed   = pColormap[0];
--                                              pal[i].rgbGreen = pColormap[1];
--                                              pal[i].rgbBlue  = pColormap[2];
--                                              pColormap += 3;
-+                                              pal = FreeImage_GetPalette(dib);
-+                                              BYTE *pColormap = &cmap[0];
-+
-+                                              for(int i = 0; i < 256; i++) {
-+                                                      pal[i].rgbRed   = pColormap[0];
-+                                                      pal[i].rgbGreen = pColormap[1];
-+                                                      pal[i].rgbBlue  = pColormap[2];
-+                                                      pColormap += 3;
-+                                              }
-+
-+                                              free(cmap);
-                                       }
- 
--                                      free(cmap);
-                               }
- 
-                               // wrong palette ID, perhaps a gray scale is needed ?
-@@ -463,12 +475,12 @@ Load(FreeImageIO *io, fi_handle handle, 
-                       return dib;
-               }
- 
--              // calculate the line length for the PCX and the DIB
-+              // calculate the line length for the PCX and the dib
- 
-               // length of raster line in bytes
--              unsigned linelength = header.bytes_per_line * header.planes;
--              // length of DIB line (rounded to DWORD) in bytes
--              unsigned pitch = FreeImage_GetPitch(dib);
-+              const unsigned linelength = header.bytes_per_line * header.planes;
-+              // length of dib line (rounded to DWORD) in bytes
-+              const unsigned pitch = FreeImage_GetPitch(dib);
- 
-               // run-length encoding ?
- 
-@@ -478,14 +490,18 @@ Load(FreeImageIO *io, fi_handle handle, 
-               // ---------------
- 
-               line = (BYTE*)malloc(linelength * sizeof(BYTE));
--              if(!line) throw FI_MSG_ERROR_MEMORY;
-+              if(!line) {
-+                      throw FI_MSG_ERROR_MEMORY;
-+              }
-               
--              ReadBuf = (BYTE*)malloc(IO_BUF_SIZE * sizeof(BYTE));
--              if(!ReadBuf) throw FI_MSG_ERROR_MEMORY;
-+              ReadBuf = (BYTE*)malloc(PCX_IO_BUF_SIZE * sizeof(BYTE));
-+              if(!ReadBuf) {
-+                      throw FI_MSG_ERROR_MEMORY;
-+              }
-               
-               bits = FreeImage_GetScanLine(dib, height - 1);
- 
--              int ReadPos = IO_BUF_SIZE;
-+              int ReadPos = PCX_IO_BUF_SIZE;
- 
-               if ((header.planes == 1) && ((header.bpp == 1) || (header.bpp == 8))) {
-                       BYTE skip;
-@@ -497,7 +513,7 @@ Load(FreeImageIO *io, fi_handle handle, 
-                               // skip trailing garbage at the end of the scanline
- 
-                               for (unsigned count = written; count < linelength; count++) {
--                                      if (ReadPos < IO_BUF_SIZE) {
-+                                      if (ReadPos < PCX_IO_BUF_SIZE) {
-                                               ReadPos++;
-                                       } else {
-                                               io->read_proc(&skip, sizeof(BYTE), 1, handle);
-@@ -513,7 +529,9 @@ Load(FreeImageIO *io, fi_handle handle, 
-                       unsigned x, y, written;
- 
-                       buffer = (BYTE*)malloc(width * sizeof(BYTE));
--                      if(!buffer) throw FI_MSG_ERROR_MEMORY;
-+                      if(!buffer) {
-+                              throw FI_MSG_ERROR_MEMORY;
-+                      }
- 
-                       for (y = 0; y < height; y++) {
-                               written = readline(*io, handle, line, linelength, bIsRLE, ReadBuf, &ReadPos);
-@@ -532,7 +550,7 @@ Load(FreeImageIO *io, fi_handle handle, 
-                                       }
-                               }
- 
--                              // then write the DIB row
-+                              // then write the dib row
- 
-                               for (x = 0; x < width / 2; x++) {
-                                       bits[x] = (buffer[2*x] << 4) | buffer[2*x+1];
-@@ -541,7 +559,7 @@ Load(FreeImageIO *io, fi_handle handle, 
-                               // skip trailing garbage at the end of the scanline
- 
-                               for (unsigned count = written; count < linelength; count++) {
--                                      if (ReadPos < IO_BUF_SIZE) {
-+                                      if (ReadPos < PCX_IO_BUF_SIZE) {
-                                               ReadPos++;
-                                       } else {
-                                               io->read_proc(&skip, sizeof(BYTE), 1, handle);
diff -r 3de84d4cdb8f -r f20b2c238633 graphics/freeimage/patches/patch-Source_FreeImage_PluginXPM.cpp
--- a/graphics/freeimage/patches/patch-Source_FreeImage_PluginXPM.cpp   Sat Jan 11 14:37:18 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-$NetBSD: patch-Source_FreeImage_PluginXPM.cpp,v 1.1 2017/02/20 08:00:42 snj Exp $
-
-Fix CVE-2016-5684.
-
-http://freeimage.cvs.sourceforge.net/viewvc/freeimage/FreeImage/Source/FreeImage/PluginXPM.cpp?r1=1.17&r2=1.18
-
-and
-
-http://freeimage.cvs.sourceforge.net/viewvc/freeimage/FreeImage/Source/FreeImage/PluginXPM.cpp?r1=1.18&r2=1.19



Home | Main Index | Thread Index | Old Index