061c6c
%global _hardened_build 1
061c6c
061c6c
Name:          libwebp
061c6c
Version:       1.0.0
302caf
Release:       8%{?dist}
061c6c
URL:           http://webmproject.org/
061c6c
Summary:       Library and tools for the WebP graphics format
061c6c
# Additional IPR is licensed as well. See PATENTS file for details
061c6c
License:       BSD
061c6c
Source0:       http://downloads.webmproject.org/releases/webp/%{name}-%{version}.tar.gz
061c6c
Source1:       libwebp_jni_example.java
6c61f8
Patch0:        rhbz-1956829.patch
6c61f8
Patch1:        rhbz-1956843.patch
6c61f8
Patch2:        rhbz-1956919.patch
07a7da
Patch3:        rhbz-1956853.patch
07a7da
Patch4:        rhbz-1956856.patch
07a7da
Patch5:        rhbz-1956917.patch
07a7da
Patch6:        rhbz-1956868.patch
302caf
Patch7:        mozilla-1819244.patch
061c6c
061c6c
BuildRequires: libjpeg-devel
061c6c
BuildRequires: libpng-devel
061c6c
BuildRequires: giflib-devel
061c6c
BuildRequires: libtiff-devel
061c6c
BuildRequires: java-devel
061c6c
BuildRequires: jpackage-utils
061c6c
BuildRequires: swig
061c6c
BuildRequires: autoconf automake libtool
061c6c
BuildRequires: freeglut-devel
061c6c
061c6c
%description
061c6c
WebP is an image format that does lossy compression of digital
061c6c
photographic images. WebP consists of a codec based on VP8, and a
061c6c
container based on RIFF. Webmasters, web developers and browser
061c6c
developers can use WebP to compress, archive and distribute digital
061c6c
images more efficiently.
061c6c
061c6c
061c6c
%package tools
061c6c
Summary:       The WebP command line tools
302caf
Requires:      %{name}%{?_isa} = %{version}-%{release}
061c6c
061c6c
%description tools
061c6c
WebP is an image format that does lossy compression of digital
061c6c
photographic images. WebP consists of a codec based on VP8, and a
061c6c
container based on RIFF. Webmasters, web developers and browser
061c6c
developers can use WebP to compress, archive and distribute digital
061c6c
images more efficiently.
061c6c
061c6c
061c6c
%package devel
061c6c
Summary:       Development files for libwebp, a library for the WebP format
061c6c
Requires:      %{name}%{?_isa} = %{version}-%{release}
061c6c
061c6c
%description devel
061c6c
WebP is an image format that does lossy compression of digital
061c6c
photographic images. WebP consists of a codec based on VP8, and a
061c6c
container based on RIFF. Webmasters, web developers and browser
061c6c
developers can use WebP to compress, archive and distribute digital
061c6c
images more efficiently.
061c6c
061c6c
061c6c
%package java
061c6c
Summary:       Java bindings for libwebp, a library for the WebP format
061c6c
Requires:      %{name}%{?_isa} = %{version}-%{release}
061c6c
Requires:      java-headless
061c6c
Requires:      jpackage-utils
061c6c
061c6c
%description java
061c6c
Java bindings for libwebp.
061c6c
061c6c
061c6c
%prep
061c6c
%autosetup -p1
061c6c
061c6c
061c6c
%build
061c6c
autoreconf -vif
061c6c
%ifarch aarch64
061c6c
export CFLAGS="%{optflags} -frename-registers"
061c6c
%endif
061c6c
# Neon disabled due to resulting CFLAGS conflict resulting in
061c6c
# inlining failed in call to always_inline '[...]': target specific option mismatch
061c6c
%configure --disable-static --enable-libwebpmux \
061c6c
           --enable-libwebpdemux --enable-libwebpdecoder \
061c6c
           --disable-neon
061c6c
%make_build V=1
061c6c
061c6c
# swig generated Java bindings
061c6c
cp %{SOURCE1} .
061c6c
cd swig
061c6c
rm -rf libwebp.jar libwebp_java_wrap.c
061c6c
mkdir -p java/com/google/webp
061c6c
swig -ignoremissing -I../src -java \
061c6c
    -package com.google.webp  \
061c6c
    -outdir java/com/google/webp \
061c6c
    -o libwebp_java_wrap.c libwebp.swig
061c6c
061c6c
gcc %{__global_ldflags} %{optflags} -shared \
061c6c
    -I/usr/lib/jvm/java/include \
