# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 PYTHON_COMPAT=( python2_7 ) inherit apache-module eutils python-any-r1 if [[ ${PV} == 9999 ]] ; then ESVN_REPO_URI="https://mod-spdy.googlecode.com/svn/trunk/src" ESVN_RESTRICT="export" EGIT_REPO_URI="https://chromium.googlesource.com/chromium/tools/depot_tools.git" EGIT_SOURCEDIR="${WORKDIR}/depot_tools" inherit subversion git-2 else SRC_URI="mirror://gentoo/${P}.tar.xz" KEYWORDS="~amd64 ~x86" fi DESCRIPTION="Apache module for rewriting web pages to reduce latency and bandwidth" HOMEPAGE="https://code.google.com/p/mod-spdy/" LICENSE="Apache-2.0" SLOT="0" IUSE="debug test" RDEPEND="sys-libs/zlib[minizip]" DEPEND="${RDEPEND}" if [[ ${PV} == 9999 ]] ; then DEPEND+=" net-misc/rsync" fi need_apache2_2 e() { echo "$@"; "$@" || die; } EGCLIENT="${WORKDIR}/depot_tools/gclient" egclient() { set -- "${EGCLIENT}" "$@"; e "$@"; } src_unpack() { if [[ ${PV} == "9999" ]] ; then git-2_src_unpack subversion_src_unpack mkdir -p "${ESVN_STORE_DIR}/${PN}" || die cd "${ESVN_STORE_DIR}/${PN}" || die egclient config ${ESVN_REPO_URI} egclient sync --force --nohooks --delete_unversioned_trees e rsync -a --exclude=".svn/" ./ "${S}/" else default fi } src_prepare() { epatch "${FILESDIR}"/${PN}-0.9.3.3-execinfo.patch # Make sure the system zlib is used. epatch "${FILESDIR}"/${PN}-0.9.3.3-system-zlib.patch find src/third_party/zlib/ -name '*.[ch]' -delete } src_configure() { tc-export AR CC CXX RANLIB tc-export_build_env BUILD_AR BUILD_CC BUILD_CXX local myconf=( -Dlinux_fpic=1 -Duse_system_zlib=1 -Duse_system_ssl=1 -Dwerror= ) #egclient runhooks "${myconf[@]}" e python src/build/gyp_chromium "${myconf[@]}" } echo_tests() { echo base_unittests spdy_{apache,common}_test; } src_compile() { emake -C src \ V=1 \ BUILDTYPE=$(usex debug Debug Release) \ mod_spdy \ $(use test && echo_tests) } src_test() { cd src/out/Release local t for t in $(echo_tests) ; do e ./${t} done } src_install() { ln -sf src/out/*/libmod_spdy.so ${PN}.so || die APACHE2_MOD_FILE="${PWD}/${PN}.so" APACHE2_MOD_DEFINE="SPDY" apache-module_src_install # Workaround #471442 cd "${S}/src" local conf="${T}/80_${PN}.conf" cat <<-EOF > "${conf}" $(sed 's:@@APACHE_MODULEDIR@@:modules:' install/common/spdy.load.template) $( EOF insinto "${APACHE_MODULES_CONFDIR}" doins "${conf}" }