X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=libvpx.spec;h=b1ddb49959e85ea39460411b61f9725f7c7b913a;hb=refs%2Ftags%2Fauto%2Fth%2Flibvpx-1.4.0-0.1;hp=5f3065272272b42a33a2a6aedb5699d9b0eb48bf;hpb=d5d82930cc90f280a80a6c6ca5391dfc2bb8cac1;p=packages%2Flibvpx.git diff --git a/libvpx.spec b/libvpx.spec index 5f30652..b1ddb49 100644 --- a/libvpx.spec +++ b/libvpx.spec @@ -1,29 +1,58 @@ # # Conditional build: %bcond_without asm # x86 assembler -# +%bcond_without doc # don't build doc +%bcond_with tests # build tests (not useful, creates libgtest.a) +%bcond_without ssse3 # use SSSE3 instructions (Intel since Core2, Via Nano) + +%ifnarch %{ix86} %{x8664} +%undefine with_asm +%endif + +%if "%{pld_release}" == "ac" +# not supported by compiler +%undefine with_ssse3 +%endif + Summary: VP8, a high-quality video codec Summary(pl.UTF-8): VP8 - kodek obrazu wysokiej jakości Name: libvpx -Version: 0.9.5 -Release: 1 +Version: 1.4.0 +Release: 0.1 License: BSD Group: Libraries -#Source0-Download: http://code.google.com/p/webm/downloads/list -Source0: http://webm.googlecode.com/files/%{name}-v%{version}.tar.bz2 -# Source0-md5: 4bf2f2c76700202c1fe9201fcb0680e3 -Source1: %{name}.ver -Patch0: %{name}-0.9.0-no-explicit-dep-on-static-lib.patch +# Source in git web, but regenerated on each fetch, so use gentoo tarball instead +#Source0: https://chromium.googlesource.com/webm/libvpx/+archive/v%{version}.tar.gz?/%{name}-%{version}.tar.gz +Source0: http://distfiles.gentoo.org/distfiles/%{name}-%{version}.tar.bz2 +# Source0-md5: 63b1d7f59636a42eeeee9225cc14e7de URL: http://www.webmproject.org/ -BuildRequires: /usr/bin/php BuildRequires: doxygen -BuildRequires: php-common >= 4:5.0.0 -BuildRequires: php-pcre -%ifarch %{ix86} %{x8664} -%{?with_asm:BuildRequires: yasm} +%{?with_tests:BuildRequires: libstdc++-devel} +BuildRequires: pkgconfig +BuildRequires: rpmbuild(macros) >= 1.673 +BuildRequires: sed >= 4.0 +%{?with_asm:BuildRequires: yasm >= 0.8} +%if %{with doc} +BuildRequires: %{php_name}-pcre +BuildRequires: %{php_name}-program %endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define generic_target generic-gnu +%define vpxtarget %{generic_target} +%ifarch %{x8664} +%define vpxtarget x86_64-linux-gcc +%endif +%ifarch %{ix86} +%define vpxtarget x86-linux-gcc +%endif +%ifarch ppc +%define vpxtarget ppc32-linux-gcc +%endif +%ifarch ppc64 +%define vpxtarget ppc64-linux-gcc +%endif + %description VP8, a high-quality video codec. @@ -55,82 +84,59 @@ Static libvpx library. Statyczna biblioteka libvpx. %prep -%setup -q -n %{name}-v%{version} -%patch0 -p1 +%setup -q %build install -d obj cd obj # not autoconf configure -CFLAGS="%{rpmcflags} %{rpmcppflags}" \ +CC="%{__cc}" \ +CXX="%{__cxx}" \ +CFLAGS="%{rpmcflags} %{rpmcppflags} %{!?with_asm:-DYUV_DISABLE_ASM}" \ ../configure \ %if %{with asm} -%ifarch %{x8664} - --target=x86_64-linux-gcc \ -%endif -%ifarch %{ix86} - --target=x86-linux-gcc \ + --as=yasm \ %endif -%else - --target=generic-gnu \ -%endif - --enable-pic \ + --target=%{vpxtarget} \ + --enable-shared \ + %{!?with_ssse3:--disable-ssse3} \ --disable-optimizations \ + --%{!?with_tests:dis}%{?with_tests:en}able-unit-tests \ + --%{!?with_doc:dis}%{?with_doc:en}able-docs \ + --%{!?with_doc:dis}%{?with_doc:en}able-install-docs \ + --enable-vp8 \ --enable-vp8 \ --enable-postproc \ --enable-runtime-cpu-detect -# disable stripping -sed -i "s|STRIP=.*|STRIP=|g" {libs,examples,docs}-*.mk - %{__make} verbose=true target=libs \ - CC="%{__cc}" - -mkdir tmp -cd tmp -ar x ../libvpx_g.a -cd .. -%{__cc} %{rpmldflags} -fPIC -shared \ - -Wl,--no-undefined -Wl,-soname,libvpx.so.0 -Wl,--version-script,%{SOURCE1} -Wl,-z,noexecstack \ - -o libvpx.so.0.0.0 tmp/*.o \ - -pthread -lm -rm -rf tmp - -# Temporarily dance the static libs out of the way -mv libvpx.a libNOTvpx.a -mv libvpx_g.a libNOTvpx_g.a - -# We need to do this so the examples can link against it. -ln -sf libvpx.so.0.0.0 libvpx.so + HAVE_GNU_STRIP=no \ + LDFLAGS="%{rpmldflags}" %{__make} verbose=true target=examples \ - CC="%{__cc}" -%{__make} verbose=true target=docs + LDFLAGS="%{rpmldflags} -L." -# Put them back so the install doesn't fail -mv libNOTvpx.a libvpx.a -mv libNOTvpx_g.a libvpx_g.a +%if %{with doc} +%{__make} verbose=true target=docs +%endif %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_bindir},%{_includedir}/vpx,%{_libdir}} -install -d outdir -%{__make} -C obj install \ - DIST_DIR=$(pwd)/outdir +%{__make} -C obj verbose=true install \ + LIBSUBDIR=%{_lib} \ + DIST_DIR=$RPM_BUILD_ROOT%{_prefix} -install -p outdir/bin/* $RPM_BUILD_ROOT%{_bindir} -install -p obj/libvpx.so.* $RPM_BUILD_ROOT%{_libdir} -ln -s libvpx.so.0.0.0 $RPM_BUILD_ROOT%{_libdir}/libvpx.so.0 -ln -s libvpx.so.0.0.0 $RPM_BUILD_ROOT%{_libdir}/libvpx.so +%{__rm} $RPM_BUILD_ROOT%{_libdir}/libvpx.so.2.0 -cp -a outdir/include/vpx/*.h $RPM_BUILD_ROOT%{_includedir}/vpx -cp -a outdir/lib/*.a $RPM_BUILD_ROOT%{_libdir} +# adjust prefix and libdir +%{__sed} -i -e 's,^prefix=.*,prefix=%{_prefix},;s,^libdir=.*,libdir=%{_libdir},' $RPM_BUILD_ROOT%{_pkgconfigdir}/vpx.pc %clean rm -rf $RPM_BUILD_ROOT -%post -p /sbin/ldconfig +%post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files @@ -139,12 +145,13 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/vpxdec %attr(755,root,root) %{_bindir}/vpxenc %attr(755,root,root) %{_libdir}/libvpx.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libvpx.so.0 +%attr(755,root,root) %ghost %{_libdir}/libvpx.so.2 %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libvpx.so %{_includedir}/vpx +%{_pkgconfigdir}/vpx.pc %files static %defattr(644,root,root,755)