061c6c
    -I/usr/lib/jvm/java/include/linux \
061c6c
    -I../src \
061c6c
    -L../src/.libs -lwebp libwebp_java_wrap.c \
061c6c
    -o libwebp_jni.so
061c6c
061c6c
cd java
061c6c
javac com/google/webp/libwebp.java
061c6c
jar cvf ../libwebp.jar com/google/webp/*.class
061c6c
061c6c
061c6c
%install
061c6c
%make_install
061c6c
find "%{buildroot}/%{_libdir}" -type f -name "*.la" -delete
061c6c
061c6c
# swig generated Java bindings
061c6c
mkdir -p %{buildroot}/%{_libdir}/%{name}-java
061c6c
cp swig/*.jar swig/*.so %{buildroot}/%{_libdir}/%{name}-java/
061c6c
061c6c
061c6c
%ldconfig_scriptlets
061c6c
061c6c
061c6c
%files tools
061c6c
%{_bindir}/cwebp
061c6c
%{_bindir}/dwebp
061c6c
%{_bindir}/gif2webp
061c6c
%{_bindir}/img2webp
061c6c
%{_bindir}/webpinfo
061c6c
%{_bindir}/webpmux
061c6c
%{_bindir}/vwebp
061c6c
%{_mandir}/man*/*
061c6c
061c6c
%files -n %{name}
061c6c
%doc README PATENTS NEWS AUTHORS
061c6c
%license COPYING
061c6c
%{_libdir}/%{name}.so.7*
061c6c
%{_libdir}/%{name}decoder.so.3*
061c6c
%{_libdir}/%{name}demux.so.2*
061c6c
%{_libdir}/%{name}mux.so.3*
061c6c
061c6c
%files devel
061c6c
%{_libdir}/%{name}*.so
061c6c
%{_includedir}/*
061c6c
%{_libdir}/pkgconfig/*
061c6c
061c6c
%files java
061c6c
%doc libwebp_jni_example.java
061c6c
%{_libdir}/%{name}-java/
061c6c
061c6c
061c6c
%changelog
302caf
* Wed Apr 26 2023 Martin Stransky <stransky@redhat.com> - 1.0.0-8
302caf
- Added fix for mzbz#1819244
302caf
07a7da
* Thu May 27 2021 Martin Stransky <stransky@redhat.com> - 1.0.0-5
07a7da
- Added fixes for rhbz#1956853, rhbz#1956856, rhbz#1956868, rhbz#1956917
07a7da
6c61f8
* Mon May 17 2021 Martin Stransky <stransky@redhat.com> - 1.0.0-3
6c61f8
- Added fixes for rhbz#1956829, rhbz#1956843, rhbz#1956919
6c61f8
061c6c
* Thu Apr 26 2018 Sandro Mani <manisandro@gmail.com> - 1.0.0-1
061c6c
- Update to 1.0.0
061c6c
061c6c
* Tue Feb 27 2018 Sandro Mani <manisandro@gmail.com> - 0.6.1-8
061c6c
- Fix LDFLAGS not passed when building libwebp_jni.so (#1548718)
061c6c
061c6c
* Mon Feb 26 2018 Sandro Mani <manisandro@gmail.com> - 0.6.1-7
061c6c
- More big-endian fixes
061c6c
061c6c
* Fri Feb 16 2018 Sandro Mani <manisandro@gmail.com> - 0.6.1-6
061c6c
- Backport another big-endian fix
061c6c
061c6c
* Fri Feb 16 2018 Sandro Mani <manisandro@gmail.com> - 0.6.1-5
061c6c
- Backport upstream big-endian fix
061c6c
061c6c
* Tue Feb 13 2018 Sandro Mani <manisandro@gmail.com> - 0.6.1-4
061c6c
- Rebuild (giflib)
061c6c
061c6c
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.1-3
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
061c6c
061c6c
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.6.1-2
061c6c
- Switch to %%ldconfig_scriptlets
061c6c
061c6c
* Thu Nov 30 2017 Sandro Mani <manisandro@gmail.com> - 0.6.1-1
061c6c
- Update to 0.6.1
061c6c
061c6c
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-4
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
061c6c
061c6c
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-3
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
061c6c
061c6c
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-2
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
061c6c
061c6c
* Wed Feb 01 2017 Sandro Mani <manisandro@gmail.com> - 0.6.0-1
061c6c
- Update to 0.6.0
061c6c
061c6c
* Thu Dec 22 2016 Sandro Mani <manisandro@gmail.com> - 0.5.2-1
061c6c
- Update to 0.5.2
061c6c
061c6c
* Sat Oct 29 2016 Sandro Mani <manisandro@gmail.com> - 0.5.1-2
061c6c
- Backport e2affacc35f1df6cc3b1a9fa0ceff5ce2d0cce83 (CVE-2016-9085, rhbz#1389338)
061c6c
061c6c
* Fri Aug 12 2016 Sandro Mani <manisandro@gmail.com> - 0.5.1-1
061c6c
- upstream release 0.5.1
061c6c
061c6c
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
061c6c
061c6c
* Mon Dec 28 2015 Sandro Mani <manisandro@gmail.com> - 0.5.0-1
061c6c
- upstream release 0.5.0
061c6c
061c6c
* Fri Oct 30 2015 Sandro Mani <manisandro@gmail.com> - 0.4.4-1
061c6c
- upstream release 0.4.4
061c6c
061c6c
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.3-3
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
061c6c
061c6c
* Fri Mar 27 2015 Sandro Mani <manisandro@gmail.com> - 0.4.3-2
061c6c
- Add BuildRequires: freeglut-devel to build vwebp
061c6c
061c6c
* Thu Mar 12 2015 Sandro Mani <manisandro@gmail.com> - 0.4.3-1
061c6c
- upstream release 0.4.3
061c6c
061c6c
* Fri Oct 17 2014 Sandro Mani <manisandro@gmail.com> - 0.4.2-1
061c6c
- upstream release 0.4.2
061c6c
061c6c
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.1-3
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
061c6c
061c6c
* Wed Aug 13 2014 Peter Robinson <pbrobinson@fedoraproject.org> 0.4.1-2
061c6c
- Use frename-registers cflag to fix FTBFS on aarch64
061c6c
061c6c
* Tue Aug 05 2014 Sandro Mani <manisandro@gmail.com> - 0.4.1-1
061c6c
- upstream release 0.4.1
061c6c
061c6c
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-4
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
061c6c
061c6c
* Tue Apr 08 2014 Jaromir Capik <jcapik@redhat.com> - 0.4.0-3
061c6c
- Fixing endian checks (#962091)
061c6c
- Fixing FTPBS caused by rpath presence
061c6c
061c6c
* Fri Mar 28 2014 Michael Simacek <msimacek@redhat.com> - 0.4.0-2
061c6c
- Use Requires: java-headless rebuild (#1067528)
061c6c
061c6c
* Thu Jan 02 2014 Sandro Mani <manisandro@gmail.com> - 0.4.0-1
061c6c
- upstream release 0.4.0
061c6c
061c6c
* Wed Oct 02 2013 Sandro Mani <manisandro@gmail.com> - 0.3.1-2
061c6c
- enable webpdemux
061c6c
061c6c
* Sun Aug 04 2013 Sandro Mani <manisandro@gmail.com> - 0.3.1-1
061c6c
- upstream release 0.3.1
061c6c
061c6c
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.0-2
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
061c6c
061c6c
* Mon May 13 2013 Rahul Sundaram <sundaram@fedoraproject.org> - 0.3.0-1
061c6c
- upstream release 0.3.0
061c6c
- enable gif2webp
061c6c
- add build requires on giflib-devel and libtiff-devel
061c6c
- use make_install and hardened macros
061c6c
- list binaries explicitly
061c6c
061c6c
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.1-3
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
061c6c
061c6c
* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 0.2.1-2
061c6c
- rebuild due to "jpeg8-ABI" feature drop
061c6c
061c6c
* Thu Dec 27 2012 Rahul Sundaram <sundaram@fedoraproject.org> - 0.2.1-1
061c6c
- new upstream release 0.2.1
061c6c
061c6c
* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 0.1.3-3
061c6c
- rebuild against new libjpeg
061c6c
061c6c
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.3-2
061c6c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
061c6c
061c6c
* Thu Feb 02 2012 Rahul Sundaram <sundaram@fedoraproject.org> - 0.1.3-1
061c6c
- Several spec improvements by Scott Tsai <scottt.tw@gmail.com>
061c6c
061c6c
* Wed May 25 2011 Rahul Sundaram <sundaram@fedoraproject.org> - 0.1.2-1
061c6c
- Initial spec. Based on openSUSE one