| # Copyright 1999-2013 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=4 |
| |
| if [ "${PV#9999}" != "${PV}" ] ; then |
| V_ECLASS="git-2" |
| else |
| V_ECLASS="versionator" |
| fi |
| |
| inherit multilib toolchain-funcs flag-o-matic ${V_ECLASS} |
| |
| if [ "${PV#9999}" = "${PV}" ]; then |
| MY_P="x264-snapshot-$(get_version_component_range 3)-2245" |
| fi |
| DESCRIPTION="A free library for encoding X264/AVC streams" |
| HOMEPAGE="http://www.videolan.org/developers/x264.html" |
| if [ "${PV#9999}" != "${PV}" ] ; then |
| EGIT_REPO_URI="git://git.videolan.org/x264.git" |
| SRC_URI="" |
| else |
| SRC_URI="http://download.videolan.org/pub/videolan/x264/snapshots/${MY_P}.tar.bz2" |
| fi |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| if [ "${PV#9999}" != "${PV}" ]; then |
| KEYWORDS="" |
| else |
| KEYWORDS="~alpha ~amd64 ~arm hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" |
| fi |
| IUSE="10bit custom-cflags debug +interlaced pic static-libs +threads" |
| |
| RDEPEND="" |
| DEPEND="amd64? ( >=dev-lang/yasm-1 ) |
| amd64-fbsd? ( >=dev-lang/yasm-1 ) |
| x86? ( >=dev-lang/yasm-1 ) |
| x86-fbsd? ( >=dev-lang/yasm-1 )" |
| |
| if [ "${PV#9999}" = "${PV}" ]; then |
| S="${WORKDIR}/${MY_P}" |
| fi |
| |
| DOCS="AUTHORS doc/*.txt" |
| |
| src_prepare() { |
| # Solaris' /bin/sh doesn't grok the syntax in these files |
| sed -i -e '1c\#!/usr/bin/env sh' configure version.sh || die |
| # for sparc-solaris |
| if [[ ${CHOST} == sparc*-solaris* ]] ; then |
| sed -i -e 's:-DPIC::g' configure || die |
| fi |
| # for OSX |
| sed -i -e "s|-arch x86_64||g" configure || die |
| epatch "${FILESDIR}"/x264-x32.patch #420241 |
| |
| # fix crashes when compiled with gcc 4.8 |
| epatch "${FILESDIR}"/${P}-gcc48.patch |
| } |
| |
| src_configure() { |
| tc-export CC |
| |
| local myconf="" |
| use 10bit && myconf+=" --bit-depth=10" |
| use debug && myconf+=" --enable-debug" |
| use interlaced || myconf+=" --disable-interlaced" |
| use static-libs && myconf+=" --enable-static" |
| use threads || myconf+=" --disable-thread" |
| |
| # let upstream pick the optimization level by default |
| use custom-cflags || filter-flags -O? |
| |
| if use x86 && use pic || [[ ${ABI} == "x32" ]] ; then |
| myconf+=" --disable-asm" |
| fi |
| |
| ./configure \ |
| --prefix="${EPREFIX}"/usr \ |
| --libdir="${EPREFIX}"/usr/$(get_libdir) \ |
| --disable-cli \ |
| --disable-avs \ |
| --disable-lavf \ |
| --disable-swscale \ |
| --disable-ffms \ |
| --disable-gpac \ |
| --enable-pic \ |
| --enable-shared \ |
| --host="${CHOST}" \ |
| ${myconf} || die |
| |
| # this is a nasty workaround for bug #376925 as upstream doesn't like us |
| # fiddling with their CFLAGS |
| if use custom-cflags; then |
| local cflags |
| cflags="$(grep "^CFLAGS=" config.mak | sed 's/CFLAGS=//')" |
| cflags="${cflags//$(get-flag O)/}" |
| cflags="${cflags//-O? /$(get-flag O) }" |
| cflags="${cflags//-g /}" |
| sed -i "s:^CFLAGS=.*:CFLAGS=${cflags//:/\\:}:" config.mak |
| fi |
| } |