123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- %global somajor 5
- %global sominor 0
- %global sotiny 0
- %global soversion %{somajor}.%{sominor}.%{sotiny}
- Name: libvpx
- Version: 1.7.0
- Release: 1%{?_dist_release}
- Summary: The VP8/VP9 Codec SDK
- Summary(ja): VP8/VP9 コーデックソフトウェア開発キット
- Group: System Environment/Libraries
- License: BSD
- 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
- %ifarch %{ix86} x86_64
- BuildRequires: yasm
- %endif
- Vendor: Project Vine
- Distribution: Vine Linux
- Packager: daisuke
- %description
- 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/VP9 コーデック SDK は、VP8/VP9 ビデオコーデックをアプリケーションに
- 統合するための開発キットです。VP8/VP9ビデオコーデックは高品質でロイヤリティフリー
- かつオープンソースのコーデックで、世界中の多くのコンピュータやデバイスで利用されて
- います。
- %package devel
- Summary: Development files for %{name}
- Summary(ja): %{name} の開発ファイル
- Group: Development/Libraries
- Requires: %{name} = %{version}-%{release}
- %description devel
- The %{name}-devel package contains development files for
- %{name}.
- %description devel -l ja
- %{name}-devel パッケージは %{name} の開発用ファイルを含んでいます。
- %package utils
- Summary: example programs for %{name}
- Summary(ja): %{name} のサンプルプログラム
- Group: Applications/Multimedia
- Requires: %{name} = %{version}-%{release}
- %description utils
- The %{name}-utils package contains example programs that
- use %{name}.
- %description utils -l ja
- %{name}-utils パッケージは、%{name} を使用したサンプル
- アプリケーションを含んでいます。
- %prep
- %setup -q
- %build
- %ifarch %{ix86}
- %global vpxtarget x86-linux-gcc
- %else
- %ifarch x86_64
- %global vpxtarget x86_64-linux-gcc
- %else
- %global vpxtarget generic-gnu
- %endif
- %endif
- %if "%{vpxtarget}" == "generic-gnu"
- %global generic_target 1
- %else
- %global generic_target 0
- %endif
- ./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 \
- --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
- # 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 tmp
- cd tmp
- ar x ../libvpx_g.a
- 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
- %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.%{soversion} %{buildroot}%{_libdir}
- pushd %{buildroot}%{_libdir}
- 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
- mv usr/bin/simple_encoder usr/bin/vp8_simple_encoder
- mv usr/bin/twopass_encoder usr/bin/vp8_twopass_encoder
- # Fix the binary permissions
- chmod 755 usr/bin/*
- popd
- # 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
- %post -p /sbin/ldconfig
- %postun -p /sbin/ldconfig
- %files
- %defattr(-,root,root,-)
- %doc AUTHORS LICENSE README CHANGELOG
- %{_libdir}/*.so.*
- %files devel
- %defattr(-,root,root,-)
- %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,-)
- %{_bindir}/*
- %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)
- - remove Source1 (libvpx.pc)
- * Sun Oct 16 2011 Munehiro Yamamoto <munepi@vinelinux.org> 0.9.6-1
- - new upstream release
- * Mon Dec 27 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 0.9.5-1
- - new upstream release
- * Sun Sep 26 2010 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.9.1-2
- - rebuild with rpm-4.8.1 for pkg-config file
- * Sun Jul 11 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 0.9.1-1
- - new upstream release
- * Mon May 24 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 0.9.0-1
- - initial build for Vine Linux
|