diff options
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch | 10 | ||||
-rw-r--r-- | media-libs/libvpx/libvpx-scm.ebuild | 119 | ||||
-rw-r--r-- | media-libs/libvpx/metadata.xml | 16 |
3 files changed, 145 insertions, 0 deletions
diff --git a/media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch b/media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch new file mode 100644 index 0000000..2ddea4d --- /dev/null +++ b/media-libs/libvpx/files/libvpx-1.3.0-sparc-configure.patch @@ -0,0 +1,10 @@ +--- a/configure ++++ b/configure +@@ -109,6 +109,7 @@ + all_platforms="${all_platforms} ppc64-darwin9-gcc" + all_platforms="${all_platforms} ppc64-linux-gcc" + all_platforms="${all_platforms} sparc-solaris-gcc" ++all_platforms="${all_platforms} sparc-linux-gcc" + all_platforms="${all_platforms} x86-android-gcc" + all_platforms="${all_platforms} x86-darwin8-gcc" + all_platforms="${all_platforms} x86-darwin8-icc" diff --git a/media-libs/libvpx/libvpx-scm.ebuild b/media-libs/libvpx/libvpx-scm.ebuild new file mode 100644 index 0000000..2cb9adf --- /dev/null +++ b/media-libs/libvpx/libvpx-scm.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit toolchain-funcs multilib-minimal git-r3 + +# To create a new testdata tarball: +# 1. Unpack source tarbll or checkout git tag +# 2. export LIBVPX_TEST_DATA_PATH=libvpx-testdata +# 3. configure --enable-unit-tests --enable-vp9-highbitdepth +# 4. make testdata +# 5. tar -cjf libvpx-testdata-${MY_PV}.tar.bz2 libvpx-testdata + + +DESCRIPTION="WebM VP8 and VP9 Codec SDK" +HOMEPAGE="http://www.webmproject.org" +SRC_URI="" +EGIT_REPO_URI="https://chromium.googlesource.com/webm/libvpx" + +LICENSE="BSD" +SLOT="0/5" +KEYWORDS="" +IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 doc cpu_flags_x86_mmx postproc cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3 cpu_flags_x86_sse4_1 +highbitdepth static-libs svc +threads" + +REQUIRED_USE=" + cpu_flags_x86_sse2? ( cpu_flags_x86_mmx ) + cpu_flags_x86_ssse3? ( cpu_flags_x86_sse2 ) +" + +RESTRICT="test" + +RDEPEND="abi_x86_32? ( !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] )" +DEPEND="abi_x86_32? ( dev-lang/yasm ) + abi_x86_64? ( dev-lang/yasm ) + abi_x86_x32? ( dev-lang/yasm ) + x86-fbsd? ( dev-lang/yasm ) + amd64-fbsd? ( dev-lang/yasm ) + doc? ( + app-doc/doxygen + dev-lang/php + ) +" + +PATCHES=( + "${FILESDIR}/libvpx-1.3.0-sparc-configure.patch" # 501010 +) + +src_configure() { + # https://bugs.gentoo.org/show_bug.cgi?id=384585 + # https://bugs.gentoo.org/show_bug.cgi?id=465988 + # copied from php-pear-r1.eclass + addpredict /usr/share/snmp/mibs/.index + addpredict /var/lib/net-snmp/ + addpredict /var/lib/net-snmp/mib_indexes + addpredict /session_mm_cli0.sem + multilib-minimal_src_configure +} + +multilib_src_configure() { + unset CODECS #357487 + + # #498364: sse doesn't work without sse2 enabled, + local myconfargs=( + --prefix="${EPREFIX}"/usr + --libdir="${EPREFIX}"/usr/$(get_libdir) + --enable-pic + --enable-vp8 + --enable-vp9 + --enable-shared + --extra-cflags="${CFLAGS}" + --disable-unit-tests + $(use_enable cpu_flags_x86_avx avx) + $(use_enable cpu_flags_x86_avx2 avx2) + $(use_enable cpu_flags_x86_mmx mmx) + $(use_enable postproc) + $(use cpu_flags_x86_sse2 && use_enable cpu_flags_x86_sse sse || echo --disable-sse) + $(use_enable cpu_flags_x86_sse2 sse2) + $(use_enable cpu_flags_x86_sse3 sse3) + $(use_enable cpu_flags_x86_sse4_1 sse4_1) + $(use_enable cpu_flags_x86_ssse3 ssse3) + $(use_enable svc experimental) $(use_enable svc spatial-svc) + $(use_enable static-libs static) + $(use_enable threads multithread) + $(use_enable highbitdepth vp9-highbitdepth) + ) + + # let the build system decide which AS to use (it honours $AS but + # then feeds it with yasm flags without checking...) #345161 + tc-export AS + case "${CHOST}" in + i?86*) export AS=yasm;; + x86_64*) export AS=yasm;; + esac + + # Build with correct toolchain. + tc-export CC CXX AR NM + # Link with gcc by default, the build system should override this if needed. + export LD="${CC}" + + if multilib_is_native_abi; then + myconfargs+=( $(use_enable doc install-docs) $(use_enable doc docs) ) + else + # not needed for multilib and will be overwritten anyway. + myconfargs+=( --disable-examples --disable-install-docs --disable-docs ) + fi + + "${S}"/configure "${myconfargs[@]}" +} + +multilib_src_compile() { + # build verbose by default and do not build examples that will not be installed + emake verbose=yes GEN_EXAMPLES= +} + + +multilib_src_install() { + emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install + multilib_is_native_abi && use doc && dodoc -r docs/html +} diff --git a/media-libs/libvpx/metadata.xml b/media-libs/libvpx/metadata.xml new file mode 100644 index 0000000..5ef09d6 --- /dev/null +++ b/media-libs/libvpx/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>media-video@gentoo.org</email> + </maintainer> + <maintainer type="project"> + <email>chromium@gentoo.org</email> + <name>Chromium in Gentoo Project</name> + </maintainer> + <use> + <flag name="highbitdepth">Enable 10 and 12 bit support for VP9.</flag> + <flag name="postproc">Enable additional post processing filters</flag> + <flag name="svc">Enable spatial-svc support (experimental)</flag> + </use> +</pkgmetadata> |