%global _hardened_build 1 %global realname libwebp %global _root_prefix %{_prefix} %global _root_libdir %{_root_prefix}/%{_lib} %global _root_bindir %{_root_prefix}/bin %global _prefix /opt/rx %global _libdir %{_prefix}/%{_lib} %global _bindir %{_prefix}/bin %global _datadir %{_prefix}/share %global _mandir %{_prefix}/share/man %global _includedir %{_prefix}/include Name: rx-libwebp Version: 1.4.0 Release: 1%{?dist} URL: http://webmproject.org/ Summary: Library and tools for the WebP graphics format # Additional IPR is licensed as well. See PATENTS file for details License: BSD Source0: http://downloads.webmproject.org/releases/webp/%{realname}-%{version}.tar.gz Source1: libwebp_jni_example.java # Fix build with freeglut Patch0: libwebp-freeglut.patch # Fix cmake module install location Patch2: fix-cmake-files-location.patch # Kill rpath #Patch3: libwebp-rpath.patch #BuildRequires: rx-libjpeg-turbo-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: giflib-devel BuildRequires: libtiff-devel BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: swig BuildRequires: ninja-build BuildRequires: freeglut-devel BuildRequires: cmake BuildRequires: clang #Requires: rx-libjpeg-turbo %description WebP is an image format that does lossy compression of digital photographic images. WebP consists of a codec based on VP8, and a container based on RIFF. Webmasters, web developers and browser developers can use WebP to compress, archive and distribute digital images more efficiently. %package tools Summary: The WebP command line tools %description tools WebP is an image format that does lossy compression of digital photographic images. WebP consists of a codec based on VP8, and a container based on RIFF. Webmasters, web developers and browser developers can use WebP to compress, archive and distribute digital images more efficiently. %package devel Summary: Development files for libwebp, a library for the WebP format Requires: %{name}%{?_isa} = %{version}-%{release} Provides: pkgconfig(libsharpyuv) = %{version}-%{release} Provides: pkgconfig(libwebp) = %{version}-%{release} Provides: pkgconfig(libwebpdecoder) = %{version}-%{release} Provides: pkgconfig(libwebpdemux) = %{version}-%{release} Provides: pkgconfig(libwebpmux) = %{version}-%{release} %description devel WebP is an image format that does lossy compression of digital photographic images. WebP consists of a codec based on VP8, and a container based on RIFF. Webmasters, web developers and browser developers can use WebP to compress, archive and distribute digital images more efficiently. %package java Summary: Java bindings for libwebp, a library for the WebP format Requires: %{name}%{?_isa} = %{version}-%{release} Requires: java-headless Requires: jpackage-utils %description java Java bindings for libwebp. %prep %autosetup -p1 -n %{realname}-%{version} %build %ifarch aarch64 export CFLAGS="%{optflags} -frename-registers" %endif export LDFLAGS="%{build_ldflags} -L%{_libdir} -Wl,-rpath=%{_libdir}" export CC=clang export CXX=clang++ # Native build %cmake -DCMAKE_CONFIG_PREFIX=%{_libdir} %cmake_build # swig generated Java bindings cp %{SOURCE1} . cd swig rm -rf libwebp.jar libwebp_java_wrap.c mkdir -p java/com/google/webp swig -ignoremissing -I../src -java \ -package com.google.webp \ -outdir java/com/google/webp \ -o libwebp_java_wrap.c libwebp.swig clang %{__global_ldflags} %(echo %{optflags} | sed 's/-fcf-protection//')-shared -fPIC \ -I/usr/lib/jvm/java/include \ -I/usr/lib/jvm/java/include/linux \ -I../src \ -L.. \ -L../src/.libs -lwebp libwebp_java_wrap.c \ -o libwebp_jni.so cd java javac com/google/webp/libwebp.java jar cvf ../libwebp.jar com/google/webp/*.class %install %cmake_install find "%{buildroot}/%{_libdir}" -type f -name "*.la" -delete # swig generated Java bindings mkdir -p %{buildroot}/%{_libdir}/%{realname}-java cp swig/*.jar swig/*.so %{buildroot}/%{_libdir}/%{realname}-java/ #mkdir -p %{buildroot}%{_root_libdir}/ #mv %{buildroot}%{_libdir}/pkgconfig %{buildroot}%{_root_libdir}/ mkdir -p %{buildroot}%{_root_bindir} for b in cwebp dwebp gif2webp img2webp webpinfo webpmux do ln -sf %{_bindir}/$b %{buildroot}%{_root_bindir}/${b}-1.3 done %ldconfig_scriptlets %files tools %{_bindir}/cwebp %{_bindir}/dwebp %{_bindir}/gif2webp %{_bindir}/img2webp %{_bindir}/webpinfo %{_bindir}/webpmux %{_root_bindir}/*-1.3 %{_mandir}/man*/* %files -n %{name} %doc README.md PATENTS NEWS AUTHORS %license COPYING %{_libdir}/%{realname}.so.7* %{_libdir}/%{realname}decoder.so.3* %{_libdir}/%{realname}demux.so.2* %{_libdir}/%{realname}mux.so.3* %{_libdir}/libsharpyuv.so.0* %files devel %{_libdir}/%{realname}*.so %{_libdir}/libsharpyuv.so %{_includedir}/* %{_libdir}/pkgconfig/*.pc %{_libdir}/cmake/WebP/ %files java %doc libwebp_jni_example.java %{_libdir}/%{realname}-java/ %changelog * Tue May 7 2024 Raven - 1.4.0-1 - Update to 1.4.0 * Wed Dec 20 2023 Raven - 1.3.2-1 - Update to 1.3.2 * Fri Apr 16 2021 Mohan Boddu - 1.2.0-2 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 * Mon Feb 01 2021 Sandro Mani - 1.2.0-1 - Update to 1.2.0 * Tue Jan 26 2021 Fedora Release Engineering - 1.1.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 1.1.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Sat Jul 11 2020 Jiri Vanek - 1.1.0-4 - Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 * Mon May 18 2020 Sandro Mani - 1.1.0-3 - Don't manually and incorrectly install vwebp, Makefile already does it correctly (#1836640) * Wed Jan 29 2020 Fedora Release Engineering - 1.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Tue Jan 07 2020 Sandro Mani - 1.1.0-1 - Update to 1.1.0 * Tue Sep 17 2019 Gwyn Ciesla - 1.0.3-3 - Rebuilt for new freeglut * Thu Jul 25 2019 Fedora Release Engineering - 1.0.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Mon Jul 15 2019 Sandro Mani - 1.0.3-1 - Update to 1.0.3 * Fri Feb 01 2019 Fedora Release Engineering - 1.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Tue Jan 22 2019 Sandro Mani - 1.0.2-1 - Update to 1.0.2 * Fri Jul 13 2018 Fedora Release Engineering - 1.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu Apr 26 2018 Sandro Mani - 1.0.0-1 - Update to 1.0.0 * Tue Feb 27 2018 Sandro Mani - 0.6.1-8 - Fix LDFLAGS not passed when building libwebp_jni.so (#1548718) * Mon Feb 26 2018 Sandro Mani - 0.6.1-7 - More big-endian fixes * Fri Feb 16 2018 Sandro Mani - 0.6.1-6 - Backport another big-endian fix * Fri Feb 16 2018 Sandro Mani - 0.6.1-5 - Backport upstream big-endian fix * Tue Feb 13 2018 Sandro Mani - 0.6.1-4 - Rebuild (giflib) * Wed Feb 07 2018 Fedora Release Engineering - 0.6.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sat Feb 03 2018 Igor Gnatenko - 0.6.1-2 - Switch to %%ldconfig_scriptlets * Thu Nov 30 2017 Sandro Mani - 0.6.1-1 - Update to 0.6.1 * Thu Aug 03 2017 Fedora Release Engineering - 0.6.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 0.6.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 0.6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Feb 01 2017 Sandro Mani - 0.6.0-1 - Update to 0.6.0 * Thu Dec 22 2016 Sandro Mani - 0.5.2-1 - Update to 0.5.2 * Sat Oct 29 2016 Sandro Mani - 0.5.1-2 - Backport e2affacc35f1df6cc3b1a9fa0ceff5ce2d0cce83 (CVE-2016-9085, rhbz#1389338) * Fri Aug 12 2016 Sandro Mani - 0.5.1-1 - upstream release 0.5.1 * Thu Feb 04 2016 Fedora Release Engineering - 0.5.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Mon Dec 28 2015 Sandro Mani - 0.5.0-1 - upstream release 0.5.0 * Fri Oct 30 2015 Sandro Mani - 0.4.4-1 - upstream release 0.4.4 * Wed Jun 17 2015 Fedora Release Engineering - 0.4.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Fri Mar 27 2015 Sandro Mani - 0.4.3-2 - Add BuildRequires: freeglut-devel to build vwebp * Thu Mar 12 2015 Sandro Mani - 0.4.3-1 - upstream release 0.4.3 * Fri Oct 17 2014 Sandro Mani - 0.4.2-1 - upstream release 0.4.2 * Sun Aug 17 2014 Fedora Release Engineering - 0.4.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Wed Aug 13 2014 Peter Robinson 0.4.1-2 - Use frename-registers cflag to fix FTBFS on aarch64 * Tue Aug 05 2014 Sandro Mani - 0.4.1-1 - upstream release 0.4.1 * Sat Jun 07 2014 Fedora Release Engineering - 0.4.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Tue Apr 08 2014 Jaromir Capik - 0.4.0-3 - Fixing endian checks (#962091) - Fixing FTPBS caused by rpath presence * Fri Mar 28 2014 Michael Simacek - 0.4.0-2 - Use Requires: java-headless rebuild (#1067528) * Thu Jan 02 2014 Sandro Mani - 0.4.0-1 - upstream release 0.4.0 * Wed Oct 02 2013 Sandro Mani - 0.3.1-2 - enable webpdemux * Sun Aug 04 2013 Sandro Mani - 0.3.1-1 - upstream release 0.3.1 * Sat Aug 03 2013 Fedora Release Engineering - 0.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Mon May 13 2013 Rahul Sundaram - 0.3.0-1 - upstream release 0.3.0 - enable gif2webp - add build requires on giflib-devel and libtiff-devel - use make_install and hardened macros - list binaries explicitly * Thu Feb 14 2013 Fedora Release Engineering - 0.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Jan 18 2013 Adam Tkac - 0.2.1-2 - rebuild due to "jpeg8-ABI" feature drop * Thu Dec 27 2012 Rahul Sundaram - 0.2.1-1 - new upstream release 0.2.1 * Fri Dec 21 2012 Adam Tkac - 0.1.3-3 - rebuild against new libjpeg * Thu Jul 19 2012 Fedora Release Engineering - 0.1.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu Feb 02 2012 Rahul Sundaram - 0.1.3-1 - Several spec improvements by Scott Tsai * Wed May 25 2011 Rahul Sundaram - 0.1.2-1 - Initial spec. Based on openSUSE one