# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 inherit cmake-multilib multilib flag-o-matic if [[ ${PV} = 9999* ]]; then inherit mercurial EHG_REPO_URI="https://bitbucket.org/multicoreware/x265" else SRC_URI=" https://bitbucket.org/multicoreware/x265/downloads/${PN}_${PV}.tar.gz http://ftp.videolan.org/pub/videolan/x265/${PN}_${PV}.tar.gz" KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86" fi DESCRIPTION="Library for encoding video streams into the H.265/HEVC format" HOMEPAGE="http://x265.org/" LICENSE="GPL-2" # subslot = libx265 soname SLOT="0/68" IUSE="+10bit pic test" ASM_DEPEND=">=dev-lang/yasm-1.2.0" RDEPEND="" DEPEND="${RDEPEND} abi_x86_32? ( ${ASM_DEPEND} ) abi_x86_64? ( ${ASM_DEPEND} )" src_unpack() { if [[ ${PV} = 9999* ]]; then mercurial_src_unpack # Can't set it at global scope due to mercurial.eclass limitations... export S=${WORKDIR}/${P}/source else unpack ${A} export S="$(echo "${WORKDIR}/${PN}_"*"/source")" fi } src_prepare() { epatch "${FILESDIR}/${PV}-build-Disable-march-selection-from-CMakeLists.txt.patch" # bug #510890 } multilib_src_configure() { append-cflags -fPIC append-cxxflags -fPIC local mycmakeargs=( $(cmake-utils_use_enable test TESTS) $(multilib_is_native_abi || echo "-DENABLE_CLI=OFF") -DHIGH_BIT_DEPTH=$(usex 10bit "ON" "OFF") -DLIB_INSTALL_DIR="$(get_libdir)" ) if [[ ${ABI} = x86 ]] ; then use 10bit && ewarn "Disabling 10bit support on x86 as it does not build (or requires to disable assembly optimizations)" mycmakeargs+=( -DHIGH_BIT_DEPTH=OFF ) # Bug #528202 if use pic ; then ewarn "PIC has been requested but x86 asm is not PIC-safe, disabling it." mycmakeargs+=( -DENABLE_ASSEMBLY=OFF ) fi elif [[ ${ABI} = x32 ]] ; then # bug #510890 mycmakeargs+=( -DENABLE_ASSEMBLY=OFF ) fi cmake-utils_src_configure } src_configure() { multilib_parallel_foreach_abi multilib_src_configure } multilib_src_test() { if [ -x "${BUILD_DIR}/test/TestBench" ] ; then "${BUILD_DIR}/test/TestBench" || die else einfo "Unit tests check only assembly, and you do not seem to have any." einfo "Skipping tests." fi } src_test() { multilib_foreach_abi multilib_src_test } src_install() { cmake-multilib_src_install dodoc -r "${S}/../doc/"* }