summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-apache/mod_spdy/mod_spdy-9999.ebuild')
-rw-r--r--www-apache/mod_spdy/mod_spdy-9999.ebuild114
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}"
+}