From f9b5f160953ae75767b8f4ad2cf39ad7578780b2 Mon Sep 17 00:00:00 2001 From: weidong Date: Mon, 9 Nov 2020 17:38:53 +0800 Subject: [PATCH] fix bug --- freeimage.spec | 52 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/freeimage.spec b/freeimage.spec index ae9f016..1f8af3c 100644 --- a/freeimage.spec +++ b/freeimage.spec @@ -1,19 +1,29 @@ #%global debug_package %{nil} +%undefine _ld_as_needed + +%define major 3 Name: freeimage Version: 3.18.0 -Release: 2 +Release: 3 Summary: FreeImage is a library project for developers who would like to support popular graphics image formats (PNG, JPEG, TIFF, BMP and others) License: GPLv2 or GPLv3 and FIPL URL: https://freeimage.sourceforge.io/ Source0: http://downloads.sourceforge.net/freeimage/FreeImage3180.zip -Patch0: CVE-2019-12211_2019-12213.patch +Patch0: CVE-2019-12211_2019-12213.patch # https://github.com/glennrp/libpng/commit/32784523239c376dfe544bb6c7012c4934624a6d -Patch1: fix-libpng-arm-neon.patch +Patch1: fix-libpng-arm-neon.patch +Patch2: FreeImage_unbundle.patch +# Fix incorrect path in doxyfile +Patch3: FreeImage_doxygen.patch +# Fix incorrect variable names in BIGENDIAN blocks +Patch4: FreeImage_bigendian.patch + + +BuildRequires: doxygen gcc-c++ make jxrlib-devel libjpeg-devel libmng-devel libpng-devel libtiff-devel libwebp-devel LibRaw-devel OpenEXR-devel openjpeg2-devel -BuildRequires: gcc autoconf automake doxygen %description FreeImage is a library project for developers who would like to support popular graphics image formats (PNG, JPEG, TIFF, BMP and others). Some highlights are: extremely simple in use, not limited to the local PC (unique FreeImageIO) and Plugin driven! @@ -28,10 +38,35 @@ FreeImage is a library project for developers who would like to support popular %setup -q -n FreeImage %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +# remove all included libs to make sure these don't get used during compile +rm -r Source/Lib* Source/ZLib Source/OpenEXR + +# clear files which cannot be built due to dependencies on private headers +# (see also unbundle patch) +> Source/FreeImage/PluginG3.cpp +> Source/FreeImageToolkit/JPEGTransform.cpp + +# sanitize encodings / line endings +for file in `find . -type f -name '*.c' -or -name '*.cpp' -or -name '*.h' -or -name '*.txt' -or -name Makefile`; do + iconv --from=ISO-8859-15 --to=UTF-8 $file > $file.new && \ + sed -i 's|\r||g' $file.new && \ + touch -r $file $file.new && mv $file.new $file +done + %build -%make_build -f Makefile.gnu DESTDIR=%{buildroot} -%make_build -f Makefile.fip DESTDIR=%{buildroot} +sh ./gensrclist.sh +sh ./genfipsrclist.sh +%ifarch %{power64} %{mips32} aarch64 +%make_build -f Makefile.gnu CFLAGS="%{optflags} -fPIC" CXXFLAGS="%{optflags} -fPIC" LDFLAGS="%{__global_ldflags}" +%make_build -f Makefile.fip CFLAGS="%{optflags} -fPIC" CXXFLAGS="%{optflags} -fPIC" LDFLAGS="%{__global_ldflags}" +%else +%make_build -f Makefile.gnu CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" LDFLAGS="%{__global_ldflags}" +%make_build -f Makefile.fip CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" LDFLAGS="%{__global_ldflags}" +%endif pushd Wrapper/FreeImagePlus/doc doxygen FreeImagePlus.dox @@ -74,6 +109,11 @@ ldconfig -n %{buildroot}%{_libdir} %changelog +* Mon Nov 09 2020 weidong +- Unbundle bundled libraries +- Fix incorrect path in doxyfile +- Fix incorrect variable names in BIGENDIAN blocks + * Thu Sep 10 2020 weidong - fix libpng arm neon in freeimage