blob: 85fa0af1df9c48a15d9ebb4827f9939c9fc3fe38 (
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
|
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils multilib pax-utils user
DESCRIPTION="Distributed, fault-tolerant and schema-free document-oriented database"
HOMEPAGE="https://couchdb.apache.org/"
SRC_URI="mirror://apache/couchdb/source/${PV}/apache-${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="libressl selinux test"
RDEPEND=">=dev-libs/icu-4.3.1:=
<dev-lang/erlang-19[ssl]
~dev-lang/spidermonkey-1.8.5
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
net-misc/curl
selinux? ( sec-policy/selinux-couchdb )
sys-process/psmisc
"
DEPEND="${RDEPEND}
>=dev-util/rebar-2.6.0
<dev-util/rebar-3.0.0
sys-devel/autoconf-archive
"
RESTRICT=test
S="${WORKDIR}/apache-${P}"
pkg_setup() {
enewgroup couchdb
enewuser couchdb -1 -1 /var/lib/couchdb couchdb
}
src_configure() {
econf \
--with-erlang="${EPREFIX}"/usr/$(get_libdir)/erlang/usr/include \
--with-curl \
--user=couchdb
}
src_compile() {
emake release
}
src_test() {
emake distcheck
}
src_install() {
mkdir -p "${D}/opt"
cp -a "${S}/rel/couchdb" "${D}/opt/"
keepdir /var/l{ib,og}/couchdb
fowners couchdb:couchdb \
/var/lib/couchdb \
/var/log/couchdb
for f in "${ED}"/opt/couchdb/etc/*.d; do
fowners root:couchdb "${f#${ED}}"
fperms 0750 "${f#${ED}}"
done
for f in "${ED}"/opt/couchdb/etc/*.ini; do
fowners root:couchdb "${f#${ED}}"
fperms 0440 "${f#${ED}}"
done
# couchdb needs to write to local.ini on first start
fowners couchdb:couchdb "${ED}/opt/couchdb/etc/local.ini"
fowners 0640 "${ED}/opt/couchdb/etc/local.ini"
insinto /opt/couchdb/etc/default.d
insopts -m0640 -oroot -gcouchdb
doins "${FILESDIR}/10_gentoo.ini"
# link etc dir for to /etc for convenience
dosym ../opt/couchdb/etc /etc/couchdb
newinitd "${FILESDIR}/couchdb.init-2.1.0" couchdb
newconfd "${FILESDIR}/couchdb.conf-2.1.0" couchdb
rm "${ED}/opt/couchdb/bin/couchdb.cmd"
# bug 442616
pax-mark mr "${D}/opt/couchdb/bin/couchjs"
pax-mark mr "${D}/opt/couchdb/lib/couch-${PV}/priv/couchjs"
}
|