summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libwebp.spec156
-rw-r--r--libwebp_jni_example.java27
2 files changed, 183 insertions, 0 deletions
diff --git a/libwebp.spec b/libwebp.spec
new file mode 100644
index 0000000..f9076f2
--- /dev/null
+++ b/libwebp.spec
@@ -0,0 +1,156 @@
+%global _hardened_build 1
+Name: libwebp
+Version: 0.3.1
+Release: 2%{?dist}
+Group: Development/Libraries
+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://webp.googlecode.com/files/%{name}-%{version}.tar.gz
+Source1: libwebp_jni_example.java
+BuildRequires: libjpeg-devel libpng-devel libtool swig
+BuildRequires: giflib-devel
+BuildRequires: libtiff-devel
+BuildRequires: java-devel
+BuildRequires: jpackage-utils
+
+%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
+Group: Development/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
+Group: Development/Libraries
+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
+Group: Development/Libraries
+Summary: Java bindings for libwebp, a library for the WebP format
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: java
+Requires: jpackage-utils
+
+%description java
+Java bindings for libwebp.
+
+%prep
+%setup -q
+
+%build
+./autogen.sh
+%configure --disable-static --enable-libwebpmux --enable-libwebpdemux
+make %{?_smp_mflags}
+
+# 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.i
+
+gcc %{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/
+
+%post -n %{name} -p /sbin/ldconfig
+
+%postun -n %{name} -p /sbin/ldconfig
+
+%files tools
+%{_bindir}/cwebp
+%{_bindir}/dwebp
+%{_bindir}/gif2webp
+%{_bindir}/webpmux
+%{_mandir}/man*/*
+
+%files -n %{name}
+%doc README PATENTS COPYING NEWS AUTHORS
+%{_libdir}/%{name}*.so.*
+
+%files devel
+%{_libdir}/%{name}*.so
+%{_includedir}/*
+%{_libdir}/pkgconfig/*
+
+%files java
+%doc libwebp_jni_example.java
+%{_libdir}/%{name}-java/
+
+%changelog
+* Wed Oct 02 2013 Sandro Mani <manisandro@gmail.com> - 0.3.1-2
+- enable webpdemux
+
+* Sun Aug 04 2013 Sandro Mani <manisandro@gmail.com> - 0.3.1-1
+- upstream release 0.3.1
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Mon May 13 2013 Rahul Sundaram <sundaram@fedoraproject.org> - 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 <rel-eng@lists.fedoraproject.org> - 0.2.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 0.2.1-2
+- rebuild due to "jpeg8-ABI" feature drop
+
+* Thu Dec 27 2012 Rahul Sundaram <sundaram@fedoraproject.org> - 0.2.1-1
+- new upstream release 0.2.1
+
+* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 0.1.3-3
+- rebuild against new libjpeg
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Thu Feb 02 2012 Rahul Sundaram <sundaram@fedoraproject.org> - 0.1.3-1
+- Several spec improvements by Scott Tsai <scottt.tw@gmail.com>
+
+* Wed May 25 2011 Rahul Sundaram <sundaram@fedoraproject.org> - 0.1.2-1
+- Initial spec. Based on openSUSE one
+
diff --git a/libwebp_jni_example.java b/libwebp_jni_example.java
new file mode 100644
index 0000000..d28d9b8
--- /dev/null
+++ b/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]);
+ }
+ }
+}