Browse Source

libvpx-1.7.0-1

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@11504 ec354946-7b23-47d6-9f5a-488ba84defc7
tomop 6 years ago
parent
commit
56ac94604c
1 changed files with 88 additions and 44 deletions
  1. 88 44
      lib/libv/libvpx/libvpx-vl.spec

+ 88 - 44
lib/libv/libvpx/libvpx-vl.spec

@@ -1,13 +1,19 @@
+%global somajor 5
+%global sominor 0
+%global sotiny  0
+%global soversion %{somajor}.%{sominor}.%{sotiny}
+
 Name:		libvpx
-Version:	1.1.0
+Version:	1.7.0
 Release:	1%{?_dist_release}
-Summary:        The VP8 Codec SDK
-Summary(ja):	VP8 コーデックソフトウェア開発キット
+Summary:        The VP8/VP9 Codec SDK
+Summary(ja):	VP8/VP9 コーデックソフトウェア開発キット
 
 Group:		System Environment/Libraries
 License:	BSD
-URL:		http://www.webmproject.org/tools/vp8-sdk/
-Source0:        http://webm.googlecode.com/files/%{name}-v%{version}.tar.bz2
+URL:		http://www.webmproject.org/code/
+Source0:        https://github.com/webmproject/libvpx/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+Source1:        vpx_config.h
 Source2:        libvpx.ver
 
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root
@@ -20,15 +26,15 @@ Distribution: Vine Linux
 Packager: daisuke
 
 %description
-The WebM VP8 Codec SDK allows you to integrate your applications with
-the VP8 video codec, a high quality, royalty free, open source codec 
+The WebM VP8/VP9 Codec SDK allows you to integrate your applications with
+the VP8/VP9 video codec, a high quality, royalty free, open source codec 
 deployed on millions of computers and devices worldwide.
 
 %description -l ja
-WebM VP8 コーデック SDK は、VP8 ビデオコーデックをアプリケーションに
-統合するための開発きっとです。VP8ビデオコーデックは高品質でロイヤリティ
-フリーかつオープンソースのコーデックで、世界中の多くのコンピュータや
-デバイスで利用されています。
+WebM VP8/VP9 コーデック SDK は、VP8/VP9 ビデオコーデックをアプリケーションに
+統合するための開発キットです。VP8/VP9ビデオコーデックは高品質でロイヤリティフリー
+かつオープンソースのコーデックで、世界中の多くのコンピュータやデバイスで利用されて
+います。
 
 %package devel
 Summary:	Development files for %{name}
@@ -59,7 +65,7 @@ use %{name}.
 
 
 %prep
-%setup -q -n %{name}-v%{version}
+%setup -q
 
 %build
 
@@ -82,59 +88,62 @@ use %{name}.
 ./configure \
  --target=%{vpxtarget} \
  --enable-pic \
+ --enable-experimental --enable-spatial-svc \
+ --enable-vp9-highbitdepth \
 %if ! %{generic_target}
  --enable-shared \
 %endif
  --prefix=%{_prefix} \
  --libdir=%{_libdir} \
  --disable-install-docs \
- --disable-install-srcs
+ --enable-install-srcs \
+ --size-limit=16384x16384
 
 # fix up optflags
 sed -i "s|-O3|%{optflags}|g" libs-%{vpxtarget}.mk
 sed -i "s|-O3|%{optflags}|g" examples-%{vpxtarget}.mk
 sed -i "s|-O3|%{optflags}|g" docs-%{vpxtarget}.mk
 
-%{__make} %{?_smp_mflags} verbose=true target=libs
+%{__make} %{?_smp_mflags} verbose=true
 
+# Manual shared library creation
+# We should never need to do this anymore, and if we do, we need to fix the version-script.
 %if %{generic_target}
-mkdir -p tmp
-pushd tmp
+mkdir tmp
+cd tmp
 ar x ../libvpx_g.a
