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

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

Return to bug 281366