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

Return to bug 281366