]> git.pld-linux.org Git - packages/libvpx.git/blobdiff - libvpx.spec
- simplified Source0 URL
[packages/libvpx.git] / libvpx.spec
index d4443b9496a09b453aceea92eb3316d98ce02bf4..cb89debca4bf669c8f295482f1398b50de07c26e 100644 (file)
 #
 # Conditional build:
-%bcond_without asm
+%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} x32
+%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.2
+Version:       1.8.0
 Release:       1
 License:       BSD
 Group:         Libraries
-Source0:       http://webm.googlecode.com/files/%{name}-v%{version}.tar.bz2
-# Source0-md5: 609370925b274aeaa29e94fc34c74957
-Source1:       %{name}.ver
-Patch0:                %{name}-0.9.0-no-explicit-dep-on-static-lib.patch
+# original download URL: http://downloads.webmproject.org/releases/webm/index.html
+# ...but use github mirror to get consistent tarballs
+#Source0Download: https://github.com/webmproject/libvpx/releases
+Source0:       https://github.com/webmproject/libvpx/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 49cb591325f44a3459b040112e3b82e7
 URL:           http://www.webmproject.org/
-BuildRequires: /usr/bin/php
-BuildRequires: autoconf
-BuildRequires: automake
 BuildRequires: doxygen
-BuildRequires: php-common >= 4:5.0.0
-BuildRequires: php-pcre
-%{?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.
 
+%description -l pl.UTF-8
+VP8 - kodek obrazu wysokiej jakości.
+
 %package devel
-Summary:       Header files and develpment documentation for libvpx
+Summary:       Header files for libvpx
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki libvpx
 Group:         Development/Libraries
-Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      %{name} = %{version}-%{release}
 
 %description devel
-Header files and documentation for libvpx.
+Header files for libvpx library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki libvpx.
 
 %package static
 Summary:       Static libvpx library
+Summary(pl.UTF-8):     Statyczna biblioteka libvpx
 Group:         Development/Libraries
-Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
+Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
 Static libvpx library.
 
+%description static -l pl.UTF-8
+Statyczna biblioteka libvpx.
+
+%package tools
+Summary:       VPX decoding/encoding tools
+Summary(pl.UTF-8):     Narzędzia do kodowania/dekodowania formatu VPX
+Group:         Applications/Graphics
+Requires:      %{name} = %{version}-%{release}
+
+%description tools
+VPX decoding/encoding tools.
+
+%description tools -l pl.UTF-8
+Narzędzia do kodowania/dekodowania formatu VPX.
+
 %prep
 %setup -q
-%patch0 -p1
 
 %build
-install -d build
-cd build
+install -d obj
+cd obj
 # not autoconf configure
+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 \
-%endif
-%else
-       --target=generic-gnu \
+       --as=yasm \
 %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
 
-# Hack our optflags in.
-sed -i "s|\"vpx_config.h\"|\"vpx_config.h\" %{rpmcflags} %{rpmcppflags} -fPIC|g" {libs,examples,docs}-*.mk
-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 build 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 build/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.6.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
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/*
+%doc AUTHORS CHANGELOG LICENSE PATENTS README
 %attr(755,root,root) %{_libdir}/libvpx.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libvpx.so.0
+%attr(755,root,root) %ghost %{_libdir}/libvpx.so.6
 
 %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)
 %{_libdir}/libvpx.a
+
+%files tools
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/vpxdec
+%attr(755,root,root) %{_bindir}/vpxenc
This page took 0.074125 seconds and 4 git commands to generate.