%global somajor 6 %global sominor 3 %global sotiny 0 %global soversion %{somajor}.%{sominor}.%{sotiny} Name: libvpx Version: 1.10.0 Release: 1%{?_dist_release} Summary: The VP8/VP9 Codec SDK Summary(ja): VP8/VP9 コーデックソフトウェア開発キット Group: system Vendor: Project Vine Distribution: Vine Linux Packager: daisuke License: BSD URL: https://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 # Do not disable FORTIFY_SOURCE=2 Patch0: libvpx-1.7.0-leave-fortify-source-on.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %ifarch %{ix86} x86_64 BuildRequires: yasm %endif %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: programming 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: multimedia Requires: %{name} = %{version}-%{release} %description utils The %{name}-utils package contains example programs that use %{name}. %description utils -l ja %{name}-utils パッケージは、%{name} を使用したサンプル アプリケーションを含んでいます。 %debug_package %prep %setup -q %patch0 -p1 -b .leave-fs-on %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-vp9-decoder --enable-vp9-encoder \ --enable-experimental \ --enable-vp9-highbitdepth \ %if ! %{generic_target} --enable-shared \ %endif --prefix=%{_prefix} \ --libdir=%{_libdir} \ --disable-install-docs \ --enable-install-srcs \ --size-limit=16384x16384 %{__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 %files %defattr(-,root,root,-) %license LICENSE %doc AUTHORS 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 * Fri Apr 23 2021 Tomohiro "Tomo-p" KATO 1.10.0-1 - new upstream release. - dropped ldconfig scriptlets. - imported Patch0 from rawhide. * Fri Apr 17 2020 Tomohiro "Tomo-p" KATO 1.8.2-1 - new upstream release. * Thu Feb 22 2018 Tomohiro "Tomo-p" KATO 1.7.0-1 - new upstream release. - updated Source2. - added Source1. * Mon Oct 08 2012 Yoji TOYODA 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 0.9.6-1 - new upstream release * Mon Dec 27 2010 Daisuke SUZUKI 0.9.5-1 - new upstream release * Sun Sep 26 2010 Yoji TOYODA 0.9.1-2 - rebuild with rpm-4.8.1 for pkg-config file * Sun Jul 11 2010 Daisuke SUZUKI 0.9.1-1 - new upstream release * Mon May 24 2010 Daisuke SUZUKI 0.9.0-1 - initial build for Vine Linux