-popd
-gcc -shared -fPIC -pthread -lm \
-    -Wl,--no-undefined \
-    -Wl,-soname,libvpx.so.0 \
-    -Wl,--version-script,%{SOURCE2} \
-    -Wl,-z,noexecstack \
-    -o libvpx.so.%{version} tmp/*.o
+cd ..
+gcc -fPIC -shared -pthread -lm -Wl,--no-undefined -Wl,-soname,libvpx.so.%{somajor} -Wl,--version-script,%{SOURCE2} -Wl,-z,noexecstack -o libvpx.so.%{soversion}
+tmp/*.o
 rm -rf tmp
 %endif
 
-ln -sf libvpx.so.%{version} libvpx.so
-
-mv libvpx.a libvpx.a.tmp
-mv libvpx_g.a libvpx_g.a.tmp
-
-make %{?_smp_mflags} verbose=true target=examples
-
-mv libvpx.a.tmp libvpx.a
-mv libvpx_g.a.tmp libvpx_g.a
-
 %install
 %{__rm} -rf $RPM_BUILD_ROOT
 %{__make} DIST_DIR=$RPM_BUILD_ROOT%{_prefix} dist
 
+# Simpler to label the dir as %%doc.
+if [ -d %{buildroot}/usr/docs ]; then
+   mv %{buildroot}/usr/docs doc/
+fi
+
+# Again, we should never need to do this anymore.
 %if %{generic_target}
-install -p libvpx.so.%{version} %{buildroot}%{_libdir}
+install -p libvpx.so.%{soversion} %{buildroot}%{_libdir}
 pushd %{buildroot}%{_libdir}
-ln -sf libvpx.so.%{version} libvpx.so
-ln -sf libvpx.so.%{version} libvpx.so.1
-ln -sf libvpx.so.%{version} libvpx.so.1.1
+ln -sf libvpx.so.%{soversion} libvpx.so
+ln -sf libvpx.so.%{soversion} libvpx.so.%{somajor}
+ln -sf libvpx.so.%{soversion} libvpx.so.%{somajor}.%{sominor}
 popd
 %endif
 
 pushd %{buildroot}
+# Stuff we don't need.
+rm -rf usr/build/ usr/md5sums.txt usr/lib*/*.a usr/CHANGELOG usr/README
+# No, bad google. No treat.
+mv usr/bin/examples/* usr/bin/
+rm -rf usr/bin/examples
+
 # Rename a few examples
 mv usr/bin/postproc usr/bin/vp8_postproc
 mv usr/bin/simple_decoder usr/bin/vp8_simple_decoder
@@ -144,11 +153,36 @@ mv usr/bin/twopass_encoder usr/bin/vp8_twopass_encoder
 chmod 755 usr/bin/*
 popd
 
-rm -f $RPM_BUILD_ROOT%{_prefix}/md5sums.txt
-rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.a
-rm -f $RPM_BUILD_ROOT%{_prefix}/{CHANGELOG,README}
-rm -rf $RPM_BUILD_ROOT%{_prefix}/build
+# Get the vpx_config.h file
+%ifarch %{arm}
+cp -a vpx_config.h %{buildroot}%{_includedir}/vpx/vpx_config-arm.h
+%else
+# Does ppc64le need its own?
+%ifarch ppc64 ppc64le
+cp -a vpx_config.h %{buildroot}%{_includedir}/vpx/vpx_config-ppc64.h
+%else
+%ifarch s390 s390x
+cp -a vpx_config.h %{buildroot}%{_includedir}/vpx/vpx_config-s390.h
+%else
+%ifarch %{ix86}
+cp -a vpx_config.h %{buildroot}%{_includedir}/vpx/vpx_config-x86.h
+%else
+cp -a vpx_config.h %{buildroot}%{_includedir}/vpx/vpx_config-%{_arch}.h
+%endif
+%endif
+%endif
+%endif
+
+cp %{SOURCE1} %{buildroot}%{_includedir}/vpx/vpx_config.h
+# for timestamp sync
+touch -r AUTHORS %{buildroot}%{_includedir}/vpx/vpx_config.h
 
+mv %{buildroot}%{_prefix}/src/vpx_dsp %{buildroot}%{_includedir}/
+mv %{buildroot}%{_prefix}/src/vpx_mem %{buildroot}%{_includedir}/
+mv %{buildroot}%{_prefix}/src/vpx_ports %{buildroot}%{_includedir}/
+mv %{buildroot}%{_prefix}/src/vpx_scale %{buildroot}%{_includedir}/
+
+rm -rf %{buildroot}%{_prefix}/src
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -166,9 +200,14 @@ rm -rf $RPM_BUILD_ROOT
 
 %files devel
 %defattr(-,root,root,-)
-%{_libdir}/*.so
-%{_libdir}/pkgconfig/*.pc
-%{_includedir}/vpx/*.h
+%doc docs/html/
+%{_includedir}/vpx/
+%{_includedir}/vpx_dsp/
+%{_includedir}/vpx_mem/
+%{_includedir}/vpx_ports/
+%{_includedir}/vpx_scale/
+%{_libdir}/pkgconfig/vpx.pc
+%{_libdir}/libvpx.so
 
 %files utils
 %defattr(-,root,root,-)
@@ -176,6 +215,11 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Thu Feb 22 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.7.0-1
+- new upstream release.
+- updated Source2.
+- added Source1.
+
 * Mon Oct 08 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.1.0-1
 - new upstream release
 - remove Patch0 (libvpx-0.9.0-no-explicit-dep-on-static-lib.patch)