diff options
author | 2017-05-28 19:06:04 +0100 | |
---|---|---|
committer | 2017-05-28 19:06:26 +0100 | |
commit | 0912204c84b553560a7a48ad1393b7906cccf351 (patch) | |
tree | 2c44bef595f5cea749807b2c7bd2b743c5e779e4 /net-im/ejabberd/ejabberd-16.09.ebuild | |
parent | dev-haskell/stack: new package, asked by Harri Nieminen (diff) | |
download | gentoo-0912204c84b553560a7a48ad1393b7906cccf351.tar.gz gentoo-0912204c84b553560a7a48ad1393b7906cccf351.tar.bz2 gentoo-0912204c84b553560a7a48ad1393b7906cccf351.zip |
net-im/ejabberd: Disable mod_irc if nls USE flag is disbled
mod_irc is only required for mod_irc. If nls support is disabled,
disable mod_irc in example configuration file and warn user if he/she
has mod_irc enabled in configuration. Otherwise ejabberd will fail to
start.
Gentoo-Bug: 603822
Package-Manager: Portage-2.3.5, Repoman-2.3.2
Diffstat (limited to 'net-im/ejabberd/ejabberd-16.09.ebuild')
-rw-r--r-- | net-im/ejabberd/ejabberd-16.09.ebuild | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/net-im/ejabberd/ejabberd-16.09.ebuild b/net-im/ejabberd/ejabberd-16.09.ebuild index 5621156189ea..99e4a3aabcc2 100644 --- a/net-im/ejabberd/ejabberd-16.09.ebuild +++ b/net-im/ejabberd/ejabberd-16.09.ebuild @@ -107,6 +107,15 @@ customize_epam_wrapper() { || die 'failed to install epam-wrapper' } +# Disable mod_irc in example configuration file. +disable_mod_irc() { + local needs_iconv='needs dev-erlang/iconv (+nls USE flag)' + sed -r \ + -e "s@^(\s*)(mod_irc\s*:.*$)@\1## \2 # ${needs_iconv}@" \ + -i "${S}/ejabberd.yml.example" \ + || die 'failed to modify example config' +} + # Check if there already exists a certificate. ejabberd_cert_exists() { local cert @@ -138,6 +147,12 @@ get_ejabberd_path() { echo "/usr/$(get_libdir)/${P}" } +# Check whether mod_irc is enabled in ejabberd configuration on target system. +is_mod_irc_enabled() { + egrep '^(\s*)(mod_irc\s*:.*$)' \ + "${EROOT%/}${JABBER_ETC}/ejabberd.yml" +} + # Make ejabberd.service for systemd from upstream provided template. make_ejabberd_service() { sed -r \ @@ -184,6 +199,7 @@ src_prepare() { make_ejabberd_service skip_docs adjust_config + use nls || disable_mod_irc customize_epam_wrapper "${FILESDIR}/epam-wrapper" # Fix bug #591862. ERL_LIBS should point directly to ejabberd directory @@ -294,4 +310,9 @@ pkg_postinst() { chmod g+r "${EROOT%/}${epam_path}" \ || die "failed to correct ${epam_path} permissions" fi + + if ! use nls && is_mod_irc_enabled; then + ewarn "nls support (dev-erlang/iconv) is required by mod_irc. Either rebuild ejabberd" + ewarn "with nls enabled or disable mod_irc in ${EROOT%/}${JABBER_ETC}/ejabberd.yml." + fi } |