| 1 |
# Copyright 1999-2012 Gentoo Foundation
|
| 2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
# $Header: /var/cvsroot/gentoo-x86/www-apache/passenger/passenger-3.0.13.ebuild,v 1.1 2012/06/15 05:54:33 graaff Exp $
|
| 4 |
|
| 5 |
EAPI=4
|
| 6 |
USE_RUBY="ruby18 ruby19"
|
| 7 |
|
| 8 |
inherit apache-module flag-o-matic ruby-ng toolchain-funcs
|
| 9 |
|
| 10 |
DESCRIPTION="Passenger (a.k.a. mod_rails) makes deployment of Ruby on Rails applications a breeze"
|
| 11 |
HOMEPAGE="http://modrails.com/"
|
| 12 |
SRC_URI="mirror://rubyforge/${PN}/${P}.tar.gz"
|
| 13 |
|
| 14 |
LICENSE="GPL-2"
|
| 15 |
SLOT="0"
|
| 16 |
KEYWORDS="~amd64 ~x86"
|
| 17 |
IUSE="debug doc"
|
| 18 |
|
| 19 |
ruby_add_rdepend "
|
| 20 |
>=dev-ruby/daemon_controller-0.2.5
|
| 21 |
>=dev-ruby/rack-1.0.0"
|
| 22 |
|
| 23 |
USE_RUBY="ruby18" ruby_add_rdepend ">=dev-ruby/fastthread-1.0.1"
|
| 24 |
|
| 25 |
CDEPEND=">=dev-libs/libev-3.90 net-misc/curl[ssl]"
|
| 26 |
|
| 27 |
RDEPEND="${RDEPEND} ${CDEPEND}"
|
| 28 |
DEPEND="${DEPEND} ${CDEPEND}
|
| 29 |
doc? ( >=app-text/asciidoc-8.6.5[highlight] )"
|
| 30 |
|
| 31 |
APACHE2_MOD_CONF="30_mod_${PN}-2.0.1 30_mod_${PN}"
|
| 32 |
APACHE2_MOD_DEFINE="PASSENGER"
|
| 33 |
|
| 34 |
REQUIRED_USE+=" ruby_targets_ruby18? ( !ruby_targets_ruby19 )
|
| 35 |
ruby_targets_ruby19? ( !ruby_targets_ruby18 )"
|
| 36 |
|
| 37 |
need_apache2_2
|
| 38 |
|
| 39 |
pkg_setup() {
|
| 40 |
use debug && append-flags -DPASSENGER_DEBUG
|
| 41 |
}
|
| 42 |
|
| 43 |
all_ruby_prepare() {
|
| 44 |
epatch "${FILESDIR}"/${PN}-3.0.8-gentoo.patch
|
| 45 |
epatch "${FILESDIR}"/${PN}-3.0.12-ldflags.patch
|
| 46 |
|
| 47 |
# Change these with sed instead of a patch so that we can easily use
|
| 48 |
# the toolchain-funcs methods.
|
| 49 |
sed -i -e "s/gcc/$(tc-getCC)/" -e "s/g++/$(tc-getCXX)/" build/config.rb || die
|
| 50 |
|
| 51 |
# Use sed here so that we can dynamically set the documentation directory.
|
| 52 |
sed -i -e "s:/usr/share/doc/phusion-passenger:/usr/share/doc/${P}:" \
|
| 53 |
-e "s:/usr/lib/apache2/modules/mod_passenger.so:${APACHE_MODULESDIR}/mod_passenger.so:" \
|
| 54 |
-e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" \
|
| 55 |
lib/phusion_passenger.rb || die
|
| 56 |
sed -i -e "s:/usr/lib/phusion-passenger/agents:/usr/libexec/phusion-passenger/agents:" ext/common/ResourceLocator.h || die
|
| 57 |
|
| 58 |
# Don't install a tool that won't work in our setup.
|
| 59 |
sed -i -e '/passenger-install-apache2-module/d' lib/phusion_passenger/packaging.rb || die
|
| 60 |
rm -f bin/passenger-install-apache2-module || die "Unable to remove unneeded install script."
|
| 61 |
|
| 62 |
# Make sure we use the system-provided version.
|
| 63 |
rm -rf ext/libev || die "Unable to remove vendored libev."
|
| 64 |
|
| 65 |
# fix automagic use of asciidoc, bug 413469
|
| 66 |
sed -i -e '/fakeroot/ s/+ Packaging::ASCII_DOCS//' build/packaging.rb || die
|
| 67 |
}
|
| 68 |
|
| 69 |
each_ruby_compile() {
|
| 70 |
append-flags -fno-strict-aliasing
|
| 71 |
|
| 72 |
APXS2="${APXS}" \
|
| 73 |
HTTPD="${APACHE_BIN}" \
|
| 74 |
USE_VENDORED_LIBEV="no" LIBEV_LIBS="-lev" \
|
| 75 |
rake apache2 native_support || die "rake failed"
|
| 76 |
|
| 77 |
if use doc; then
|
| 78 |
rake doc || die "rake doc failed"
|
| 79 |
fi
|
| 80 |
}
|
| 81 |
|
| 82 |
each_ruby_install() {
|
| 83 |
DISTDIR="${D}" \
|
| 84 |
APXS2="${APXS}" \
|
| 85 |
HTTPD="${APACHE_BIN}" \
|
| 86 |
USE_VENDORED_LIBEV="no" LIBEV_LIBS="-lev" \
|
| 87 |
rake fakeroot || die "rake failed"
|
| 88 |
|
| 89 |
# TODO: this will create a mess when multiple RUBY_TARGETS have been
|
| 90 |
# selected.
|
| 91 |
APACHE2_MOD_FILE="${S}/ext/apache2/mod_${PN}.so"
|
| 92 |
apache-module_src_install
|
| 93 |
}
|