You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-db/drizzle/drizzle-7.2.4.ebuild

166 lines
4.1 KiB

# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/drizzle/drizzle-7.2.4.ebuild,v 1.3 2013/03/04 06:49:22 flameeyes Exp $
EAPI=5
inherit python flag-o-matic libtool autotools eutils pam user versionator
MY_P="${P}-alpha"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Database optimized for Cloud and Net applications"
HOMEPAGE="http://drizzle.org"
SRC_URI="http://launchpad.net/drizzle/$(get_version_component_range 1-2)/${PV}/+download/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug tcmalloc doc memcache curl pam gearman +md5 ldap v8"
RDEPEND="tcmalloc? ( dev-util/google-perftools )
sys-libs/readline
sys-apps/util-linux
dev-libs/libpcre
dev-libs/openssl
>=dev-libs/libevent-1.4
>=dev-libs/protobuf-2.1.0
dev-libs/libaio
>=dev-libs/boost-1.52.0-r1:=[threads]
gearman? ( >=sys-cluster/gearmand-0.12 )
pam? ( sys-libs/pam )
curl? ( net-misc/curl )
memcache? ( >=dev-libs/libmemcached-0.39 )
md5? ( >=dev-libs/libgcrypt-1.4.2 )
ldap? ( net-nds/openldap )
v8? ( dev-lang/v8 )
!dev-db/libdrizzle"
DEPEND="${RDEPEND}
=dev-lang/python-2*
sys-devel/gettext
dev-util/intltool
dev-util/gperf
sys-devel/flex
dev-python/sphinx
doc? ( app-doc/doxygen )"
pkg_setup() {
enewuser drizzle -1 -1 /dev/null nogroup
python_set_active_version 2
python_pkg_setup
}
src_prepare() {
epatch "${FILESDIR}"/${PN}-7.2.3-libtool.patch
epatch "${FILESDIR}"/${PN}-7.2.3+automake-1.12.patch
epatch "${FILESDIR}"/${PN}-7.2.4+boost-1.50.patch
python_convert_shebangs -r 2 .
eautoreconf
}
src_configure() {
local myconf=
if use debug; then
append-cppflags -DDEBUG
fi
# while I applaud upstreams goal of 0 compiler warnings
# the 1412 release didn't achieve it.
append-flags -Wno-error
# NOTE disable-all and without-all no longer recognized options
# NOTE using --enable on some plugins can cause test failures.
# --with should be used instead. A discussion about this here:
# https://bugs.launchpad.net/drizzle/+bug/598659
# TODO (upstream)
# $(use_with memcache memcached-stats-plugin) \
# $(use_with memcache memcached-functions-plugin) \
econf \
--disable-static \
--disable-dependency-tracking \
--disable-mtmalloc \
--without-hello-world-plugin \
--disable-rabbitmq-plugin --without-rabbitmq-plugin \
--disable-zeromq-plugin --without-zeromq-plugin \
--with-auth-test-plugin \
--with-auth-file-plugin \
--with-simple-user-policy-plugin \
--enable-logging-stats-plugin \
--with-logging-stats-plugin \
--enable-console-plugin \
$(use_enable gearman libgearman) \
$(use_enable ldap libldap) \
$(use_enable memcache libmemcached) \
$(use_enable tcmalloc) \
$(use_with curl auth-http-plugin) \
$(use_with gearman gearman-udf-plugin) \
$(use_with gearman logging-gearman-plugin) \
$(use_with ldap auth-ldap-plugin) \
$(use_with md5 md5-plugin) \
$(use_with pam auth-pam-plugin) \
$(use_with v8 js-plugin) \
${myconf}
}
src_compile() {
emake V=1 all $(use doc && echo doxygen)
}
# currently not working as of 7.2.3
RESTRICT=test
src_test() {
if [[ ${EUID} == 0 ]]; then
eerror "You cannot run tests as root."
eerror "Please enable FEATURES=userpriv before proceeding."
return 1
fi
default
}
DOCS=( AUTHORS NEWS README )
src_install() {
default
find "${D}" -name '*.la' -delete || die
if use doc; then
docinto apidoc
pushd docs/html
dohtml -r .
popd
fi
newinitd "${FILESDIR}"/drizzle.init.d.2 drizzled
newconfd "${FILESDIR}"/drizzle.conf.d drizzled
if ! use gearman; then
sed -i -e '/need gearmand/d' "${D}"/etc/init.d/drizzled \
|| die "unable to sed init script (gearman)"
fi
if ! use memcache; then
sed -i -e '/need memcached/d' "${D}"/etc/init.d/drizzled \
|| die "unable to sed init script (memcache)"
fi
keepdir /var/log/drizzle
keepdir /var/lib/drizzle/drizzled
keepdir /etc/drizzle
fperms 0755 /var/log/drizzle
fperms -R 0700 /var/lib/drizzle
fowners drizzle:nogroup /var/log/drizzle
fowners -R drizzle:nogroup /var/lib/drizzle
pamd_mimic system-auth drizzle auth account session
}