diff options
Diffstat (limited to 'www-apache/mod_spdy/mod_spdy-9999.ebuild')
-rw-r--r-- | www-apache/mod_spdy/mod_spdy-9999.ebuild | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/www-apache/mod_spdy/mod_spdy-9999.ebuild b/www-apache/mod_spdy/mod_spdy-9999.ebuild new file mode 100644 index 000000000000..0aba468f7858 --- /dev/null +++ b/www-apache/mod_spdy/mod_spdy-9999.ebuild @@ -0,0 +1,114 @@ +# 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="http://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="http://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}" + <IfDefine SPDY> + $(sed 's:@@APACHE_MODULEDIR@@:modules:' install/common/spdy.load.template) + + $(<install/common/spdy.conf.template) + </IfDefine> + EOF + insinto "${APACHE_MODULES_CONFDIR}" + doins "${conf}" +} |