Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 281366 | Differences between
and this patch

Collapse All | Expand All

(-)/usr/portage/net-im/ejabberd/ejabberd-2.0.5-r3.ebuild (-55 / +43 lines)
Lines 1-110 Link Here
1
# Copyright 1999-2009 Gentoo Foundation
1
# Copyright 1999-2009 Gentoo Foundation
2
# Distributed under the terms of the GNU General Public License v2
2
# Distributed under the terms of the GNU General Public License v2
3
# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ejabberd-2.0.5-r3.ebuild,v 1.2 2009/11/05 16:29:46 armin76 Exp $
3
# $Header: $
4
4
5
inherit eutils multilib
5
EAPI=2
6
7
inherit eutils multilib pam
6
8
7
JABBER_ETC="/etc/jabber"
9
JABBER_ETC="/etc/jabber"
8
JABBER_RUN="/var/run/jabber"
10
JABBER_RUN="/var/run/jabber"
9
JABBER_SPOOL="/var/spool/jabber"
11
JABBER_SPOOL="/var/spool/jabber"
10
JABBER_LOG="/var/log/jabber"
12
JABBER_LOG="/var/log/jabber"
11
13
12
MY_PV=${PV}
13
MY_P=${PN}-${MY_PV}
14
15
DESCRIPTION="The Erlang Jabber Daemon"
14
DESCRIPTION="The Erlang Jabber Daemon"
16
HOMEPAGE="http://www.ejabberd.im/"
15
HOMEPAGE="http://www.ejabberd.im/"
17
SRC_URI="http://www.process-one.net/downloads/ejabberd/${PV}/${MY_P}.tar.gz"
16
SRC_URI="http://www.process-one.net/downloads/${PN}/${PV}/${P}.tar.gz"
18
LICENSE="GPL-2"
17
LICENSE="GPL-2"
19
SLOT="0"
18
SLOT="0"
20
KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86"
19
KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86"
21
IUSE="debug mod_irc mod_muc mod_pubsub ldap odbc pam ssl web zlib"
20
IUSE="captcha debug mod_irc mod_muc mod_proxy65 mod_pubsub ldap odbc pam ssl web zlib"
22
21
23
DEPEND=">=net-im/jabber-base-0.01
22
DEPEND=">=net-im/jabber-base-0.01
24
	>=dev-libs/expat-1.95
23
	>=dev-libs/expat-1.95
25
	>=dev-lang/erlang-11.2.5
24
	>=dev-lang/erlang-12.2.5[ssl?]
26
	odbc? ( dev-db/unixODBC )
25
	odbc? ( dev-db/unixODBC )
27
	ldap? ( =net-nds/openldap-2* )
26
	ldap? ( =net-nds/openldap-2* )
28
	ssl? ( >=dev-libs/openssl-0.9.8e )
27
	ssl? ( >=dev-libs/openssl-0.9.8e )
28
	captcha? ( media-gfx/imagemagick[truetype,png] )
29
	zlib? ( sys-libs/zlib )"
29
	zlib? ( sys-libs/zlib )"
