diff options
Diffstat (limited to 'net-irc')
-rw-r--r-- | net-irc/rbot/Manifest | 1 | ||||
-rw-r--r-- | net-irc/rbot/files/rbot-rakefile-gettext.patch | 13 | ||||
-rw-r--r-- | net-irc/rbot/rbot-0.9.15_p20160325.ebuild | 190 |
3 files changed, 204 insertions, 0 deletions
diff --git a/net-irc/rbot/Manifest b/net-irc/rbot/Manifest index c65965d144b1..10d848f0eb4d 100644 --- a/net-irc/rbot/Manifest +++ b/net-irc/rbot/Manifest @@ -1 +1,2 @@ DIST rbot-0.9.15_p20131020.tar.gz 773953 SHA256 74b4db6a2b24784a1779518cd070bbf8cb6d4a5059167579d8226a0fc69cef15 SHA512 3319031361f7ab23e43a997a94663790775047c50eb8eb51f3f579cf879ca822b48118060fdd9f2816d5d97c57de8f6fb7ce883457336f961ff25cf6c49a8d2a WHIRLPOOL 8e77fdeb290dae0c4932628e010768217df223e94a5ec902ed48e9db3a2c2985ef2df932e84048ab8721b8d4bb954852397974afa02f1bdfc1e1b8533b58d812 +DIST rbot-0.9.15_p20160325.tar.gz 762685 SHA256 ae638f53607ad0f1d365ff3c4408ef3c27c8e0f5e83ae355742185c1076ec96e SHA512 b0bc90ee2c6ddb3cdd92cdd5f3a45520d20bc97327b3d694235f7ba94f13ef3c884d4658b083f71bfee2cbeff3cbc7a57c251c4d28bfee293e2556f64e7b4160 WHIRLPOOL e2fbeb41c065ea8642bff49ffade38992c6ab7ccee107d1e140c1810daed869e6e378ac59f7453eeacf8f24e3a980dcb5b911f706475c6f2457a61e3b0483902 diff --git a/net-irc/rbot/files/rbot-rakefile-gettext.patch b/net-irc/rbot/files/rbot-rakefile-gettext.patch new file mode 100644 index 000000000000..4fc3735f4523 --- /dev/null +++ b/net-irc/rbot/files/rbot-rakefile-gettext.patch @@ -0,0 +1,13 @@ +--- Rakefile.old 2013-08-20 01:00:05.000000000 +0200 ++++ Rakefile 2013-10-21 19:42:06.800019343 +0200 +@@ -125,8 +126,8 @@ + }) do |t| + po_file, mo_file = t.source, t.name + puts "#{po_file} => #{mo_file}" +- require 'gettext/utils' +- GetText.rmsgfmt po_file, mo_file ++ require 'gettext/tools' ++ GetText::Tools::MsgFmt.run po_file, mo_file + end + + task :check_po_tools do diff --git a/net-irc/rbot/rbot-0.9.15_p20160325.ebuild b/net-irc/rbot/rbot-0.9.15_p20160325.ebuild new file mode 100644 index 000000000000..e458c90b320d --- /dev/null +++ b/net-irc/rbot/rbot-0.9.15_p20160325.ebuild @@ -0,0 +1,190 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +USE_RUBY="ruby20 ruby21 ruby22" + +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 ~ppc ~x86" +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 +} + +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." +} |