commit 235872db905546b0a59744979e38a563e0a6bef7 Author: Toshaan Bharvani Date: Thu Mar 9 16:36:17 2023 +0100 initial pacckage creation Signed-off-by: Toshaan Bharvani diff --git a/SOURCES/libwebp-freeglut.patch b/SOURCES/libwebp-freeglut.patch new file mode 100644 index 0000000..99facf6 --- /dev/null +++ b/SOURCES/libwebp-freeglut.patch @@ -0,0 +1,26 @@ +diff -rupN --no-dereference libwebp-1.2.0/CMakeLists.txt libwebp-1.2.0-new/CMakeLists.txt +--- libwebp-1.2.0/CMakeLists.txt 2021-01-21 04:43:45.000000000 +0100 ++++ libwebp-1.2.0-new/CMakeLists.txt 2021-02-01 11:37:20.760764115 +0100 +@@ -506,8 +506,8 @@ endif() + + if(WEBP_BUILD_VWEBP) + # vwebp +- find_package(GLUT) +- if(GLUT_FOUND) ++ find_package(FreeGLUT) ++ if(FreeGLUT_FOUND) + include_directories(${WEBP_DEP_IMG_INCLUDE_DIRS}) + parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/examples "VWEBP_SRCS" "vwebp") + add_executable(vwebp ${VWEBP_SRCS}) +diff -rupN --no-dereference libwebp-1.2.0/examples/vwebp.c libwebp-1.2.0-new/examples/vwebp.c +--- libwebp-1.2.0/examples/vwebp.c 2021-01-21 04:43:45.000000000 +0100 ++++ libwebp-1.2.0-new/examples/vwebp.c 2021-02-01 11:37:20.760764115 +0100 +@@ -27,7 +27,7 @@ + #if defined(HAVE_GLUT_GLUT_H) + #include + #else +-#include ++#include + #ifdef FREEGLUT + #include + #endif diff --git a/SOURCES/libwebp_jni_example.java b/SOURCES/libwebp_jni_example.java new file mode 100644 index 0000000..d28d9b8 --- /dev/null +++ b/SOURCES/libwebp_jni_example.java @@ -0,0 +1,27 @@ +import com.google.webp.libwebp; + +import java.lang.reflect.Method; + +public class libwebp_jni_example { + static { + try { + System.load("/usr/lib64/libwebp-java/libwebp_jni.so"); + } catch (UnsatisfiedLinkError e) { + System.load("/usr/lib/libwebp-java/libwebp_jni.so"); + } + } + + /** + * usage: java -cp libwebp.jar:. libwebp_jni_example + */ + public static void main(String argv[]) { + final int version = libwebp.WebPGetDecoderVersion(); + System.out.println("libwebp version: " + Integer.toHexString(version)); + + System.out.println("libwebp methods:"); + final Method[] libwebpMethods = libwebp.class.getDeclaredMethods(); + for (int i = 0; i < libwebpMethods.length; i++) { + System.out.println(libwebpMethods[i]); + } + } +} diff --git a/SPECS/libwebp.spec b/SPECS/libwebp.spec new file mode 100644 index 0000000..42f5852 --- /dev/null +++ b/SPECS/libwebp.spec @@ -0,0 +1,318 @@ +%global _hardened_build 1 + +Name: libwebp +Version: 1.2.0 +Release: 3%{?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/%{name}-%{version}.tar.gz +Source1: libwebp_jni_example.java +Patch0: libwebp-freeglut.patch + +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +BuildRequires: giflib-devel +BuildRequires: libtiff-devel +BuildRequires: java-devel +BuildRequires: jpackage-utils +BuildRequires: swig +BuildRequires: autoconf automake libtool +BuildRequires: freeglut-devel +BuildRequires: make + +%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} + +%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 + + +%build +autoreconf -vif +%ifarch aarch64 +export CFLAGS="%{optflags} -frename-registers" +%endif +# Neon disabled due to resulting CFLAGS conflict resulting in +# inlining failed in call to always_inline '[...]': target specific option mismatch +%configure --disable-static --enable-libwebpmux \ + --enable-libwebpdemux --enable-libwebpdecoder \ + --disable-neon +%make_build V=1 +make -C examples vwebp + +# 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 + +gcc %{__global_ldflags} %{optflags} -shared \ + -I/usr/lib/jvm/java/include \ + -I/usr/lib/jvm/java/include/linux \ + -I../src \ + -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 +%make_install +find "%{buildroot}/%{_libdir}" -type f -name "*.la" -delete + +# swig generated Java bindings +mkdir -p %{buildroot}/%{_libdir}/%{name}-java +cp swig/*.jar swig/*.so %{buildroot}/%{_libdir}/%{name}-java/ + + +%ldconfig_scriptlets + + +%files tools +%{_bindir}/cwebp +%{_bindir}/dwebp +%{_bindir}/gif2webp +%{_bindir}/img2webp +%{_bindir}/webpinfo +%{_bindir}/webpmux +%{_bindir}/vwebp +%{_mandir}/man*/* + +%files -n %{name} +%doc README PATENTS NEWS AUTHORS +%license COPYING +%{_libdir}/%{name}.so.7* +%{_libdir}/%{name}decoder.so.3* +%{_libdir}/%{name}demux.so.2* +%{_libdir}/%{name}mux.so.3* + +%files devel +%{_libdir}/%{name}*.so +%{_includedir}/* +%{_libdir}/pkgconfig/* + +%files java +%doc libwebp_jni_example.java +%{_libdir}/%{name}-java/ + + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 1.2.0-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* 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