blob: 21bb81072898bc9a21c0819e912c14c2674f20d9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-db/drizzle/drizzle-7.2011.02.09.ebuild,v 1.1 2011/02/03 12:31:37 flameeyes Exp $
EAPI=2
inherit flag-o-matic libtool autotools eutils pam versionator
MY_P="${PN}$(replace_version_separator 1 -)"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Database optimized for Cloud and Net applications"
HOMEPAGE="http://drizzle.org"
SRC_URI="http://launchpad.net/drizzle/elliott/$(get_version_component_range 2-2)-01-31/+download/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug tcmalloc doc memcache curl pam gearman +md5 ldap haildb"
# tests are known to fail with haildb enabled, still.
RESTRICT="haildb? ( test )"
RDEPEND="tcmalloc? ( dev-util/google-perftools )
sys-libs/readline
sys-apps/util-linux
dev-libs/libpcre
>=dev-libs/libevent-1.4
>=dev-libs/protobuf-2.1.0
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 )
haildb? ( >=dev-db/haildb-2.3.2 )
>=dev-libs/boost-1.32
ldap? ( net-nds/openldap )
!dev-db/libdrizzle"
DEPEND="${RDEPEND}
sys-devel/gettext
dev-util/intltool
dev-util/gperf
sys-devel/flex
doc? ( app-doc/doxygen )
>=dev-util/boost-build-1.32"
pkg_setup() {
enewuser drizzle -1 -1 /dev/null nogroup
}
src_prepare() {
epatch "${FILESDIR}/${PN}-2009.12.1240-nolint.patch"
AT_M4DIR="m4" eautoreconf
elibtoolize
}
src_configure() {
local myconf=
if use debug; then
append-flags -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 \
$(use_enable tcmalloc) \
$(use_enable memcache libmemcached) \
$(use_enable gearman libgearman) \
$(use_enable ldap libldap) \
$(use_with curl auth-http-plugin) \
$(use_with pam auth-pam-plugin) \
$(use_with md5 md5-plugin) \
$(use_with gearman gearman-udf-plugin) \
$(use_with gearman logging-gearman-plugin) \
$(use_with ldap auth-ldap-plugin) \
--without-hello-world-plugin \
--disable-pbxt-plugin --without-pbxt-plugin \
--disable-rabbitmq-plugin --without-rabbitmq-plugin \
$(use_enable haildb libhaildb) \
$(use_enable haildb haildb-plugin) \
$(use_with haildb haildb-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 \
--enable-archive-plugin \
${myconf}
}
src_compile() {
emake all $(use doc && echo doxygen) || die "build failed"
}
# 5-10 min eta
src_test() {
# If you want to turn off a test, rename to suffix of .DISABLED
# Explicitly allow parallel make check
emake check || die "tests failed"
}
src_install() {
emake DESTDIR="${D}" install || die "install failed"
dodoc AUTHORS NEWS README || die
find "${D}" -name '*.la' -delete || die
if use doc; then
docinto apidoc
pushd docs/html
dohtml -r .
popd
fi
newinitd "${FILESDIR}"/drizzle.init.d drizzled || die
newconfd "${FILESDIR}"/drizzle.conf.d drizzled || die
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/run/drizzle || die
keepdir /var/log/drizzle || die
keepdir /var/lib/drizzle/drizzled || die
keepdir /etc/drizzle || die
fperms 0755 /var/run/drizzle || die
fperms 0755 /var/log/drizzle || die
fperms -R 0700 /var/lib/drizzle || die
fowners drizzle:nogroup /var/run/drizzle || die
fowners drizzle:nogroup /var/log/drizzle || die
fowners -R drizzle:nogroup /var/lib/drizzle || die
pamd_mimic system-auth drizzle auth account session
}
|