From e9a3b95709603edc6c14d4288c915e7d6d25a132 Mon Sep 17 00:00:00 2001 From: JkktBkkt Date: Mon, 22 Jun 2026 06:03:23 +0300 Subject: [PATCH 1/4] jxrlib: switch to maintained fork, update, have pkgconfig --- srcpkgs/jxrlib/files/CMakeLists.txt | 82 ++++++++++ srcpkgs/jxrlib/files/JoinPaths.cmake | 26 ++++ srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch | 20 +++ srcpkgs/jxrlib/patches/usecmake.patch | 143 ------------------ srcpkgs/jxrlib/template | 13 +- 5 files changed, 137 insertions(+), 147 deletions(-) create mode 100644 srcpkgs/jxrlib/files/CMakeLists.txt create mode 100644 srcpkgs/jxrlib/files/JoinPaths.cmake create mode 100644 srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch delete mode 100644 srcpkgs/jxrlib/patches/usecmake.patch diff --git a/srcpkgs/jxrlib/files/CMakeLists.txt b/srcpkgs/jxrlib/files/CMakeLists.txt new file mode 100644 index 00000000000000..e44f58408db4b3 --- /dev/null +++ b/srcpkgs/jxrlib/files/CMakeLists.txt @@ -0,0 +1,82 @@ +cmake_minimum_required(VERSION 3.5) +project(jxrlib C CXX) + +set(JXRLIB_MAJOR 0) +set(JXRLIB_MINOR 0) + +set(JXRLIB_LIB_VERSION ${JXRLIB_MAJOR}.${JXRLIB_MINOR}.0) +set(JXRLIB_SO_VERSION ${JXRLIB_MAJOR}) + +include(TestBigEndian) +test_big_endian(ISBIGENDIAN) +if(ISBIGENDIAN) + set(DEF_ENDIAN -D_BIG__ENDIAN_) +endif() + +add_definitions(-D__ANSI__ -DDISABLE_PERF_MEASUREMENT ${DEF_ENDIAN}) + +include_directories( + common/include + image/sys + jxrgluelib + jxrtestlib +) + +# JXR Library +file(GLOB jpegxr_SRC image/sys/*.c image/decode/*.c image/encode/*.c) +file(GLOB jpegxr_HDR image/sys/*.h image/decode/*.h image/encode/*.h) + +add_library(jpegxr SHARED ${jpegxr_SRC} ${jpegxr_HDR}) +set_target_properties(jpegxr PROPERTIES VERSION ${JXRLIB_LIB_VERSION} SOVERSION ${JXRLIB_SO_VERSION}) + +install(TARGETS jpegxr + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} +) + +# JXR-GLUE Library +file(GLOB jxrglue_SRC jxrgluelib/*.c jxrtestlib/*.c) +file(GLOB jxrglue_HDR jxrgluelib/*.h jxrtestlib/*.h) + +add_library(jxrglue SHARED ${jxrglue_SRC} ${jxrglue_HDR}) +set_target_properties(jxrglue PROPERTIES VERSION ${JXRLIB_LIB_VERSION} SOVERSION ${JXRLIB_SO_VERSION}) +target_link_libraries(jxrglue jpegxr m) + +install(TARGETS jxrglue + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} +) + +# JxrEncApp Executable +add_executable(JxrEncApp jxrencoderdecoder/JxrEncApp.c) +target_link_libraries(JxrEncApp jxrglue) +install(TARGETS JxrEncApp RUNTIME DESTINATION bin) + +# JxrDecApp Executable +add_executable(JxrDecApp jxrencoderdecoder/JxrDecApp.c) +target_link_libraries(JxrDecApp jxrglue) +install(TARGETS JxrDecApp RUNTIME DESTINATION bin) + +# Headers +install(FILES jxrgluelib/JXRGlue.h jxrgluelib/JXRMeta.h jxrgluelib/JXRVersion.h jxrtestlib/JXRTest.h image/sys/windowsmediaphoto.h + DESTINATION include/jxrlib +) +install(DIRECTORY common/include/ DESTINATION include/jxrlib + FILES_MATCHING PATTERN "*.h" +) + +# Generate pkgconfig file +include(JoinPaths.cmake) +join_paths(JXRLIB_PKGCONF_LIBDIR "\${prefix}" "${JXRLIB_INSTALL_LIBDIR}") +join_paths(JXRLIB_PKGCONF_INCLUDEDIR "\${prefix}" "${JXRLIB_INSTALL_INCLUDEDIR}") +configure_file( + "${PROJECT_SOURCE_DIR}/libjxr.pc.in" + ${PROJECT_BINARY_DIR}/jxrlib.pc + @ONLY +) +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc + DESTINATION lib${LIB_SUFFIX}/pkgconfig +) diff --git a/srcpkgs/jxrlib/files/JoinPaths.cmake b/srcpkgs/jxrlib/files/JoinPaths.cmake new file mode 100644 index 00000000000000..40dee9d28eee72 --- /dev/null +++ b/srcpkgs/jxrlib/files/JoinPaths.cmake @@ -0,0 +1,26 @@ +# This module provides a function for joining paths +# known from most languages +# +# SPDX-License-Identifier: (MIT OR CC0-1.0) +# Copyright 2020 Jan Tojnar +# https://github.com/jtojnar/cmake-snips +# +# Modelled after Python's os.path.join +# https://docs.python.org/3.7/library/os.path.html#os.path.join +# Windows not supported +function(join_paths joined_path first_path_segment) + set(temp_path "${first_path_segment}") + foreach(current_segment IN LISTS ARGN) + if(NOT ("${current_segment}" STREQUAL "")) + string(REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}/?" "" new_segment "${current_segment}") + if(NOT ("${new_segment}" STREQUAL "")) + if(NOT IS_ABSOLUTE "${current_segment}" OR NOT "${current_segment}" MATCHES "^${new_segment}$") + set(temp_path "${temp_path}/${new_segment}") + else() + set(temp_path "${current_segment}") + endif() + endif() + endif() + endforeach() + set(${joined_path} "${temp_path}" PARENT_SCOPE) +endfunction() diff --git a/srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch b/srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch new file mode 100644 index 00000000000000..f7f06171ab83c7 --- /dev/null +++ b/srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch @@ -0,0 +1,20 @@ +diff --git a/libjxr.pc.in b/libjxr.pc.in +index b58145105b3..72e4c1de2a5 100644 +--- a/libjxr.pc.in ++++ b/libjxr.pc.in +@@ -1,4 +1,4 @@ +-prefix=%(DIR_INSTALL)s ++prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} + libdir=${exec_prefix}/lib + includedir=${prefix}/include +@@ -6,7 +6,7 @@ includedir=${prefix}/include + Name: libjxr + Description: A library for reading JPEG XR images. + +-Version: %(JXR_VERSION)s ++Version: @JXRLIB_LIB_VERSION@ + Libs: -L${libdir} -ljpegxr -ljxrglue + Libs.private: -lm +-Cflags: -I${includedir}/libjxr/common -I${includedir}/libjxr/image/x86 -I${includedir}/libjxr/image -I${includedir}/libjxr/glue -I${includedir}/libjxr/test -D__ANSI__ -DDISABLE_PERF_MEASUREMENT %(JXR_ENDIAN)s ++Cflags: -I${includedir}/jxrlib -D__ANSI__ -DDISABLE_PERF_MEASUREMENT diff --git a/srcpkgs/jxrlib/patches/usecmake.patch b/srcpkgs/jxrlib/patches/usecmake.patch deleted file mode 100644 index 37b215b49d3e8a..00000000000000 --- a/srcpkgs/jxrlib/patches/usecmake.patch +++ /dev/null @@ -1,143 +0,0 @@ -Description: Prefer a cmake based build system -Author: Mathieu Malaterre -Forwarded: https://jxrlib.codeplex.com/discussions/440294 - -Index: jxrlib-1.1/CMakeLists.txt -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ b/CMakeLists.txt 2014-03-26 17:05:04.429637801 +0100 -@@ -0,0 +1,134 @@ -+# Copyright Mathieu Malaterre -+# BSD (Same as jxrlib) -+cmake_minimum_required(VERSION 2.8) -+project(jxrlib C) -+ -+# Need shared libs for ABI -+set(BUILD_SHARED_LIBS ON) -+ -+# helper macro to preserve original Makefile convention -+macro(JXR_MAKE_OBJ SET_NAME) -+ foreach(src ${SRC_${SET_NAME}}) -+ list(APPEND OBJ_${SET_NAME} ${DIR_${SET_NAME}}/${src}) -+ endforeach() -+endmacro() -+ -+include(TestBigEndian) -+test_big_endian(ISBIGENDIAN) -+if(ISBIGENDIAN) -+ set(DEF_ENDIAN _BIG__ENDIAN_) -+endif() -+ -+set(DIR_SYS image/sys) -+set(DIR_DEC image/decode) -+set(DIR_ENC image/encode) -+ -+set(DIR_GLUE jxrgluelib) -+set(DIR_TEST jxrtestlib) -+set(DIR_EXEC jxrencoderdecoder) -+ -+if(NOT JXRLIB_INSTALL_BIN_DIR) -+ set(JXRLIB_INSTALL_BIN_DIR "bin") -+endif() -+ -+if(NOT JXRLIB_INSTALL_LIB_DIR) -+ set(JXRLIB_INSTALL_LIB_DIR "lib") -+endif() -+ -+if(NOT JXRLIB_INSTALL_INCLUDE_DIR) -+ set(JXRLIB_INSTALL_INCLUDE_DIR "include/jxrlib") -+endif() -+ -+include_directories( -+ common/include -+ ${DIR_SYS} -+ ${DIR_GLUE} -+ ${DIR_TEST} -+) -+ -+# where is strlcpy ? -+include(CheckSymbolExists) -+check_symbol_exists(strlcpy "string.h" HAVE_STRLCPY) -+#set(CMAKE_REQUIRED_LIBRARIES bsd) -+#CHECK_SYMBOL_EXISTS(strlcpy "string.h" HAVE_STRLCPY4) -+# on linux, strlcpy is in -lbsd: -+#if(NOT HAVE_STRLCPY) -+# include(CheckLibraryExists) -+# find_library(BSD_LIBRARY bsd) -+# check_library_exists(bsd "strlcpy" ${BSD_LIBRARY} HAVE_STRLCPY_BSD) -+#endif() -+ -+# JPEG-XR -+set(SRC_SYS adapthuff.c image.c strcodec.c strPredQuant.c strTransform.c perfTimerANSI.c) -+JXR_MAKE_OBJ(SYS) -+set(SRC_DEC decode.c postprocess.c segdec.c strdec.c strInvTransform.c strPredQuantDec.c JXRTranscode.c) -+JXR_MAKE_OBJ(DEC) -+set(SRC_ENC encode.c segenc.c strenc.c strFwdTransform.c strPredQuantEnc.c) -+JXR_MAKE_OBJ(ENC) -+ -+add_library(jpegxr ${OBJ_ENC} ${OBJ_DEC} ${OBJ_SYS}) -+set_property(TARGET jpegxr -+ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} -+) -+set_property(TARGET jpegxr PROPERTY LINK_INTERFACE_LIBRARIES "") -+set_property(TARGET jpegxr PROPERTY COMPILE_FLAGS -w) -+# VERSION/SOVERSION -+set_property(TARGET jpegxr PROPERTY VERSION 1.1) -+set_property(TARGET jpegxr PROPERTY SOVERSION 0) -+install(TARGETS jpegxr -+ EXPORT JXRLibTargets -+ RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR} COMPONENT Applications -+ LIBRARY DESTINATION ${JXRLIB_INSTALL_LIB_DIR} COMPONENT Libraries -+) -+ -+# JXR-GLUE -+set(SRC_GLUE JXRGlue.c JXRMeta.c JXRGluePFC.c JXRGlueJxr.c) -+JXR_MAKE_OBJ(GLUE) -+set(SRC_TEST JXRTest.c JXRTestBmp.c JXRTestHdr.c JXRTestPnm.c JXRTestTif.c JXRTestYUV.c) -+JXR_MAKE_OBJ(TEST) -+ -+add_library(jxrglue ${OBJ_GLUE} ${OBJ_TEST}) -+set_property(TARGET jxrglue -+ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} -+) -+set_property(TARGET jxrglue PROPERTY LINK_INTERFACE_LIBRARIES "") -+set_property(TARGET jxrglue PROPERTY COMPILE_FLAGS -w) -+# VERSION/SOVERSION -+set_property(TARGET jxrglue PROPERTY VERSION 1.1) -+set_property(TARGET jxrglue PROPERTY SOVERSION 0) -+install(TARGETS jxrglue -+ EXPORT JXRLibTargets -+ RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR} COMPONENT Applications -+ LIBRARY DESTINATION ${JXRLIB_INSTALL_LIB_DIR} COMPONENT Libraries -+) -+#if(HAVE_STRLCPY_BSD) -+# target_link_libraries(jxrglue ${BSD_LIBRARY}) -+#endif() -+target_link_libraries(jxrglue jpegxr m) -+# Enc app files -+set(ENCAPP JxrEncApp) -+add_executable(${ENCAPP} ${DIR_EXEC}/${ENCAPP}.c) -+set_property(TARGET ${ENCAPP} -+ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} -+) -+set_property(TARGET ${ENCAPP} PROPERTY COMPILE_FLAGS -w) -+target_link_libraries(${ENCAPP} jxrglue) # jpegxr) -+install(TARGETS ${ENCAPP} RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR}) -+# Dec app files -+set(DECAPP JxrDecApp) -+add_executable(${DECAPP} ${DIR_EXEC}/${DECAPP}.c) -+set_property(TARGET ${DECAPP} -+ PROPERTY COMPILE_DEFINITIONS __ANSI__ DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN} -+) -+set_property(TARGET ${DECAPP} PROPERTY COMPILE_FLAGS -w) -+target_link_libraries(${DECAPP} jxrglue) # jpegxr) -+install(TARGETS ${DECAPP} RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR}) -+ -+# install rules -+install(FILES jxrgluelib/JXRGlue.h jxrgluelib/JXRMeta.h jxrtestlib/JXRTest.h -+ image/sys/windowsmediaphoto.h -+ DESTINATION ${JXRLIB_INSTALL_INCLUDE_DIR} COMPONENT Headers -+) -+install(DIRECTORY common/include/ DESTINATION ${JXRLIB_INSTALL_INCLUDE_DIR} -+ FILES_MATCHING PATTERN "*.h" -+) diff --git a/srcpkgs/jxrlib/template b/srcpkgs/jxrlib/template index dc6f206c96aa81..c16f081ddaed0a 100644 --- a/srcpkgs/jxrlib/template +++ b/srcpkgs/jxrlib/template @@ -1,14 +1,18 @@ # Template file for 'jxrlib' pkgname=jxrlib -version=0.2.2 +version=1.4.1 revision=1 build_style=cmake short_desc="Open source implementation of jpegxr" maintainer="Orphaned " license="GPL-2.0-or-later" -homepage="https://github.com/glencoesoftware/jxrlib" -distfiles="${homepage}/archive/v${version}.tar.gz" -checksum=d1fbc5759a665949e7cb82de03c3258788bd07323f195a9e8ea9322504627cc3 +homepage="https://github.com/mircomir/jxrlib" +distfiles="${homepage}/archive/${version}.tar.gz" +checksum=bb46ce30d5719cfffba8da0df314b7bca9aa68dfbf156ecb5670d1c325ad021e + +post_extract() { + cp ${FILESDIR}/{CMakeLists.txt,JoinPaths.cmake} . +} jxrlib-devel_package() { short_desc+=" - development files" @@ -16,5 +20,6 @@ jxrlib-devel_package() { pkg_install() { vmove usr/include vmove "usr/lib/*.so" + vmove usr/lib/pkgconfig } } From 7cb898b07daf51ed51f34ac8e3f8ec4d9d5f87a0 Mon Sep 17 00:00:00 2001 From: JkktBkkt Date: Mon, 22 Jun 2026 06:04:43 +0300 Subject: [PATCH 2/4] freeimage: unbundle libraries, fix ftbfs --- srcpkgs/freeimage/patches/libraw-compat.patch | 64 ++ srcpkgs/freeimage/patches/unbundle.patch | 749 ++++++++++++++++++ srcpkgs/freeimage/template | 24 +- 3 files changed, 825 insertions(+), 12 deletions(-) create mode 100644 srcpkgs/freeimage/patches/libraw-compat.patch create mode 100644 srcpkgs/freeimage/patches/unbundle.patch diff --git a/srcpkgs/freeimage/patches/libraw-compat.patch b/srcpkgs/freeimage/patches/libraw-compat.patch new file mode 100644 index 00000000000000..6f3ff3b9402049 --- /dev/null +++ b/srcpkgs/freeimage/patches/libraw-compat.patch @@ -0,0 +1,64 @@ +https://sourceforge.net/p/freeimage/svn/1842/ +--- FreeImage/Source/FreeImage/PluginRAW.cpp 2020-07-23 17:27:57.937848902 +0000 ++++ FreeImage/Source/FreeImage/PluginRAW.cpp 2020-07-23 17:28:59.482079468 +0000 +@@ -63,17 +63,14 @@ + } + + int read(void *buffer, size_t size, size_t count) { +- if(substream) return substream->read(buffer, size, count); + return _io->read_proc(buffer, (unsigned)size, (unsigned)count, _handle); + } + + int seek(INT64 offset, int origin) { +- if(substream) return substream->seek(offset, origin); + return _io->seek_proc(_handle, (long)offset, origin); + } + + INT64 tell() { +- if(substream) return substream->tell(); + return _io->tell_proc(_handle); + } + +@@ -83,13 +80,11 @@ + + int get_char() { + int c = 0; +- if(substream) return substream->get_char(); + if(!_io->read_proc(&c, 1, 1, _handle)) return -1; + return c; + } + + char* gets(char *buffer, int length) { +- if (substream) return substream->gets(buffer, length); + memset(buffer, 0, length); + for(int i = 0; i < length; i++) { + if(!_io->read_proc(&buffer[i], 1, 1, _handle)) +@@ -104,7 +99,6 @@ + std::string buffer; + char element = 0; + bool bDone = false; +- if(substream) return substream->scanf_one(fmt,val); + do { + if(_io->read_proc(&element, 1, 1, _handle) == 1) { + switch(element) { +@@ -127,7 +121,6 @@ + } + + int eof() { +- if(substream) return substream->eof(); + return (_io->tell_proc(_handle) >= _eof); + } + +https://sourceforge.net/p/freeimage/svn/1895/ +diff -ru FreeImage/Source/FreeImage/PluginRAW.cpp FreeImage/Source/FreeImage/PluginRAW.cpp +--- FreeImage/Source/FreeImage/PluginRAW.cpp 2022-12-18 21:57:11.447801357 +0100 ++++ FreeImage/Source/FreeImage/PluginRAW.cpp 2022-12-18 21:58:05.103433138 +0100 +@@ -687,7 +687,7 @@ + // -------------------------------------------- + + // (-s [0..N-1]) Select one raw image from input file +- RawProcessor->imgdata.params.shot_select = 0; ++ RawProcessor->imgdata.rawparams.shot_select = 0; + // (-w) Use camera white balance, if possible (otherwise, fallback to auto_wb) + RawProcessor->imgdata.params.use_camera_wb = 1; + // (-M) Use any color matrix from the camera metadata. This option only affects Olympus, Leaf, and Phase One cameras. diff --git a/srcpkgs/freeimage/patches/unbundle.patch b/srcpkgs/freeimage/patches/unbundle.patch new file mode 100644 index 00000000000000..282b58c451587d --- /dev/null +++ b/srcpkgs/freeimage/patches/unbundle.patch @@ -0,0 +1,749 @@ +diff -rupN FreeImage/genfipsrclist.sh FreeImage-new/genfipsrclist.sh +--- FreeImage/genfipsrclist.sh 2018-07-28 18:53:18.000000000 +0200 ++++ FreeImage-new/genfipsrclist.sh 2018-07-31 23:37:58.552953202 +0200 +@@ -1,6 +1,6 @@ + #!/bin/sh + +-DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib Wrapper/FreeImagePlus" ++DIRLIST="Wrapper/FreeImagePlus" + + + echo "VER_MAJOR = 3" > fipMakefile.srcs +@@ -19,5 +19,6 @@ echo -n "INCLUDE =" >> fipMakefile.srcs + for DIR in $DIRLIST; do + echo -n " -I$DIR" >> fipMakefile.srcs + done ++echo -n " -IDist" >> fipMakefile.srcs + echo >> fipMakefile.srcs + +diff -rupN FreeImage/gensrclist.sh FreeImage-new/gensrclist.sh +--- FreeImage/gensrclist.sh 2018-07-28 18:52:50.000000000 +0200 ++++ FreeImage-new/gensrclist.sh 2018-07-31 23:37:58.555953202 +0200 +@@ -1,6 +1,6 @@ + #!/bin/sh + +-DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib" ++DIRLIST=". Source Source/Metadata Source/FreeImageToolkit" + + echo "VER_MAJOR = 3" > Makefile.srcs + echo "VER_MINOR = 18.0" >> Makefile.srcs +diff -rupN FreeImage/Makefile.fip FreeImage-new/Makefile.fip +--- FreeImage/Makefile.fip 2015-03-10 08:03:56.000000000 +0100 ++++ FreeImage-new/Makefile.fip 2018-07-31 23:37:58.556953201 +0200 +@@ -17,20 +17,22 @@ MODULES = $(SRCS:.c=.o) + MODULES := $(MODULES:.cpp=.o) + CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden + # OpenJPEG +-CFLAGS += -DOPJ_STATIC ++override CFLAGS += -DOPJ_STATIC + # LibRaw +-CFLAGS += -DNO_LCMS ++override CFLAGS += -DNO_LCMS + # LibJXR +-CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__ +-CFLAGS += $(INCLUDE) ++override CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__ ++override CFLAGS += $(INCLUDE) + CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy + # LibJXR +-CXXFLAGS += -D__ANSI__ +-CXXFLAGS += $(INCLUDE) ++override CXXFLAGS += -D__ANSI__ ++override CXXFLAGS += $(INCLUDE) ++LDFLAGS ?= ++override LDFLAGS += -LDist -lfreeimage-$(VER_MAJOR).$(VER_MINOR) + + ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64) +- CFLAGS += -fPIC +- CXXFLAGS += -fPIC ++ override CFLAGS += -fPIC ++ override CXXFLAGS += -fPIC + endif + + TARGET = freeimageplus +@@ -68,7 +70,7 @@ $(STATICLIB): $(MODULES) + $(AR) r $@ $(MODULES) + + $(SHAREDLIB): $(MODULES) +- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) ++ $(CC) -shared -Wl,-soname,$(VERLIBNAME) -o $@ $(MODULES) $(LIBRARIES) $(LDFLAGS) + + install: + install -d $(INCDIR) $(INSTALLDIR) +diff -rupN FreeImage/Makefile.gnu FreeImage-new/Makefile.gnu +--- FreeImage/Makefile.gnu 2015-03-10 08:04:00.000000000 +0100 ++++ FreeImage-new/Makefile.gnu 2018-07-31 23:37:58.556953201 +0200 +@@ -16,21 +16,11 @@ LIBRARIES = -lstdc++ + MODULES = $(SRCS:.c=.o) + MODULES := $(MODULES:.cpp=.o) + CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden +-# OpenJPEG +-CFLAGS += -DOPJ_STATIC +-# LibRaw +-CFLAGS += -DNO_LCMS +-# LibJXR +-CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__ +-CFLAGS += $(INCLUDE) +-CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy +-# LibJXR +-CXXFLAGS += -D__ANSI__ +-CXXFLAGS += $(INCLUDE) ++override CFLAGS += $(INCLUDE) $(shell pkg-config --cflags jxrlib OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) ++override LDFLAGS += -ljpeg $(shell pkg-config --libs jxrlib OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) + + ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64) +- CFLAGS += -fPIC +- CXXFLAGS += -fPIC ++ override CFLAGS += -fPIC + endif + + TARGET = freeimage +@@ -61,13 +51,13 @@ FreeImage: $(STATICLIB) $(SHAREDLIB) + $(CC) $(CFLAGS) -c $< -o $@ + + .cpp.o: +- $(CXX) $(CXXFLAGS) -c $< -o $@ ++ $(CXX) $(CFLAGS) -c $< -o $@ + + $(STATICLIB): $(MODULES) + $(AR) r $@ $(MODULES) + + $(SHAREDLIB): $(MODULES) +- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) ++ $(CC) -shared -Wl,-soname,$(VERLIBNAME) -o $@ $(MODULES) $(LIBRARIES) $(LDFLAGS) + + install: + install -d $(INCDIR) $(INSTALLDIR) +diff -rupN FreeImage/Source/FreeImage/J2KHelper.cpp FreeImage-new/Source/FreeImage/J2KHelper.cpp +--- FreeImage/Source/FreeImage/J2KHelper.cpp 2015-03-03 23:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/J2KHelper.cpp 2018-07-31 23:37:58.557953201 +0200 +@@ -21,7 +21,7 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include + #include "J2KHelper.h" + + // -------------------------------------------------------------------------- +diff -rupN FreeImage/Source/FreeImage/Plugin.cpp FreeImage-new/Source/FreeImage/Plugin.cpp +--- FreeImage/Source/FreeImage/Plugin.cpp 2017-02-18 14:09:28.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/Plugin.cpp 2018-07-31 23:37:58.558953201 +0200 +@@ -263,7 +263,12 @@ FreeImage_Initialise(BOOL load_local_plu + s_plugins->AddNode(InitDDS); + s_plugins->AddNode(InitGIF); + s_plugins->AddNode(InitHDR); +- s_plugins->AddNode(InitG3); ++/* The G3 fax format plugin is deliberately disabled in the Fedora build of ++ FreeImage as it requires that FreeImage uses a private copy of libtiff ++ which is a no no because of security reasons. */ ++#if 0 ++ s_plugins->AddNode(InitG3); ++#endif + s_plugins->AddNode(InitSGI); + s_plugins->AddNode(InitEXR); + s_plugins->AddNode(InitJ2K); +diff -rupN FreeImage/Source/FreeImage/PluginEXR.cpp FreeImage-new/Source/FreeImage/PluginEXR.cpp +--- FreeImage/Source/FreeImage/PluginEXR.cpp 2015-03-03 23:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginEXR.cpp 2018-07-31 23:37:58.559953201 +0200 +@@ -28,16 +28,17 @@ + #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 ++#include + + + // ========================================================== +diff -rupN FreeImage/Source/FreeImage/PluginJ2K.cpp FreeImage-new/Source/FreeImage/PluginJ2K.cpp +--- FreeImage/Source/FreeImage/PluginJ2K.cpp 2015-03-03 23:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginJ2K.cpp 2018-07-31 23:37:58.559953201 +0200 +@@ -21,7 +21,7 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include + #include "J2KHelper.h" + + // ========================================================== +diff -rupN FreeImage/Source/FreeImage/PluginJP2.cpp FreeImage-new/Source/FreeImage/PluginJP2.cpp +--- FreeImage/Source/FreeImage/PluginJP2.cpp 2015-03-03 23:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginJP2.cpp 2018-07-31 23:37:58.560953201 +0200 +@@ -21,7 +21,7 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibOpenJPEG/openjpeg.h" ++#include + #include "J2KHelper.h" + + // ========================================================== +diff -rupN FreeImage/Source/FreeImage/PluginJPEG.cpp FreeImage-new/Source/FreeImage/PluginJPEG.cpp +--- FreeImage/Source/FreeImage/PluginJPEG.cpp 2018-07-28 19:22:22.000000000 +0200 ++++ FreeImage-new/Source/FreeImage/PluginJPEG.cpp 2018-07-31 23:37:58.561953201 +0200 +@@ -35,9 +35,9 @@ extern "C" { + #undef FAR + #include + +-#include "../LibJPEG/jinclude.h" +-#include "../LibJPEG/jpeglib.h" +-#include "../LibJPEG/jerror.h" ++#include ++#include ++#include + } + + #include "FreeImage.h" +@@ -485,116 +485,6 @@ marker_is_icc(jpeg_saved_marker_ptr mark + } + + /** +- See if there was an ICC profile in the JPEG file being read; +- if so, reassemble and return the profile data. +- +- TRUE is returned if an ICC profile was found, FALSE if not. +- If TRUE is returned, *icc_data_ptr is set to point to the +- returned data, and *icc_data_len is set to its length. +- +- IMPORTANT: the data at **icc_data_ptr has been allocated with malloc() +- and must be freed by the caller with free() when the caller no longer +- needs it. (Alternatively, we could write this routine to use the +- IJG library's memory allocator, so that the data would be freed implicitly +- at jpeg_finish_decompress() time. But it seems likely that many apps +- will prefer to have the data stick around after decompression finishes.) +- +- NOTE: if the file contains invalid ICC APP2 markers, we just silently +- 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_saved_marker_ptr marker; +- int num_markers = 0; +- int seq_no; +- JOCTET *icc_data; +- unsigned total_length; +- +- const int MAX_SEQ_NO = 255; // sufficient since marker numbers are bytes +- BYTE marker_present[MAX_SEQ_NO+1]; // 1 if marker found +- unsigned data_length[MAX_SEQ_NO+1]; // size of profile data in marker +- unsigned data_offset[MAX_SEQ_NO+1]; // offset for data in marker +- +- *icc_data_ptr = NULL; // avoid confusion if FALSE return +- *icc_data_len = 0; +- +- /** +- this first pass over the saved markers discovers whether there are +- any ICC markers and verifies the consistency of the marker numbering. +- */ +- +- memset(marker_present, 0, (MAX_SEQ_NO + 1)); +- +- for(marker = cinfo->marker_list; marker != NULL; marker = marker->next) { +- if (marker_is_icc(marker)) { +- if (num_markers == 0) { +- // number of markers +- num_markers = GETJOCTET(marker->data[13]); +- } +- else if (num_markers != GETJOCTET(marker->data[13])) { +- return FALSE; // inconsistent num_markers fields +- } +- // sequence number +- seq_no = GETJOCTET(marker->data[12]); +- if (seq_no <= 0 || seq_no > num_markers) { +- return FALSE; // bogus sequence number +- } +- if (marker_present[seq_no]) { +- return FALSE; // duplicate sequence numbers +- } +- marker_present[seq_no] = 1; +- data_length[seq_no] = marker->data_length - ICC_HEADER_SIZE; +- } +- } +- +- if (num_markers == 0) +- return FALSE; +- +- /** +- check for missing markers, count total space needed, +- compute offset of each marker's part of the data. +- */ +- +- total_length = 0; +- for(seq_no = 1; seq_no <= num_markers; seq_no++) { +- if (marker_present[seq_no] == 0) { +- return FALSE; // missing sequence number +- } +- data_offset[seq_no] = total_length; +- total_length += data_length[seq_no]; +- } +- +- if (total_length <= 0) +- return FALSE; // found only empty markers ? +- +- // allocate space for assembled data +- icc_data = (JOCTET *) malloc(total_length * sizeof(JOCTET)); +- if (icc_data == NULL) +- return FALSE; // out of memory +- +- // and fill it in +- for (marker = cinfo->marker_list; marker != NULL; marker = marker->next) { +- if (marker_is_icc(marker)) { +- JOCTET FAR *src_ptr; +- JOCTET *dst_ptr; +- unsigned length; +- seq_no = GETJOCTET(marker->data[12]); +- dst_ptr = icc_data + data_offset[seq_no]; +- src_ptr = marker->data + ICC_HEADER_SIZE; +- length = data_length[seq_no]; +- while (length--) { +- *dst_ptr++ = *src_ptr++; +- } +- } +- } +- +- *icc_data_ptr = icc_data; +- *icc_data_len = total_length; +- +- return TRUE; +-} +- +-/** + Read JPEG_APPD marker (IPTC or Adobe Photoshop profile) + */ + static BOOL +diff -rupN FreeImage/Source/FreeImage/PluginJXR.cpp FreeImage-new/Source/FreeImage/PluginJXR.cpp +--- FreeImage/Source/FreeImage/PluginJXR.cpp 2015-03-03 23:07:08.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginJXR.cpp 2018-07-31 23:37:58.561953201 +0200 +@@ -23,7 +23,7 @@ + #include "Utilities.h" + #include "../Metadata/FreeImageTag.h" + +-#include "../LibJXR/jxrgluelib/JXRGlue.h" ++#include + + // ========================================================== + // Plugin Interface +diff -rupN FreeImage/Source/FreeImage/PluginPNG.cpp FreeImage-new/Source/FreeImage/PluginPNG.cpp +--- FreeImage/Source/FreeImage/PluginPNG.cpp 2018-07-28 20:15:24.000000000 +0200 ++++ FreeImage-new/Source/FreeImage/PluginPNG.cpp 2018-07-31 23:37:58.561953201 +0200 +@@ -40,8 +40,8 @@ + + // ---------------------------------------------------------- + +-#include "../ZLib/zlib.h" +-#include "../LibPNG/png.h" ++#include ++#include + + // ---------------------------------------------------------- + +diff -rupN FreeImage/Source/FreeImage/PluginRAW.cpp FreeImage-new/Source/FreeImage/PluginRAW.cpp +--- FreeImage/Source/FreeImage/PluginRAW.cpp 2015-03-10 10:12:04.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PluginRAW.cpp 2018-07-31 23:37:58.561953201 +0200 +@@ -19,7 +19,7 @@ + // Use at your own risk! + // ========================================================== + +-#include "../LibRawLite/libraw/libraw.h" ++#include + + #include "FreeImage.h" + #include "Utilities.h" +diff -rupN FreeImage/Source/FreeImage/PluginTIFF.cpp FreeImage-new/Source/FreeImage/PluginTIFF.cpp +--- FreeImage/Source/FreeImage/PluginTIFF.cpp 2018-07-29 00:24:43.000000000 +0200 ++++ FreeImage-new/Source/FreeImage/PluginTIFF.cpp 2018-07-31 23:52:38.774904514 +0200 +@@ -37,9 +37,9 @@ + + #include "FreeImage.h" + #include "Utilities.h" +-#include "../LibTIFF4/tiffiop.h" ++#include + #include "../Metadata/FreeImageTag.h" +-#include "../OpenEXR/Half/half.h" ++#include + + #include "FreeImageIO.h" + #include "PSDParser.h" +@@ -193,17 +193,6 @@ TIFFFdOpen(thandle_t handle, const char + + return tif; + } +- +-/** +-Open a TIFF file for reading or writing +-@param name +-@param mode +-*/ +-TIFF* +-TIFFOpen(const char* name, const char* mode) { +- return 0; +-} +- + // ---------------------------------------------------------- + // TIFF library FreeImage-specific routines. + // ---------------------------------------------------------- +diff -rupN FreeImage/Source/FreeImage/PluginWebP.cpp FreeImage-new/Source/FreeImage/PluginWebP.cpp +--- FreeImage/Source/FreeImage/PluginWebP.cpp 2016-06-15 15:48:12.000000000 +0200 ++++ FreeImage-new/Source/FreeImage/PluginWebP.cpp 2018-07-31 23:38:40.531950880 +0200 +@@ -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 -rupN FreeImage/Source/FreeImage/PSDParser.cpp FreeImage-new/Source/FreeImage/PSDParser.cpp +--- FreeImage/Source/FreeImage/PSDParser.cpp 2016-02-11 03:18:02.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/PSDParser.cpp 2018-08-01 00:17:18.323822675 +0200 +@@ -133,8 +133,8 @@ public: + template <> + class PSDGetValue<8> { + public: +- static inline UINT64 get(const BYTE * iprBuffer) { +- UINT64 v = ((const UINT64*)iprBuffer)[0]; ++ static inline uint64_t get(const BYTE * iprBuffer) { ++ uint64_t v = ((const uint64_t*)iprBuffer)[0]; + #ifndef FREEIMAGE_BIGENDIAN + SwapInt64(&v); + #endif +@@ -147,7 +147,7 @@ public: + + // -------------------------------------------------------------------------- + +-static UINT64 ++static uint64_t + psdReadSize(FreeImageIO *io, fi_handle handle, const psdHeaderInfo& header) { + if(header._Version == 1) { + BYTE Length[4]; +@@ -199,11 +199,11 @@ public: + template <> + class PSDSetValue<8> { + public: +- static inline void set(const BYTE * iprBuffer, UINT64 v) { ++ static inline void set(const BYTE * iprBuffer, uint64_t v) { + #ifndef FREEIMAGE_BIGENDIAN + SwapInt64(&v); + #endif +- ((UINT64*)iprBuffer)[0] = v; ++ ((uint64_t*)iprBuffer)[0] = v; + } + }; + +@@ -213,7 +213,7 @@ public: + // -------------------------------------------------------------------------- + + static inline bool +-psdWriteSize(FreeImageIO *io, fi_handle handle, const psdHeaderInfo& header, UINT64 v) { ++psdWriteSize(FreeImageIO *io, fi_handle handle, const psdHeaderInfo& header, uint64_t v) { + if(header._Version == 1) { + BYTE Length[4]; + psdSetLongValue(Length, sizeof(Length), (DWORD)v); +@@ -1063,10 +1063,10 @@ unsigned psdParser::GetChannelOffset(FIB + bool psdParser::ReadLayerAndMaskInfoSection(FreeImageIO *io, fi_handle handle) { + bool bSuccess = true; + +- UINT64 nTotalBytes = psdReadSize(io, handle, _headerInfo); ++ uint64_t nTotalBytes = psdReadSize(io, handle, _headerInfo); + + // Hack to handle large PSB files without using fseeko(). +- if (sizeof(long) < sizeof(UINT64)) { ++ if (sizeof(long) < sizeof(uint64_t)) { + const long offset = 0x10000000; + while (nTotalBytes > offset) { + if (io->seek_proc(handle, offset, SEEK_CUR) != 0) { +@@ -1672,7 +1672,7 @@ bool psdParser::WriteLayerAndMaskInfoSec + // Short section with no layers. + BYTE IntValue[4]; + +- UINT64 size; ++ uint64_t size; + if(_headerInfo._Version == 1) { + size = 8; + } else { +diff -rupN FreeImage/Source/FreeImage/ZLibInterface.cpp FreeImage-new/Source/FreeImage/ZLibInterface.cpp +--- FreeImage/Source/FreeImage/ZLibInterface.cpp 2015-03-03 23:07:10.000000000 +0100 ++++ FreeImage-new/Source/FreeImage/ZLibInterface.cpp 2018-07-31 23:37:58.563953201 +0200 +@@ -19,10 +19,9 @@ + // 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) */ + + /** + Compresses a source buffer into a target buffer, using the ZLib library. +@@ -115,7 +114,7 @@ FreeImage_ZLibGZip(BYTE *target, DWORD t + return 0; + case Z_OK: { + // patch header, setup crc and length (stolen from mod_trace_output) +- BYTE *p = target + 8; *p++ = 2; *p = OS_CODE; // xflags, os_code ++ BYTE *p = target + 8; *p++ = 2; *p = 0x03; // xflags, os_code (unix) + crc = crc32(crc, source, source_size); + memcpy(target + 4 + dest_len, &crc, 4); + memcpy(target + 8 + dest_len, &source_size, 4); +diff -rupN FreeImage/Source/FreeImage.h FreeImage-new/Source/FreeImage.h +--- FreeImage/Source/FreeImage.h 2018-03-25 18:42:20.000000000 +0200 ++++ FreeImage-new/Source/FreeImage.h 2018-08-01 00:16:34.704825088 +0200 +@@ -155,8 +155,11 @@ typedef uint8_t BYTE; + typedef uint16_t WORD; + typedef uint32_t DWORD; + typedef int32_t LONG; ++// Disable these, they conflict with the (wrong) ones of libraw ++#if 0 + typedef int64_t INT64; + typedef uint64_t UINT64; ++#endif + #else + // MS is not C99 ISO compliant + typedef long BOOL; +@@ -410,7 +413,12 @@ FI_ENUM(FREE_IMAGE_FORMAT) { + FIF_DDS = 24, + FIF_GIF = 25, + FIF_HDR = 26, +- FIF_FAXG3 = 27, ++/* The G3 fax format plugin is deliberately disabled in the Fedora build of ++ FreeImage as it requires that FreeImage uses a private copy of libtiff ++ which is a no no because of security reasons. */ ++#if 0 ++ FIF_FAXG3 = 27, ++#endif + FIF_SGI = 28, + FIF_EXR = 29, + FIF_J2K = 30, +@@ -473,6 +481,10 @@ FI_ENUM(FREE_IMAGE_DITHER) { + FID_BAYER16x16 = 6 //! Bayer ordered dispersed dot dithering (order 4 dithering matrix) + }; + ++/* The FreeImage_JPEGTransform functions are deliberately disabled in the ++ Fedora build of FreeImage as they require that FreeImage uses a private copy ++ of libjpeg which is a no no because of security reasons. */ ++#if 0 + /** Lossless JPEG transformations + Constants used in FreeImage_JPEGTransform + */ +@@ -486,6 +498,7 @@ FI_ENUM(FREE_IMAGE_JPEG_OPERATION) { + FIJPEG_OP_ROTATE_180 = 6, //! 180-degree rotation + FIJPEG_OP_ROTATE_270 = 7 //! 270-degree clockwise (or 90 ccw) + }; ++#endif + + /** Tone mapping operators. + Constants used in FreeImage_ToneMapping. +@@ -1088,7 +1101,10 @@ DLL_API const char* DLL_CALLCONV FreeIma + // -------------------------------------------------------------------------- + // JPEG lossless transformation routines + // -------------------------------------------------------------------------- +- ++/* The FreeImage_JPEGTransform functions are deliberately disabled in the +++ Fedora build of FreeImage as they require that FreeImage uses a private copy +++ of libjpeg which is a no no because of security reasons. */ ++#if 0 + 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 +1113,7 @@ DLL_API BOOL DLL_CALLCONV FreeImage_JPEG + 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 -rupN FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp +--- FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp 2015-03-03 23:07:10.000000000 +0100 ++++ FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp 2018-07-31 23:37:58.563953201 +0200 +@@ -26,10 +26,10 @@ 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 "FreeImage.h" +diff -rupN FreeImage/Source/Metadata/TagConversion.cpp FreeImage-new/Source/Metadata/TagConversion.cpp +--- FreeImage/Source/Metadata/TagConversion.cpp 2018-03-25 12:30:54.000000000 +0200 ++++ FreeImage-new/Source/Metadata/TagConversion.cpp 2018-07-31 23:37:58.564953201 +0200 +@@ -30,6 +30,11 @@ + + #define MAX_TEXT_EXTENT 512 + ++// These were in FreeImage.h, but are moved here to avoid conflicts (see note in FreeImage.h) ++typedef int64_t INT64; ++typedef uint64_t UINT64; ++ ++ + /** + Convert a tag to a C string + */ +diff -rupN FreeImage/Source/Metadata/XTIFF.cpp FreeImage-new/Source/Metadata/XTIFF.cpp +--- FreeImage/Source/Metadata/XTIFF.cpp 2015-03-03 23:07:10.000000000 +0100 ++++ FreeImage-new/Source/Metadata/XTIFF.cpp 2022-06-06 21:13:28.672755346 +0200 +@@ -29,7 +29,7 @@ + #pragma warning (disable : 4786) // identifier was truncated to 'number' characters + #endif + +-#include "../LibTIFF4/tiffiop.h" ++#include + + #include "FreeImage.h" + #include "Utilities.h" +@@ -224,6 +224,33 @@ tiff_write_geotiff_profile(TIFF *tif, FI + // TIFF EXIF tag reading & writing + // ---------------------------------------------------------- + ++static uint32 exif_tag_ids[] = { ++ EXIFTAG_EXPOSURETIME, EXIFTAG_FNUMBER, EXIFTAG_EXPOSUREPROGRAM, ++ EXIFTAG_SPECTRALSENSITIVITY, EXIFTAG_ISOSPEEDRATINGS, EXIFTAG_OECF, ++ EXIFTAG_EXIFVERSION, EXIFTAG_DATETIMEORIGINAL, EXIFTAG_DATETIMEDIGITIZED, ++ EXIFTAG_COMPONENTSCONFIGURATION, EXIFTAG_COMPRESSEDBITSPERPIXEL, ++ EXIFTAG_SHUTTERSPEEDVALUE, EXIFTAG_APERTUREVALUE, ++ EXIFTAG_BRIGHTNESSVALUE, EXIFTAG_EXPOSUREBIASVALUE, ++ EXIFTAG_MAXAPERTUREVALUE, EXIFTAG_SUBJECTDISTANCE, EXIFTAG_METERINGMODE, ++ EXIFTAG_LIGHTSOURCE, EXIFTAG_FLASH, EXIFTAG_FOCALLENGTH, ++ EXIFTAG_SUBJECTAREA, EXIFTAG_MAKERNOTE, EXIFTAG_USERCOMMENT, ++ EXIFTAG_SUBSECTIME, EXIFTAG_SUBSECTIMEORIGINAL, ++ EXIFTAG_SUBSECTIMEDIGITIZED, EXIFTAG_FLASHPIXVERSION, EXIFTAG_COLORSPACE, ++ EXIFTAG_PIXELXDIMENSION, EXIFTAG_PIXELYDIMENSION, ++ EXIFTAG_RELATEDSOUNDFILE, EXIFTAG_FLASHENERGY, ++ EXIFTAG_SPATIALFREQUENCYRESPONSE, EXIFTAG_FOCALPLANEXRESOLUTION, ++ EXIFTAG_FOCALPLANEYRESOLUTION, EXIFTAG_FOCALPLANERESOLUTIONUNIT, ++ EXIFTAG_SUBJECTLOCATION, EXIFTAG_EXPOSUREINDEX, EXIFTAG_SENSINGMETHOD, ++ EXIFTAG_FILESOURCE, EXIFTAG_SCENETYPE, EXIFTAG_CFAPATTERN, ++ EXIFTAG_CUSTOMRENDERED, EXIFTAG_EXPOSUREMODE, EXIFTAG_WHITEBALANCE, ++ EXIFTAG_DIGITALZOOMRATIO, EXIFTAG_FOCALLENGTHIN35MMFILM, ++ EXIFTAG_SCENECAPTURETYPE, EXIFTAG_GAINCONTROL, EXIFTAG_CONTRAST, ++ EXIFTAG_SATURATION, EXIFTAG_SHARPNESS, EXIFTAG_DEVICESETTINGDESCRIPTION, ++ EXIFTAG_SUBJECTDISTANCERANGE, EXIFTAG_GAINCONTROL, EXIFTAG_GAINCONTROL, ++ EXIFTAG_IMAGEUNIQUEID ++}; ++static int nExifTags = sizeof(exif_tag_ids) / sizeof(exif_tag_ids[0]); ++ + /** + Read a single Exif tag + +@@ -575,45 +602,11 @@ tiff_read_exif_tags(TIFF *tif, TagLib::M + + // loop over all Core Directory Tags + // ### uses private data, but there is no other way ++ // -> Fedora: Best we can do without private headers is to hard-code a list of known EXIF tags and read those + if(md_model == TagLib::EXIF_MAIN) { +- const TIFFDirectory *td = &tif->tif_dir; +- +- uint32 lastTag = 0; //<- used to prevent reading some tags twice (as stored in tif_fieldinfo) +- +- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) { +- const TIFFField *fld = tif->tif_fields[fi]; +- +- const uint32 tag_id = TIFFFieldTag(fld); +- +- if(tag_id == lastTag) { +- continue; +- } +- +- // test if tag value is set +- // (lifted directly from LibTiff _TIFFWriteDirectory) +- +- if( fld->field_bit == FIELD_CUSTOM ) { +- int is_set = FALSE; +- +- for(int ci = 0; ci < td->td_customValueCount; ci++ ) { +- is_set |= (td->td_customValues[ci].info == fld); +- } +- +- if( !is_set ) { +- continue; +- } +- +- } else if(!TIFFFieldSet(tif, fld->field_bit)) { +- continue; +- } +- +- // process *all* other tags (some will be ignored) +- +- tiff_read_exif_tag(tif, tag_id, dib, md_model); +- +- lastTag = tag_id; ++ for (int i = 0; i < nExifTags; ++i) { ++ tiff_read_exif_tag(tif, exif_tag_ids[i], dib, md_model); + } +- + } + + return TRUE; +@@ -723,10 +716,9 @@ tiff_write_exif_tags(TIFF *tif, TagLib:: + + TagLib& tag_lib = TagLib::instance(); + +- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) { +- const TIFFField *fld = tif->tif_fields[fi]; +- +- const uint32 tag_id = TIFFFieldTag(fld); ++ for (int fi = 0; fi < nExifTags; fi++) { ++ const uint32 tag_id = exif_tag_ids[fi]; ++ const TIFFField *fld = TIFFFieldWithTag(tif, tag_id); + + if(skip_write_field(tif, tag_id)) { + // skip tags that are already handled by the LibTIFF writing process +@@ -749,7 +741,7 @@ tiff_write_exif_tags(TIFF *tif, TagLib:: + continue; + } + // type of storage may differ (e.g. rationnal array vs float array type) +- if((unsigned)_TIFFDataSize(tif_tag_type) != FreeImage_TagDataWidth(tag_type)) { ++ if((unsigned)TIFFFieldSetGetSize(fld) != FreeImage_TagDataWidth(tag_type)) { + // skip tag or _TIFFmemcpy will fail + continue; + } +diff -rupN FreeImage/Source/Utilities.h FreeImage-new/Source/Utilities.h +--- FreeImage/Source/Utilities.h 2016-04-11 15:15:32.000000000 +0200 ++++ FreeImage-new/Source/Utilities.h 2018-08-01 00:16:29.826825358 +0200 +@@ -446,12 +446,12 @@ SwapLong(DWORD *lp) { + } + + inline void +-SwapInt64(UINT64 *arg) { ++SwapInt64(uint64_t *arg) { + #if defined(_MSC_VER) && _MSC_VER >= 1310 + *arg = _byteswap_uint64(*arg); + #else + union Swap { +- UINT64 sv; ++ uint64_t sv; + DWORD ul[2]; + } tmp, result; + tmp.sv = *arg; diff --git a/srcpkgs/freeimage/template b/srcpkgs/freeimage/template index efeefc31ed3105..aa26c2f74c1d38 100644 --- a/srcpkgs/freeimage/template +++ b/srcpkgs/freeimage/template @@ -1,9 +1,10 @@ # Template file for 'freeimage' pkgname=freeimage version=3.18.0 -revision=4 +revision=5 build_style=gnu-makefile -hostmakedepends="unzip" +hostmakedepends="pkg-config unzip" +makedepends="libopenexr-devel libwebp-devel tiff-devel libopenjpeg2-devel libjpeg-turbo-devel libraw-devel libpng-devel jxrlib-devel mesa glu" short_desc="Support library for popular graphics image formats" maintainer="Orphaned " license="GPL-2.0-or-later, FreeImage" @@ -16,29 +17,28 @@ CXXFLAGS="${CFLAGS} -Wno-ctor-dtor-privacy -std=c++14" subpackages="freeimage-plus freeimage-devel freeimage-plus-devel" post_patch() { - mkdir /tmp/fi - mv ${wrksrc}/* /tmp/fi - cp -a /tmp/fi ${wrksrc}/fip - mv /tmp/fi ${wrksrc} + # Finishing unbundling + rm -r Source/Lib* Source/ZLib Source/OpenEXR + # can't be built due to private headers + > Source/FreeImage/PluginG3.cpp + > Source/FreeImageToolkit/JPEGTransform.cpp } do_build() { - cd ${wrksrc}/fi - make ${makejobs} - cd ${wrksrc}/fip + sh gensrclist.sh + make -f Makefile.gnu ${makejobs} + sh genfipsrclist.sh make -f Makefile.fip ${makejobs} } do_install() { - cd ${wrksrc}/fi - make DESTDIR="${DESTDIR}" install + make -f Makefile.gnu DESTDIR="${DESTDIR}" install vlicense license-fi.txt LICENSE } freeimage-plus_package() { short_desc+=" (plus)" pkg_install() { - cd ${wrksrc}/fip make -f Makefile.fip DESTDIR="${PKGDESTDIR}" install vlicense license-fi.txt LICENSE } From e8e6ff8f76598c5b139792191c744d25cbde6db4 Mon Sep 17 00:00:00 2001 From: JkktBkkt Date: Sun, 28 Jun 2026 05:44:38 +0300 Subject: [PATCH 3/4] jxrlib: remove package --- common/shlibs | 2 - srcpkgs/jxrlib/files/CMakeLists.txt | 82 ------------------- srcpkgs/jxrlib/files/JoinPaths.cmake | 26 ------ srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch | 20 ----- srcpkgs/jxrlib/template | 25 ------ srcpkgs/removed-packages/template | 2 + 6 files changed, 2 insertions(+), 155 deletions(-) delete mode 100644 srcpkgs/jxrlib/files/CMakeLists.txt delete mode 100644 srcpkgs/jxrlib/files/JoinPaths.cmake delete mode 100644 srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch delete mode 100644 srcpkgs/jxrlib/template diff --git a/common/shlibs b/common/shlibs index 4d36c85637fd65..00b2870c96f084 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4026,8 +4026,6 @@ libkdsoap-qt6.so.2 KDSoap-2.2.0_1 libkdsoap-server-qt6.so.2 KDSoap-2.2.0_1 libKDSoapWSDiscoveryClient.so.0 kdsoap-ws-discovery-client-0.4.0_1 libstoken.so.1 stoken-0.92_1 -libjpegxr.so.0 jxrlib-0.2.2_1 -libjxrglue.so.0 jxrlib-0.2.2_1 libhidrd_util.so.0 hidrd-0.2.0_1 libhidrd_usage.so.0 hidrd-0.2.0_1 libhidrd_item.so.0 hidrd-0.2.0_1 diff --git a/srcpkgs/jxrlib/files/CMakeLists.txt b/srcpkgs/jxrlib/files/CMakeLists.txt deleted file mode 100644 index e44f58408db4b3..00000000000000 --- a/srcpkgs/jxrlib/files/CMakeLists.txt +++ /dev/null @@ -1,82 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(jxrlib C CXX) - -set(JXRLIB_MAJOR 0) -set(JXRLIB_MINOR 0) - -set(JXRLIB_LIB_VERSION ${JXRLIB_MAJOR}.${JXRLIB_MINOR}.0) -set(JXRLIB_SO_VERSION ${JXRLIB_MAJOR}) - -include(TestBigEndian) -test_big_endian(ISBIGENDIAN) -if(ISBIGENDIAN) - set(DEF_ENDIAN -D_BIG__ENDIAN_) -endif() - -add_definitions(-D__ANSI__ -DDISABLE_PERF_MEASUREMENT ${DEF_ENDIAN}) - -include_directories( - common/include - image/sys - jxrgluelib - jxrtestlib -) - -# JXR Library -file(GLOB jpegxr_SRC image/sys/*.c image/decode/*.c image/encode/*.c) -file(GLOB jpegxr_HDR image/sys/*.h image/decode/*.h image/encode/*.h) - -add_library(jpegxr SHARED ${jpegxr_SRC} ${jpegxr_HDR}) -set_target_properties(jpegxr PROPERTIES VERSION ${JXRLIB_LIB_VERSION} SOVERSION ${JXRLIB_SO_VERSION}) - -install(TARGETS jpegxr - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} -) - -# JXR-GLUE Library -file(GLOB jxrglue_SRC jxrgluelib/*.c jxrtestlib/*.c) -file(GLOB jxrglue_HDR jxrgluelib/*.h jxrtestlib/*.h) - -add_library(jxrglue SHARED ${jxrglue_SRC} ${jxrglue_HDR}) -set_target_properties(jxrglue PROPERTIES VERSION ${JXRLIB_LIB_VERSION} SOVERSION ${JXRLIB_SO_VERSION}) -target_link_libraries(jxrglue jpegxr m) - -install(TARGETS jxrglue - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} -) - -# JxrEncApp Executable -add_executable(JxrEncApp jxrencoderdecoder/JxrEncApp.c) -target_link_libraries(JxrEncApp jxrglue) -install(TARGETS JxrEncApp RUNTIME DESTINATION bin) - -# JxrDecApp Executable -add_executable(JxrDecApp jxrencoderdecoder/JxrDecApp.c) -target_link_libraries(JxrDecApp jxrglue) -install(TARGETS JxrDecApp RUNTIME DESTINATION bin) - -# Headers -install(FILES jxrgluelib/JXRGlue.h jxrgluelib/JXRMeta.h jxrgluelib/JXRVersion.h jxrtestlib/JXRTest.h image/sys/windowsmediaphoto.h - DESTINATION include/jxrlib -) -install(DIRECTORY common/include/ DESTINATION include/jxrlib - FILES_MATCHING PATTERN "*.h" -) - -# Generate pkgconfig file -include(JoinPaths.cmake) -join_paths(JXRLIB_PKGCONF_LIBDIR "\${prefix}" "${JXRLIB_INSTALL_LIBDIR}") -join_paths(JXRLIB_PKGCONF_INCLUDEDIR "\${prefix}" "${JXRLIB_INSTALL_INCLUDEDIR}") -configure_file( - "${PROJECT_SOURCE_DIR}/libjxr.pc.in" - ${PROJECT_BINARY_DIR}/jxrlib.pc - @ONLY -) -install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc - DESTINATION lib${LIB_SUFFIX}/pkgconfig -) diff --git a/srcpkgs/jxrlib/files/JoinPaths.cmake b/srcpkgs/jxrlib/files/JoinPaths.cmake deleted file mode 100644 index 40dee9d28eee72..00000000000000 --- a/srcpkgs/jxrlib/files/JoinPaths.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# This module provides a function for joining paths -# known from most languages -# -# SPDX-License-Identifier: (MIT OR CC0-1.0) -# Copyright 2020 Jan Tojnar -# https://github.com/jtojnar/cmake-snips -# -# Modelled after Python's os.path.join -# https://docs.python.org/3.7/library/os.path.html#os.path.join -# Windows not supported -function(join_paths joined_path first_path_segment) - set(temp_path "${first_path_segment}") - foreach(current_segment IN LISTS ARGN) - if(NOT ("${current_segment}" STREQUAL "")) - string(REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}/?" "" new_segment "${current_segment}") - if(NOT ("${new_segment}" STREQUAL "")) - if(NOT IS_ABSOLUTE "${current_segment}" OR NOT "${current_segment}" MATCHES "^${new_segment}$") - set(temp_path "${temp_path}/${new_segment}") - else() - set(temp_path "${current_segment}") - endif() - endif() - endif() - endforeach() - set(${joined_path} "${temp_path}" PARENT_SCOPE) -endfunction() diff --git a/srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch b/srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch deleted file mode 100644 index f7f06171ab83c7..00000000000000 --- a/srcpkgs/jxrlib/patches/fix-pkgconfig-in.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/libjxr.pc.in b/libjxr.pc.in -index b58145105b3..72e4c1de2a5 100644 ---- a/libjxr.pc.in -+++ b/libjxr.pc.in -@@ -1,4 +1,4 @@ --prefix=%(DIR_INSTALL)s -+prefix=@CMAKE_INSTALL_PREFIX@ - exec_prefix=${prefix} - libdir=${exec_prefix}/lib - includedir=${prefix}/include -@@ -6,7 +6,7 @@ includedir=${prefix}/include - Name: libjxr - Description: A library for reading JPEG XR images. - --Version: %(JXR_VERSION)s -+Version: @JXRLIB_LIB_VERSION@ - Libs: -L${libdir} -ljpegxr -ljxrglue - Libs.private: -lm --Cflags: -I${includedir}/libjxr/common -I${includedir}/libjxr/image/x86 -I${includedir}/libjxr/image -I${includedir}/libjxr/glue -I${includedir}/libjxr/test -D__ANSI__ -DDISABLE_PERF_MEASUREMENT %(JXR_ENDIAN)s -+Cflags: -I${includedir}/jxrlib -D__ANSI__ -DDISABLE_PERF_MEASUREMENT diff --git a/srcpkgs/jxrlib/template b/srcpkgs/jxrlib/template deleted file mode 100644 index c16f081ddaed0a..00000000000000 --- a/srcpkgs/jxrlib/template +++ /dev/null @@ -1,25 +0,0 @@ -# Template file for 'jxrlib' -pkgname=jxrlib -version=1.4.1 -revision=1 -build_style=cmake -short_desc="Open source implementation of jpegxr" -maintainer="Orphaned " -license="GPL-2.0-or-later" -homepage="https://github.com/mircomir/jxrlib" -distfiles="${homepage}/archive/${version}.tar.gz" -checksum=bb46ce30d5719cfffba8da0df314b7bca9aa68dfbf156ecb5670d1c325ad021e - -post_extract() { - cp ${FILESDIR}/{CMakeLists.txt,JoinPaths.cmake} . -} - -jxrlib-devel_package() { - short_desc+=" - development files" - depends="${sourcepkg}>=${version}_${revision}" - pkg_install() { - vmove usr/include - vmove "usr/lib/*.so" - vmove usr/lib/pkgconfig - } -} diff --git a/srcpkgs/removed-packages/template b/srcpkgs/removed-packages/template index 384805132ed981..ec5467542f4ba7 100644 --- a/srcpkgs/removed-packages/template +++ b/srcpkgs/removed-packages/template @@ -351,6 +351,8 @@ replaces=" iproute2-tc-ipt<=6.7.0 isl16<=0.16_2 js<=1.8.5_11 + jxrlib-devel<=0.2.2_1 + jxrlib<=0.2.2_1 julia<=1.6.1_2 jwm-settings-manager<=2.1.5_1 k3s<=1.0.0_1 From 7c241be028b074db668d9153f11939f6c85f624e Mon Sep 17 00:00:00 2001 From: JkktBkkt Date: Sun, 28 Jun 2026 05:46:45 +0300 Subject: [PATCH 4/4] freeimage: update to 3.19.0+1911. --- .../freeimage/patches/disable_arm_neon.patch | 10 - srcpkgs/freeimage/patches/fix-musl.patch | 19 - .../freeimage/patches/ftbfs-big-endian.patch | 56 -- ...-byteswap-ulong-implicit-declaration.patch | 13 + .../patches/jxrlib-missing-include.patch | 25 + srcpkgs/freeimage/patches/libraw-compat.patch | 64 -- srcpkgs/freeimage/patches/tiff-srcs-fix.patch | 12 + srcpkgs/freeimage/patches/unbundle.patch | 749 ------------------ srcpkgs/freeimage/template | 27 +- 9 files changed, 59 insertions(+), 916 deletions(-) delete mode 100644 srcpkgs/freeimage/patches/disable_arm_neon.patch delete mode 100644 srcpkgs/freeimage/patches/fix-musl.patch delete mode 100644 srcpkgs/freeimage/patches/ftbfs-big-endian.patch create mode 100644 srcpkgs/freeimage/patches/jxrlib-byteswap-ulong-implicit-declaration.patch create mode 100644 srcpkgs/freeimage/patches/jxrlib-missing-include.patch delete mode 100644 srcpkgs/freeimage/patches/libraw-compat.patch create mode 100644 srcpkgs/freeimage/patches/tiff-srcs-fix.patch delete mode 100644 srcpkgs/freeimage/patches/unbundle.patch diff --git a/srcpkgs/freeimage/patches/disable_arm_neon.patch b/srcpkgs/freeimage/patches/disable_arm_neon.patch deleted file mode 100644 index c3ed1eb64dd278..00000000000000 --- a/srcpkgs/freeimage/patches/disable_arm_neon.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/Source/LibPNG/pngpriv.h 2018-07-16 11:58:00.000000000 +0200 -+++ b/Source/LibPNG/pngpriv.h 2018-08-07 10:15:53.827327997 +0200 -@@ -107,6 +107,7 @@ - * this in $(CC), e.g. "CC=gcc -mfpu=neon", but people who build libpng rarely - * do this. - */ -+#define PNG_ARM_NEON_OPT 0 - #ifndef PNG_ARM_NEON_OPT - /* ARM NEON optimizations are being controlled by the compiler settings, - * typically the target FPU. If the FPU has been set to NEON (-mfpu=neon diff --git a/srcpkgs/freeimage/patches/fix-musl.patch b/srcpkgs/freeimage/patches/fix-musl.patch deleted file mode 100644 index 8d815c4cb8ceb3..00000000000000 --- a/srcpkgs/freeimage/patches/fix-musl.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fixes following compile error due to musl using nullptr instead of __null: - -Source/FreeImage/PluginPSD.cpp: In function ‘BOOL Save(FreeImageIO*, FIBITMAP*, fi_handle, int, int, void*)’: -Source/FreeImage/PluginPSD.cpp:130:10: error: cannot convert ‘std::nullptr_t’ to ‘BOOL’ {aka ‘int’} in return - 130 | return NULL; - | ^~~~ - -diff -rup Source/FreeImage/PluginPSD.cpp.orig Source/FreeImage/PluginPSD.cpp ---- a/Source/FreeImage/PluginPSD.cpp -+++ b/Source/FreeImage/PluginPSD.cpp -@@ -127,7 +127,7 @@ Load(FreeImageIO *io, fi_handle handle, - static BOOL DLL_CALLCONV - Save(FreeImageIO *io, FIBITMAP *dib, fi_handle handle, int page, int flags, void *data) { - if(!handle) { -- return NULL; -+ return FALSE; - } - try { - psdParser parser; diff --git a/srcpkgs/freeimage/patches/ftbfs-big-endian.patch b/srcpkgs/freeimage/patches/ftbfs-big-endian.patch deleted file mode 100644 index 0bf9aa72729b6b..00000000000000 --- a/srcpkgs/freeimage/patches/ftbfs-big-endian.patch +++ /dev/null @@ -1,56 +0,0 @@ -Fixes BE build failure. - ---- a/Source/FreeImage/PluginDDS.cpp -+++ b/Source/FreeImage/PluginDDS.cpp -@@ -356,14 +356,14 @@ SwapHeader(DDSHEADER *header) { - for(int i=0; i<11; i++) { - SwapLong(&header->surfaceDesc.dwReserved1[i]); - } -- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwSize); -- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFlags); -- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFourCC); -- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBBitCount); -- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRBitMask); -- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwGBitMask); -- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwBBitMask); -- SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBAlphaBitMask); -+ SwapLong(&header->surfaceDesc.ddspf.dwSize); -+ SwapLong(&header->surfaceDesc.ddspf.dwFlags); -+ SwapLong(&header->surfaceDesc.ddspf.dwFourCC); -+ SwapLong(&header->surfaceDesc.ddspf.dwRGBBitCount); -+ SwapLong(&header->surfaceDesc.ddspf.dwRBitMask); -+ SwapLong(&header->surfaceDesc.ddspf.dwGBitMask); -+ SwapLong(&header->surfaceDesc.ddspf.dwBBitMask); -+ SwapLong(&header->surfaceDesc.ddspf.dwRGBAlphaBitMask); - SwapLong(&header->surfaceDesc.ddsCaps.dwCaps1); - SwapLong(&header->surfaceDesc.ddsCaps.dwCaps2); - SwapLong(&header->surfaceDesc.ddsCaps.dwReserved[0]); ---- a/Source/FreeImage/PluginBMP.cpp -+++ b/Source/FreeImage/PluginBMP.cpp -@@ -1419,7 +1419,7 @@ Save(FreeImageIO *io, FIBITMAP *dib, fi_handle handle, int page, int flags, void - - free(buffer); - #ifdef FREEIMAGE_BIGENDIAN -- } else if (bpp == 16) { -+ } else if (dst_bpp == 16) { - int padding = dst_pitch - dst_width * sizeof(WORD); - WORD pad = 0; - WORD pixel; -@@ -1440,7 +1440,7 @@ Save(FreeImageIO *io, FIBITMAP *dib, fi_handle handle, int page, int flags, void - } - #endif - #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB -- } else if (bpp == 24) { -+ } else if (dst_bpp == 24) { - int padding = dst_pitch - dst_width * sizeof(FILE_BGR); - DWORD pad = 0; - FILE_BGR bgr; -@@ -1461,7 +1461,7 @@ Save(FreeImageIO *io, FIBITMAP *dib, fi_handle handle, int page, int flags, void - } - } - } -- } else if (bpp == 32) { -+ } else if (dst_bpp == 32) { - FILE_BGRA bgra; - for(unsigned y = 0; y < dst_height; y++) { - BYTE *line = FreeImage_GetScanLine(dib, y); diff --git a/srcpkgs/freeimage/patches/jxrlib-byteswap-ulong-implicit-declaration.patch b/srcpkgs/freeimage/patches/jxrlib-byteswap-ulong-implicit-declaration.patch new file mode 100644 index 00000000000000..a4481d61bfd56d --- /dev/null +++ b/srcpkgs/freeimage/patches/jxrlib-byteswap-ulong-implicit-declaration.patch @@ -0,0 +1,13 @@ +diff --git a/Source/LibJXR/image/decode/segdec.c b/Source/LibJXR/image/decode/segdec.c +index f2a0c8b..1e4cd7c 100644 +--- a/Source/LibJXR/image/decode/segdec.c ++++ b/Source/LibJXR/image/decode/segdec.c +@@ -44,6 +44,8 @@ static Int DecodeSignificantAbsLevel (struct CAdaptiveHuffman *pAHexpt, BitIOInf + //================================================================ + // Memory access functions + //================================================================ ++extern U32 _byteswap_ulong(U32 bits); ++ + static U32 _load4(void* pv) + { + #ifdef _BIG__ENDIAN_ diff --git a/srcpkgs/freeimage/patches/jxrlib-missing-include.patch b/srcpkgs/freeimage/patches/jxrlib-missing-include.patch new file mode 100644 index 00000000000000..cc9501395affac --- /dev/null +++ b/srcpkgs/freeimage/patches/jxrlib-missing-include.patch @@ -0,0 +1,25 @@ +diff --git a/Source/LibJXR/jxrgluelib/JXRGlueJxr.c b/Source/LibJXR/jxrgluelib/JXRGlueJxr.c +index 2362806..3dd8d4f 100644 +--- a/Source/LibJXR/jxrgluelib/JXRGlueJxr.c ++++ b/Source/LibJXR/jxrgluelib/JXRGlueJxr.c +@@ -28,7 +28,7 @@ + //*@@@---@@@@****************************************************************** + #include + #include +- ++#include + + static const char szHDPhotoFormat[] = "image/vnd.ms-photo"; + const U32 IFDEntryTypeSizes[] = { 0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8 }; +diff --git a/Source/LibJXR/common/include/guiddef.h b/Source/LibJXR/common/include/guiddef.h +index 503b643..32b6b10 100644 +--- a/Source/LibJXR/common/include/guiddef.h ++++ b/Source/LibJXR/common/include/guiddef.h +@@ -173,6 +173,7 @@ typedef FMTID *LPFMTID; + // Faster (but makes code fatter) inline version...use sparingly + #ifdef __cplusplus + __inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2) ++#include + { + return ( + ((unsigned long *) &rguid1)[0] == ((unsigned long *) &rguid2)[0] && diff --git a/srcpkgs/freeimage/patches/libraw-compat.patch b/srcpkgs/freeimage/patches/libraw-compat.patch deleted file mode 100644 index 6f3ff3b9402049..00000000000000 --- a/srcpkgs/freeimage/patches/libraw-compat.patch +++ /dev/null @@ -1,64 +0,0 @@ -https://sourceforge.net/p/freeimage/svn/1842/ ---- FreeImage/Source/FreeImage/PluginRAW.cpp 2020-07-23 17:27:57.937848902 +0000 -+++ FreeImage/Source/FreeImage/PluginRAW.cpp 2020-07-23 17:28:59.482079468 +0000 -@@ -63,17 +63,14 @@ - } - - int read(void *buffer, size_t size, size_t count) { -- if(substream) return substream->read(buffer, size, count); - return _io->read_proc(buffer, (unsigned)size, (unsigned)count, _handle); - } - - int seek(INT64 offset, int origin) { -- if(substream) return substream->seek(offset, origin); - return _io->seek_proc(_handle, (long)offset, origin); - } - - INT64 tell() { -- if(substream) return substream->tell(); - return _io->tell_proc(_handle); - } - -@@ -83,13 +80,11 @@ - - int get_char() { - int c = 0; -- if(substream) return substream->get_char(); - if(!_io->read_proc(&c, 1, 1, _handle)) return -1; - return c; - } - - char* gets(char *buffer, int length) { -- if (substream) return substream->gets(buffer, length); - memset(buffer, 0, length); - for(int i = 0; i < length; i++) { - if(!_io->read_proc(&buffer[i], 1, 1, _handle)) -@@ -104,7 +99,6 @@ - std::string buffer; - char element = 0; - bool bDone = false; -- if(substream) return substream->scanf_one(fmt,val); - do { - if(_io->read_proc(&element, 1, 1, _handle) == 1) { - switch(element) { -@@ -127,7 +121,6 @@ - } - - int eof() { -- if(substream) return substream->eof(); - return (_io->tell_proc(_handle) >= _eof); - } - -https://sourceforge.net/p/freeimage/svn/1895/ -diff -ru FreeImage/Source/FreeImage/PluginRAW.cpp FreeImage/Source/FreeImage/PluginRAW.cpp ---- FreeImage/Source/FreeImage/PluginRAW.cpp 2022-12-18 21:57:11.447801357 +0100 -+++ FreeImage/Source/FreeImage/PluginRAW.cpp 2022-12-18 21:58:05.103433138 +0100 -@@ -687,7 +687,7 @@ - // -------------------------------------------- - - // (-s [0..N-1]) Select one raw image from input file -- RawProcessor->imgdata.params.shot_select = 0; -+ RawProcessor->imgdata.rawparams.shot_select = 0; - // (-w) Use camera white balance, if possible (otherwise, fallback to auto_wb) - RawProcessor->imgdata.params.use_camera_wb = 1; - // (-M) Use any color matrix from the camera metadata. This option only affects Olympus, Leaf, and Phase One cameras. diff --git a/srcpkgs/freeimage/patches/tiff-srcs-fix.patch b/srcpkgs/freeimage/patches/tiff-srcs-fix.patch new file mode 100644 index 00000000000000..34562de3e6e83e --- /dev/null +++ b/srcpkgs/freeimage/patches/tiff-srcs-fix.patch @@ -0,0 +1,12 @@ +diff --git a/Makefile.srcs b/Makefile.srcs +index c8f286b..109d298 100644 +--- a/Makefile.srcs ++++ b/Makefile.srcs +@@ -1,6 +1,6 @@ + VER_MAJOR = 3 + VER_MINOR = 19.0 +-SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_lerc.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_webp.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/src/decoders/canon_600.cpp Source/LibRawLite/src/decoders/crx.cpp Source/LibRawLite/src/decoders/decoders_dcraw.cpp Source/LibRawLite/src/decoders/decoders_libraw.cpp Source/LibRawLite/src/decoders/decoders_libraw_dcrdefs.cpp Source/LibRawLite/src/decoders/dng.cpp Source/LibRawLite/src/decoders/fp_dng.cpp Source/LibRawLite/src/decoders/fuji_compressed.cpp Source/LibRawLite/src/decoders/generic.cpp Source/LibRawLite/src/decoders/kodak_decoders.cpp Source/LibRawLite/src/decoders/load_mfbacks.cpp Source/LibRawLite/src/decoders/smal.cpp Source/LibRawLite/src/decoders/unpack.cpp Source/LibRawLite/src/decoders/unpack_thumb.cpp Source/LibRawLite/src/demosaic/aahd_demosaic.cpp Source/LibRawLite/src/demosaic/ahd_demosaic.cpp Source/LibRawLite/src/demosaic/dcb_demosaic.cpp Source/LibRawLite/src/demosaic/dht_demosaic.cpp Source/LibRawLite/src/demosaic/misc_demosaic.cpp Source/LibRawLite/src/demosaic/xtrans_demosaic.cpp Source/LibRawLite/src/integration/dngsdk_glue.cpp Source/LibRawLite/src/integration/rawspeed_glue.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibRawLite/src/metadata/adobepano.cpp Source/LibRawLite/src/metadata/canon.cpp Source/LibRawLite/src/metadata/ciff.cpp Source/LibRawLite/src/metadata/cr3_parser.cpp Source/LibRawLite/src/metadata/epson.cpp Source/LibRawLite/src/metadata/exif_gps.cpp Source/LibRawLite/src/metadata/fuji.cpp Source/LibRawLite/src/metadata/hasselblad_model.cpp Source/LibRawLite/src/metadata/identify.cpp Source/LibRawLite/src/metadata/identify_tools.cpp Source/LibRawLite/src/metadata/kodak.cpp Source/LibRawLite/src/metadata/leica.cpp Source/LibRawLite/src/metadata/makernotes.cpp Source/LibRawLite/src/metadata/mediumformat.cpp Source/LibRawLite/src/metadata/minolta.cpp Source/LibRawLite/src/metadata/misc_parsers.cpp Source/LibRawLite/src/metadata/nikon.cpp Source/LibRawLite/src/metadata/normalize_model.cpp Source/LibRawLite/src/metadata/olympus.cpp Source/LibRawLite/src/metadata/p1.cpp Source/LibRawLite/src/metadata/pentax.cpp Source/LibRawLite/src/metadata/samsung.cpp Source/LibRawLite/src/metadata/sony.cpp Source/LibRawLite/src/metadata/tiff.cpp Source/LibRawLite/src/postprocessing/aspect_ratio.cpp Source/LibRawLite/src/postprocessing/dcraw_process.cpp Source/LibRawLite/src/postprocessing/mem_image.cpp Source/LibRawLite/src/postprocessing/postprocessing_aux.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils_dcrdefs.cpp Source/LibRawLite/src/preprocessing/ext_preprocess.cpp Source/LibRawLite/src/preprocessing/raw2image.cpp Source/LibRawLite/src/preprocessing/subtract_black.cpp Source/LibRawLite/src/tables/cameralist.cpp Source/LibRawLite/src/tables/colorconst.cpp Source/LibRawLite/src/tables/colordata.cpp Source/LibRawLite/src/tables/wblists.cpp Source/LibRawLite/src/utils/curves.cpp Source/LibRawLite/src/utils/decoder_info.cpp Source/LibRawLite/src/utils/init_close_utils.cpp Source/LibRawLite/src/utils/open.cpp Source/LibRawLite/src/utils/phaseone_processing.cpp Source/LibRawLite/src/utils/read_utils.cpp Source/LibRawLite/src/utils/thumb_utils.cpp Source/LibRawLite/src/utils/utils_dcraw.cpp Source/LibRawLite/src/utils/utils_libraw.cpp Source/LibRawLite/src/write/file_write.cpp Source/LibRawLite/src/x3f/x3f_parse_process.cpp Source/LibRawLite/src/x3f/x3f_utils_patched.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/lossless_sse41.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c ++SRCS = ./Source/FreeImage/BitmapAccess.cpp ./Source/FreeImage/ColorLookup.cpp ./Source/FreeImage/ConversionRGBA16.cpp ./Source/FreeImage/ConversionRGBAF.cpp ./Source/FreeImage/FreeImage.cpp ./Source/FreeImage/FreeImageC.c ./Source/FreeImage/FreeImageIO.cpp ./Source/FreeImage/GetType.cpp ./Source/FreeImage/LFPQuantizer.cpp ./Source/FreeImage/MemoryIO.cpp ./Source/FreeImage/PixelAccess.cpp ./Source/FreeImage/J2KHelper.cpp ./Source/FreeImage/MNGHelper.cpp ./Source/FreeImage/Plugin.cpp ./Source/FreeImage/PluginBMP.cpp ./Source/FreeImage/PluginCUT.cpp ./Source/FreeImage/PluginDDS.cpp ./Source/FreeImage/PluginEXR.cpp ./Source/FreeImage/PluginG3.cpp ./Source/FreeImage/PluginGIF.cpp ./Source/FreeImage/PluginHDR.cpp ./Source/FreeImage/PluginICO.cpp ./Source/FreeImage/PluginIFF.cpp ./Source/FreeImage/PluginJ2K.cpp ./Source/FreeImage/PluginJNG.cpp ./Source/FreeImage/PluginJP2.cpp ./Source/FreeImage/PluginJPEG.cpp ./Source/FreeImage/PluginJXR.cpp ./Source/FreeImage/PluginKOALA.cpp ./Source/FreeImage/PluginMNG.cpp ./Source/FreeImage/PluginPCD.cpp ./Source/FreeImage/PluginPCX.cpp ./Source/FreeImage/PluginPFM.cpp ./Source/FreeImage/PluginPICT.cpp ./Source/FreeImage/PluginPNG.cpp ./Source/FreeImage/PluginPNM.cpp ./Source/FreeImage/PluginPSD.cpp ./Source/FreeImage/PluginRAS.cpp ./Source/FreeImage/PluginRAW.cpp ./Source/FreeImage/PluginSGI.cpp ./Source/FreeImage/PluginTARGA.cpp ./Source/FreeImage/PluginTIFF.cpp ./Source/FreeImage/PluginWBMP.cpp ./Source/FreeImage/PluginWebP.cpp ./Source/FreeImage/PluginXBM.cpp ./Source/FreeImage/PluginXPM.cpp ./Source/FreeImage/PSDParser.cpp ./Source/FreeImage/TIFFLogLuv.cpp ./Source/FreeImage/Conversion.cpp ./Source/FreeImage/Conversion16_555.cpp ./Source/FreeImage/Conversion16_565.cpp ./Source/FreeImage/Conversion24.cpp ./Source/FreeImage/Conversion32.cpp ./Source/FreeImage/Conversion4.cpp ./Source/FreeImage/Conversion8.cpp ./Source/FreeImage/ConversionFloat.cpp ./Source/FreeImage/ConversionRGB16.cpp ./Source/FreeImage/ConversionRGBF.cpp ./Source/FreeImage/ConversionType.cpp ./Source/FreeImage/ConversionUINT16.cpp ./Source/FreeImage/Halftoning.cpp ./Source/FreeImage/tmoColorConvert.cpp ./Source/FreeImage/tmoDrago03.cpp ./Source/FreeImage/tmoFattal02.cpp ./Source/FreeImage/tmoReinhard05.cpp ./Source/FreeImage/ToneMapping.cpp ./Source/FreeImage/NNQuantizer.cpp ./Source/FreeImage/WuQuantizer.cpp ./Source/FreeImage/CacheFile.cpp ./Source/FreeImage/MultiPage.cpp ./Source/FreeImage/ZLibInterface.cpp ./Source/Metadata/Exif.cpp ./Source/Metadata/FIRational.cpp ./Source/Metadata/FreeImageTag.cpp ./Source/Metadata/IPTC.cpp ./Source/Metadata/TagConversion.cpp ./Source/Metadata/TagLib.cpp ./Source/Metadata/XTIFF.cpp ./Source/FreeImageToolkit/Background.cpp ./Source/FreeImageToolkit/BSplineRotate.cpp ./Source/FreeImageToolkit/Channels.cpp ./Source/FreeImageToolkit/ClassicRotate.cpp ./Source/FreeImageToolkit/Colors.cpp ./Source/FreeImageToolkit/CopyPaste.cpp ./Source/FreeImageToolkit/Display.cpp ./Source/FreeImageToolkit/Flip.cpp ./Source/FreeImageToolkit/JPEGTransform.cpp ./Source/FreeImageToolkit/MultigridPoissonSolver.cpp ./Source/FreeImageToolkit/Rescale.cpp ./Source/FreeImageToolkit/Resize.cpp Source/LibJPEG/jaricom.c Source/LibJPEG/jcapimin.c Source/LibJPEG/jcapistd.c Source/LibJPEG/jcarith.c Source/LibJPEG/jccoefct.c Source/LibJPEG/jccolor.c Source/LibJPEG/jcdctmgr.c Source/LibJPEG/jchuff.c Source/LibJPEG/jcinit.c Source/LibJPEG/jcmainct.c Source/LibJPEG/jcmarker.c Source/LibJPEG/jcmaster.c Source/LibJPEG/jcomapi.c Source/LibJPEG/jcparam.c Source/LibJPEG/jcprepct.c Source/LibJPEG/jcsample.c Source/LibJPEG/jctrans.c Source/LibJPEG/jdapimin.c Source/LibJPEG/jdapistd.c Source/LibJPEG/jdarith.c Source/LibJPEG/jdatadst.c Source/LibJPEG/jdatasrc.c Source/LibJPEG/jdcoefct.c Source/LibJPEG/jdcolor.c Source/LibJPEG/jddctmgr.c Source/LibJPEG/jdhuff.c Source/LibJPEG/jdinput.c Source/LibJPEG/jdmainct.c Source/LibJPEG/jdmarker.c Source/LibJPEG/jdmaster.c Source/LibJPEG/jdmerge.c Source/LibJPEG/jdpostct.c Source/LibJPEG/jdsample.c Source/LibJPEG/jdtrans.c Source/LibJPEG/jerror.c Source/LibJPEG/jfdctflt.c Source/LibJPEG/jfdctfst.c Source/LibJPEG/jfdctint.c Source/LibJPEG/jidctflt.c Source/LibJPEG/jidctfst.c Source/LibJPEG/jidctint.c Source/LibJPEG/jmemmgr.c Source/LibJPEG/jmemnobs.c Source/LibJPEG/jquant1.c Source/LibJPEG/jquant2.c Source/LibJPEG/jutils.c Source/LibJPEG/transupp.c Source/LibPNG/png.c Source/LibPNG/pngerror.c Source/LibPNG/pngget.c Source/LibPNG/pngmem.c Source/LibPNG/pngpread.c Source/LibPNG/pngread.c Source/LibPNG/pngrio.c Source/LibPNG/pngrtran.c Source/LibPNG/pngrutil.c Source/LibPNG/pngset.c Source/LibPNG/pngtrans.c Source/LibPNG/pngwio.c Source/LibPNG/pngwrite.c Source/LibPNG/pngwtran.c Source/LibPNG/pngwutil.c Source/LibTIFF4/tif_aux.c Source/LibTIFF4/tif_close.c Source/LibTIFF4/tif_codec.c Source/LibTIFF4/tif_color.c Source/LibTIFF4/tif_compress.c Source/LibTIFF4/tif_dir.c Source/LibTIFF4/tif_dirinfo.c Source/LibTIFF4/tif_dirread.c Source/LibTIFF4/tif_dirwrite.c Source/LibTIFF4/tif_dumpmode.c Source/LibTIFF4/tif_error.c Source/LibTIFF4/tif_extension.c Source/LibTIFF4/tif_fax3.c Source/LibTIFF4/tif_fax3sm.c Source/LibTIFF4/tif_flush.c Source/LibTIFF4/tif_getimage.c Source/LibTIFF4/tif_jpeg.c Source/LibTIFF4/tif_lerc.c Source/LibTIFF4/tif_luv.c Source/LibTIFF4/tif_lzw.c Source/LibTIFF4/tif_next.c Source/LibTIFF4/tif_ojpeg.c Source/LibTIFF4/tif_open.c Source/LibTIFF4/tif_packbits.c Source/LibTIFF4/tif_pixarlog.c Source/LibTIFF4/tif_predict.c Source/LibTIFF4/tif_print.c Source/LibTIFF4/tif_read.c Source/LibTIFF4/tif_strip.c Source/LibTIFF4/tif_swab.c Source/LibTIFF4/tif_thunder.c Source/LibTIFF4/tif_tile.c Source/LibTIFF4/tif_version.c Source/LibTIFF4/tif_warning.c Source/LibTIFF4/tif_webp.c Source/LibTIFF4/tif_write.c Source/LibTIFF4/tif_zip.c Source/ZLib/adler32.c Source/ZLib/compress.c Source/ZLib/crc32.c Source/ZLib/deflate.c Source/ZLib/gzclose.c Source/ZLib/gzlib.c Source/ZLib/gzread.c Source/ZLib/gzwrite.c Source/ZLib/infback.c Source/ZLib/inffast.c Source/ZLib/inflate.c Source/ZLib/inftrees.c Source/ZLib/trees.c Source/ZLib/uncompr.c Source/ZLib/zutil.c Source/LibOpenJPEG/bio.c Source/LibOpenJPEG/cio.c Source/LibOpenJPEG/dwt.c Source/LibOpenJPEG/event.c Source/LibOpenJPEG/function_list.c Source/LibOpenJPEG/image.c Source/LibOpenJPEG/invert.c Source/LibOpenJPEG/j2k.c Source/LibOpenJPEG/jp2.c Source/LibOpenJPEG/mct.c Source/LibOpenJPEG/mqc.c Source/LibOpenJPEG/openjpeg.c Source/LibOpenJPEG/opj_clock.c Source/LibOpenJPEG/pi.c Source/LibOpenJPEG/raw.c Source/LibOpenJPEG/t1.c Source/LibOpenJPEG/t2.c Source/LibOpenJPEG/tcd.c Source/LibOpenJPEG/tgt.c Source/OpenEXR/IexMath/IexMathFpu.cpp Source/OpenEXR/IlmImf/b44ExpLogTable.cpp Source/OpenEXR/IlmImf/ImfAcesFile.cpp Source/OpenEXR/IlmImf/ImfAttribute.cpp Source/OpenEXR/IlmImf/ImfB44Compressor.cpp Source/OpenEXR/IlmImf/ImfBoxAttribute.cpp Source/OpenEXR/IlmImf/ImfChannelList.cpp Source/OpenEXR/IlmImf/ImfChannelListAttribute.cpp Source/OpenEXR/IlmImf/ImfChromaticities.cpp Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.cpp Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.cpp Source/OpenEXR/IlmImf/ImfCompressionAttribute.cpp Source/OpenEXR/IlmImf/ImfCompressor.cpp Source/OpenEXR/IlmImf/ImfConvert.cpp Source/OpenEXR/IlmImf/ImfCRgbaFile.cpp Source/OpenEXR/IlmImf/ImfDeepCompositing.cpp Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfDoubleAttribute.cpp Source/OpenEXR/IlmImf/ImfDwaCompressor.cpp Source/OpenEXR/IlmImf/ImfEnvmap.cpp Source/OpenEXR/IlmImf/ImfEnvmapAttribute.cpp Source/OpenEXR/IlmImf/ImfFastHuf.cpp Source/OpenEXR/IlmImf/ImfFloatAttribute.cpp Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfFrameBuffer.cpp Source/OpenEXR/IlmImf/ImfFramesPerSecond.cpp Source/OpenEXR/IlmImf/ImfGenericInputFile.cpp Source/OpenEXR/IlmImf/ImfGenericOutputFile.cpp Source/OpenEXR/IlmImf/ImfHeader.cpp Source/OpenEXR/IlmImf/ImfHuf.cpp Source/OpenEXR/IlmImf/ImfInputFile.cpp Source/OpenEXR/IlmImf/ImfInputPart.cpp Source/OpenEXR/IlmImf/ImfInputPartData.cpp Source/OpenEXR/IlmImf/ImfIntAttribute.cpp Source/OpenEXR/IlmImf/ImfIO.cpp Source/OpenEXR/IlmImf/ImfKeyCode.cpp Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfLineOrderAttribute.cpp Source/OpenEXR/IlmImf/ImfLut.cpp Source/OpenEXR/IlmImf/ImfMatrixAttribute.cpp Source/OpenEXR/IlmImf/ImfMisc.cpp Source/OpenEXR/IlmImf/ImfMultiPartInputFile.cpp Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.cpp Source/OpenEXR/IlmImf/ImfMultiView.cpp Source/OpenEXR/IlmImf/ImfOpaqueAttribute.cpp Source/OpenEXR/IlmImf/ImfOutputFile.cpp Source/OpenEXR/IlmImf/ImfOutputPart.cpp Source/OpenEXR/IlmImf/ImfOutputPartData.cpp Source/OpenEXR/IlmImf/ImfPartType.cpp Source/OpenEXR/IlmImf/ImfPizCompressor.cpp Source/OpenEXR/IlmImf/ImfPreviewImage.cpp Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.cpp Source/OpenEXR/IlmImf/ImfPxr24Compressor.cpp Source/OpenEXR/IlmImf/ImfRational.cpp Source/OpenEXR/IlmImf/ImfRationalAttribute.cpp Source/OpenEXR/IlmImf/ImfRgbaFile.cpp Source/OpenEXR/IlmImf/ImfRgbaYca.cpp Source/OpenEXR/IlmImf/ImfRle.cpp Source/OpenEXR/IlmImf/ImfRleCompressor.cpp Source/OpenEXR/IlmImf/ImfScanLineInputFile.cpp Source/OpenEXR/IlmImf/ImfStandardAttributes.cpp Source/OpenEXR/IlmImf/ImfStdIO.cpp Source/OpenEXR/IlmImf/ImfStringAttribute.cpp Source/OpenEXR/IlmImf/ImfStringVectorAttribute.cpp Source/OpenEXR/IlmImf/ImfSystemSpecific.cpp Source/OpenEXR/IlmImf/ImfTestFile.cpp Source/OpenEXR/IlmImf/ImfThreading.cpp Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.cpp Source/OpenEXR/IlmImf/ImfTiledInputFile.cpp Source/OpenEXR/IlmImf/ImfTiledInputPart.cpp Source/OpenEXR/IlmImf/ImfTiledMisc.cpp Source/OpenEXR/IlmImf/ImfTiledOutputFile.cpp Source/OpenEXR/IlmImf/ImfTiledOutputPart.cpp Source/OpenEXR/IlmImf/ImfTiledRgbaFile.cpp Source/OpenEXR/IlmImf/ImfTileOffsets.cpp Source/OpenEXR/IlmImf/ImfTimeCode.cpp Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.cpp Source/OpenEXR/IlmImf/ImfVecAttribute.cpp Source/OpenEXR/IlmImf/ImfVersion.cpp Source/OpenEXR/IlmImf/ImfWav.cpp Source/OpenEXR/IlmImf/ImfZip.cpp Source/OpenEXR/IlmImf/ImfZipCompressor.cpp Source/OpenEXR/Imath/ImathBox.cpp Source/OpenEXR/Imath/ImathColorAlgo.cpp Source/OpenEXR/Imath/ImathFun.cpp Source/OpenEXR/Imath/ImathMatrixAlgo.cpp Source/OpenEXR/Imath/ImathRandom.cpp Source/OpenEXR/Imath/ImathShear.cpp Source/OpenEXR/Imath/ImathVec.cpp Source/OpenEXR/Iex/IexBaseExc.cpp Source/OpenEXR/Iex/IexThrowErrnoExc.cpp Source/OpenEXR/Half/half.cpp Source/OpenEXR/IlmThread/IlmThread.cpp Source/OpenEXR/IlmThread/IlmThreadMutex.cpp Source/OpenEXR/IlmThread/IlmThreadPool.cpp Source/OpenEXR/IlmThread/IlmThreadSemaphore.cpp Source/OpenEXR/IexMath/IexMathFloatExc.cpp Source/LibRawLite/src/decoders/canon_600.cpp Source/LibRawLite/src/decoders/crx.cpp Source/LibRawLite/src/decoders/decoders_dcraw.cpp Source/LibRawLite/src/decoders/decoders_libraw.cpp Source/LibRawLite/src/decoders/decoders_libraw_dcrdefs.cpp Source/LibRawLite/src/decoders/dng.cpp Source/LibRawLite/src/decoders/fp_dng.cpp Source/LibRawLite/src/decoders/fuji_compressed.cpp Source/LibRawLite/src/decoders/generic.cpp Source/LibRawLite/src/decoders/kodak_decoders.cpp Source/LibRawLite/src/decoders/load_mfbacks.cpp Source/LibRawLite/src/decoders/smal.cpp Source/LibRawLite/src/decoders/unpack.cpp Source/LibRawLite/src/decoders/unpack_thumb.cpp Source/LibRawLite/src/demosaic/aahd_demosaic.cpp Source/LibRawLite/src/demosaic/ahd_demosaic.cpp Source/LibRawLite/src/demosaic/dcb_demosaic.cpp Source/LibRawLite/src/demosaic/dht_demosaic.cpp Source/LibRawLite/src/demosaic/misc_demosaic.cpp Source/LibRawLite/src/demosaic/xtrans_demosaic.cpp Source/LibRawLite/src/integration/dngsdk_glue.cpp Source/LibRawLite/src/integration/rawspeed_glue.cpp Source/LibRawLite/src/libraw_datastream.cpp Source/LibRawLite/src/metadata/adobepano.cpp Source/LibRawLite/src/metadata/canon.cpp Source/LibRawLite/src/metadata/ciff.cpp Source/LibRawLite/src/metadata/cr3_parser.cpp Source/LibRawLite/src/metadata/epson.cpp Source/LibRawLite/src/metadata/exif_gps.cpp Source/LibRawLite/src/metadata/fuji.cpp Source/LibRawLite/src/metadata/hasselblad_model.cpp Source/LibRawLite/src/metadata/identify.cpp Source/LibRawLite/src/metadata/identify_tools.cpp Source/LibRawLite/src/metadata/kodak.cpp Source/LibRawLite/src/metadata/leica.cpp Source/LibRawLite/src/metadata/makernotes.cpp Source/LibRawLite/src/metadata/mediumformat.cpp Source/LibRawLite/src/metadata/minolta.cpp Source/LibRawLite/src/metadata/misc_parsers.cpp Source/LibRawLite/src/metadata/nikon.cpp Source/LibRawLite/src/metadata/normalize_model.cpp Source/LibRawLite/src/metadata/olympus.cpp Source/LibRawLite/src/metadata/p1.cpp Source/LibRawLite/src/metadata/pentax.cpp Source/LibRawLite/src/metadata/samsung.cpp Source/LibRawLite/src/metadata/sony.cpp Source/LibRawLite/src/metadata/tiff.cpp Source/LibRawLite/src/postprocessing/aspect_ratio.cpp Source/LibRawLite/src/postprocessing/dcraw_process.cpp Source/LibRawLite/src/postprocessing/mem_image.cpp Source/LibRawLite/src/postprocessing/postprocessing_aux.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils.cpp Source/LibRawLite/src/postprocessing/postprocessing_utils_dcrdefs.cpp Source/LibRawLite/src/preprocessing/ext_preprocess.cpp Source/LibRawLite/src/preprocessing/raw2image.cpp Source/LibRawLite/src/preprocessing/subtract_black.cpp Source/LibRawLite/src/tables/cameralist.cpp Source/LibRawLite/src/tables/colorconst.cpp Source/LibRawLite/src/tables/colordata.cpp Source/LibRawLite/src/tables/wblists.cpp Source/LibRawLite/src/utils/curves.cpp Source/LibRawLite/src/utils/decoder_info.cpp Source/LibRawLite/src/utils/init_close_utils.cpp Source/LibRawLite/src/utils/open.cpp Source/LibRawLite/src/utils/phaseone_processing.cpp Source/LibRawLite/src/utils/read_utils.cpp Source/LibRawLite/src/utils/thumb_utils.cpp Source/LibRawLite/src/utils/utils_dcraw.cpp Source/LibRawLite/src/utils/utils_libraw.cpp Source/LibRawLite/src/write/file_write.cpp Source/LibRawLite/src/x3f/x3f_parse_process.cpp Source/LibRawLite/src/x3f/x3f_utils_patched.cpp Source/LibWebP/src/dec/alpha_dec.c Source/LibWebP/src/dec/buffer_dec.c Source/LibWebP/src/dec/frame_dec.c Source/LibWebP/src/dec/idec_dec.c Source/LibWebP/src/dec/io_dec.c Source/LibWebP/src/dec/quant_dec.c Source/LibWebP/src/dec/tree_dec.c Source/LibWebP/src/dec/vp8l_dec.c Source/LibWebP/src/dec/vp8_dec.c Source/LibWebP/src/dec/webp_dec.c Source/LibWebP/src/demux/anim_decode.c Source/LibWebP/src/demux/demux.c Source/LibWebP/src/dsp/alpha_processing.c Source/LibWebP/src/dsp/alpha_processing_mips_dsp_r2.c Source/LibWebP/src/dsp/alpha_processing_neon.c Source/LibWebP/src/dsp/alpha_processing_sse2.c Source/LibWebP/src/dsp/alpha_processing_sse41.c Source/LibWebP/src/dsp/cost.c Source/LibWebP/src/dsp/cost_mips32.c Source/LibWebP/src/dsp/cost_mips_dsp_r2.c Source/LibWebP/src/dsp/cost_neon.c Source/LibWebP/src/dsp/cost_sse2.c Source/LibWebP/src/dsp/cpu.c Source/LibWebP/src/dsp/dec.c Source/LibWebP/src/dsp/dec_clip_tables.c Source/LibWebP/src/dsp/dec_mips32.c Source/LibWebP/src/dsp/dec_mips_dsp_r2.c Source/LibWebP/src/dsp/dec_msa.c Source/LibWebP/src/dsp/dec_neon.c Source/LibWebP/src/dsp/dec_sse2.c Source/LibWebP/src/dsp/dec_sse41.c Source/LibWebP/src/dsp/enc.c Source/LibWebP/src/dsp/enc_avx2.c Source/LibWebP/src/dsp/enc_mips32.c Source/LibWebP/src/dsp/enc_mips_dsp_r2.c Source/LibWebP/src/dsp/enc_msa.c Source/LibWebP/src/dsp/enc_neon.c Source/LibWebP/src/dsp/enc_sse2.c Source/LibWebP/src/dsp/enc_sse41.c Source/LibWebP/src/dsp/filters.c Source/LibWebP/src/dsp/filters_mips_dsp_r2.c Source/LibWebP/src/dsp/filters_msa.c Source/LibWebP/src/dsp/filters_neon.c Source/LibWebP/src/dsp/filters_sse2.c Source/LibWebP/src/dsp/lossless.c Source/LibWebP/src/dsp/lossless_enc.c Source/LibWebP/src/dsp/lossless_enc_mips32.c Source/LibWebP/src/dsp/lossless_enc_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_enc_msa.c Source/LibWebP/src/dsp/lossless_enc_neon.c Source/LibWebP/src/dsp/lossless_enc_sse2.c Source/LibWebP/src/dsp/lossless_enc_sse41.c Source/LibWebP/src/dsp/lossless_mips_dsp_r2.c Source/LibWebP/src/dsp/lossless_msa.c Source/LibWebP/src/dsp/lossless_neon.c Source/LibWebP/src/dsp/lossless_sse2.c Source/LibWebP/src/dsp/lossless_sse41.c Source/LibWebP/src/dsp/rescaler.c Source/LibWebP/src/dsp/rescaler_mips32.c Source/LibWebP/src/dsp/rescaler_mips_dsp_r2.c Source/LibWebP/src/dsp/rescaler_msa.c Source/LibWebP/src/dsp/rescaler_neon.c Source/LibWebP/src/dsp/rescaler_sse2.c Source/LibWebP/src/dsp/ssim.c Source/LibWebP/src/dsp/ssim_sse2.c Source/LibWebP/src/dsp/upsampling.c Source/LibWebP/src/dsp/upsampling_mips_dsp_r2.c Source/LibWebP/src/dsp/upsampling_msa.c Source/LibWebP/src/dsp/upsampling_neon.c Source/LibWebP/src/dsp/upsampling_sse2.c Source/LibWebP/src/dsp/upsampling_sse41.c Source/LibWebP/src/dsp/yuv.c Source/LibWebP/src/dsp/yuv_mips32.c Source/LibWebP/src/dsp/yuv_mips_dsp_r2.c Source/LibWebP/src/dsp/yuv_neon.c Source/LibWebP/src/dsp/yuv_sse2.c Source/LibWebP/src/dsp/yuv_sse41.c Source/LibWebP/src/enc/alpha_enc.c Source/LibWebP/src/enc/analysis_enc.c Source/LibWebP/src/enc/backward_references_cost_enc.c Source/LibWebP/src/enc/backward_references_enc.c Source/LibWebP/src/enc/config_enc.c Source/LibWebP/src/enc/cost_enc.c Source/LibWebP/src/enc/filter_enc.c Source/LibWebP/src/enc/frame_enc.c Source/LibWebP/src/enc/histogram_enc.c Source/LibWebP/src/enc/iterator_enc.c Source/LibWebP/src/enc/near_lossless_enc.c Source/LibWebP/src/enc/picture_csp_enc.c Source/LibWebP/src/enc/picture_enc.c Source/LibWebP/src/enc/picture_psnr_enc.c Source/LibWebP/src/enc/picture_rescale_enc.c Source/LibWebP/src/enc/picture_tools_enc.c Source/LibWebP/src/enc/predictor_enc.c Source/LibWebP/src/enc/quant_enc.c Source/LibWebP/src/enc/syntax_enc.c Source/LibWebP/src/enc/token_enc.c Source/LibWebP/src/enc/tree_enc.c Source/LibWebP/src/enc/vp8l_enc.c Source/LibWebP/src/enc/webp_enc.c Source/LibWebP/src/mux/anim_encode.c Source/LibWebP/src/mux/muxedit.c Source/LibWebP/src/mux/muxinternal.c Source/LibWebP/src/mux/muxread.c Source/LibWebP/src/utils/bit_reader_utils.c Source/LibWebP/src/utils/bit_writer_utils.c Source/LibWebP/src/utils/color_cache_utils.c Source/LibWebP/src/utils/filters_utils.c Source/LibWebP/src/utils/huffman_encode_utils.c Source/LibWebP/src/utils/huffman_utils.c Source/LibWebP/src/utils/quant_levels_dec_utils.c Source/LibWebP/src/utils/quant_levels_utils.c Source/LibWebP/src/utils/random_utils.c Source/LibWebP/src/utils/rescaler_utils.c Source/LibWebP/src/utils/thread_utils.c Source/LibWebP/src/utils/utils.c Source/LibJXR/image/decode/decode.c Source/LibJXR/image/decode/JXRTranscode.c Source/LibJXR/image/decode/postprocess.c Source/LibJXR/image/decode/segdec.c Source/LibJXR/image/decode/strdec.c Source/LibJXR/image/decode/strdec_x86.c Source/LibJXR/image/decode/strInvTransform.c Source/LibJXR/image/decode/strPredQuantDec.c Source/LibJXR/image/encode/encode.c Source/LibJXR/image/encode/segenc.c Source/LibJXR/image/encode/strenc.c Source/LibJXR/image/encode/strenc_x86.c Source/LibJXR/image/encode/strFwdTransform.c Source/LibJXR/image/encode/strPredQuantEnc.c Source/LibJXR/image/sys/adapthuff.c Source/LibJXR/image/sys/image.c Source/LibJXR/image/sys/strcodec.c Source/LibJXR/image/sys/strPredQuant.c Source/LibJXR/image/sys/strTransform.c Source/LibJXR/jxrgluelib/JXRGlue.c Source/LibJXR/jxrgluelib/JXRGlueJxr.c Source/LibJXR/jxrgluelib/JXRGluePFC.c Source/LibJXR/jxrgluelib/JXRMeta.c Source/LibTIFF4/tif_hash_set.c + INCLS = ./Dist/x64/FreeImage.h ./Examples/Generic/FIIO_Mem.h ./Examples/OpenGL/TextureManager/TextureManager.h ./Examples/Plugin/PluginCradle.h ./Source/CacheFile.h ./Source/FreeImage/J2KHelper.h ./Source/FreeImage/PSDParser.h ./Source/FreeImage.h ./Source/FreeImageIO.h ./Source/FreeImageToolkit/Filters.h ./Source/FreeImageToolkit/Resize.h ./Source/LibJPEG/cderror.h ./Source/LibJPEG/cdjpeg.h ./Source/LibJPEG/jconfig.h ./Source/LibJPEG/jdct.h ./Source/LibJPEG/jerror.h ./Source/LibJPEG/jinclude.h ./Source/LibJPEG/jmemsys.h ./Source/LibJPEG/jmorecfg.h ./Source/LibJPEG/jpegint.h ./Source/LibJPEG/jpeglib.h ./Source/LibJPEG/jversion.h ./Source/LibJPEG/transupp.h ./Source/LibJXR/common/include/guiddef.h ./Source/LibJXR/common/include/wmsal.h ./Source/LibJXR/common/include/wmspecstring.h ./Source/LibJXR/common/include/wmspecstrings_adt.h ./Source/LibJXR/common/include/wmspecstrings_strict.h ./Source/LibJXR/common/include/wmspecstrings_undef.h ./Source/LibJXR/image/decode/decode.h ./Source/LibJXR/image/encode/encode.h ./Source/LibJXR/image/sys/ansi.h ./Source/LibJXR/image/sys/common.h ./Source/LibJXR/image/sys/perfTimer.h ./Source/LibJXR/image/sys/strcodec.h ./Source/LibJXR/image/sys/strTransform.h ./Source/LibJXR/image/sys/windowsmediaphoto.h ./Source/LibJXR/image/sys/xplatform_image.h ./Source/LibJXR/image/x86/x86.h ./Source/LibJXR/jxrgluelib/JXRGlue.h ./Source/LibJXR/jxrgluelib/JXRMeta.h ./Source/LibOpenJPEG/bio.h ./Source/LibOpenJPEG/cidx_manager.h ./Source/LibOpenJPEG/cio.h ./Source/LibOpenJPEG/dwt.h ./Source/LibOpenJPEG/event.h ./Source/LibOpenJPEG/function_list.h ./Source/LibOpenJPEG/image.h ./Source/LibOpenJPEG/indexbox_manager.h ./Source/LibOpenJPEG/invert.h ./Source/LibOpenJPEG/j2k.h ./Source/LibOpenJPEG/jp2.h ./Source/LibOpenJPEG/mct.h ./Source/LibOpenJPEG/mqc.h ./Source/LibOpenJPEG/openjpeg.h ./Source/LibOpenJPEG/opj_clock.h ./Source/LibOpenJPEG/opj_codec.h ./Source/LibOpenJPEG/opj_config.h ./Source/LibOpenJPEG/opj_config_private.h ./Source/LibOpenJPEG/opj_includes.h ./Source/LibOpenJPEG/opj_intmath.h ./Source/LibOpenJPEG/opj_inttypes.h ./Source/LibOpenJPEG/opj_malloc.h ./Source/LibOpenJPEG/opj_stdint.h ./Source/LibOpenJPEG/pi.h ./Source/LibOpenJPEG/raw.h ./Source/LibOpenJPEG/t1.h ./Source/LibOpenJPEG/t1_luts.h ./Source/LibOpenJPEG/t2.h ./Source/LibOpenJPEG/tcd.h ./Source/LibOpenJPEG/tgt.h ./Source/LibPNG/png.h ./Source/LibPNG/pngconf.h ./Source/LibPNG/pngdebug.h ./Source/LibPNG/pnginfo.h ./Source/LibPNG/pnglibconf.h ./Source/LibPNG/pngpriv.h ./Source/LibPNG/pngstruct.h ./Source/LibRawLite/internal/dcraw_defs.h ./Source/LibRawLite/internal/dcraw_fileio_defs.h ./Source/LibRawLite/internal/defines.h ./Source/LibRawLite/internal/dmp_include.h ./Source/LibRawLite/internal/libraw_cameraids.h ./Source/LibRawLite/internal/libraw_cxx_defs.h ./Source/LibRawLite/internal/libraw_internal_funcs.h ./Source/LibRawLite/internal/var_defines.h ./Source/LibRawLite/internal/x3f_tools.h ./Source/LibRawLite/libraw/libraw.h ./Source/LibRawLite/libraw/libraw_alloc.h ./Source/LibRawLite/libraw/libraw_const.h ./Source/LibRawLite/libraw/libraw_datastream.h ./Source/LibRawLite/libraw/libraw_internal.h ./Source/LibRawLite/libraw/libraw_types.h ./Source/LibRawLite/libraw/libraw_version.h ./Source/LibTIFF4/t4.h ./Source/LibTIFF4/tiff.h ./Source/LibTIFF4/tiffconf.h ./Source/LibTIFF4/tiffconf.vc.h ./Source/LibTIFF4/tiffconf.wince.h ./Source/LibTIFF4/tiffio.h ./Source/LibTIFF4/tiffiop.h ./Source/LibTIFF4/tiffvers.h ./Source/LibTIFF4/tif_config.h ./Source/LibTIFF4/tif_config.vc.h ./Source/LibTIFF4/tif_config.wince.h ./Source/LibTIFF4/tif_dir.h ./Source/LibTIFF4/tif_fax3.h ./Source/LibTIFF4/tif_predict.h ./Source/LibTIFF4/uvcode.h ./Source/LibWebP/src/dec/alphai_dec.h ./Source/LibWebP/src/dec/common_dec.h ./Source/LibWebP/src/dec/vp8i_dec.h ./Source/LibWebP/src/dec/vp8li_dec.h ./Source/LibWebP/src/dec/vp8_dec.h ./Source/LibWebP/src/dec/webpi_dec.h ./Source/LibWebP/src/dsp/common_sse2.h ./Source/LibWebP/src/dsp/common_sse41.h ./Source/LibWebP/src/dsp/dsp.h ./Source/LibWebP/src/dsp/lossless.h ./Source/LibWebP/src/dsp/lossless_common.h ./Source/LibWebP/src/dsp/mips_macro.h ./Source/LibWebP/src/dsp/msa_macro.h ./Source/LibWebP/src/dsp/neon.h ./Source/LibWebP/src/dsp/quant.h ./Source/LibWebP/src/dsp/yuv.h ./Source/LibWebP/src/enc/backward_references_enc.h ./Source/LibWebP/src/enc/cost_enc.h ./Source/LibWebP/src/enc/histogram_enc.h ./Source/LibWebP/src/enc/vp8i_enc.h ./Source/LibWebP/src/enc/vp8li_enc.h ./Source/LibWebP/src/mux/animi.h ./Source/LibWebP/src/mux/muxi.h ./Source/LibWebP/src/utils/bit_reader_inl_utils.h ./Source/LibWebP/src/utils/bit_reader_utils.h ./Source/LibWebP/src/utils/bit_writer_utils.h ./Source/LibWebP/src/utils/color_cache_utils.h ./Source/LibWebP/src/utils/endian_inl_utils.h ./Source/LibWebP/src/utils/filters_utils.h ./Source/LibWebP/src/utils/huffman_encode_utils.h ./Source/LibWebP/src/utils/huffman_utils.h ./Source/LibWebP/src/utils/quant_levels_dec_utils.h ./Source/LibWebP/src/utils/quant_levels_utils.h ./Source/LibWebP/src/utils/random_utils.h ./Source/LibWebP/src/utils/rescaler_utils.h ./Source/LibWebP/src/utils/thread_utils.h ./Source/LibWebP/src/utils/utils.h ./Source/LibWebP/src/webp/decode.h ./Source/LibWebP/src/webp/demux.h ./Source/LibWebP/src/webp/encode.h ./Source/LibWebP/src/webp/format_constants.h ./Source/LibWebP/src/webp/mux.h ./Source/LibWebP/src/webp/mux_types.h ./Source/LibWebP/src/webp/types.h ./Source/MapIntrospector.h ./Source/Metadata/FIRational.h ./Source/Metadata/FreeImageTag.h ./Source/OpenEXR/Half/eLut.h ./Source/OpenEXR/Half/half.h ./Source/OpenEXR/Half/halfExport.h ./Source/OpenEXR/Half/halfFunction.h ./Source/OpenEXR/Half/halfLimits.h ./Source/OpenEXR/Half/toFloat.h ./Source/OpenEXR/Iex/Iex.h ./Source/OpenEXR/Iex/IexBaseExc.h ./Source/OpenEXR/Iex/IexErrnoExc.h ./Source/OpenEXR/Iex/IexExport.h ./Source/OpenEXR/Iex/IexForward.h ./Source/OpenEXR/Iex/IexMacros.h ./Source/OpenEXR/Iex/IexMathExc.h ./Source/OpenEXR/Iex/IexNamespace.h ./Source/OpenEXR/Iex/IexThrowErrnoExc.h ./Source/OpenEXR/IexMath/IexMathFloatExc.h ./Source/OpenEXR/IexMath/IexMathFpu.h ./Source/OpenEXR/IexMath/IexMathIeeeExc.h ./Source/OpenEXR/IlmBaseConfig.h ./Source/OpenEXR/IlmImf/b44ExpLogTable.h ./Source/OpenEXR/IlmImf/dwaLookups.h ./Source/OpenEXR/IlmImf/ImfAcesFile.h ./Source/OpenEXR/IlmImf/ImfArray.h ./Source/OpenEXR/IlmImf/ImfAttribute.h ./Source/OpenEXR/IlmImf/ImfAutoArray.h ./Source/OpenEXR/IlmImf/ImfB44Compressor.h ./Source/OpenEXR/IlmImf/ImfBoxAttribute.h ./Source/OpenEXR/IlmImf/ImfChannelList.h ./Source/OpenEXR/IlmImf/ImfChannelListAttribute.h ./Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h ./Source/OpenEXR/IlmImf/ImfChromaticities.h ./Source/OpenEXR/IlmImf/ImfChromaticitiesAttribute.h ./Source/OpenEXR/IlmImf/ImfCompositeDeepScanLine.h ./Source/OpenEXR/IlmImf/ImfCompression.h ./Source/OpenEXR/IlmImf/ImfCompressionAttribute.h ./Source/OpenEXR/IlmImf/ImfCompressor.h ./Source/OpenEXR/IlmImf/ImfConvert.h ./Source/OpenEXR/IlmImf/ImfCRgbaFile.h ./Source/OpenEXR/IlmImf/ImfDeepCompositing.h ./Source/OpenEXR/IlmImf/ImfDeepFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfDeepImageState.h ./Source/OpenEXR/IlmImf/ImfDeepImageStateAttribute.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineInputPart.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputFile.h ./Source/OpenEXR/IlmImf/ImfDeepScanLineOutputPart.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfDeepTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfDeepTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfDoubleAttribute.h ./Source/OpenEXR/IlmImf/ImfDwaCompressor.h ./Source/OpenEXR/IlmImf/ImfDwaCompressorSimd.h ./Source/OpenEXR/IlmImf/ImfEnvmap.h ./Source/OpenEXR/IlmImf/ImfEnvmapAttribute.h ./Source/OpenEXR/IlmImf/ImfExport.h ./Source/OpenEXR/IlmImf/ImfFastHuf.h ./Source/OpenEXR/IlmImf/ImfFloatAttribute.h ./Source/OpenEXR/IlmImf/ImfFloatVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfForward.h ./Source/OpenEXR/IlmImf/ImfFrameBuffer.h ./Source/OpenEXR/IlmImf/ImfFramesPerSecond.h ./Source/OpenEXR/IlmImf/ImfGenericInputFile.h ./Source/OpenEXR/IlmImf/ImfGenericOutputFile.h ./Source/OpenEXR/IlmImf/ImfHeader.h ./Source/OpenEXR/IlmImf/ImfHuf.h ./Source/OpenEXR/IlmImf/ImfInputFile.h ./Source/OpenEXR/IlmImf/ImfInputPart.h ./Source/OpenEXR/IlmImf/ImfInputPartData.h ./Source/OpenEXR/IlmImf/ImfInputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfInt64.h ./Source/OpenEXR/IlmImf/ImfIntAttribute.h ./Source/OpenEXR/IlmImf/ImfIO.h ./Source/OpenEXR/IlmImf/ImfKeyCode.h ./Source/OpenEXR/IlmImf/ImfKeyCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfLineOrder.h ./Source/OpenEXR/IlmImf/ImfLineOrderAttribute.h ./Source/OpenEXR/IlmImf/ImfLut.h ./Source/OpenEXR/IlmImf/ImfMatrixAttribute.h ./Source/OpenEXR/IlmImf/ImfMisc.h ./Source/OpenEXR/IlmImf/ImfMultiPartInputFile.h ./Source/OpenEXR/IlmImf/ImfMultiPartOutputFile.h ./Source/OpenEXR/IlmImf/ImfMultiView.h ./Source/OpenEXR/IlmImf/ImfName.h ./Source/OpenEXR/IlmImf/ImfNamespace.h ./Source/OpenEXR/IlmImf/ImfOpaqueAttribute.h ./Source/OpenEXR/IlmImf/ImfOptimizedPixelReading.h ./Source/OpenEXR/IlmImf/ImfOutputFile.h ./Source/OpenEXR/IlmImf/ImfOutputPart.h ./Source/OpenEXR/IlmImf/ImfOutputPartData.h ./Source/OpenEXR/IlmImf/ImfOutputStreamMutex.h ./Source/OpenEXR/IlmImf/ImfPartHelper.h ./Source/OpenEXR/IlmImf/ImfPartType.h ./Source/OpenEXR/IlmImf/ImfPixelType.h ./Source/OpenEXR/IlmImf/ImfPizCompressor.h ./Source/OpenEXR/IlmImf/ImfPreviewImage.h ./Source/OpenEXR/IlmImf/ImfPreviewImageAttribute.h ./Source/OpenEXR/IlmImf/ImfPxr24Compressor.h ./Source/OpenEXR/IlmImf/ImfRational.h ./Source/OpenEXR/IlmImf/ImfRationalAttribute.h ./Source/OpenEXR/IlmImf/ImfRgba.h ./Source/OpenEXR/IlmImf/ImfRgbaFile.h ./Source/OpenEXR/IlmImf/ImfRgbaYca.h ./Source/OpenEXR/IlmImf/ImfRle.h ./Source/OpenEXR/IlmImf/ImfRleCompressor.h ./Source/OpenEXR/IlmImf/ImfScanLineInputFile.h ./Source/OpenEXR/IlmImf/ImfSimd.h ./Source/OpenEXR/IlmImf/ImfStandardAttributes.h ./Source/OpenEXR/IlmImf/ImfStdIO.h ./Source/OpenEXR/IlmImf/ImfStringAttribute.h ./Source/OpenEXR/IlmImf/ImfStringVectorAttribute.h ./Source/OpenEXR/IlmImf/ImfSystemSpecific.h ./Source/OpenEXR/IlmImf/ImfTestFile.h ./Source/OpenEXR/IlmImf/ImfThreading.h ./Source/OpenEXR/IlmImf/ImfTileDescription.h ./Source/OpenEXR/IlmImf/ImfTileDescriptionAttribute.h ./Source/OpenEXR/IlmImf/ImfTiledInputFile.h ./Source/OpenEXR/IlmImf/ImfTiledInputPart.h ./Source/OpenEXR/IlmImf/ImfTiledMisc.h ./Source/OpenEXR/IlmImf/ImfTiledOutputFile.h ./Source/OpenEXR/IlmImf/ImfTiledOutputPart.h ./Source/OpenEXR/IlmImf/ImfTiledRgbaFile.h ./Source/OpenEXR/IlmImf/ImfTileOffsets.h ./Source/OpenEXR/IlmImf/ImfTimeCode.h ./Source/OpenEXR/IlmImf/ImfTimeCodeAttribute.h ./Source/OpenEXR/IlmImf/ImfVecAttribute.h ./Source/OpenEXR/IlmImf/ImfVersion.h ./Source/OpenEXR/IlmImf/ImfWav.h ./Source/OpenEXR/IlmImf/ImfXdr.h ./Source/OpenEXR/IlmImf/ImfZip.h ./Source/OpenEXR/IlmImf/ImfZipCompressor.h ./Source/OpenEXR/IlmThread/IlmThread.h ./Source/OpenEXR/IlmThread/IlmThreadExport.h ./Source/OpenEXR/IlmThread/IlmThreadForward.h ./Source/OpenEXR/IlmThread/IlmThreadMutex.h ./Source/OpenEXR/IlmThread/IlmThreadNamespace.h ./Source/OpenEXR/IlmThread/IlmThreadPool.h ./Source/OpenEXR/IlmThread/IlmThreadSemaphore.h ./Source/OpenEXR/Imath/ImathBox.h ./Source/OpenEXR/Imath/ImathBoxAlgo.h ./Source/OpenEXR/Imath/ImathColor.h ./Source/OpenEXR/Imath/ImathColorAlgo.h ./Source/OpenEXR/Imath/ImathEuler.h ./Source/OpenEXR/Imath/ImathExc.h ./Source/OpenEXR/Imath/ImathExport.h ./Source/OpenEXR/Imath/ImathForward.h ./Source/OpenEXR/Imath/ImathFrame.h ./Source/OpenEXR/Imath/ImathFrustum.h ./Source/OpenEXR/Imath/ImathFrustumTest.h ./Source/OpenEXR/Imath/ImathFun.h ./Source/OpenEXR/Imath/ImathGL.h ./Source/OpenEXR/Imath/ImathGLU.h ./Source/OpenEXR/Imath/ImathHalfLimits.h ./Source/OpenEXR/Imath/ImathInt64.h ./Source/OpenEXR/Imath/ImathInterval.h ./Source/OpenEXR/Imath/ImathLimits.h ./Source/OpenEXR/Imath/ImathLine.h ./Source/OpenEXR/Imath/ImathLineAlgo.h ./Source/OpenEXR/Imath/ImathMath.h ./Source/OpenEXR/Imath/ImathMatrix.h ./Source/OpenEXR/Imath/ImathMatrixAlgo.h ./Source/OpenEXR/Imath/ImathNamespace.h ./Source/OpenEXR/Imath/ImathPlane.h ./Source/OpenEXR/Imath/ImathPlatform.h ./Source/OpenEXR/Imath/ImathQuat.h ./Source/OpenEXR/Imath/ImathRandom.h ./Source/OpenEXR/Imath/ImathRoots.h ./Source/OpenEXR/Imath/ImathShear.h ./Source/OpenEXR/Imath/ImathSphere.h ./Source/OpenEXR/Imath/ImathVec.h ./Source/OpenEXR/Imath/ImathVecAlgo.h ./Source/OpenEXR/OpenEXRConfig.h ./Source/Plugin.h ./Source/Quantizers.h ./Source/ToneMapping.h ./Source/Utilities.h ./Source/ZLib/crc32.h ./Source/ZLib/deflate.h ./Source/ZLib/gzguts.h ./Source/ZLib/inffast.h ./Source/ZLib/inffixed.h ./Source/ZLib/inflate.h ./Source/ZLib/inftrees.h ./Source/ZLib/trees.h ./Source/ZLib/zconf.h ./Source/ZLib/zlib.h ./Source/ZLib/zutil.h ./TestAPI/TestSuite.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/FreeImageIO.Net.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/resource.h ./Wrapper/FreeImage.NET/cpp/FreeImageIO/Stdafx.h ./Wrapper/FreeImagePlus/dist/x64/FreeImagePlus.h ./Wrapper/FreeImagePlus/FreeImagePlus.h ./Wrapper/FreeImagePlus/test/fipTest.h + + INCLUDE = -I. -ISource -ISource/Metadata -ISource/FreeImageToolkit -ISource/LibJPEG -ISource/LibPNG -ISource/LibTIFF4 -ISource/ZLib -ISource/LibOpenJPEG -ISource/OpenEXR -ISource/OpenEXR/Half -ISource/OpenEXR/Iex -ISource/OpenEXR/IlmImf -ISource/OpenEXR/IlmThread -ISource/OpenEXR/Imath -ISource/OpenEXR/IexMath -ISource/LibRawLite -ISource/LibRawLite/dcraw -ISource/LibRawLite/internal -ISource/LibRawLite/libraw -ISource/LibRawLite/src -ISource/LibWebP -ISource/LibJXR -ISource/LibJXR/common/include -ISource/LibJXR/image/sys -ISource/LibJXR/jxrgluelib diff --git a/srcpkgs/freeimage/patches/unbundle.patch b/srcpkgs/freeimage/patches/unbundle.patch deleted file mode 100644 index 282b58c451587d..00000000000000 --- a/srcpkgs/freeimage/patches/unbundle.patch +++ /dev/null @@ -1,749 +0,0 @@ -diff -rupN FreeImage/genfipsrclist.sh FreeImage-new/genfipsrclist.sh ---- FreeImage/genfipsrclist.sh 2018-07-28 18:53:18.000000000 +0200 -+++ FreeImage-new/genfipsrclist.sh 2018-07-31 23:37:58.552953202 +0200 -@@ -1,6 +1,6 @@ - #!/bin/sh - --DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib Wrapper/FreeImagePlus" -+DIRLIST="Wrapper/FreeImagePlus" - - - echo "VER_MAJOR = 3" > fipMakefile.srcs -@@ -19,5 +19,6 @@ echo -n "INCLUDE =" >> fipMakefile.srcs - for DIR in $DIRLIST; do - echo -n " -I$DIR" >> fipMakefile.srcs - done -+echo -n " -IDist" >> fipMakefile.srcs - echo >> fipMakefile.srcs - -diff -rupN FreeImage/gensrclist.sh FreeImage-new/gensrclist.sh ---- FreeImage/gensrclist.sh 2018-07-28 18:52:50.000000000 +0200 -+++ FreeImage-new/gensrclist.sh 2018-07-31 23:37:58.555953202 +0200 -@@ -1,6 +1,6 @@ - #!/bin/sh - --DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib" -+DIRLIST=". Source Source/Metadata Source/FreeImageToolkit" - - echo "VER_MAJOR = 3" > Makefile.srcs - echo "VER_MINOR = 18.0" >> Makefile.srcs -diff -rupN FreeImage/Makefile.fip FreeImage-new/Makefile.fip ---- FreeImage/Makefile.fip 2015-03-10 08:03:56.000000000 +0100 -+++ FreeImage-new/Makefile.fip 2018-07-31 23:37:58.556953201 +0200 -@@ -17,20 +17,22 @@ MODULES = $(SRCS:.c=.o) - MODULES := $(MODULES:.cpp=.o) - CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden - # OpenJPEG --CFLAGS += -DOPJ_STATIC -+override CFLAGS += -DOPJ_STATIC - # LibRaw --CFLAGS += -DNO_LCMS -+override CFLAGS += -DNO_LCMS - # LibJXR --CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__ --CFLAGS += $(INCLUDE) -+override CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__ -+override CFLAGS += $(INCLUDE) - CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy - # LibJXR --CXXFLAGS += -D__ANSI__ --CXXFLAGS += $(INCLUDE) -+override CXXFLAGS += -D__ANSI__ -+override CXXFLAGS += $(INCLUDE) -+LDFLAGS ?= -+override LDFLAGS += -LDist -lfreeimage-$(VER_MAJOR).$(VER_MINOR) - - ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64) -- CFLAGS += -fPIC -- CXXFLAGS += -fPIC -+ override CFLAGS += -fPIC -+ override CXXFLAGS += -fPIC - endif - - TARGET = freeimageplus -@@ -68,7 +70,7 @@ $(STATICLIB): $(MODULES) - $(AR) r $@ $(MODULES) - - $(SHAREDLIB): $(MODULES) -- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) -+ $(CC) -shared -Wl,-soname,$(VERLIBNAME) -o $@ $(MODULES) $(LIBRARIES) $(LDFLAGS) - - install: - install -d $(INCDIR) $(INSTALLDIR) -diff -rupN FreeImage/Makefile.gnu FreeImage-new/Makefile.gnu ---- FreeImage/Makefile.gnu 2015-03-10 08:04:00.000000000 +0100 -+++ FreeImage-new/Makefile.gnu 2018-07-31 23:37:58.556953201 +0200 -@@ -16,21 +16,11 @@ LIBRARIES = -lstdc++ - MODULES = $(SRCS:.c=.o) - MODULES := $(MODULES:.cpp=.o) - CFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden --# OpenJPEG --CFLAGS += -DOPJ_STATIC --# LibRaw --CFLAGS += -DNO_LCMS --# LibJXR --CFLAGS += -DDISABLE_PERF_MEASUREMENT -D__ANSI__ --CFLAGS += $(INCLUDE) --CXXFLAGS ?= -O3 -fPIC -fexceptions -fvisibility=hidden -Wno-ctor-dtor-privacy --# LibJXR --CXXFLAGS += -D__ANSI__ --CXXFLAGS += $(INCLUDE) -+override CFLAGS += $(INCLUDE) $(shell pkg-config --cflags jxrlib OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) -+override LDFLAGS += -ljpeg $(shell pkg-config --libs jxrlib OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib) - - ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64) -- CFLAGS += -fPIC -- CXXFLAGS += -fPIC -+ override CFLAGS += -fPIC - endif - - TARGET = freeimage -@@ -61,13 +51,13 @@ FreeImage: $(STATICLIB) $(SHAREDLIB) - $(CC) $(CFLAGS) -c $< -o $@ - - .cpp.o: -- $(CXX) $(CXXFLAGS) -c $< -o $@ -+ $(CXX) $(CFLAGS) -c $< -o $@ - - $(STATICLIB): $(MODULES) - $(AR) r $@ $(MODULES) - - $(SHAREDLIB): $(MODULES) -- $(CC) -s -shared -Wl,-soname,$(VERLIBNAME) $(LDFLAGS) -o $@ $(MODULES) $(LIBRARIES) -+ $(CC) -shared -Wl,-soname,$(VERLIBNAME) -o $@ $(MODULES) $(LIBRARIES) $(LDFLAGS) - - install: - install -d $(INCDIR) $(INSTALLDIR) -diff -rupN FreeImage/Source/FreeImage/J2KHelper.cpp FreeImage-new/Source/FreeImage/J2KHelper.cpp ---- FreeImage/Source/FreeImage/J2KHelper.cpp 2015-03-03 23:07:08.000000000 +0100 -+++ FreeImage-new/Source/FreeImage/J2KHelper.cpp 2018-07-31 23:37:58.557953201 +0200 -@@ -21,7 +21,7 @@ - - #include "FreeImage.h" - #include "Utilities.h" --#include "../LibOpenJPEG/openjpeg.h" -+#include - #include "J2KHelper.h" - - // -------------------------------------------------------------------------- -diff -rupN FreeImage/Source/FreeImage/Plugin.cpp FreeImage-new/Source/FreeImage/Plugin.cpp ---- FreeImage/Source/FreeImage/Plugin.cpp 2017-02-18 14:09:28.000000000 +0100 -+++ FreeImage-new/Source/FreeImage/Plugin.cpp 2018-07-31 23:37:58.558953201 +0200 -@@ -263,7 +263,12 @@ FreeImage_Initialise(BOOL load_local_plu - s_plugins->AddNode(InitDDS); - s_plugins->AddNode(InitGIF); - s_plugins->AddNode(InitHDR); -- s_plugins->AddNode(InitG3); -+/* The G3 fax format plugin is deliberately disabled in the Fedora build of -+ FreeImage as it requires that FreeImage uses a private copy of libtiff -+ which is a no no because of security reasons. */ -+#if 0 -+ s_plugins->AddNode(InitG3); -+#endif - s_plugins->AddNode(InitSGI); - s_plugins->AddNode(InitEXR); - s_plugins->AddNode(InitJ2K); -diff -rupN FreeImage/Source/FreeImage/PluginEXR.cpp FreeImage-new/Source/FreeImage/PluginEXR.cpp ---- FreeImage/Source/FreeImage/PluginEXR.cpp 2015-03-03 23:07:08.000000000 +0100 -+++ FreeImage-new/Source/FreeImage/PluginEXR.cpp 2018-07-31 23:37:58.559953201 +0200 -@@ -28,16 +28,17 @@ - #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 -+#include - - - // ========================================================== -diff -rupN FreeImage/Source/FreeImage/PluginJ2K.cpp FreeImage-new/Source/FreeImage/PluginJ2K.cpp ---- FreeImage/Source/FreeImage/PluginJ2K.cpp 2015-03-03 23:07:08.000000000 +0100 -+++ FreeImage-new/Source/FreeImage/PluginJ2K.cpp 2018-07-31 23:37:58.559953201 +0200 -@@ -21,7 +21,7 @@ - - #include "FreeImage.h" - #include "Utilities.h" --#include "../LibOpenJPEG/openjpeg.h" -+#include - #include "J2KHelper.h" - - // ========================================================== -diff -rupN FreeImage/Source/FreeImage/PluginJP2.cpp FreeImage-new/Source/FreeImage/PluginJP2.cpp ---- FreeImage/Source/FreeImage/PluginJP2.cpp 2015-03-03 23:07:08.000000000 +0100 -+++ FreeImage-new/Source/FreeImage/PluginJP2.cpp 2018-07-31 23:37:58.560953201 +0200 -@@ -21,7 +21,7 @@ - - #include "FreeImage.h" - #include "Utilities.h" --#include "../LibOpenJPEG/openjpeg.h" -+#include - #include "J2KHelper.h" - - // ========================================================== -diff -rupN FreeImage/Source/FreeImage/PluginJPEG.cpp FreeImage-new/Source/FreeImage/PluginJPEG.cpp ---- FreeImage/Source/FreeImage/PluginJPEG.cpp 2018-07-28 19:22:22.000000000 +0200 -+++ FreeImage-new/Source/FreeImage/PluginJPEG.cpp 2018-07-31 23:37:58.561953201 +0200 -@@ -35,9 +35,9 @@ extern "C" { - #undef FAR - #include - --#include "../LibJPEG/jinclude.h" --#include "../LibJPEG/jpeglib.h" --#include "../LibJPEG/jerror.h" -+#include -+#include -+#include - } - - #include "FreeImage.h" -@@ -485,116 +485,6 @@ marker_is_icc(jpeg_saved_marker_ptr mark - } - - /** -- See if there was an ICC profile in the JPEG file being read; -- if so, reassemble and return the profile data. -- -- TRUE is returned if an ICC profile was found, FALSE if not. -- If TRUE is returned, *icc_data_ptr is set to point to the -- returned data, and *icc_data_len is set to its length. -- -- IMPORTANT: the data at **icc_data_ptr has been allocated with malloc() -- and must be freed by the caller with free() when the caller no longer -- needs it. (Alternatively, we could write this routine to use the -- IJG library's memory allocator, so that the data would be freed implicitly -- at jpeg_finish_decompress() time. But it seems likely that many apps -- will prefer to have the data stick around after decompression finishes.) -- -- NOTE: if the file contains invalid ICC APP2 markers, we just silently -- 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_saved_marker_ptr marker; -- int num_markers = 0; -- int seq_no; -- JOCTET *icc_data; -- unsigned total_length; -- -- const int MAX_SEQ_NO = 255; // sufficient since marker numbers are bytes -- BYTE marker_present[MAX_SEQ_NO+1]; // 1 if marker found -- unsigned data_length[MAX_SEQ_NO+1]; // size of profile data in marker -- unsigned data_offset[MAX_SEQ_NO+1]; // offset for data in marker -- -- *icc_data_ptr = NULL; // avoid confusion if FALSE return -- *icc_data_len = 0; -- -- /** -- this first pass over the saved markers discovers whether there are -- any ICC markers and verifies the consistency of the marker numbering. -- */ -- -- memset(marker_present, 0, (MAX_SEQ_NO + 1)); -- -- for(marker = cinfo->marker_list; marker != NULL; marker = marker->next) { -- if (marker_is_icc(marker)) { -- if (num_markers == 0) { -- // number of markers -- num_markers = GETJOCTET(marker->data[13]); -- } -- else if (num_markers != GETJOCTET(marker->data[13])) { -- return FALSE; // inconsistent num_markers fields -- } -- // sequence number -- seq_no = GETJOCTET(marker->data[12]); -- if (seq_no <= 0 || seq_no > num_markers) { -- return FALSE; // bogus sequence number -- } -- if (marker_present[seq_no]) { -- return FALSE; // duplicate sequence numbers -- } -- marker_present[seq_no] = 1; -- data_length[seq_no] = marker->data_length - ICC_HEADER_SIZE; -- } -- } -- -- if (num_markers == 0) -- return FALSE; -- -- /** -- check for missing markers, count total space needed, -- compute offset of each marker's part of the data. -- */ -- -- total_length = 0; -- for(seq_no = 1; seq_no <= num_markers; seq_no++) { -- if (marker_present[seq_no] == 0) { -- return FALSE; // missing sequence number -- } -- data_offset[seq_no] = total_length; -- total_length += data_length[seq_no]; -- } -- -- if (total_length <= 0) -- return FALSE; // found only empty markers ? -- -- // allocate space for assembled data -- icc_data = (JOCTET *) malloc(total_length * sizeof(JOCTET)); -- if (icc_data == NULL) -- return FALSE; // out of memory -- -- // and fill it in -- for (marker = cinfo->marker_list; marker != NULL; marker = marker->next) { -- if (marker_is_icc(marker)) { -- JOCTET FAR *src_ptr; -- JOCTET *dst_ptr; -- unsigned length; -- seq_no = GETJOCTET(marker->data[12]); -- dst_ptr = icc_data + data_offset[seq_no]; -- src_ptr = marker->data + ICC_HEADER_SIZE; -- length = data_length[seq_no]; -- while (length--) { -- *dst_ptr++ = *src_ptr++; -- } -- } -- } -- -- *icc_data_ptr = icc_data; -- *icc_data_len = total_length; -- -- return TRUE; --} -- --/** - Read JPEG_APPD marker (IPTC or Adobe Photoshop profile) - */ - static BOOL -diff -rupN FreeImage/Source/FreeImage/PluginJXR.cpp FreeImage-new/Source/FreeImage/PluginJXR.cpp ---- FreeImage/Source/FreeImage/PluginJXR.cpp 2015-03-03 23:07:08.000000000 +0100 -+++ FreeImage-new/Source/FreeImage/PluginJXR.cpp 2018-07-31 23:37:58.561953201 +0200 -@@ -23,7 +23,7 @@ - #include "Utilities.h" - #include "../Metadata/FreeImageTag.h" - --#include "../LibJXR/jxrgluelib/JXRGlue.h" -+#include - - // ========================================================== - // Plugin Interface -diff -rupN FreeImage/Source/FreeImage/PluginPNG.cpp FreeImage-new/Source/FreeImage/PluginPNG.cpp ---- FreeImage/Source/FreeImage/PluginPNG.cpp 2018-07-28 20:15:24.000000000 +0200 -+++ FreeImage-new/Source/FreeImage/PluginPNG.cpp 2018-07-31 23:37:58.561953201 +0200 -@@ -40,8 +40,8 @@ - - // ---------------------------------------------------------- - --#include "../ZLib/zlib.h" --#include "../LibPNG/png.h" -+#include -+#include - - // ---------------------------------------------------------- - -diff -rupN FreeImage/Source/FreeImage/PluginRAW.cpp FreeImage-new/Source/FreeImage/PluginRAW.cpp ---- FreeImage/Source/FreeImage/PluginRAW.cpp 2015-03-10 10:12:04.000000000 +0100 -+++ FreeImage-new/Source/FreeImage/PluginRAW.cpp 2018-07-31 23:37:58.561953201 +0200 -@@ -19,7 +19,7 @@ - // Use at your own risk! - // ========================================================== - --#include "../LibRawLite/libraw/libraw.h" -+#include - - #include "FreeImage.h" - #include "Utilities.h" -diff -rupN FreeImage/Source/FreeImage/PluginTIFF.cpp FreeImage-new/Source/FreeImage/PluginTIFF.cpp ---- FreeImage/Source/FreeImage/PluginTIFF.cpp 2018-07-29 00:24:43.000000000 +0200 -+++ FreeImage-new/Source/FreeImage/PluginTIFF.cpp 2018-07-31 23:52:38.774904514 +0200 -@@ -37,9 +37,9 @@ - - #include "FreeImage.h" - #include "Utilities.h" --#include "../LibTIFF4/tiffiop.h" -+#include - #include "../Metadata/FreeImageTag.h" --#include "../OpenEXR/Half/half.h" -+#include - - #include "FreeImageIO.h" - #include "PSDParser.h" -@@ -193,17 +193,6 @@ TIFFFdOpen(thandle_t handle, const char - - return tif; - } -- --/** --Open a TIFF file for reading or writing --@param name --@param mode --*/ --TIFF* --TIFFOpen(const char* name, const char* mode) { -- return 0; --} -- - // ---------------------------------------------------------- - // TIFF library FreeImage-specific routines. - // ---------------------------------------------------------- -diff -rupN FreeImage/Source/FreeImage/PluginWebP.cpp FreeImage-new/Source/FreeImage/PluginWebP.cpp ---- FreeImage/Source/FreeImage/PluginWebP.cpp 2016-06-15 15:48:12.000000000 +0200 -+++ FreeImage-new/Source/FreeImage/PluginWebP.cpp 2018-07-31 23:38:40.531950880 +0200 -@@ -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 -rupN FreeImage/Source/FreeImage/PSDParser.cpp FreeImage-new/Source/FreeImage/PSDParser.cpp ---- FreeImage/Source/FreeImage/PSDParser.cpp 2016-02-11 03:18:02.000000000 +0100 -+++ FreeImage-new/Source/FreeImage/PSDParser.cpp 2018-08-01 00:17:18.323822675 +0200 -@@ -133,8 +133,8 @@ public: - template <> - class PSDGetValue<8> { - public: -- static inline UINT64 get(const BYTE * iprBuffer) { -- UINT64 v = ((const UINT64*)iprBuffer)[0]; -+ static inline uint64_t get(const BYTE * iprBuffer) { -+ uint64_t v = ((const uint64_t*)iprBuffer)[0]; - #ifndef FREEIMAGE_BIGENDIAN - SwapInt64(&v); - #endif -@@ -147,7 +147,7 @@ public: - - // -------------------------------------------------------------------------- - --static UINT64 -+static uint64_t - psdReadSize(FreeImageIO *io, fi_handle handle, const psdHeaderInfo& header) { - if(header._Version == 1) { - BYTE Length[4]; -@@ -199,11 +199,11 @@ public: - template <> - class PSDSetValue<8> { - public: -- static inline void set(const BYTE * iprBuffer, UINT64 v) { -+ static inline void set(const BYTE * iprBuffer, uint64_t v) { - #ifndef FREEIMAGE_BIGENDIAN - SwapInt64(&v); - #endif -- ((UINT64*)iprBuffer)[0] = v; -+ ((uint64_t*)iprBuffer)[0] = v; - } - }; - -@@ -213,7 +213,7 @@ public: - // -------------------------------------------------------------------------- - - static inline bool --psdWriteSize(FreeImageIO *io, fi_handle handle, const psdHeaderInfo& header, UINT64 v) { -+psdWriteSize(FreeImageIO *io, fi_handle handle, const psdHeaderInfo& header, uint64_t v) { - if(header._Version == 1) { - BYTE Length[4]; - psdSetLongValue(Length, sizeof(Length), (DWORD)v); -@@ -1063,10 +1063,10 @@ unsigned psdParser::GetChannelOffset(FIB - bool psdParser::ReadLayerAndMaskInfoSection(FreeImageIO *io, fi_handle handle) { - bool bSuccess = true; - -- UINT64 nTotalBytes = psdReadSize(io, handle, _headerInfo); -+ uint64_t nTotalBytes = psdReadSize(io, handle, _headerInfo); - - // Hack to handle large PSB files without using fseeko(). -- if (sizeof(long) < sizeof(UINT64)) { -+ if (sizeof(long) < sizeof(uint64_t)) { - const long offset = 0x10000000; - while (nTotalBytes > offset) { - if (io->seek_proc(handle, offset, SEEK_CUR) != 0) { -@@ -1672,7 +1672,7 @@ bool psdParser::WriteLayerAndMaskInfoSec - // Short section with no layers. - BYTE IntValue[4]; - -- UINT64 size; -+ uint64_t size; - if(_headerInfo._Version == 1) { - size = 8; - } else { -diff -rupN FreeImage/Source/FreeImage/ZLibInterface.cpp FreeImage-new/Source/FreeImage/ZLibInterface.cpp ---- FreeImage/Source/FreeImage/ZLibInterface.cpp 2015-03-03 23:07:10.000000000 +0100 -+++ FreeImage-new/Source/FreeImage/ZLibInterface.cpp 2018-07-31 23:37:58.563953201 +0200 -@@ -19,10 +19,9 @@ - // 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) */ - - /** - Compresses a source buffer into a target buffer, using the ZLib library. -@@ -115,7 +114,7 @@ FreeImage_ZLibGZip(BYTE *target, DWORD t - return 0; - case Z_OK: { - // patch header, setup crc and length (stolen from mod_trace_output) -- BYTE *p = target + 8; *p++ = 2; *p = OS_CODE; // xflags, os_code -+ BYTE *p = target + 8; *p++ = 2; *p = 0x03; // xflags, os_code (unix) - crc = crc32(crc, source, source_size); - memcpy(target + 4 + dest_len, &crc, 4); - memcpy(target + 8 + dest_len, &source_size, 4); -diff -rupN FreeImage/Source/FreeImage.h FreeImage-new/Source/FreeImage.h ---- FreeImage/Source/FreeImage.h 2018-03-25 18:42:20.000000000 +0200 -+++ FreeImage-new/Source/FreeImage.h 2018-08-01 00:16:34.704825088 +0200 -@@ -155,8 +155,11 @@ typedef uint8_t BYTE; - typedef uint16_t WORD; - typedef uint32_t DWORD; - typedef int32_t LONG; -+// Disable these, they conflict with the (wrong) ones of libraw -+#if 0 - typedef int64_t INT64; - typedef uint64_t UINT64; -+#endif - #else - // MS is not C99 ISO compliant - typedef long BOOL; -@@ -410,7 +413,12 @@ FI_ENUM(FREE_IMAGE_FORMAT) { - FIF_DDS = 24, - FIF_GIF = 25, - FIF_HDR = 26, -- FIF_FAXG3 = 27, -+/* The G3 fax format plugin is deliberately disabled in the Fedora build of -+ FreeImage as it requires that FreeImage uses a private copy of libtiff -+ which is a no no because of security reasons. */ -+#if 0 -+ FIF_FAXG3 = 27, -+#endif - FIF_SGI = 28, - FIF_EXR = 29, - FIF_J2K = 30, -@@ -473,6 +481,10 @@ FI_ENUM(FREE_IMAGE_DITHER) { - FID_BAYER16x16 = 6 //! Bayer ordered dispersed dot dithering (order 4 dithering matrix) - }; - -+/* The FreeImage_JPEGTransform functions are deliberately disabled in the -+ Fedora build of FreeImage as they require that FreeImage uses a private copy -+ of libjpeg which is a no no because of security reasons. */ -+#if 0 - /** Lossless JPEG transformations - Constants used in FreeImage_JPEGTransform - */ -@@ -486,6 +498,7 @@ FI_ENUM(FREE_IMAGE_JPEG_OPERATION) { - FIJPEG_OP_ROTATE_180 = 6, //! 180-degree rotation - FIJPEG_OP_ROTATE_270 = 7 //! 270-degree clockwise (or 90 ccw) - }; -+#endif - - /** Tone mapping operators. - Constants used in FreeImage_ToneMapping. -@@ -1088,7 +1101,10 @@ DLL_API const char* DLL_CALLCONV FreeIma - // -------------------------------------------------------------------------- - // JPEG lossless transformation routines - // -------------------------------------------------------------------------- -- -+/* The FreeImage_JPEGTransform functions are deliberately disabled in the -++ Fedora build of FreeImage as they require that FreeImage uses a private copy -++ of libjpeg which is a no no because of security reasons. */ -+#if 0 - 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 +1113,7 @@ DLL_API BOOL DLL_CALLCONV FreeImage_JPEG - 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 -rupN FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp ---- FreeImage/Source/FreeImageToolkit/JPEGTransform.cpp 2015-03-03 23:07:10.000000000 +0100 -+++ FreeImage-new/Source/FreeImageToolkit/JPEGTransform.cpp 2018-07-31 23:37:58.563953201 +0200 -@@ -26,10 +26,10 @@ 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 "FreeImage.h" -diff -rupN FreeImage/Source/Metadata/TagConversion.cpp FreeImage-new/Source/Metadata/TagConversion.cpp ---- FreeImage/Source/Metadata/TagConversion.cpp 2018-03-25 12:30:54.000000000 +0200 -+++ FreeImage-new/Source/Metadata/TagConversion.cpp 2018-07-31 23:37:58.564953201 +0200 -@@ -30,6 +30,11 @@ - - #define MAX_TEXT_EXTENT 512 - -+// These were in FreeImage.h, but are moved here to avoid conflicts (see note in FreeImage.h) -+typedef int64_t INT64; -+typedef uint64_t UINT64; -+ -+ - /** - Convert a tag to a C string - */ -diff -rupN FreeImage/Source/Metadata/XTIFF.cpp FreeImage-new/Source/Metadata/XTIFF.cpp ---- FreeImage/Source/Metadata/XTIFF.cpp 2015-03-03 23:07:10.000000000 +0100 -+++ FreeImage-new/Source/Metadata/XTIFF.cpp 2022-06-06 21:13:28.672755346 +0200 -@@ -29,7 +29,7 @@ - #pragma warning (disable : 4786) // identifier was truncated to 'number' characters - #endif - --#include "../LibTIFF4/tiffiop.h" -+#include - - #include "FreeImage.h" - #include "Utilities.h" -@@ -224,6 +224,33 @@ tiff_write_geotiff_profile(TIFF *tif, FI - // TIFF EXIF tag reading & writing - // ---------------------------------------------------------- - -+static uint32 exif_tag_ids[] = { -+ EXIFTAG_EXPOSURETIME, EXIFTAG_FNUMBER, EXIFTAG_EXPOSUREPROGRAM, -+ EXIFTAG_SPECTRALSENSITIVITY, EXIFTAG_ISOSPEEDRATINGS, EXIFTAG_OECF, -+ EXIFTAG_EXIFVERSION, EXIFTAG_DATETIMEORIGINAL, EXIFTAG_DATETIMEDIGITIZED, -+ EXIFTAG_COMPONENTSCONFIGURATION, EXIFTAG_COMPRESSEDBITSPERPIXEL, -+ EXIFTAG_SHUTTERSPEEDVALUE, EXIFTAG_APERTUREVALUE, -+ EXIFTAG_BRIGHTNESSVALUE, EXIFTAG_EXPOSUREBIASVALUE, -+ EXIFTAG_MAXAPERTUREVALUE, EXIFTAG_SUBJECTDISTANCE, EXIFTAG_METERINGMODE, -+ EXIFTAG_LIGHTSOURCE, EXIFTAG_FLASH, EXIFTAG_FOCALLENGTH, -+ EXIFTAG_SUBJECTAREA, EXIFTAG_MAKERNOTE, EXIFTAG_USERCOMMENT, -+ EXIFTAG_SUBSECTIME, EXIFTAG_SUBSECTIMEORIGINAL, -+ EXIFTAG_SUBSECTIMEDIGITIZED, EXIFTAG_FLASHPIXVERSION, EXIFTAG_COLORSPACE, -+ EXIFTAG_PIXELXDIMENSION, EXIFTAG_PIXELYDIMENSION, -+ EXIFTAG_RELATEDSOUNDFILE, EXIFTAG_FLASHENERGY, -+ EXIFTAG_SPATIALFREQUENCYRESPONSE, EXIFTAG_FOCALPLANEXRESOLUTION, -+ EXIFTAG_FOCALPLANEYRESOLUTION, EXIFTAG_FOCALPLANERESOLUTIONUNIT, -+ EXIFTAG_SUBJECTLOCATION, EXIFTAG_EXPOSUREINDEX, EXIFTAG_SENSINGMETHOD, -+ EXIFTAG_FILESOURCE, EXIFTAG_SCENETYPE, EXIFTAG_CFAPATTERN, -+ EXIFTAG_CUSTOMRENDERED, EXIFTAG_EXPOSUREMODE, EXIFTAG_WHITEBALANCE, -+ EXIFTAG_DIGITALZOOMRATIO, EXIFTAG_FOCALLENGTHIN35MMFILM, -+ EXIFTAG_SCENECAPTURETYPE, EXIFTAG_GAINCONTROL, EXIFTAG_CONTRAST, -+ EXIFTAG_SATURATION, EXIFTAG_SHARPNESS, EXIFTAG_DEVICESETTINGDESCRIPTION, -+ EXIFTAG_SUBJECTDISTANCERANGE, EXIFTAG_GAINCONTROL, EXIFTAG_GAINCONTROL, -+ EXIFTAG_IMAGEUNIQUEID -+}; -+static int nExifTags = sizeof(exif_tag_ids) / sizeof(exif_tag_ids[0]); -+ - /** - Read a single Exif tag - -@@ -575,45 +602,11 @@ tiff_read_exif_tags(TIFF *tif, TagLib::M - - // loop over all Core Directory Tags - // ### uses private data, but there is no other way -+ // -> Fedora: Best we can do without private headers is to hard-code a list of known EXIF tags and read those - if(md_model == TagLib::EXIF_MAIN) { -- const TIFFDirectory *td = &tif->tif_dir; -- -- uint32 lastTag = 0; //<- used to prevent reading some tags twice (as stored in tif_fieldinfo) -- -- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) { -- const TIFFField *fld = tif->tif_fields[fi]; -- -- const uint32 tag_id = TIFFFieldTag(fld); -- -- if(tag_id == lastTag) { -- continue; -- } -- -- // test if tag value is set -- // (lifted directly from LibTiff _TIFFWriteDirectory) -- -- if( fld->field_bit == FIELD_CUSTOM ) { -- int is_set = FALSE; -- -- for(int ci = 0; ci < td->td_customValueCount; ci++ ) { -- is_set |= (td->td_customValues[ci].info == fld); -- } -- -- if( !is_set ) { -- continue; -- } -- -- } else if(!TIFFFieldSet(tif, fld->field_bit)) { -- continue; -- } -- -- // process *all* other tags (some will be ignored) -- -- tiff_read_exif_tag(tif, tag_id, dib, md_model); -- -- lastTag = tag_id; -+ for (int i = 0; i < nExifTags; ++i) { -+ tiff_read_exif_tag(tif, exif_tag_ids[i], dib, md_model); - } -- - } - - return TRUE; -@@ -723,10 +716,9 @@ tiff_write_exif_tags(TIFF *tif, TagLib:: - - TagLib& tag_lib = TagLib::instance(); - -- for (int fi = 0, nfi = (int)tif->tif_nfields; nfi > 0; nfi--, fi++) { -- const TIFFField *fld = tif->tif_fields[fi]; -- -- const uint32 tag_id = TIFFFieldTag(fld); -+ for (int fi = 0; fi < nExifTags; fi++) { -+ const uint32 tag_id = exif_tag_ids[fi]; -+ const TIFFField *fld = TIFFFieldWithTag(tif, tag_id); - - if(skip_write_field(tif, tag_id)) { - // skip tags that are already handled by the LibTIFF writing process -@@ -749,7 +741,7 @@ tiff_write_exif_tags(TIFF *tif, TagLib:: - continue; - } - // type of storage may differ (e.g. rationnal array vs float array type) -- if((unsigned)_TIFFDataSize(tif_tag_type) != FreeImage_TagDataWidth(tag_type)) { -+ if((unsigned)TIFFFieldSetGetSize(fld) != FreeImage_TagDataWidth(tag_type)) { - // skip tag or _TIFFmemcpy will fail - continue; - } -diff -rupN FreeImage/Source/Utilities.h FreeImage-new/Source/Utilities.h ---- FreeImage/Source/Utilities.h 2016-04-11 15:15:32.000000000 +0200 -+++ FreeImage-new/Source/Utilities.h 2018-08-01 00:16:29.826825358 +0200 -@@ -446,12 +446,12 @@ SwapLong(DWORD *lp) { - } - - inline void --SwapInt64(UINT64 *arg) { -+SwapInt64(uint64_t *arg) { - #if defined(_MSC_VER) && _MSC_VER >= 1310 - *arg = _byteswap_uint64(*arg); - #else - union Swap { -- UINT64 sv; -+ uint64_t sv; - DWORD ul[2]; - } tmp, result; - tmp.sv = *arg; diff --git a/srcpkgs/freeimage/template b/srcpkgs/freeimage/template index aa26c2f74c1d38..df7feef024ff31 100644 --- a/srcpkgs/freeimage/template +++ b/srcpkgs/freeimage/template @@ -1,33 +1,24 @@ # Template file for 'freeimage' pkgname=freeimage -version=3.18.0 -revision=5 -build_style=gnu-makefile -hostmakedepends="pkg-config unzip" -makedepends="libopenexr-devel libwebp-devel tiff-devel libopenjpeg2-devel libjpeg-turbo-devel libraw-devel libpng-devel jxrlib-devel mesa glu" +version=3.19.0+1911 +revision=1 +_commit=${version//*+/} +hostmakedepends="unzip" short_desc="Support library for popular graphics image formats" maintainer="Orphaned " license="GPL-2.0-or-later, FreeImage" homepage="http://freeimage.sourceforge.net/" -distfiles="${SOURCEFORGE_SITE}/freeimage/Source%20Distribution/FreeImage${version//./}.zip" -checksum=f41379682f9ada94ea7b34fe86bf9ee00935a3147be41b6569c9605a53e438fd +# No longer changes versions or publishes Source Distributions since 2018 +#distfiles="${SOURCEFORGE_SITE}/freeimage/Source%20Distribution/FreeImage${version//./}.zip" +distfiles="https://sourceforge.net/code-snapshots/svn/f/fr/freeimage/svn/freeimage-svn-r${_commit}-FreeImage-trunk.zip" +checksum=@c31ab96f8c37c6379cb70c7012534988fb01392c5cc5eac7209b9003d7ff52ea -CFLAGS="-fPIC -DPIC -fexceptions -fvisibility=hidden -DPNG_POWERPC_VSX_OPT=0" +CFLAGS="-fPIC -DPIC -fexceptions -fvisibility=hidden -DPNG_POWERPC_VSX_OPT=0 -DPNG_ARM_NEON_OPT=0 -D_LARGEFILE64_SOURCE=1 " CXXFLAGS="${CFLAGS} -Wno-ctor-dtor-privacy -std=c++14" subpackages="freeimage-plus freeimage-devel freeimage-plus-devel" -post_patch() { - # Finishing unbundling - rm -r Source/Lib* Source/ZLib Source/OpenEXR - # can't be built due to private headers - > Source/FreeImage/PluginG3.cpp - > Source/FreeImageToolkit/JPEGTransform.cpp -} - do_build() { - sh gensrclist.sh make -f Makefile.gnu ${makejobs} - sh genfipsrclist.sh make -f Makefile.fip ${makejobs} }