30
RDEPEND="${DEPEND}"
30
RDEPEND="${DEPEND}"
31
31
32
PROVIDE="virtual/jabber-server"
32
PROVIDE="virtual/jabber-server"
33
33
34
S=${WORKDIR}/${MY_P}/src
34
S=${WORKDIR}/${P}/src
35
36
src_unpack() {
37
	unpack ${A}
38
	cd "${S}"
39
40
	# make ejabberd working with erlang-13
41
	rm ram_file_io_server.erl
42
	epatch "${FILESDIR}/ejabberd-2.0.5-erlang-13.patch"
43
44
	# get rid of the prefix
45
	sed -i -e "s/\\@prefix\\@//" "${S}/Makefile.in" \
46
		|| die "cannot sed Makefile.in"
47
	# we want ejabberdctl in /usr/sbin not /sbin !!!
48
	sed -i -e "s/\\/sbin/\\/usr\\/sbin/" "${S}/Makefile.in" \
49
		|| die "cannot sed Makefile.in"
50
}
51
35
52
src_compile() {
36
src_configure() {
53
		econf --prefix=/ \
37
	econf \
38
		--docdir=/usr/share/doc/"${PF}"/html \
54
		$(use_enable mod_irc) \
39
		$(use_enable mod_irc) \
55
		$(use_enable ldap eldap) \
40
		$(use_enable ldap eldap) \
56
		$(use_enable mod_muc) \
41
		$(use_enable mod_muc) \
42
		$(use_enable mod_proxy65) \
57
		$(use_enable mod_pubsub) \
43
		$(use_enable mod_pubsub) \
58
		$(use_enable ssl tls) \
44
		$(use_enable ssl tls) \
59
		$(use_enable web) \
45
		$(use_enable web) \
60
		$(use_enable odbc) \
46
		$(use_enable odbc) \
61
		$(use_enable zlib ejabberd_zlib) \
47
		$(use_enable zlib ejabberd_zlib) \
62
		$(use_enable pam) \
48
		$(use_enable pam) \
63
		|| die "econf failed"
49
		--enable-user=jabber \
50
	|| die "econf failed"
51
}
64
52
65
	if useq debug; then
53
src_compile() {
66
		emake ejabberd_debug=true || die "compiling ejabberd core failed"
54
67
	else
55
	emake $(use debug && echo debug=true ejabberd_debug=true) || die "compiling ejabberd core failed"
68
		emake || die "compiling ejabberd core failed"
69
	fi
70
}
56
}
71
57
72
src_install() {
58
src_install() {
73
	make \
59
	emake \
74
		DESTDIR="${D}" \
60
		DESTDIR="${D}" \
75
		EJABBERDDIR="${D}/usr/$(get_libdir)/erlang/lib/${P}" \
61
		EJABBERDDIR="${D}/usr/$(get_libdir)/erlang/lib/${P}" \
76
		ETCDIR="${D}${JABBER_ETC}" \
62
		ETCDIR="${D}${JABBER_ETC}" \
77
		LOGDIR="${D}${JABBER_LOG}" \
63
		LOGDIR="${D}${JABBER_LOG}" \
64
		SPOOLDIR="${D}${JABBER_SPOOL}" \
78
		install || die "install failed"
65
		install || die "install failed"
79
66
80
	# remove the default ejabberdctl as we use our own
81
	rm "${D}/sbin/ejabberdctl"
82
83
	insinto ${JABBER_ETC}
67
	insinto ${JABBER_ETC}
84
68
85
	fowners -R jabber:jabber ${JABBER_ETC}
69
	if use ssl; then
86
	fowners -R jabber:jabber ${JABBER_LOG}
87
	fowners -R jabber:jabber /usr/$(get_libdir)/erlang/lib/${P}
88
89
	if useq ssl; then
90
		doins "${FILESDIR}/ssl.cnf"
70
		doins "${FILESDIR}/ssl.cnf"
91
		newins "${FILESDIR}/self-cert-v2.sh" self-cert.sh
71
		newins "${FILESDIR}/self-cert-v2.sh" self-cert.sh
92
	fi
72
	fi
93
73
94
	# Pam helper module permissions
74
	# Pam helper module permissions
95
	# http://www.process-one.net/docs/ejabberd/guide_en.html
75
	# http://www.process-one.net/docs/ejabberd/guide_en.html
96
	if useq pam; then
76
	if use pam; then
97
		fowners root:jabber /usr/$(get_libdir)/erlang/lib/${P}/priv/bin/epam
77
		pamd_mimic_system xmpp auth account || die "Cannot create pam.d file"
98
		fperms 4750 /usr/$(get_libdir)/erlang/lib/${P}/priv/bin/epam
78
		fperms 4750 "/usr/$(get_libdir)/erlang/lib/${P}/priv/bin/epam" || die "Cannot adjust epam permissions"
99
	fi
79
	fi
100
80
101
	cd "${WORKDIR}/${MY_P}/doc"
81
	cd "${WORKDIR}/${P}/doc"
102
	dodoc "release_notes_${MY_PV}.txt"
82
	dodoc "release_notes_${PV%%_rc*}.txt"
103
	dohtml *.{html,png}
83
	rm "${D}"/usr/share/doc/"${PF}"/html/*.txt
84
	chmod -x "${D}"/usr/share/doc/"${PF}"/html/*
104
85
105
	# set up /usr/sbin/ejabberd wrapper
86
	# set up /usr/sbin/ejabberd wrapper
106
	cat "${FILESDIR}/ejabberd-wrapper-2.template" \
87
	cat "${FILESDIR}/ejabberd-wrapper-3.template" \
107
		| sed -e "s/\@libdir\@/$(get_libdir)/g" -e "s/\@version\@/${PV}/g" \
88
		| sed -e "s/\@libdir\@/$(get_libdir)/g" -e "s/\@version\@/${PV}/g" -e "s/\@doc\@/${PF}/g" \
108
		> "${T}/ejabberd"
89
		> "${T}/ejabberd"
109
	exeinto /usr/sbin
90
	exeinto /usr/sbin
110
	doexe "${T}/ejabberd" || die
91
	doexe "${T}/ejabberd" || die
Lines 116-129 Link Here
116
	doexe "${T}/ejabberdctl"
97
	doexe "${T}/ejabberdctl"
117
98
118
	dodir /var/lib/ejabberd
99
	dodir /var/lib/ejabberd
119
	newinitd "${FILESDIR}/${PN}-2.initd" ${PN} || die
100
	newinitd "${FILESDIR}/${PN}-2.initd" ${PN} || die "Cannot install init.d script"
120
	newconfd "${FILESDIR}/${PN}-2.confd" ${PN} || die
101
	newconfd "${FILESDIR}/${PN}-2.confd" ${PN} || die "Cannot install conf.d file"
121
102
122
	# fix up the ssl cert paths in /etc/jabber/ejabberd.cfg to use the cert
103
	# fix up the ssl cert paths in /etc/jabber/ejabberd.cfg to use the cert
123
	# that would be generated by /etc/jabber/self-cert.sh
104
	# that would be generated by /etc/jabber/self-cert.sh
124
	sed -i -e "s/\/path\/to\/ssl.pem/\/etc\/jabber\/ssl.pem/g" \
105
	sed -i -e "s/\/path\/to\/ssl.pem/\/etc\/jabber\/ssl.pem/g" \
125
		"${D}${JABBER_ETC}/ejabberd.cfg" || die "Cannot sed ejabberd.cfg"
106
		"${D}${JABBER_ETC}/ejabberd.cfg" || die "Cannot sed ejabberd.cfg"
126
107
108
	# correct path to captcha script in default ejabberd.cfg
109
	sed -r 's|\{captcha_cmd,[[:space:]]*".+"\}|{captcha_cmd, "/usr/'$(get_libdir)'/erlang/lib/'${P}'/priv/bin/captcha.sh"}|' -i \
110
		"${D}${JABBER_ETC}/ejabberd.cfg" || die "Cannot sed ejabberd.cfg"
111
127
	# if mod_irc is not enabled, comment out the mod_irc in the default
112
	# if mod_irc is not enabled, comment out the mod_irc in the default
128
	# ejabberd.cfg
113
	# ejabberd.cfg
129
	if ! use mod_irc; then
114
	if ! use mod_irc; then
Lines 136-151 Link Here
136
	elog "For configuration instructions, please see"
121
	elog "For configuration instructions, please see"
137
	elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
122
	elog "/usr/share/doc/${PF}/html/guide.html, or the online version at"
138
	elog "http://www.process-one.net/en/projects/ejabberd/docs/guide_en.html"
123
	elog "http://www.process-one.net/en/projects/ejabberd/docs/guide_en.html"
139
	if useq ssl ; then
124
125
	if use ssl ; then
140
		if [ ! -e /etc/jabber/ssl.pem ]; then
126
		if [ ! -e /etc/jabber/ssl.pem ]; then
141
			elog "Please edit ${JABBER_ETC}/ssl.cnf and run ${JABBER_ETC}/self-cert.sh"
127
			elog "Please edit ${JABBER_ETC}/ssl.cnf and run ${JABBER_ETC}/self-cert.sh"
142
			elog "Ejabberd may refuse to start without an SSL certificate"
128
			elog "Ejabberd may refuse to start without an SSL certificate"
143
		fi
129
		fi
144
	fi
130
	fi
145
	if ! useq web ; then
131
132
	if ! use web ; then
146
		elog "The web USE flag is off, this has disabled the web admin interface."
133
		elog "The web USE flag is off, this has disabled the web admin interface."
147
	fi
134
	fi
148
	elog "===================================================================="
135
136
	elog '===================================================================='
149
	elog 'Quick Start Guide:'
137
	elog 'Quick Start Guide:'
150
	elog '1) Add output of `hostname -f` to /etc/jabber/ejabberd.cfg line 89'
138
	elog '1) Add output of `hostname -f` to /etc/jabber/ejabberd.cfg line 89'
151
	elog '   {hosts, ["localhost", "thehost"]}.'
139
	elog '   {hosts, ["localhost", "thehost"]}.'

Return to bug 281366