From: "Hans de Graaff" <graaff@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-irc/rbot/
Date: Sat, 15 Jul 2017 10:20:39 +0000 (UTC) [thread overview]
Message-ID: <1500114028.b8d1ca81f98edc8cc79df33a53e623cf7530172d.graaff@gentoo> (raw)
commit: b8d1ca81f98edc8cc79df33a53e623cf7530172d
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 15 10:20:07 2017 +0000
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Sat Jul 15 10:20:28 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8d1ca81
net-irc/rbot: fix broken tests, bug 624744; add ruby23
Package-Manager: Portage-2.3.6, Repoman-2.3.2
net-irc/rbot/rbot-0.9.15_p20160325-r1.ebuild | 195 +++++++++++++++++++++++++++
1 file changed, 195 insertions(+)
diff --git a/net-irc/rbot/rbot-0.9.15_p20160325-r1.ebuild b/net-irc/rbot/rbot-0.9.15_p20160325-r1.ebuild
new file mode 100644
index 00000000000..a81b65ee213
--- /dev/null
+++ b/net-irc/rbot/rbot-0.9.15_p20160325-r1.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+USE_RUBY="ruby21 ruby22 ruby23"
+
+GITHUB_COMMIT="e358601cc521d8aced941eb928fae2d8c53cf0c2"
+inherit ruby-ng eutils user
+
+DESCRIPTION="A ruby IRC bot"
+HOMEPAGE="http://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 shorturl nls figlet
+ fortune cal host toilet"
+ILINGUAS="zh_CN zh_TW ru nl de fi fr it ja"
+RUBY_S="${PN}-${GITHUB_COMMIT}"
+
+for lang in $ILINGUAS; do
+ IUSE="${IUSE} linguas_${lang}"
+done
+
+RUBY_PATCHES=( rbot-rakefile-gettext.patch )
+
+RDEPEND+="
+ spell? (
+ aspell? ( app-text/aspell )
+ !aspell? ( app-text/hunspell )
+ )
+ figlet? ( app-misc/figlet )
+ toilet? ( app-misc/toilet )
+ fortune? ( games-misc/fortune-mod )
+ cal? ( || ( sys-apps/util-linux sys-freebsd/freebsd-ubin ) )
+ host? ( net-dns/bind-tools )"
+
+ruby_add_bdepend "
+ nls? (
+ >=dev-ruby/ruby-gettext-2
+ dev-ruby/rake
+ )"
+
+ruby_add_rdepend "
+ dev-ruby/tokyocabinet
+ timezone? ( dev-ruby/tzinfo:* )
+ translator? ( dev-ruby/mechanize )
+ shorturl? ( dev-ruby/shorturl )
+ nls? ( dev-ruby/ruby-gettext >=dev-ruby/locale-2.0.5-r2 )
+"
+
+pkg_setup() {
+ enewuser rbot -1 -1 /var/lib/rbot nobody
+}
+
+all_ruby_prepare() {
+ # 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 shorturl shortenurls
+
+ 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} ]]; 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
+ use linguas_${lang} && 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."
+}
next reply other threads:[~2017-07-15 10:20 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-15 10:20 Hans de Graaff [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-01-25 10:23 [gentoo-commits] repo/gentoo:master commit in: net-irc/rbot/ Hans de Graaff
2023-08-19 9:17 Hans de Graaff
2023-07-09 5:42 Hans de Graaff
2023-03-30 13:04 Hans de Graaff
2021-07-22 19:28 Conrad Kostecki
2021-07-22 19:28 Conrad Kostecki
2021-06-30 10:15 Ulrich Müller
2021-03-09 9:41 Hans de Graaff
2020-05-06 17:25 Michał Górny
2019-04-12 13:58 Hans de Graaff
2018-07-01 7:01 Hans de Graaff
2018-03-26 18:39 Robin H. Johnson
2018-01-21 19:37 Hans de Graaff
2018-01-07 11:21 Ulrich Müller
2017-07-16 6:49 Hans de Graaff
2016-12-16 21:06 Hans de Graaff
2016-12-16 21:06 Hans de Graaff
2016-08-28 6:33 Hans de Graaff
2016-08-24 13:25 Lars Wendler
2016-04-03 18:03 Manuel Rüger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1500114028.b8d1ca81f98edc8cc79df33a53e623cf7530172d.graaff@gentoo \
--to=graaff@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox