commit:     e7295013aa6a98c2c1272f814316e2ceca3a0462
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 22 19:23:35 2021 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Thu Jul 22 19:28:12 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7295013

net-irc/rbot: migrate to GLEP 81

Bug: https://bugs.gentoo.org/781398
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 net-irc/rbot/rbot-0.9.15_p20160325-r3.ebuild | 197 +++++++++++++++++++++++++++
 1 file changed, 197 insertions(+)

diff --git a/net-irc/rbot/rbot-0.9.15_p20160325-r3.ebuild 
b/net-irc/rbot/rbot-0.9.15_p20160325-r3.ebuild
new file mode 100644
index 00000000000..a738ba75619
--- /dev/null
+++ b/net-irc/rbot/rbot-0.9.15_p20160325-r3.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+USE_RUBY="ruby25 ruby26 ruby27"
+
+GITHUB_COMMIT="e358601cc521d8aced941eb928fae2d8c53cf0c2"
+inherit ruby-ng strip-linguas
+
+DESCRIPTION="A ruby IRC bot"
+HOMEPAGE="https://ruby-rbot.org/";
+SRC_URI="https://github.com/ruby-rbot/rbot/archive/${GITHUB_COMMIT}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="|| ( feh GPL-2 )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="spell aspell timezone translator nls figlet
+       fortune cal host sqlite toilet"
+ILINGUAS="zh_CN zh_TW ru nl de fi fr it ja"
+RUBY_S="${PN}-${GITHUB_COMMIT}"
+
+CDEPEND="
+       acct-group/rbot
+       acct-user/rbot
+"
+
+RDEPEND+="
+       ${CDEPEND}
+       spell? (
+               aspell? ( app-text/aspell )
+               !aspell? ( app-text/hunspell )
+       )
+       figlet? ( app-misc/figlet )
+       sqlite? ( dev-ruby/sqlite3 )
+       toilet? ( app-misc/toilet )
+       fortune? ( games-misc/fortune-mod )
+       cal? ( sys-apps/util-linux )
+       host? ( net-dns/bind-tools )"
+
+DEPEND+="${CDEPEND}"
+
+ruby_add_bdepend "
+       test? (
+               dev-ruby/sqlite3
+       )
+       nls? (
+               >=dev-ruby/ruby-gettext-2
+               dev-ruby/rake
+       )"
+
+ruby_add_rdepend "
+       dev-ruby/tokyocabinet
+       timezone? ( dev-ruby/tzinfo:* )
+       translator? ( dev-ruby/mechanize )
+       nls? ( dev-ruby/ruby-gettext >=dev-ruby/locale-2.0.5-r2 )
+"
+
+all_ruby_prepare() {
+       eapply -p0 "${FILESDIR}"/rbot-rakefile-gettext.patch
+
+       # Avoid tests that are only compatible with ruby22
+       rm -f test/test_journal.rb || die
+
+       # Fix deprecated code that was removed with ruby22
+       sed -i -e 's/::Config/::RbConfig/' setup.rb || die
+
+       # Avoid tests for optional dependencies that are not packaged.
+       sed -i -e '/RegistryDaybreakTest/,/^end/ s:^:#:' test/test_registry.rb 
|| die
+
+       # Avoid broken tests that call code that doesn't exist
+       rm -f test/test_plugins_threshold.rb || die
+}
+
+all_ruby_compile() {
+       disable_rbot_plugin() {
+               mv "${S}"/data/rbot/plugins/$1.rb{,.disabled}
+       }
+       use_rbot_plugin() {
+               use $1 && return
+               disable_rbot_plugin "$2"
+       }
+       rbot_conf() {
+               echo "$1: $2" >> "${T}"/rbot.conf
+       }
+       use_rbot_conf_path() {
+               use "$1" \
+                       && rbot_conf "$2" "$3" \
+                       || rbot_conf "$2" /bin/false
+       }
+
+       local spell_program="/usr/bin/hunspell -i"
+       if use !spell; then
+               disable_rbot_plugin spell
+               spell_program="/bin/false"
+       elif use aspell; then
+               spell_program="/usr/bin/ispell-aspell"
+       fi
+
+       rbot_conf spell.program "${spell_program}"
+
+       if use !figlet && use !toilet; then
+               disable_rbot_plugin figlet
+       fi
+
+       use_rbot_conf_path figlet figlet.path /usr/bin/figlet
+       use_rbot_conf_path toilet toilet.path /usr/bin/toilet
+
+       use_rbot_plugin timezone time
+       use_rbot_plugin translator translator
+
+       use_rbot_plugin fortune fortune
+       use_rbot_conf_path fortune fortune.path /usr/bin/fortune
+
+       use_rbot_plugin cal cal
+       use_rbot_conf_path cal cal.path /usr/bin/cal
+
+       use_rbot_plugin host host
+       use_rbot_conf_path host host.path /usr/bin/host
+
+       local rbot_datadir="${D}"/usr/share/rbot
+
+       # This is unfortunately pretty manual at the moment, but it's just
+       # to avoid having to run special scripts to package new versions
+       # of rbot. The default if new languages are added that are not
+       # considered for an opt-out here is to install them, so you just
+       # need to add them later.
+       if use nls; then
+               strip-linguas ${ILINGUAS}
+               if [[ -n ${LINGUAS+set} ]]; then
+                       # As the the language name used by the rbot data files 
does
+                       # not correspond to the ISO codes we usually use for 
LINGUAS,
+                       # the following list of local varables will work as a
+                       # dictionary to get the name used by rbot from the ISO 
code.
+                       local lang_rbot_zh_CN="traditional_chinese"
+                       local lang_rbot_ru="russian"
+                       local lang_rbot_nl="dutch"
+                       local lang_rbot_de="german"
+                       local lang_rbot_fi="finnish"
+                       local lang_rbot_fr="french"
+                       local lang_rbot_it="italian"
+                       local lang_rbot_ja="japanese"
+
+                       for lang in ${ILINGUAS}; do
+                               has ${lang} ${LINGUAS} && continue
+
+                               lang_varname="lang_rbot_${lang}"
+                               lang_rbot=${!lang_varname}
+
+                               rm -r \
+                                       
"${S}"/data/rbot/languages/${lang_rbot}.lang \
+                                       
"${S}"/data/rbot/templates/lart/larts-${lang_rbot} \
+                                       
"${S}"/data/rbot/templates/lart/praises-${lang_rbot} \
+                                       
"${S}"/data/rbot/templates/salut/salut-${lang_rbot} \
+                                       "${S}"/po/${lang} &>/dev/null
+                       done
+               fi
+
+               ${RUBY} /usr/bin/rake makemo || die "locale generation failed"
+       fi
+}
+
+each_ruby_compile() {
+       ${RUBY} setup.rb config --prefix="/usr" \
+               || die "setup.rb install failed"
+}
+
+each_ruby_test() {
+       pushd test || die
+       ${RUBY} -Ilib:. -e "Dir['test_*'].each{|f| require f}" || die
+       popd || die
+}
+
+each_ruby_install() {
+       ${RUBY} setup.rb install --prefix="${D}" \
+               || die "setup.rb install failed"
+}
+
+all_ruby_install() {
+       diropts -o rbot -g nobody -m 0700
+       keepdir /var/lib/rbot
+
+       insinto /etc
+       doins "${T}"/rbot.conf
+
+       newinitd "${FILESDIR}/rbot.init2" rbot
+       newconfd "${FILESDIR}/rbot.conf2" rbot
+}
+
+pkg_postinst() {
+       elog "rbot can be started as a normal service."
+       elog "Check /etc/conf.d/rbot file for more information about this 
feature."
+       ewarn "DEPRECATION NOTICE:"
+       ewarn "The bdb database backend is deprecated and only available on 
Ruby 1.8."
+       ewarn "To migrate to the new tokyocabinet-based backend, change the 
core.db"
+       ewarn "parameter in your bot's conf.yaml to 'tc' and restart rbot."
+       ewarn "This procedure requires a Ruby version supporting both BDB and 
TC."
+}

Reply via email to