Blob Blame History Raw

%{?mingw_package_header}

%global win32dir %{_builddir}/mingw32-%{pkgname}-%{version}-%{release}
%global win64dir %{_builddir}/mingw64-%{pkgname}-%{version}-%{release}

%global pkgname freeimage
%global ver_major 3
%global svn_rev 1889

Name:          mingw-%{pkgname}
Version:       3.19.0
Release:       0.5%{?svn_rev:.svn%svn_rev}%{?dist}
Summary:       MinGW Windows %{pkgname} library

# freeimage is tripple-licensed, see
# http://freeimage.sourceforge.net/license.html
# https://lists.fedoraproject.org/pipermail/legal/2013-October/002271.html
License:       GPLv2 or GPLv3 or MPLv1.0
BuildArch:     noarch
URL:           http://freeimage.sourceforge.net/
%if 0%{?svn_rev:1}
# https://sourceforge.net/p/freeimage/svn/%{svn_rev}/tarball?path=/FreeImage/trunk
Source:        freeimage-svn-r%{svn_rev}-FreeImage-trunk.zip
%else
Source:        http://downloads.sourceforge.net/%{pkgname}/FreeImage%(echo %{version} | sed 's|\.||g').zip
%endif
# Unbundle bundled libraries
Patch0:        FreeImage_unbundle.patch
# MinGW makefile fixes
Patch1:        FreeImage_mingw.patch
# Support openexr-3.x
Patch2:        freeimage-openexr3.patch


BuildRequires: make
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw32-ilmbase
BuildRequires: mingw32-jxrlib
BuildRequires: mingw32-lcms2
BuildRequires: mingw32-LibRaw
BuildRequires: mingw32-libjpeg-turbo
BuildRequires: mingw32-libpng
BuildRequires: mingw32-libtiff
BuildRequires: mingw32-libwebp
BuildRequires: mingw32-OpenEXR
BuildRequires: mingw32-openjpeg2

BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw64-gcc-c++
BuildRequires: mingw64-ilmbase
BuildRequires: mingw64-jxrlib
BuildRequires: mingw64-lcms2
BuildRequires: mingw64-LibRaw
BuildRequires: mingw64-libjpeg-turbo
BuildRequires: mingw64-libpng
BuildRequires: mingw64-libtiff
BuildRequires: mingw64-libwebp
BuildRequires: mingw64-OpenEXR
BuildRequires: mingw64-openjpeg2


%description
MinGW Windows %{pkgname} library.


%package -n mingw32-%{pkgname}
Summary:       MinGW Windows %{pkgname} library

%description -n mingw32-%{pkgname}
%{summary}.


%package -n mingw32-%{pkgname}-static
Summary:       Static version of the MinGW Windows %{pkgname} library
Requires:      mingw32-%{pkgname} = %{version}-%{release}

%description -n mingw32-%{pkgname}-static
%{summary}.


%package -n mingw64-%{pkgname}
Summary:       MinGW Windows %{pkgname} library

%description -n mingw64-%{pkgname}
%{summary}.


%package -n mingw64-%{pkgname}-static
Summary:       Static version of the MinGW Windows %{pkgname} library
Requires:      mingw64-%{pkgname} = %{version}-%{release}

%description -n mingw64-%{pkgname}-static
%{summary}.


%{?mingw_debug_package}


%prep
%if 0%{?svn_rev:1}
%setup -q -n freeimage-svn-r%{svn_rev}-FreeImage-trunk
%else
%setuo -q -n FreeImage
%endif

# 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

%autopatch -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

# Create source lists
sh ./gensrclist.sh
sh ./genfipsrclist.sh

# Create source trees
cp -a . %{win32dir}
cp -a . %{win64dir}


%build
%mingw32_make -C %{win32dir} MINGW_TARGET=%mingw32_target -f Makefile.gnu %{?_smp_mflags}
%mingw32_make -C %{win32dir} MINGW_TARGET=%mingw32_target -f Makefile.fip %{?_smp_mflags}

%mingw64_make -C %{win64dir} MINGW_TARGET=%mingw64_target -f Makefile.gnu %{?_smp_mflags}
%mingw64_make -C %{win64dir} MINGW_TARGET=%mingw64_target -f Makefile.fip %{?_smp_mflags}


%install
install -Dpm 0755 %{win32dir}/Dist/freeimage-%ver_major.dll %{buildroot}%{mingw32_bindir}/freeimage-%ver_major.dll
install -Dpm 0644 %{win32dir}/Dist/freeimage.dll.a %{buildroot}%{mingw32_libdir}/freeimage.dll.a
install -Dpm 0644 %{win32dir}/Dist/libfreeimage.a %{buildroot}%{mingw32_libdir}/libfreeimage.a
install -Dpm 0644 %{win32dir}/Dist/FreeImage.h %{buildroot}%{mingw32_includedir}/FreeImage.h

install -Dpm 0755 %{win64dir}/Dist/freeimage-%ver_major.dll %{buildroot}%{mingw64_bindir}/freeimage-%ver_major.dll
install -Dpm 0644 %{win64dir}/Dist/freeimage.dll.a %{buildroot}%{mingw64_libdir}/freeimage.dll.a
install -Dpm 0644 %{win64dir}/Dist/libfreeimage.a %{buildroot}%{mingw64_libdir}/libfreeimage.a
install -Dpm 0644 %{win64dir}/Dist/FreeImage.h %{buildroot}%{mingw64_includedir}/FreeImage.h

