From 1f338186b0bc28cd4bcafa0149c7124a21a354a0 Mon Sep 17 00:00:00 2001 From: small_leek Date: Tue, 15 Dec 2020 15:14:22 +0800 Subject: [PATCH] Rebuild for new LibRaw --- freeimage.spec | 13 ++++++------ substream.patch | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 substream.patch diff --git a/freeimage.spec b/freeimage.spec index 1f8af3c..1b8b7e3 100644 --- a/freeimage.spec +++ b/freeimage.spec @@ -5,7 +5,7 @@ Name: freeimage Version: 3.18.0 -Release: 3 +Release: 4 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/ @@ -20,6 +20,7 @@ Patch2: FreeImage_unbundle.patch Patch3: FreeImage_doxygen.patch # Fix incorrect variable names in BIGENDIAN blocks Patch4: FreeImage_bigendian.patch +Patch5: substream.patch BuildRequires: doxygen gcc-c++ make jxrlib-devel libjpeg-devel libmng-devel libpng-devel libtiff-devel libwebp-devel LibRaw-devel OpenEXR-devel openjpeg2-devel @@ -35,12 +36,7 @@ Requires: %{name} = %{version}-%{release} 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! %prep -%setup -q -n FreeImage -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 +%autosetup -p1 -n FreeImage # remove all included libs to make sure these don't get used during compile rm -r Source/Lib* Source/ZLib Source/OpenEXR @@ -109,6 +105,9 @@ ldconfig -n %{buildroot}%{_libdir} %changelog +* Tue Dec 15 2020 Senlin -3.18.0-4 +- Rebuild for new LibRaw + * Mon Nov 09 2020 weidong - Unbundle bundled libraries - Fix incorrect path in doxyfile diff --git a/substream.patch b/substream.patch new file mode 100644 index 0000000..b3380c5 --- /dev/null +++ b/substream.patch @@ -0,0 +1,56 @@ +--- a/Source/FreeImage/PluginRAW.cpp~ 2020-05-08 08:27:31.000000000 -0500 ++++ a/Source/FreeImage/PluginRAW.cpp 2020-05-08 08:47:09.011816310 -0500 +@@ -63,17 +63,17 @@ + } + + int read(void *buffer, size_t size, size_t count) { +- if(substream) return substream->read(buffer, size, 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); ++ //if(substream) return substream->seek(offset, origin); + return _io->seek_proc(_handle, (long)offset, origin); + } + + INT64 tell() { +- if(substream) return substream->tell(); ++ //if(substream) return substream->tell(); + return _io->tell_proc(_handle); + } + +@@ -83,13 +83,13 @@ + + int get_char() { + int c = 0; +- if(substream) return substream->get_char(); ++ //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); ++ //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 +104,7 @@ + std::string buffer; + char element = 0; + bool bDone = false; +- if(substream) return substream->scanf_one(fmt,val); ++ //if(substream) return substream->scanf_one(fmt,val); + do { + if(_io->read_proc(&element, 1, 1, _handle) == 1) { + switch(element) { +@@ -127,7 +127,7 @@ + } + + int eof() { +- if(substream) return substream->eof(); ++ //if(substream) return substream->eof(); + return (_io->tell_proc(_handle) >= _eof); + } \ No newline at end of file