From b7ebc951da8800f711142f69d9d958bde67a112d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 28 Apr 2019 09:54:45 +0100 Subject: gentoo resync : 28.04.2019 --- media-libs/freeimage/Manifest | 9 + .../files/freeimage-3.18.0-disable-plugin-G3.patch | 56 ++ .../files/freeimage-3.18.0-libjpeg9.patch | 24 + .../freeimage/files/freeimage-3.18.0-raw.patch | 15 + .../freeimage-3.18.0-remove-jpeg-transform.patch | 82 +++ ...image-3.18.0-rename-jpeg_read_icc_profile.patch | 34 + .../files/freeimage-3.18.0-unbundling.patch | 724 +++++++++++++++++++++ media-libs/freeimage/freeimage-3.18.0.ebuild | 118 ++++ 8 files changed, 1062 insertions(+) create mode 100644 media-libs/freeimage/files/freeimage-3.18.0-disable-plugin-G3.patch create mode 100644 media-libs/freeimage/files/freeimage-3.18.0-libjpeg9.patch create mode 100644 media-libs/freeimage/files/freeimage-3.18.0-raw.patch create mode 100644 media-libs/freeimage/files/freeimage-3.18.0-remove-jpeg-transform.patch create mode 100644 media-libs/freeimage/files/freeimage-3.18.0-rename-jpeg_read_icc_profile.patch create mode 100644 media-libs/freeimage/files/freeimage-3.18.0-unbundling.patch create mode 100644 media-libs/freeimage/freeimage-3.18.0.ebuild (limited to 'media-libs/freeimage') diff --git a/media-libs/freeimage/Manifest b/media-libs/freeimage/Manifest index 89d9e4977515..aa70a08f6a15 100644 --- a/media-libs/freeimage/Manifest +++ b/media-libs/freeimage/Manifest @@ -5,7 +5,16 @@ AUX freeimage-3.15.4-libjpeg-turbo.patch 20346 BLAKE2B 38ecea346812c292e69771731 AUX freeimage-3.15.4-libjpeg9.patch 1581 BLAKE2B 717a2e0b757c5d7ca540ec5ef6cfa2a2bc06bfc2de86e7b67bfc6c8010b7b32272456ed67d3297f02477318b3c3af8075df004c432cd1bd795652dab4096f7e5 SHA512 76f05f35118e96405977ebe746b600a3887677c30ce1fe0600d1e8f0c2aa0238f4dd418a0c612021ec8551692c2420190bcfb2f6b305a24c5a4070c77f1b7899 AUX freeimage-3.15.4-raw.patch 350 BLAKE2B 4f97bc847878eef03c4af249fb20353979aa043fd37840b9cdb3159fa097a8b52455c2a0f4bd6f97140ebcf15739692c270f7ae1e62859da7188b835fb28a9f8 SHA512 2429bec7ec8f4963d3b0bd658093e8c3ff83d8ea5d934beb28526b80e89cb3aee6fe849800d80a81680614fa98e962744ced33ee198e04e32fc4be4d105e528b AUX freeimage-3.15.4-unbundling.patch 17258 BLAKE2B 309707fe4b07c3808fb2824a07eeef77a6b424267b5363e7b67c5677f33903962b887d1116e6c8bdd786c244cb80e84b4a2d9b5941a89ed640aabc6fddd1e320 SHA512 96883a598a6386b322e69497760cff606d95e354dd7a197b858060b41402641c9188bf6c77a9a249d04a8c3d59561ccb034581a43e1df3fd0806f3a2a521f3a0 +AUX freeimage-3.18.0-disable-plugin-G3.patch 1553 BLAKE2B d122df83a8889cd599d12c65cee5678b3654266c2e128d1d8d963eed7743b62ba6da7c582acc389f874fd218e2f7857d718a562bd81c52cf23f31284fdc00dc4 SHA512 9a0adeaaa3bf839387dbbccc54e0e32e0af87af4c398edd4cc44f1c6d380228dc7c174a7715ac397c15d48b7b5337543aac05020e25b6680187e179e8738dccd +AUX freeimage-3.18.0-libjpeg9.patch 520 BLAKE2B 4788a3c4c209568df7176ed7b2699f9c33efb8c2ff2dc51d1e6bc76329ade073bdd296d7e9aa2441a655e46407df31cc5dd84c0d1805ca75418bae9d4ca4ecfa SHA512 75fc7c4d257d4bd67202c5c91af23f3e990342490c4661ab2219b89c40626703d9ceb5f05dc8d2a912153fbe5b9e07f24566570597f84cec15fbe03cb7d4b69e +AUX freeimage-3.18.0-raw.patch 432 BLAKE2B 96c89d051a849f5909bdb9b3f720d4146651504f972a1661b55caa6344eeac3dc64dda1beb027e43e9b2eb7ce5ac8193db424422e74ce957744d9e6d14086a7a SHA512 01e150205a62ee9eb240890a5c9b92160a74073a1fe43811ed8941aeda824ba3c87bf4a2e631cbe367a7391374e93d309d95a6b5ec31009e4e8f1c2fc6b10da1 +AUX freeimage-3.18.0-remove-jpeg-transform.patch 3392 BLAKE2B d82f5723aaff66a995ec4d748a8bc988a18ef149e525d108b458971dc3ae7278e9f0d65527576b6ebcd54b403d296810e19cc2d808397a8aa3558a13bd296331 SHA512 071b5dc814020db19d41527f2f6fe89f2a3a1340d5825c204ea3fa496d4d1c3075bdd006fa041b0a819892d5b01f1b9b32ed8827e9a180ef9bbe92bf2554a67e +AUX freeimage-3.18.0-rename-jpeg_read_icc_profile.patch 1278 BLAKE2B b387457b89614c4fe3e7e37891c8ce0cc296b8e05300cd88b789e1a6551cb78761a58446f1a16d0d59af6ea05fcf73defd898fe99e6b12e6cde9de6bd7606edc SHA512 4c18f02f750c47796a718f579ae3bfda91354eba4ba991f4df9d71a09ead04e13087bcd1423374c359a39b98c729a38466e464b46d7cd1af15e9e4aadd72a3b4 +AUX freeimage-3.18.0-unbundling.patch 20927 BLAKE2B 14f7d49ddd8df8b7e7231a337ba8fae078c7e02548d05a9274901d00f281be49f8db74bf7f3aed53c22fa80b227b8a585f020d89725cdaf7b763510d312d67e1 SHA512 e799e6808f8793866ec60eabf730bf25ec29786ab70ff96aea9be53dc49e0b1ebe727e7ff37abbfd228c908039e750381b951ac7fc48a448673c588999b41783 DIST FreeImage3154.pdf 1007480 BLAKE2B 801d39c4b7eeab833c7225c2d53a3a0e8e9d2a91ea3f7173047705c8b750706f3a4a9ac60f7ba9d5e8150b548bd5add242e9e40f498c57ad9e5a623972bbb239 SHA512 cebde5e2609c9a0c06b4e07e1c595d7d6714895095cd9935f59c8b2ff9b34116248f5453b41f469f6242d87cae79be82d59f6a9ec0f75b1ea3df61ac1f651b28 DIST FreeImage3154.zip 5513923 BLAKE2B 376b00faaae2c10c9eb36f89726a022734e109ca7ca11951c9e6525f21d2a7ee305ec195be29a272ecb7935ba5d0b61f3d84f26a6aec5f7a9229d5e47cd665bb SHA512 0db9eb7d0ed8e08e10ff4fa274c4484541ca119c3d437a85fdc3b2d9232bf14a7877c79b1e62c8c99278d7020a9f623c161f2342475f3ee526233404138112cc +DIST FreeImage3180.pdf 1665541 BLAKE2B 5d40ee6fa0a1e73df0cc961edbd70a2835ef88fb540f123fd81f2bb826d4c949d2a60dfe3fc02406ce632a389935abac0d471c963c9803b8c2aece2b48afb003 SHA512 632f68b14f7a5916a1b95bbf86c268d0afe786a2537472301bb002254aa3195f046efb41f073133633211e985e90edbb99285ab6f42bc55501c756292a3c4c03 +DIST FreeImage3180.zip 7415716 BLAKE2B b695271f4e80eb304eccde66e38b5095eceae51fbe0dd97df69c55f364f8440d8c97139b8edc2f01c400f5c53a7336fdfab1e28aa3ea04f485901d5def443d25 SHA512 9d9cc7e2d57552c3115e277aeb036e0455204d389026b17a3f513da5be1fd595421655488bb1ec2f76faebed66049119ca55e26e2a6d37024b3fb7ef36ad4818 EBUILD freeimage-3.15.4-r1.ebuild 3004 BLAKE2B b67721500490eab75a294efa32d508eed33e909e0acea8ed5b49dfd79ab7cbcb074ab0e571a0106a606fd996a2afb4c7eafe10b9d3ec31b97f4b3e50da8f8f36 SHA512 c2fe03d952891e8be4709f7819d5326f18d1755cee625f0bdc7e0a6e05e3dde2093b82780183fdf36f639397ffeb511a653b3caadd0b4b26d1f7fe8cf0529275 +EBUILD freeimage-3.18.0.ebuild 2976 BLAKE2B f701f466ef86c26db8a731da62f5686e1b2e17076cb88f8cf750969dab3e27eeaed659c36e60dd7386a73e4c98a73425b91866b51c3e1a75991ac3533f870618 SHA512 7717ee6cd9685b1866133a046a74ae486679ba4362cb66a1f78a5c47169e05a7985131e519ce2d64fe7dde5eb466e5c6b37f6d966d3307369abaf3fa44a60b96 MISC metadata.xml 332 BLAKE2B e0048362683712cbd48296fa15c743d7ec86e71a7ab1c58f8abece77dd77b38e2f67b099efc2ece05294a9a39258ad81f5947162b66fa020d6fa639f8abb95a9 SHA512 060e17cbb418ebf7df3ee40bb1e99e12ce281101fc50e62e1a1d9cf0294fffbb2f475df1c25e954cb049bf065b316e155ccbf94dcae0bf49acf9e45e306144c5 diff --git a/media-libs/freeimage/files/freeimage-3.18.0-disable-plugin-G3.patch b/media-libs/freeimage/files/freeimage-3.18.0-disable-plugin-G3.patch new file mode 100644 index 000000000000..a541bfa9464e --- /dev/null +++ b/media-libs/freeimage/files/freeimage-3.18.0-disable-plugin-G3.patch @@ -0,0 +1,56 @@ +From d07a573fa1e0593e6af4f59e7bef15b78a8edfca Mon Sep 17 00:00:00 2001 +From: Patrick Nicolas +Date: Tue, 13 Nov 2018 20:48:39 +0100 +Subject: [PATCH 4/4] disable plugin G3 + +--- + Makefile.srcs | 3 --- + Source/FreeImage/Plugin.cpp | 3 --- + fipMakefile.srcs | 3 --- + 3 files changed, 9 deletions(-) + +diff --git a/Makefile.srcs b/Makefile.srcs +index a306aae..dac3ec2 100644 +--- a/Makefile.srcs ++++ b/Makefile.srcs +@@ -37,9 +37,6 @@ SRCS-yes += \ + SRCS-$(USE_EXR) += \ + Source/FreeImage/PluginEXR.cpp \ + +-SRCS-$(USE_TIFF) += \ +- Source/FreeImage/PluginG3.cpp \ +- + SRCS-yes += \ + Source/FreeImage/PluginGIF.cpp \ + Source/FreeImage/PluginHDR.cpp \ +diff --git a/Source/FreeImage/Plugin.cpp b/Source/FreeImage/Plugin.cpp +index 7768a32..43d8b6d 100644 +--- a/Source/FreeImage/Plugin.cpp ++++ b/Source/FreeImage/Plugin.cpp +@@ -273,9 +273,6 @@ FreeImage_Initialise(BOOL load_local_plugins_only) { + s_plugins->AddNode(InitDDS); + s_plugins->AddNode(InitGIF); + s_plugins->AddNode(InitHDR); +-#ifdef USE_TIFF +- s_plugins->AddNode(InitG3); +-#endif + s_plugins->AddNode(InitSGI); + #ifdef USE_EXR + s_plugins->AddNode(InitEXR); +diff --git a/fipMakefile.srcs b/fipMakefile.srcs +index 74c9ec0..8a48b67 100644 +--- a/fipMakefile.srcs ++++ b/fipMakefile.srcs +@@ -37,9 +37,6 @@ SRCS-yes += \ + SRCS-$(USE_EXR) += \ + Source/FreeImage/PluginEXR.cpp \ + +-SRCS-$(USE_TIFF) += \ +- Source/FreeImage/PluginG3.cpp \ +- + SRCS-yes += \ + Source/FreeImage/PluginGIF.cpp \ + Source/FreeImage/PluginHDR.cpp \ +-- +2.19.1 + diff --git a/media-libs/freeimage/files/freeimage-3.18.0-libjpeg9.patch b/media-libs/freeimage/files/freeimage-3.18.0-libjpeg9.patch new file mode 100644 index 000000000000..fe344229520f --- /dev/null +++ b/media-libs/freeimage/files/freeimage-3.18.0-libjpeg9.patch @@ -0,0 +1,24 @@ +Bug: https://bugs.gentoo.org/647422 +Upstream Patch: https://sourceforge.net/p/freeimage/patches/130/ + +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 diff --git a/media-libs/freeimage/files/freeimage-3.18.0-raw.patch b/media-libs/freeimage/files/freeimage-3.18.0-raw.patch new file mode 100644 index 000000000000..94accaba9695 --- /dev/null +++ b/media-libs/freeimage/files/freeimage-3.18.0-raw.patch @@ -0,0 +1,15 @@ +Index: FreeImage/Source/FreeImage.h +=================================================================== +--- FreeImage.orig/Source/FreeImage.h ++++ FreeImage/Source/FreeImage.h +@@ -155,8 +155,10 @@ typedef uint8_t BYTE; + typedef uint16_t WORD; + typedef uint32_t DWORD; + typedef int32_t LONG; ++#ifndef _LIBRAW_TYPES_H + typedef int64_t INT64; + typedef uint64_t UINT64; ++#endif + #else + // MS is not C99 ISO compliant + typedef long BOOL; diff --git a/media-libs/freeimage/files/freeimage-3.18.0-remove-jpeg-transform.patch b/media-libs/freeimage/files/freeimage-3.18.0-remove-jpeg-transform.patch new file mode 100644 index 000000000000..fb79cf7b5135 --- /dev/null +++ b/media-libs/freeimage/files/freeimage-3.18.0-remove-jpeg-transform.patch @@ -0,0 +1,82 @@ +From cb27fc742dd0b569f9ffe91a99ebeb5f077971da Mon Sep 17 00:00:00 2001 +From: Patrick Nicolas +Date: Tue, 13 Nov 2018 20:27:59 +0100 +Subject: [PATCH 2/4] remove jpeg transform + +--- + Makefile.srcs | 7 ------- + Source/FreeImage.h | 2 ++ + fipMakefile.srcs | 8 -------- + 3 files changed, 2 insertions(+), 15 deletions(-) + +diff --git a/Makefile.srcs b/Makefile.srcs +index cb41903..a306aae 100644 +--- a/Makefile.srcs ++++ b/Makefile.srcs +@@ -141,17 +141,10 @@ SRCS-yes += \ + Source/FreeImageToolkit/CopyPaste.cpp \ + Source/FreeImageToolkit/Display.cpp \ + Source/FreeImageToolkit/Flip.cpp \ +- +-SRCS-$(USE_JPEG) += \ +- Source/FreeImageToolkit/JPEGTransform.cpp \ +- +-SRCS-yes += \ + Source/FreeImageToolkit/MultigridPoissonSolver.cpp \ + Source/FreeImageToolkit/Rescale.cpp \ + Source/FreeImageToolkit/Resize.cpp \ + +-SRCS-$(USE_JPEG) += \ +- Source/transupp.c + SRCS = $(SRCS-yes) + + INCLS = Dist/FreeImage.h \ +diff --git a/Source/FreeImage.h b/Source/FreeImage.h +index 12182cd..ac4e6a0 100644 +--- a/Source/FreeImage.h ++++ b/Source/FreeImage.h +@@ -1089,6 +1089,7 @@ DLL_API const char* DLL_CALLCONV FreeImage_TagToString(FREE_IMAGE_MDMODEL model, + // JPEG lossless transformation routines + // -------------------------------------------------------------------------- + ++#if 0 // not supported on Gentoo + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransform(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE)); + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, BOOL perfect FI_DEFAULT(TRUE)); + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGCrop(const char *src_file, const char *dst_file, int left, int top, int right, int bottom); +@@ -1097,6 +1098,7 @@ DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformFromHandle(FreeImageIO* src_io, + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombined(const char *src_file, const char *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE)); + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedU(const wchar_t *src_file, const wchar_t *dst_file, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE)); + DLL_API BOOL DLL_CALLCONV FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY* src_stream, FIMEMORY* dst_stream, FREE_IMAGE_JPEG_OPERATION operation, int* left, int* top, int* right, int* bottom, BOOL perfect FI_DEFAULT(TRUE)); ++#endif + + + // -------------------------------------------------------------------------- +diff --git a/fipMakefile.srcs b/fipMakefile.srcs +index e58f046..74c9ec0 100644 +--- a/fipMakefile.srcs ++++ b/fipMakefile.srcs +@@ -141,11 +141,6 @@ SRCS-yes += \ + Source/FreeImageToolkit/CopyPaste.cpp \ + Source/FreeImageToolkit/Display.cpp \ + Source/FreeImageToolkit/Flip.cpp \ +- +-SRCS-$(USE_JPEG) += \ +- Source/FreeImageToolkit/JPEGTransform.cpp \ +- +-SRCS-yes += \ + Source/FreeImageToolkit/MultigridPoissonSolver.cpp \ + Source/FreeImageToolkit/Rescale.cpp \ + Source/FreeImageToolkit/Resize.cpp \ +@@ -157,9 +152,6 @@ SRCS-yes += \ + Wrapper/FreeImagePlus/src/fipWinImage.cpp \ + Wrapper/FreeImagePlus/src/FreeImagePlus.cpp + +-SRCS-$(USE_JPEG) += \ +- Source/transupp.c +- + SRCS = $(SRCS-yes) + INCLUDE = -I. \ + -ISource \ +-- +2.19.1 + diff --git a/media-libs/freeimage/files/freeimage-3.18.0-rename-jpeg_read_icc_profile.patch b/media-libs/freeimage/files/freeimage-3.18.0-rename-jpeg_read_icc_profile.patch new file mode 100644 index 000000000000..982d00747c59 --- /dev/null +++ b/media-libs/freeimage/files/freeimage-3.18.0-rename-jpeg_read_icc_profile.patch @@ -0,0 +1,34 @@ +From 27c02a3ed6196b4b0bab5524f2825da58a76d706 Mon Sep 17 00:00:00 2001 +From: Patrick Nicolas +Date: Tue, 13 Nov 2018 20:28:51 +0100 +Subject: [PATCH 3/4] rename jpeg_read_icc_profile + +--- + Source/FreeImage/PluginJPEG.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/FreeImage/PluginJPEG.cpp b/Source/FreeImage/PluginJPEG.cpp +index dd97e63..569f71e 100644 +--- a/Source/FreeImage/PluginJPEG.cpp ++++ b/Source/FreeImage/PluginJPEG.cpp +@@ -507,7 +507,7 @@ marker_is_icc(jpeg_saved_marker_ptr marker) { + return FALSE. You might want to issue an error message instead. + */ + static BOOL +-jpeg_read_icc_profile(j_decompress_ptr cinfo, JOCTET **icc_data_ptr, unsigned *icc_data_len) { ++_jpeg_read_icc_profile(j_decompress_ptr cinfo, JOCTET **icc_data_ptr, unsigned *icc_data_len) { + jpeg_saved_marker_ptr marker; + int num_markers = 0; + int seq_no; +@@ -749,7 +749,7 @@ read_markers(j_decompress_ptr cinfo, FIBITMAP *dib) { + BYTE *icc_profile = NULL; + unsigned icc_length = 0; + +- if( jpeg_read_icc_profile(cinfo, &icc_profile, &icc_length) ) { ++ if( _jpeg_read_icc_profile(cinfo, &icc_profile, &icc_length) ) { + // copy ICC profile data + FreeImage_CreateICCProfile(dib, icc_profile, icc_length); + // clean up +-- +2.19.1 + diff --git a/media-libs/freeimage/files/freeimage-3.18.0-unbundling.patch b/media-libs/freeimage/files/freeimage-3.18.0-unbundling.patch new file mode 100644 index 000000000000..ad2e4961e440 --- /dev/null +++ b/media-libs/freeimage/files/freeimage-3.18.0-unbundling.patch @@ -0,0 +1,724 @@ +From 03a713e62529d1bcb45aedf767c7cb33ddd6e1a7 Mon Sep 17 00:00:00 2001 +From: Patrick Nicolas +Date: Tue, 13 Nov 2018 19:40:58 +0100 +Subject: [PATCH 1/4] unbundling + +diff --git a/Makefile.fip b/Makefile.fip +index b59c419..c6b82bb 100644 +--- a/Makefile.fip ++++ b/Makefile.fip +@@ -11,7 +11,26 @@ INSTALLDIR ?= $(DESTDIR)/usr/lib + # Converts cr/lf to just lf + DOS2UNIX = dos2unix + +-LIBRARIES = -lstdc++ ++PKG_CONFIG ?= pkg-config ++ ++USE_EXR ?= yes ++USE_JPEG ?= yes ++USE_JPEG2K ?= yes ++USE_MNG ?= yes ++USE_PNG ?= yes ++USE_TIFF ?= yes ++USE_RAW ?= yes ++USE_WEBP ?= yes ++ ++LIBRARIES-yes = $(shell $(PKG_CONFIG) --libs zlib) ++LIBRARIES-$(USE_EXR) += $(shell $(PKG_CONFIG) --libs OpenEXR) ++LIBRARIES-$(USE_JPEG) += -ljpeg ++LIBRARIES-$(USE_JPEG2K) += $(shell $(PKG_CONFIG) --libs libopenjp2) ++LIBRARIES-$(USE_MNG) += -lmng ++LIBRARIES-$(USE_PNG) += $(shell $(PKG_CONFIG) --libs libpng) ++LIBRARIES-$(USE_TIFF) += $(shell $(PKG_CONFIG) --libs libtiff-4 IlmBase) ++LIBRARIES-$(USE_RAW) += $(shell $(PKG_CONFIG) --libs libraw) ++LIBRARIES-$(USE_WEBP) += $(shell $(PKG_CONFIG) --libs libwebp) + + MODULES = $(SRCS:.c=.o) + MODULES := $(MODULES:.cpp=.o) +@@ -68,16 +87,18 @@ $(STATICLIB): $(MODULES) + $(AR) r $@ $(MODULES) + + $(SHAREDLIB): $(MODULES) +- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) ++ $(CXX) $(CXXFLAGS) -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES-yes) + + install: + install -d $(INCDIR) $(INSTALLDIR) +- install -m 644 -o root -g root $(HEADER) $(INCDIR) +- install -m 644 -o root -g root $(HEADERFIP) $(INCDIR) +- install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR) +- install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR) ++ install -m 644 $(HEADER) $(INCDIR) ++ install -m 644 $(HEADERFIP) $(INCDIR) ++ifneq ($(STATICLIB),) ++ install -m 644 $(STATICLIB) $(INSTALLDIR) ++endif ++ install -m 755 $(SHAREDLIB) $(INSTALLDIR) + ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME) +- ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME) ++ ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME) + + clean: + rm -f core Dist/*.* u2dtmp* $(MODULES) $(STATICLIB) $(SHAREDLIB) $(LIBNAME) +diff --git a/Makefile.gnu b/Makefile.gnu +index 92f6358..345f0db 100644 +--- a/Makefile.gnu ++++ b/Makefile.gnu +@@ -11,7 +11,26 @@ INSTALLDIR ?= $(DESTDIR)/usr/lib + # Converts cr/lf to just lf + DOS2UNIX = dos2unix + +-LIBRARIES = -lstdc++ ++PKG_CONFIG ?= pkg-config ++ ++USE_EXR ?= yes ++USE_JPEG ?= yes ++USE_JPEG2K ?= yes ++USE_MNG ?= yes ++USE_PNG ?= yes ++USE_TIFF ?= yes ++USE_RAW ?= yes ++USE_WEBP ?= yes ++ ++LIBRARIES-yes = $(shell $(PKG_CONFIG) --libs zlib) ++LIBRARIES-$(USE_EXR) += $(shell $(PKG_CONFIG) --libs OpenEXR) ++LIBRARIES-$(USE_JPEG) += -ljpeg ++LIBRARIES-$(USE_JPEG2K) += $(shell $(PKG_CONFIG) --libs libopenjp2) ++LIBRARIES-$(USE_MNG) += -lmng ++LIBRARIES-$(USE_PNG) += $(shell $(PKG_CONFIG) --libs libpng) ++LIBRARIES-$(USE_TIFF) += $(shell $(PKG_CONFIG) --libs libtiff-4 IlmBase) ++LIBRARIES-$(USE_RAW) += $(shell $(PKG_CONFIG) --libs libraw) ++LIBRARIES-$(USE_WEBP) += $(shell $(PKG_CONFIG) --libs libwebp) + + MODULES = $(SRCS:.c=.o) + MODULES := $(MODULES:.cpp=.o) +@@ -67,13 +86,15 @@ $(STATICLIB): $(MODULES) + $(AR) r $@ $(MODULES) + + $(SHAREDLIB): $(MODULES) +- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) ++ $(CXX) $(CXXFLAGS) -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES-yes) + + install: + install -d $(INCDIR) $(INSTALLDIR) +- install -m 644 -o root -g root $(HEADER) $(INCDIR) +- install -m 644 -o root -g root $(STATICLIB) $(INSTALLDIR) +- install -m 755 -o root -g root $(SHAREDLIB) $(INSTALLDIR) ++ install -m 644 $(HEADER) $(INCDIR) ++ifneq ($(STATICLIB),) ++ install -m 644 $(STATICLIB) $(INSTALLDIR) ++endif ++ install -m 755 $(SHAREDLIB) $(INSTALLDIR) + ln -sf $(SHAREDLIB) $(INSTALLDIR)/$(VERLIBNAME) + ln -sf $(VERLIBNAME) $(INSTALLDIR)/$(LIBNAME) + # ldconfig +diff --git a/Makefile.srcs b/Makefile.srcs +index de25754..cb41903 100644 +--- a/Makefile.srcs ++++ b/Makefile.srcs +@@ -1,6 +1,15 @@ ++USE_EXR ?= yes ++USE_JPEG ?= yes ++USE_JPEG2K ?= yes ++USE_MNG ?= yes ++USE_PNG ?= yes ++USE_TIFF ?= yes ++USE_RAW ?= yes ++USE_WEBP ?= yes ++ + VER_MAJOR = 3 + VER_MINOR = 18.0 +-SRCS = \ ++SRCS-yes = \ + Source/FreeImage/BitmapAccess.cpp \ + Source/FreeImage/ColorLookup.cpp \ + Source/FreeImage/ConversionRGBA16.cpp \ +@@ -12,39 +21,80 @@ SRCS = \ + Source/FreeImage/LFPQuantizer.cpp \ + Source/FreeImage/MemoryIO.cpp \ + Source/FreeImage/PixelAccess.cpp \ ++ ++SRCS-$(USE_JPEG2K) += \ + Source/FreeImage/J2KHelper.cpp \ ++ ++SRCS-$(USE_MNG) += \ + Source/FreeImage/MNGHelper.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/Plugin.cpp \ + Source/FreeImage/PluginBMP.cpp \ + Source/FreeImage/PluginCUT.cpp \ + Source/FreeImage/PluginDDS.cpp \ ++ ++SRCS-$(USE_EXR) += \ + Source/FreeImage/PluginEXR.cpp \ ++ ++SRCS-$(USE_TIFF) += \ + Source/FreeImage/PluginG3.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginGIF.cpp \ + Source/FreeImage/PluginHDR.cpp \ + Source/FreeImage/PluginICO.cpp \ + Source/FreeImage/PluginIFF.cpp \ ++ ++SRCS-$(USE_JPEG2K) += \ + Source/FreeImage/PluginJ2K.cpp \ ++ ++SRCS-$(USE_MNG) += \ + Source/FreeImage/PluginJNG.cpp \ ++ ++SRCS-$(USE_JPEG2K) += \ + Source/FreeImage/PluginJP2.cpp \ ++ ++SRCS-$(USE_JPEG) += \ + Source/FreeImage/PluginJPEG.cpp \ +- Source/FreeImage/PluginJXR.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginKOALA.cpp \ ++ ++SRCS-$(USE_MNG) += \ + Source/FreeImage/PluginMNG.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginPCD.cpp \ + Source/FreeImage/PluginPCX.cpp \ + Source/FreeImage/PluginPFM.cpp \ + Source/FreeImage/PluginPICT.cpp \ ++ ++SRCS-$(USE_PNG) += \ + Source/FreeImage/PluginPNG.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginPNM.cpp \ + Source/FreeImage/PluginPSD.cpp \ + Source/FreeImage/PluginRAS.cpp \ ++ ++SRCS-$(USE_RAW) += \ + Source/FreeImage/PluginRAW.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginSGI.cpp \ + Source/FreeImage/PluginTARGA.cpp \ ++ ++SRCS-$(USE_TIFF) += \ + Source/FreeImage/PluginTIFF.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginWBMP.cpp \ ++ ++SRCS-$(USE_WEBP) += \ + Source/FreeImage/PluginWebP.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginXBM.cpp \ + Source/FreeImage/PluginXPM.cpp \ + Source/FreeImage/PSDParser.cpp \ +@@ -78,7 +128,11 @@ SRCS = \ + Source/Metadata/IPTC.cpp \ + Source/Metadata/TagConversion.cpp \ + Source/Metadata/TagLib.cpp \ ++ ++SRCS-$(USE_TIFF) += \ + Source/Metadata/XTIFF.cpp \ ++ ++SRCS-yes += \ + Source/FreeImageToolkit/Background.cpp \ + Source/FreeImageToolkit/BSplineRotate.cpp \ + Source/FreeImageToolkit/Channels.cpp \ +@@ -87,11 +141,19 @@ SRCS = \ + Source/FreeImageToolkit/CopyPaste.cpp \ + Source/FreeImageToolkit/Display.cpp \ + Source/FreeImageToolkit/Flip.cpp \ ++ ++SRCS-$(USE_JPEG) += \ + Source/FreeImageToolkit/JPEGTransform.cpp \ ++ ++SRCS-yes += \ + Source/FreeImageToolkit/MultigridPoissonSolver.cpp \ + Source/FreeImageToolkit/Rescale.cpp \ + Source/FreeImageToolkit/Resize.cpp \ + ++SRCS-$(USE_JPEG) += \ ++ Source/transupp.c ++SRCS = $(SRCS-yes) ++ + INCLS = Dist/FreeImage.h \ + Examples/OpenGL/TextureManager/TextureManager.h \ + Examples/Plugin/PluginCradle.h \ +@@ -117,7 +179,18 @@ INCLS = Dist/FreeImage.h \ + Wrapper/FreeImagePlus/test/fipTest.h \ + TestAPI/TestSuite.h + +-INCLUDE = -I. \ ++INCLUDE-yes = -I. \ + -ISource \ + -ISource/Metadata \ + -ISource/FreeImageToolkit \ ++ ++INCLUDE-yes += $(shell $(PKG_CONFIG) --cflags-only-I zlib) ++INCLUDE-$(USE_EXR) += -DUSE_EXR $(shell $(PKG_CONFIG) --cflags-only-I OpenEXR) ++INCLUDE-$(USE_JPEG) += -DUSE_JPEG ++INCLUDE-$(USE_JPEG2K) += -DUSE_JPEG2K $(shell $(PKG_CONFIG) --cflags-only-I libopenjp2) ++INCLUDE-$(USE_MNG) += -DUSE_MNG ++INCLUDE-$(USE_PNG) += -DUSE_PNG $(shell $(PKG_CONFIG) --cflags-only-I libpng) ++INCLUDE-$(USE_TIFF) += -DUSE_TIFF $(shell $(PKG_CONFIG) --cflags-only-I libtiff-4 IlmBase) ++INCLUDE-$(USE_RAW) += -DUSE_RAW $(shell $(PKG_CONFIG) --cflags-only-I libraw) ++INCLUDE-$(USE_WEBP) += -DUSE_WEBP $(shell $(PKG_CONFIG) --cflags-only-I libwebp) ++INCLUDE = $(INCLUDE-yes) +diff --git a/Source/FreeImage/J2KHelper.cpp b/Source/FreeImage/J2KHelper.cpp +index 1776c3b..538f1c5 100644 +--- a/Source/FreeImage/J2KHelper.cpp ++++ b/Source/FreeImage/J2KHelper.cpp +@@ -21,7 +21,7 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include + #include "J2KHelper.h" + + // -------------------------------------------------------------------------- +diff --git a/Source/FreeImage/Plugin.cpp b/Source/FreeImage/Plugin.cpp +index 11e7294..7768a32 100644 +--- a/Source/FreeImage/Plugin.cpp ++++ b/Source/FreeImage/Plugin.cpp +@@ -238,23 +238,33 @@ FreeImage_Initialise(BOOL load_local_plugins_only) { + */ + s_plugins->AddNode(InitBMP); + s_plugins->AddNode(InitICO); ++#ifdef USE_JPEG + s_plugins->AddNode(InitJPEG); ++#endif ++#ifdef USE_MNG + s_plugins->AddNode(InitJNG); ++#endif + s_plugins->AddNode(InitKOALA); + s_plugins->AddNode(InitIFF); ++#ifdef USE_MNG + s_plugins->AddNode(InitMNG); ++#endif + s_plugins->AddNode(InitPNM, NULL, "PBM", "Portable Bitmap (ASCII)", "pbm", "^P1"); + s_plugins->AddNode(InitPNM, NULL, "PBMRAW", "Portable Bitmap (RAW)", "pbm", "^P4"); + s_plugins->AddNode(InitPCD); + s_plugins->AddNode(InitPCX); + s_plugins->AddNode(InitPNM, NULL, "PGM", "Portable Greymap (ASCII)", "pgm", "^P2"); + s_plugins->AddNode(InitPNM, NULL, "PGMRAW", "Portable Greymap (RAW)", "pgm", "^P5"); ++#ifdef USE_PNG + s_plugins->AddNode(InitPNG); ++#endif + s_plugins->AddNode(InitPNM, NULL, "PPM", "Portable Pixelmap (ASCII)", "ppm", "^P3"); + s_plugins->AddNode(InitPNM, NULL, "PPMRAW", "Portable Pixelmap (RAW)", "ppm", "^P6"); + s_plugins->AddNode(InitRAS); + s_plugins->AddNode(InitTARGA); ++#ifdef USE_TIFF + s_plugins->AddNode(InitTIFF); ++#endif + s_plugins->AddNode(InitWBMP); + s_plugins->AddNode(InitPSD); + s_plugins->AddNode(InitCUT); +@@ -263,16 +273,26 @@ FreeImage_Initialise(BOOL load_local_plugins_only) { + s_plugins->AddNode(InitDDS); + s_plugins->AddNode(InitGIF); + s_plugins->AddNode(InitHDR); ++#ifdef USE_TIFF + s_plugins->AddNode(InitG3); ++#endif + s_plugins->AddNode(InitSGI); ++#ifdef USE_EXR + s_plugins->AddNode(InitEXR); ++#endif ++#ifdef USE_JPEG2K + s_plugins->AddNode(InitJ2K); + s_plugins->AddNode(InitJP2); ++#endif + s_plugins->AddNode(InitPFM); + s_plugins->AddNode(InitPICT); ++#ifdef USE_RAW + s_plugins->AddNode(InitRAW); ++#endif ++#ifdef USE_WEBP + s_plugins->AddNode(InitWEBP); +-#if !(defined(_MSC_VER) && (_MSC_VER <= 1310)) ++#endif ++#if 0 + s_plugins->AddNode(InitJXR); + #endif // unsupported by MS Visual Studio 2003 !!! + +diff --git a/Source/FreeImage/PluginEXR.cpp b/Source/FreeImage/PluginEXR.cpp +index b286430..faa8037 100644 +--- a/Source/FreeImage/PluginEXR.cpp ++++ b/Source/FreeImage/PluginEXR.cpp +@@ -28,16 +28,16 @@ + #pragma warning (disable : 4800) // ImfVersion.h - 'const int' : forcing value to bool 'true' or 'false' (performance warning) + #endif + +-#include "../OpenEXR/IlmImf/ImfIO.h" +-#include "../OpenEXR/Iex/Iex.h" +-#include "../OpenEXR/IlmImf/ImfOutputFile.h" +-#include "../OpenEXR/IlmImf/ImfInputFile.h" +-#include "../OpenEXR/IlmImf/ImfRgbaFile.h" +-#include "../OpenEXR/IlmImf/ImfChannelList.h" +-#include "../OpenEXR/IlmImf/ImfRgba.h" +-#include "../OpenEXR/IlmImf/ImfArray.h" +-#include "../OpenEXR/IlmImf/ImfPreviewImage.h" +-#include "../OpenEXR/Half/half.h" ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + + + // ========================================================== +diff --git a/Source/FreeImage/PluginG3.cpp b/Source/FreeImage/PluginG3.cpp +index 0a083b4..b3a9bd7 100644 +--- a/Source/FreeImage/PluginG3.cpp ++++ b/Source/FreeImage/PluginG3.cpp +@@ -20,7 +20,7 @@ + // Use at your own risk! + // ========================================================== + +-#include "../LibTIFF4/tiffiop.h" ++#include "tiffiop.h" + + #include "FreeImage.h" + #include "Utilities.h" +diff --git a/Source/FreeImage/PluginJ2K.cpp b/Source/FreeImage/PluginJ2K.cpp +index b8bcfc8..621a903 100644 +--- a/Source/FreeImage/PluginJ2K.cpp ++++ b/Source/FreeImage/PluginJ2K.cpp +@@ -21,7 +21,7 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include + #include "J2KHelper.h" + + // ========================================================== +diff --git a/Source/FreeImage/PluginJP2.cpp b/Source/FreeImage/PluginJP2.cpp +index 742fe2c..c57f626 100644 +--- a/Source/FreeImage/PluginJP2.cpp ++++ b/Source/FreeImage/PluginJP2.cpp +@@ -21,7 +21,7 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include + #include "J2KHelper.h" + + // ========================================================== +diff --git a/Source/FreeImage/PluginJPEG.cpp b/Source/FreeImage/PluginJPEG.cpp +index 8db177d..dd97e63 100644 +--- a/Source/FreeImage/PluginJPEG.cpp ++++ b/Source/FreeImage/PluginJPEG.cpp +@@ -35,11 +35,15 @@ extern "C" { + #undef FAR + #include + +-#include "../LibJPEG/jinclude.h" +-#include "../LibJPEG/jpeglib.h" +-#include "../LibJPEG/jerror.h" ++#include ++#include ++#include ++#include ++#include + } + ++#define SIZEOF(object) ((size_t) sizeof(object)) ++ + #include "FreeImage.h" + #include "Utilities.h" + +diff --git a/Source/FreeImage/PluginPNG.cpp b/Source/FreeImage/PluginPNG.cpp +index 661f160..504fafe 100644 +--- a/Source/FreeImage/PluginPNG.cpp ++++ b/Source/FreeImage/PluginPNG.cpp +@@ -40,8 +40,8 @@ + + // ---------------------------------------------------------- + +-#include "../ZLib/zlib.h" +-#include "../LibPNG/png.h" ++#include ++#include + + // ---------------------------------------------------------- + +diff --git a/Source/FreeImage/PluginRAW.cpp b/Source/FreeImage/PluginRAW.cpp +index e9bd5bf..680e634 100644 +--- a/Source/FreeImage/PluginRAW.cpp ++++ b/Source/FreeImage/PluginRAW.cpp +@@ -19,7 +19,7 @@ + // Use at your own risk! + // ========================================================== + +-#include "../LibRawLite/libraw/libraw.h" ++#include + + #include "FreeImage.h" + #include "Utilities.h" +diff --git a/Source/FreeImage/PluginTIFF.cpp b/Source/FreeImage/PluginTIFF.cpp +index 67fab0b..36f99e8 100644 +--- a/Source/FreeImage/PluginTIFF.cpp ++++ b/Source/FreeImage/PluginTIFF.cpp +@@ -37,9 +37,9 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibTIFF4/tiffiop.h" ++#include "tiffiop.h" + #include "../Metadata/FreeImageTag.h" +-#include "../OpenEXR/Half/half.h" ++#include + + #include "FreeImageIO.h" + #include "PSDParser.h" +diff --git a/Source/FreeImage/PluginWebP.cpp b/Source/FreeImage/PluginWebP.cpp +index 7c9f62f..c401447 100644 +--- a/Source/FreeImage/PluginWebP.cpp ++++ b/Source/FreeImage/PluginWebP.cpp +@@ -24,9 +24,9 @@ + + #include "../Metadata/FreeImageTag.h" + +-#include "../LibWebP/src/webp/decode.h" +-#include "../LibWebP/src/webp/encode.h" +-#include "../LibWebP/src/webp/mux.h" ++#include ++#include ++#include + + // ========================================================== + // Plugin Interface +diff --git a/Source/FreeImage/ZLibInterface.cpp b/Source/FreeImage/ZLibInterface.cpp +index 3ab6d32..7e32110 100644 +--- a/Source/FreeImage/ZLibInterface.cpp ++++ b/Source/FreeImage/ZLibInterface.cpp +@@ -19,10 +19,10 @@ + // Use at your own risk! + // ========================================================== + +-#include "../ZLib/zlib.h" ++#include + #include "FreeImage.h" + #include "Utilities.h" +-#include "../ZLib/zutil.h" /* must be the last header because of error C3163 in VS2008 (_vsnprintf defined in stdio.h) */ ++#define OS_CODE 0x03 + + /** + Compresses a source buffer into a target buffer, using the ZLib library. +diff --git a/Source/FreeImageToolkit/JPEGTransform.cpp b/Source/FreeImageToolkit/JPEGTransform.cpp +index 6f9ba8e..988d777 100644 +--- a/Source/FreeImageToolkit/JPEGTransform.cpp ++++ b/Source/FreeImageToolkit/JPEGTransform.cpp +@@ -26,10 +26,11 @@ extern "C" { + #undef FAR + #include + +-#include "../LibJPEG/jinclude.h" +-#include "../LibJPEG/jpeglib.h" +-#include "../LibJPEG/jerror.h" +-#include "../LibJPEG/transupp.h" ++#include ++#include ++#include ++#include ++#include "transupp.h" + } + + #include "FreeImage.h" +diff --git a/Source/Metadata/XTIFF.cpp b/Source/Metadata/XTIFF.cpp +index d5be902..7f2be42 100644 +--- a/Source/Metadata/XTIFF.cpp ++++ b/Source/Metadata/XTIFF.cpp +@@ -29,7 +29,7 @@ + #pragma warning (disable : 4786) // identifier was truncated to 'number' characters + #endif + +-#include "../LibTIFF4/tiffiop.h" ++#include "tiffiop.h" + + #include "FreeImage.h" + #include "Utilities.h" +diff --git a/Source/tiffiop.h b/Source/tiffiop.h +index 2fe7556..1642582 100644 +--- a/Source/tiffiop.h ++++ b/Source/tiffiop.h +@@ -28,7 +28,10 @@ + * ``Library-private'' definitions. + */ + +-#include "tif_config.h" ++#include ++#define HAVE_SEARCH_H ++#define HAVE_FCNTL_H ++#define HAVE_SNPRINTF + + #ifdef HAVE_FCNTL_H + # include +diff --git a/Source/transupp.c b/Source/transupp.c +index d10f57b..d50216c 100644 +--- a/Source/transupp.c ++++ b/Source/transupp.c +@@ -15,8 +15,7 @@ + /* Although this file really shouldn't have access to the library internals, + * it's helpful to let it call jround_up() and jcopy_block_row(). + */ +-#define JPEG_INTERNALS +- ++#include + #include "jinclude.h" + #include "jpeglib.h" + #include "transupp.h" /* My own external interface */ +diff --git a/fipMakefile.srcs b/fipMakefile.srcs +index d271b4b..e58f046 100644 +--- a/fipMakefile.srcs ++++ b/fipMakefile.srcs +@@ -1,6 +1,15 @@ ++USE_EXR ?= yes ++USE_JPEG ?= yes ++USE_JPEG2K ?= yes ++USE_MNG ?= yes ++USE_PNG ?= yes ++USE_TIFF ?= yes ++USE_RAW ?= yes ++USE_WEBP ?= yes ++ + VER_MAJOR = 3 + VER_MINOR = 18.0 +-SRCS = \ ++SRCS-yes = \ + Source/FreeImage/BitmapAccess.cpp \ + Source/FreeImage/ColorLookup.cpp \ + Source/FreeImage/ConversionRGBA16.cpp \ +@@ -12,39 +21,80 @@ SRCS = \ + Source/FreeImage/LFPQuantizer.cpp \ + Source/FreeImage/MemoryIO.cpp \ + Source/FreeImage/PixelAccess.cpp \ ++ ++SRCS-$(USE_JPEG2K) += \ + Source/FreeImage/J2KHelper.cpp \ ++ ++SRCS-$(USE_MNG) += \ + Source/FreeImage/MNGHelper.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/Plugin.cpp \ + Source/FreeImage/PluginBMP.cpp \ + Source/FreeImage/PluginCUT.cpp \ + Source/FreeImage/PluginDDS.cpp \ ++ ++SRCS-$(USE_EXR) += \ + Source/FreeImage/PluginEXR.cpp \ ++ ++SRCS-$(USE_TIFF) += \ + Source/FreeImage/PluginG3.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginGIF.cpp \ + Source/FreeImage/PluginHDR.cpp \ + Source/FreeImage/PluginICO.cpp \ + Source/FreeImage/PluginIFF.cpp \ ++ ++SRCS-$(USE_JPEG2K) += \ + Source/FreeImage/PluginJ2K.cpp \ ++ ++SRCS-$(USE_MNG) += \ + Source/FreeImage/PluginJNG.cpp \ ++ ++SRCS-$(USE_JPEG2K) += \ + Source/FreeImage/PluginJP2.cpp \ ++ ++SRCS-$(USE_JPEG) += \ + Source/FreeImage/PluginJPEG.cpp \ +- Source/FreeImage/PluginJXR.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginKOALA.cpp \ ++ ++SRCS-$(USE_MNG) += \ + Source/FreeImage/PluginMNG.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginPCD.cpp \ + Source/FreeImage/PluginPCX.cpp \ + Source/FreeImage/PluginPFM.cpp \ + Source/FreeImage/PluginPICT.cpp \ ++ ++SRCS-$(USE_PNG) += \ + Source/FreeImage/PluginPNG.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginPNM.cpp \ + Source/FreeImage/PluginPSD.cpp \ + Source/FreeImage/PluginRAS.cpp \ ++ ++SRCS-$(USE_RAW) += \ + Source/FreeImage/PluginRAW.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginSGI.cpp \ + Source/FreeImage/PluginTARGA.cpp \ ++ ++SRCS-$(USE_TIFF) += \ + Source/FreeImage/PluginTIFF.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginWBMP.cpp \ ++ ++SRCS-$(USE_WEBP) += \ + Source/FreeImage/PluginWebP.cpp \ ++ ++SRCS-yes += \ + Source/FreeImage/PluginXBM.cpp \ + Source/FreeImage/PluginXPM.cpp \ + Source/FreeImage/PSDParser.cpp \ +@@ -78,7 +128,11 @@ SRCS = \ + Source/Metadata/IPTC.cpp \ + Source/Metadata/TagConversion.cpp \ + Source/Metadata/TagLib.cpp \ ++ ++SRCS-$(USE_TIFF) += \ + Source/Metadata/XTIFF.cpp \ ++ ++SRCS-yes += \ + Source/FreeImageToolkit/Background.cpp \ + Source/FreeImageToolkit/BSplineRotate.cpp \ + Source/FreeImageToolkit/Channels.cpp \ +@@ -87,7 +141,11 @@ SRCS = \ + Source/FreeImageToolkit/CopyPaste.cpp \ + Source/FreeImageToolkit/Display.cpp \ + Source/FreeImageToolkit/Flip.cpp \ ++ ++SRCS-$(USE_JPEG) += \ + Source/FreeImageToolkit/JPEGTransform.cpp \ ++ ++SRCS-yes += \ + Source/FreeImageToolkit/MultigridPoissonSolver.cpp \ + Source/FreeImageToolkit/Rescale.cpp \ + Source/FreeImageToolkit/Resize.cpp \ +@@ -98,6 +156,11 @@ SRCS = \ + Wrapper/FreeImagePlus/src/fipTag.cpp \ + Wrapper/FreeImagePlus/src/fipWinImage.cpp \ + Wrapper/FreeImagePlus/src/FreeImagePlus.cpp ++ ++SRCS-$(USE_JPEG) += \ ++ Source/transupp.c ++ ++SRCS = $(SRCS-yes) + INCLUDE = -I. \ + -ISource \ + -ISource/Metadata \ +-- +2.19.1 + diff --git a/media-libs/freeimage/freeimage-3.18.0.ebuild b/media-libs/freeimage/freeimage-3.18.0.ebuild new file mode 100644 index 000000000000..fa58c6fc2f75 --- /dev/null +++ b/media-libs/freeimage/freeimage-3.18.0.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit eutils toolchain-funcs + +MY_PN=FreeImage +MY_PV=${PV//.} +MY_P=${MY_PN}${MY_PV} + +DESCRIPTION="Image library supporting many formats" +HOMEPAGE="http://freeimage.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip + mirror://sourceforge/${PN}/${MY_P}.pdf" + +LICENSE="|| ( GPL-2 FIPL-1.0 )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux" +IUSE="jpeg jpeg2k mng openexr png raw static-libs tiff webp" + +# The tiff/ilmbase isn't a typo. The TIFF plugin cheats and +# uses code from it to handle 16bit<->float conversions. +RDEPEND=" + sys-libs/zlib + jpeg? ( virtual/jpeg:0 ) + jpeg2k? ( media-libs/openjpeg:2= ) + mng? ( media-libs/libmng:= ) + openexr? ( media-libs/openexr:= ) + png? ( media-libs/libpng:0= ) + raw? ( media-libs/libraw:= ) + tiff? ( + media-libs/ilmbase:= + media-libs/tiff:0 + ) + webp? ( media-libs/libwebp:= )" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/unzip + virtual/pkgconfig" + +S=${WORKDIR}/${MY_PN} + +DOCS=( "${DISTDIR}"/${MY_P}.pdf README.linux Whatsnew.txt ) +PATCHES=( + "${FILESDIR}"/${PN}-3.18.0-unbundling.patch + "${FILESDIR}"/${PN}-3.18.0-remove-jpeg-transform.patch + "${FILESDIR}"/${PN}-3.18.0-rename-jpeg_read_icc_profile.patch + "${FILESDIR}"/${PN}-3.18.0-disable-plugin-G3.patch + "${FILESDIR}"/${PN}-3.18.0-raw.patch + "${FILESDIR}"/${PN}-3.18.0-libjpeg9.patch +) + +src_prepare() { + pushd Source >/dev/null || die + cp LibJPEG/{transupp.c,transupp.h,jinclude.h} . || die + cp LibTIFF4/{tiffiop,tif_dir}.h . || die + rm -rf LibPNG LibMNG LibOpenJPEG ZLib OpenEXR LibRawLite LibTIFF4 LibJPEG LibWebP LibJXR || die + popd >/dev/null || die + + edos2unix Makefile.{gnu,fip,srcs} fipMakefile.srcs */*.h */*/*.cpp + sed -i \ + -e "s:/./:/:g" \ + -e "s: ./: :g" \ + -e 's: Source: \\\n\tSource:g' \ + -e 's: Wrapper: \\\n\tWrapper:g' \ + -e 's: Examples: \\\n\tExamples:g' \ + -e 's: TestAPI: \\\n\tTestAPI:g' \ + -e 's: -ISource: \\\n\t-ISource:g' \ + -e 's: -IWrapper: \\\n\t-IWrapper:g' \ + -e 's:INCLS:\nINCLS:g' \ + Makefile.srcs fipMakefile.srcs || die + sed -i \ + -e "/LibJPEG/d" \ + -e "/LibJXR/d" \ + -e "/LibPNG/d" \ + -e "/LibTIFF/d" \ + -e "/Source\/ZLib/d" \ + -e "/LibOpenJPEG/d" \ + -e "/OpenEXR/d" \ + -e "/LibRawLite/d" \ + -e "/LibMNG/d" \ + -e "/LibWebP/d" \ + -e "/LibJXR/d" \ + Makefile.srcs fipMakefile.srcs || die + + default +} + +foreach_make() { + local m + for m in Makefile.{gnu,fip} ; do + emake -f ${m} \ + USE_EXR=$(usex openexr) \ + USE_JPEG=$(usex jpeg) \ + USE_JPEG2K=$(usex jpeg2k) \ + USE_MNG=$(usex mng) \ + USE_PNG=$(usex png) \ + USE_TIFF=$(usex tiff) \ + USE_RAW=$(usex raw) \ + USE_WEBP=$(usex webp) \ + $(usex static-libs '' STATICLIB=) \ + "$@" + done +} + +src_compile() { + tc-export AR PKG_CONFIG + foreach_make \ + CXX="$(tc-getCXX) -fPIC" \ + CC="$(tc-getCC) -fPIC" \ + ${MY_PN} +} + +src_install() { + foreach_make install DESTDIR="${ED}" INSTALLDIR="${ED%/}"/usr/$(get_libdir) + einstalldocs +} -- cgit v1.2.3