install -Dpm 0755 %{win32dir}/Dist/freeimageplus-%ver_major.dll %{buildroot}%{mingw32_bindir}/freeimageplus-%ver_major.dll
install -Dpm 0644 %{win32dir}/Dist/freeimageplus.dll.a %{buildroot}%{mingw32_libdir}/freeimageplus.dll.a
install -Dpm 0644 %{win32dir}/Dist/libfreeimageplus.a %{buildroot}%{mingw32_libdir}/libfreeimageplus.a
install -Dpm 0644 %{win32dir}/Dist/FreeImagePlus.h %{buildroot}%{mingw32_includedir}/FreeImagePlus.h

install -Dpm 0755 %{win64dir}/Dist/freeimageplus-%ver_major.dll %{buildroot}%{mingw64_bindir}/freeimageplus-%ver_major.dll
install -Dpm 0644 %{win64dir}/Dist/freeimageplus.dll.a %{buildroot}%{mingw64_libdir}/freeimageplus.dll.a
install -Dpm 0644 %{win64dir}/Dist/libfreeimageplus.a %{buildroot}%{mingw64_libdir}/libfreeimageplus.a
install -Dpm 0644 %{win64dir}/Dist/FreeImagePlus.h %{buildroot}%{mingw64_includedir}/FreeImagePlus.h


%files -n mingw32-%{pkgname}
%license license-fi.txt license-gplv2.txt license-gplv3.txt
%{mingw32_bindir}/freeimage-%ver_major.dll
%{mingw32_bindir}/freeimageplus-%ver_major.dll
%{mingw32_includedir}/FreeImage.h
%{mingw32_includedir}/FreeImagePlus.h
%{mingw32_libdir}/freeimage.dll.a
%{mingw32_libdir}/freeimageplus.dll.a

%files -n mingw32-%{pkgname}-static
%{mingw32_libdir}/libfreeimage.a
%{mingw32_libdir}/libfreeimageplus.a

%files -n mingw64-%{pkgname}
%license license-fi.txt license-gplv2.txt license-gplv3.txt
%{mingw64_bindir}/freeimage-%ver_major.dll
%{mingw64_bindir}/freeimageplus-%ver_major.dll
%{mingw64_includedir}/FreeImage.h
%{mingw64_includedir}/FreeImagePlus.h
%{mingw64_libdir}/freeimage.dll.a
%{mingw64_libdir}/freeimageplus.dll.a

%files -n mingw64-%{pkgname}-static
%{mingw64_libdir}/libfreeimage.a
%{mingw64_libdir}/libfreeimageplus.a


%changelog
* Thu Aug 19 2021 Sandro Mani <manisandro@gmail.com> - 3.19.0-0.5.svn1887
- Update to svn rev 1887

* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.19.0-0.4.svn1859
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.19.0-0.3.svn1859
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Thu Dec 17 2020 Sandro Mani <manisandro@gmail.com> - 3.19.0-0.2.svn1859
- Rebuild (openexr)

* Wed Jul 29 2020 Sandro Mani <manisandro@gmail.com> - 3.19.0-0.1.svn1859
- Update to 3.19.0 svn snapshot

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Sun Nov 17 2019 Sandro Mani <manisandro@gmail.com> - 3.18.0-7
- Backport fixes for CVE-2019-12211 and 2019-12213

* Wed Nov 13 2019 Sandro Mani <manisandro@gmail.com> - 3.18.0-6
- Rebuild (OpenEXR)

* Tue Oct 08 2019 Sandro Mani <manisandro@gmail.com> - 3.18.0-5
- Rebuild (Changes/Mingw32GccDwarf2)

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Wed Apr 10 2019 Sandro Mani <manisandro@gmail.com> - 3.18.0-3
- Rebuild (IlmBase, OpenEXR)

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.18.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Tue Jul 31 2018 Sandro Mani <manisandro@gmail.com> - 3.18.0-1
- Update to 3.18.0

* Thu Jul 19 2018 Sandro Mani <manisandro@gmail.com> - 3.17.0-13
- Rebuild (LibRaw)

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Fri Jan 19 2018 Sandro Mani <manisandro@gmail.com> - 3.17.0-10
- Rebuild (OpenEXR)

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon Jul 03 2017 Sandro Mani <manisandro@gmail.com> - 3.17.0-8
- Rebuild (LibRaw)

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Wed Feb 01 2017 Sandro Mani <manisandro@gmail.com> - 3.17.0-6
- Rebuild (libwebp)

* Sun Jan 01 2017 Sandro Mani <manisandro@gmail.com> - 3.17.0-5
- Rebuild (LibRaw)

* Tue Oct 04 2016 Sandro Mani <manisandro@gmail.com> - 3.17.0-4
- Fix CVE-2016-5684 (rhbz#1381517)

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.17.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Mon Dec 28 2015 Sandro Mani <manisandro@gmail.com> - 3.17.0-2
- Rebuild (libwebp)

* Sat Nov 14 2015 Sandro Mani <manisandro@gmail.com> - 3.17.0-1
- Update to 3.17.0
- Add fix for CVE-2015-0852 (#1257859)

* Sun Aug 23 2015 Sandro Mani <manisandro@gmail.com> - 3.15.4-7
- Rebuild (LibRaw)

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.15.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Wed Nov 26 2014 Sandro Mani <manisandro@gmail.com> - 3.15.4-5
- Rebuild (ilmbase, OpenEXR)

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.15.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Mon Jan 27 2014 Sandro Mani <manisandro@gmail.com> - 3.15.4-3
- Delete Source/ZLib folder
- Convert Whatsnew.txt, license-gplv3.txt to UTF-8

* Thu Jan 16 2014 Sandro Mani <manisandro@gmail.com> - 3.15.4-2
- Completely unbundle libraries (thanks to František Dvořák)

* Tue Jan 07 2014 Sandro Mani <manisandro@gmail.com> - 3.15.4-1
- Initial package