From 743c951efffe738973cc71b8ba46f6f98982bce9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20G=C3=B3rny?= Date: Sat, 25 Jul 2009 20:53:55 +0000 Subject: [PATCH] net-im/ekg2: Live ebuild for EKG2 IM (bug #187330). svn path=/sunrise/; revision=8884 --- net-im/ekg2/ChangeLog | 8 + net-im/ekg2/Manifest | 3 + net-im/ekg2/ekg2-99999999.ebuild | 245 +++++++++++++++++++++++++++++++ net-im/ekg2/metadata.xml | 45 ++++++ 4 files changed, 301 insertions(+) create mode 100644 net-im/ekg2/ChangeLog create mode 100644 net-im/ekg2/Manifest create mode 100644 net-im/ekg2/ekg2-99999999.ebuild create mode 100644 net-im/ekg2/metadata.xml diff --git a/net-im/ekg2/ChangeLog b/net-im/ekg2/ChangeLog new file mode 100644 index 000000000..f4550ee19 --- /dev/null +++ b/net-im/ekg2/ChangeLog @@ -0,0 +1,8 @@ +# ChangeLog for net-im/ekg2 +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 25 Jul 2009; Michał Górny (sedzimir) + +ekg2-99999999.ebuild, +metadata.xml: + Live ebuild for EKG2 IM (bug #187330). + diff --git a/net-im/ekg2/Manifest b/net-im/ekg2/Manifest new file mode 100644 index 000000000..b57026ddd --- /dev/null +++ b/net-im/ekg2/Manifest @@ -0,0 +1,3 @@ +EBUILD ekg2-99999999.ebuild 6424 RMD160 94e5febd29a6c55df5f459a7f0b1824470f9bb02 SHA1 9c22c99f81d6a3bc6501190d86b90867064f142c SHA256 b32a19df1cfa65fd1822e1b4f6a5b5c1e224be0ad113d6bfd92278ec1f9f16fd +MISC ChangeLog 258 RMD160 18a9cc33d98ee2f413d888b9f094b6804753954b SHA1 70fe3ecdc8d5ab25dc75c29b2b7ce8999b131ab2 SHA256 bafe7cb0161ef4fc8d374fb3d4efb3eacc5fe31b31294b69fedb7c2d12e7964c +MISC metadata.xml 2417 RMD160 4f3105d0648d9a31080d2c4b5a9e51d0002ecc06 SHA1 1014f8aca047799557ccfe60b71134f86a6b04d5 SHA256 8ee80399405307e70f2cfb70ad5f6a48200e13d95c4b1bacd71fa14b110bcc21 diff --git a/net-im/ekg2/ekg2-99999999.ebuild b/net-im/ekg2/ekg2-99999999.ebuild new file mode 100644 index 000000000..5a6c85729 --- /dev/null +++ b/net-im/ekg2/ekg2-99999999.ebuild @@ -0,0 +1,245 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +ESVN_REPO_URI="http://toxygen.net/svn/ekg2/trunk" + +inherit multilib perl-module subversion + +DESCRIPTION="Text-based, multi-protocol instant messenger" +HOMEPAGE="http://www.ekg2.org" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="dbus extra gadu gif gnutls gpg gpm gsm gtk icq idn inotify irc + jabber jogger jpeg mail minimal ncurses nls nntp oracle oss pcap + perl python readline remote rss ruby sim sms spell + sqlite sqlite3 srv ssl static unicode web xosd zlib" + +# -- non-obvious plugin mappings -- +# extra -> autoresponder, polchat, rivchat, rot13, xmsg +# !minimal -> ioctld, logs, rc +# any sound -> pcm +# web -> httprc_xajax + +RDEPEND=" + dbus? ( sys-apps/dbus ) + gpg? ( >=app-crypt/gpgme-1.0.0 ) + gsm? ( >=media-sound/gsm-1.0.12-r1 ) + gtk? ( >=x11-libs/gtk+-2.4 ) + idn? ( net-dns/libidn ) + nls? ( virtual/libintl ) + oracle? ( dev-db/oracle-instantclient-basic ) + pcap? ( net-libs/libpcap ) + perl? ( >=dev-lang/perl-5.2 ) + python? ( >=dev-lang/python-2.3.3 ) + readline? ( sys-libs/readline ) + rss? ( >=dev-libs/expat-1.95.6 ) + ruby? ( dev-lang/ruby ) + sim? ( >=dev-libs/openssl-0.9.6m ) + xosd? ( x11-libs/xosd ) + + gadu? ( >=net-libs/libgadu-1.7.0 + gif? ( media-libs/giflib ) + jpeg? ( >=media-libs/jpeg-6b-r2 ) ) + + jabber? ( >=dev-libs/expat-1.95.6 + gnutls? ( >=net-libs/gnutls-1.0.17 ) + !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6m ) ) + + zlib? ( sys-libs/zlib ) ) + + !minimal? ( + zlib? ( sys-libs/zlib ) ) + + ncurses? ( sys-libs/ncurses[unicode?] + gpm? ( >=sys-libs/gpm-1.20.1 ) + spell? ( >=app-text/aspell-0.50.5 ) ) + + sqlite3? ( dev-db/sqlite:3 ) + !sqlite3? ( sqlite? ( dev-db/sqlite:0 ) )" + +DEPEND=">=dev-util/scons-0.97 + ${RDEPEND}" + +pkg_setup() { + if ! use gtk && ! use ncurses && ! use readline && ! use remote && ! use web; then + ewarn 'ekg2 is being compiled without any frontend, you should consider' + ewarn 'enabling at least one of following USEflags:' + ewarn ' gtk, ncurses, readline, remote, web.' + fi +} + +use_plug() { + use $1 && echo -n ,${2:-$1} +} + +# Build comma-separated plugin list based on USE +# We can put the same plugin few times if it's referenced by more than one flag + +build_plugin_list() { + echo '@none' \ + $(use_plug dbus) \ + $(use_plug extra autoresponder,polchat,rivchat,rot13,xmsg) \ + $(use_plug gadu gg) \ + $(use_plug gpg) \ + $(use_plug gsm) \ + $(use_plug gtk) \ + $(use_plug icq) \ + $(use_plug irc) \ + $(use_plug jabber jabber) \ + $(use_plug jogger jogger) \ + $(use_plug mail) \ + $(use_plug !minimal ioctld,logs,rc) \ + $(use_plug ncurses) \ + $(use_plug nntp feed) \ + $(use_plug oracle logsoracle) \ + $(use_plug oss oss,pcm) \ + $(use_plug pcap sniff) \ + $(use_plug perl) \ + $(use_plug python) \ + $(use_plug readline) \ + $(use_plug remote) \ + $(use_plug rss feed) \ + $(use_plug ruby) \ + $(use_plug sim) \ + $(use_plug sms) \ + $(use_plug sqlite logsqlite) \ + $(use_plug sqlite3 logsqlite) \ + $(use_plug web httprc_xajax) \ + $(use_plug xosd) \ + | tr -d '[[:space:]]' +} + +# create DEPS list for plugin +# + means dep forced (fail if unavailable, prioritize over other one-of) +# - means dep disabled (don't even check for it) +# use:opt maps USEflag to specified opt +# usea|useb|usec makes one-of opt + +make_deps() { + local spls spll flag fopt out + + echo -n " $1_DEPS=" + shift + + # loop over different opts + while [ -n "$1" ]; do + spls=$1 + out= + # loop over one-of opts + while true; do + # get next one-of, make sure spls gets empty if last + spll=${spls%%|*} + spls=${spls:$(( ${#spll} + 1 ))} + # parse use:opt, if no :opt specified fopt=flag + flag=${spll%:*} + fopt=${spll#*:} + + # if one of one-of opt matches, we output only it + # else we need to output all of them disabled + use ${flag} && out=+ || out=${out}- + out=${out}${fopt} + + # got more one-of opts? parse them only if this didn't match + if [ -n "${spls}" ] && ! use ${flag}; then + out=${out}, + continue + fi + + echo -n ${out} + shift + [ -n "$1" ] && echo -n , + break + done + done +} + +# create all DEPS lists + +build_addopts_list() { + use extra && make_deps XMSG inotify + use gadu && make_deps GG gif jpeg + use jabber && make_deps JABBER zlib 'gnutls|ssl:openssl' + use mail && make_deps MAIL inotify + use !minimal && make_deps LOGS zlib + use ncurses && make_deps NCURSES gpm spell:aspell + use rss || use nntp && make_deps FEED rss:expat + use sqlite3 || use sqlite && make_deps LOGSQLITE 'sqlite3|sqlite' +} + +# SCons doesn't build perl modules, perl-module.eclass does it better + +foreach_perl_module() { + if use perl; then + cd plugins/perl || die 'cd plugins/perl failed' + for DIR in */; do + cd "${DIR}" || die "cd ${DIR} (perl module) failed" + $1 + cd .. + + # workaround perl-module.eclass + unset SRC_PREP + done + cd ../.. + fi +} + +use_var() { + echo -n "${2:-$1}=" | tr 'a-z' 'A-Z' + use $1 && echo -n '1' || echo -n '0' +} + +src_configure() { + # HARDDEPS -> build should fail if some dep is unsatisfied + # DISTNOTES -> are displayed with /version, helpful for upstream bug reports + + scons PLUGINS=$(build_plugin_list) $(build_addopts_list) \ + HARDDEPS=1 $(use_var unicode) $(use_var nls) \ + $(use_var static) $(use_var idn) $(use_var srv RESOLV) \ + PREFIX=/usr LIBDIR="\$EPREFIX/$(get_libdir)" \ + DOCDIR="\$DATAROOTDIR/doc/${PF}" \ + DISTNOTES="emdzientoo ebuild ${PVR}, USE=${USE}" \ + ${MAKEOPTS} conf || die "scons conf failed" + + foreach_perl_module perl-module_src_configure +} + +src_compile() { + # SKIPCONF -> no need to reconfigure + + scons SKIPCONF=1 ${MAKEOPTS} || die "scons failed" + + foreach_perl_module perl-module_src_compile +} + +src_test() { + foreach_perl_module perl-module_src_test +} + +src_install() { + scons DESTDIR="${D}" ${MAKEOPTS} install || die "scons install failed" + + foreach_perl_module perl-module_src_install + + use perl && fixlocalpod + prepalldocs +} + +pkg_postinst() { + elog "EKG2 is still considered very experimental. Please do report all issues" + elog "to mailing list ekg2-users@lists.ziew.org (you can write in English)." + elog "Please do not file bugs to Gentoo Bugzilla." + elog + elog "Before reporting a bug, please check if it's reproducible and get" + elog "complete backtrace of it. Even if you can't reproduce it, you may let us" + elog "know that something like that happened." + elog + elog "How to get backtraces:" + elog " http://www.gentoo.org/proj/en/qa/backtraces.xml" + elog + elog "Thank you and have fun." +} diff --git a/net-im/ekg2/metadata.xml b/net-im/ekg2/metadata.xml new file mode 100644 index 000000000..d3cb6f0a8 --- /dev/null +++ b/net-im/ekg2/metadata.xml @@ -0,0 +1,45 @@ + + + + maintainer-wanted + + Enable following plugins: autoresponder, + polchat, rivchat, rot13, xmsg. + Enable Gadu-Gadu protocol support (requires + net-libs/libgadu). + GIF token support for Gadu-Gadu protocol. + Enable SSL/TLS support through GnuTLS (for jabber + plugin). If 'ssl' is set too, GnuTLS will be used. + Enable jabber message encryption through + app-crypt/gpgme. + Enable inotify-based filesystem moniotoring support + for xmsg&mail plugins. + Enable IRC protocol support. + Enable support for Jogger.pl jabber bot message + parsing plugin. + JPEG token support for Gadu-Gadu protocol. + Enable mailbox/maildir monitoring plugin. + Don't build following plugins: ioctld, logs, + rc. + Support logging messages into Oracle database. + Enable Gadu-Gadu protocol sniffer plugin (requires + net-libs/libpcap). + Enable remote UI plugin allowing to connect to + running EKG2 using net-im/ekg2-remote. + Enable 'sim' plugin which provides asymmetric + encryption of messages used by few unofficial Gadu-Gadu clients + (requires dev-libs/openssl). + Enable SMS sending plugin. + Support logging messages into SQLite3 database. + If 'sqlite' is set too, SQLite3 will be used. + Support logging messages into SQLite2 database. + If 'sqlite3' is set too, it will be used instead. + Use SRV-capable resolver through libresolv. + Enable SSL/TLS support through OpenSSL (for jabber + plugin). If 'gnutls' is set too, it will be used instead. + Link statically with plugins instead of installing + them as shared libraries (external libraries can still be linked + dynamically). + Enable httprc_xajax WebUI plugin. + + -- 2.43.2