media-libs/freeimage: Fix building against =media-libs/jpeg-9*
authorPeter Levine <plevine457@gmail.com>
Sun, 25 Mar 2018 03:38:40 +0000 (23:38 -0400)
committerJames Le Cuirot <chewi@gentoo.org>
Sun, 25 Mar 2018 20:14:38 +0000 (21:14 +0100)
Bug: https://bugs.gentoo.org/647422
Package-Manager: Portage-2.3.16, Repoman-2.3.6
Closes: https://github.com/gentoo/gentoo/pull/7603

media-libs/freeimage/files/freeimage-3.15.4-libjpeg9.patch [new file with mode: 0644]
media-libs/freeimage/freeimage-3.15.4-r1.ebuild

diff --git a/media-libs/freeimage/files/freeimage-3.15.4-libjpeg9.patch b/media-libs/freeimage/files/freeimage-3.15.4-libjpeg9.patch
new file mode 100644 (file)
index 0000000..24eb9e0
--- /dev/null
@@ -0,0 +1,45 @@
+Bug: https://bugs.gentoo.org/647422\r
+Upstream Patch: https://sourceforge.net/p/freeimage/patches/130/\r
+\r
+diff -Naur a/Source/FreeImage/PluginJPEG.cpp b/Source/FreeImage/PluginJPEG.cpp
+--- a/Source/FreeImage/PluginJPEG.cpp  2018-03-24 23:24:11.062695375 -0400
++++ b/Source/FreeImage/PluginJPEG.cpp  2018-03-24 23:25:39.451124161 -0400
+@@ -1586,14 +1586,14 @@
+                       // thumbnail support (JFIF 1.02 extension markers)
+                       if(FreeImage_GetThumbnail(dib) != NULL) {
+-                              cinfo.write_JFIF_header = 1; //<### force it, though when color is CMYK it will be incorrect
++                              cinfo.write_JFIF_header = static_cast<boolean>(1); //<### force it, though when color is CMYK it will be incorrect
+                               cinfo.JFIF_minor_version = 2;
+                       }
+                       // baseline JPEG support
+                       if ((flags & JPEG_BASELINE) ==  JPEG_BASELINE) {
+-                              cinfo.write_JFIF_header = 0;    // No marker for non-JFIF colorspaces
+-                              cinfo.write_Adobe_marker = 0;   // write no Adobe marker by default                             
++                              cinfo.write_JFIF_header = static_cast<boolean>(0);      // No marker for non-JFIF colorspaces
++                              cinfo.write_Adobe_marker = static_cast<boolean>(0);     // write no Adobe marker by default
+                       }
+                       // set subsampling options if required
+diff -Naur a/Source/FreeImage.h b/Source/FreeImage.h
+--- a/Source/FreeImage.h       2018-03-24 23:24:11.066695395 -0400
++++ b/Source/FreeImage.h       2018-03-24 23:26:35.945391182 -0400
+@@ -117,12 +117,17 @@
+ #ifndef _WINDOWS_
+ #define _WINDOWS_
++#if JPEG_LIB_VERSION < 90
++
+ #ifndef FALSE
+ #define FALSE 0
+ #endif
+ #ifndef TRUE
+ #define TRUE 1
+ #endif
++
++#endif
++
+ #ifndef NULL
+ #define NULL 0
+ #endif
index 666fba9ba67b21d87cef49d323b2f2d8fee28d50..d40deb296850e4e33bd4e6d80ee7fa46ffbabecb 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -45,6 +45,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-3.15.4-CVE-2016-5684-1.patch
        "${FILESDIR}"/${PN}-3.15.4-CVE-2016-5684-2.patch
        "${FILESDIR}"/${PN}-3.15.4-CVE-2015-0852.patch
+       "${FILESDIR}"/${PN}-3.15.4-libjpeg9.patch
 )
 
 src_prepare() {