summaryrefslogtreecommitdiff
path: root/net-im
diff options
context:
space:
mode:
authorTomas Chvatal (scarabeus) <tomas.chvatal@gmail.com>2008-10-30 23:54:38 +0100
committerTomas Chvatal (scarabeus) <tomas.chvatal@gmail.com>2008-10-30 23:54:38 +0100
commit417ca9f05458c7b4bfe3529de3cc8e7ae659c5ca (patch)
treeeb4070cae0ef882c82a5efe089af96722706a155 /net-im
parentInitial commit (diff)
downloadscarabeus-417ca9f05458c7b4bfe3529de3cc8e7ae659c5ca.tar.gz
scarabeus-417ca9f05458c7b4bfe3529de3cc8e7ae659c5ca.tar.bz2
scarabeus-417ca9f05458c7b4bfe3529de3cc8e7ae659c5ca.zip
Initial commit for my messy stuff.
Diffstat (limited to 'net-im')
-rw-r--r--net-im/jabbim/Manifest7
-rw-r--r--net-im/jabbim/files/0.4.3/Makefile66
-rw-r--r--net-im/jabbim/files/0.4.3/install-files.py69
-rw-r--r--net-im/jabbim/files/0.4.3/installation-blacklist22
-rw-r--r--net-im/jabbim/files/0.4.3/jabbim.in3
-rw-r--r--net-im/jabbim/jabbim-0.4.3.ebuild46
-rw-r--r--net-im/jabbim/jabbim-9999.ebuild44
-rw-r--r--net-im/licq/Manifest12
-rw-r--r--net-im/licq/files/1.2.7-debugflag.patch13
-rw-r--r--net-im/licq/files/1.2.7-nptl.patch34
-rw-r--r--net-im/licq/files/1.3.0-gpgme3_hack.patch31
-rw-r--r--net-im/licq/files/1.3.0-no_stupid_koloboks.patch65
-rw-r--r--net-im/licq/files/1.3.0-suse_bool.patch11
-rw-r--r--net-im/licq/files/1.3.2-email_typo.patch11
-rw-r--r--net-im/licq/files/licq-1.3.2-gcc41.patch34
-rw-r--r--net-im/licq/files/licq-1.3.5-gcc43.patch111
-rw-r--r--net-im/licq/files/licq-1.3.5-logonfix.patch13
-rw-r--r--net-im/licq/files/licq-1.3.5-prevent-dos.patch111
-rw-r--r--net-im/licq/licq-1.3.6.ebuild119
-rw-r--r--net-im/psi/Manifest14
-rw-r--r--net-im/psi/psi-0.12-r1.ebuild110
21 files changed, 946 insertions, 0 deletions
diff --git a/net-im/jabbim/Manifest b/net-im/jabbim/Manifest
new file mode 100644
index 0000000..fd8f0da
--- /dev/null
+++ b/net-im/jabbim/Manifest
@@ -0,0 +1,7 @@
+AUX 0.4.3/Makefile 2292 RMD160 6d6b203d063e216b09f9d761b0dae04226517c06 SHA1 6c4fe0b6e96b21f60e50e922673ea5759e02700c SHA256 4bd8c0dd5eb600d12666f15a09162e236a30f805afb4b9a847cee13b65128a26
+AUX 0.4.3/install-files.py 1879 RMD160 9fcd3751959a3979460c99059604ed562b3eb6d0 SHA1 171a49be77c8f97347bf16d7669e683c33650c58 SHA256 a43dc33b9a741668ff014d42c17407ab42624b6f2de5464ca2f12f69eb678c98
+AUX 0.4.3/installation-blacklist 543 RMD160 0c797a0620385005a1314f80b7a001cc0ea7f13b SHA1 a1c3d1f33766f0c09faa6f598401d3b288f563c2 SHA256 08e0e9b18be302c6aba83df738e23fbf356c84d3f9b669aa04b1187516ebcd4a
+AUX 0.4.3/jabbim.in 57 RMD160 a003184680ef55bded98ba21a84500d2a4333ffc SHA1 8cd8de970c3ec537d45455ccf5674106637ba692 SHA256 75873e0dbe8c295403622f085a6120e31ef1cdd2ecb17f7d13982dbd0aac7d82
+DIST jabbim-0.4.3.tar.bz2 2047466 RMD160 c07086373f07a1e991d193740c652e107b583b58 SHA1 b50ae2c373dff6fdf56d923f0a88be3b3bfcf678 SHA256 8f1a062edfd23f2a977bf84d4f34f156b4588f9c672090a3b746deafbd98f49e
+EBUILD jabbim-0.4.3.ebuild 1101 RMD160 25a89015478e4eb738888612f30f438380fdf67b SHA1 154d09193043631b41a8b72999aa8f98a9ba7ccd SHA256 8d061012baf8ffb955e9628f5f7d67fdeec6bcf896a3104a762e789e86125f0e
+EBUILD jabbim-9999.ebuild 960 RMD160 5fb1ef8e4d477a264ab38a220518c84a1cd5b7d2 SHA1 1f9139fadb72750338398ea60d5edd099f70187b SHA256 d9466c810864fd0b6a2c19f1d0f11fb5ea8aa3c0c54d586ea25e2342593dc345
diff --git a/net-im/jabbim/files/0.4.3/Makefile b/net-im/jabbim/files/0.4.3/Makefile
new file mode 100644
index 0000000..7f57b89
--- /dev/null
+++ b/net-im/jabbim/files/0.4.3/Makefile
@@ -0,0 +1,66 @@
+# Hierarchy under which Jabbim can expect to be installed.
+# Can be changed on the command line, eg.:
+# make PREFIX=/usr
+PREFIX = /usr/local
+
+# But you'd better leave these alone
+bindir = $(PREFIX)/bin
+datadir = $(PREFIX)/share
+jabbimdata = $(datadir)/jabbim
+
+# Builds generated files
+ts_files := $(shell find . -name '*.ts')
+qm_files := $(ts_files:.ts=.qm)
+build: $(qm_files) jabbim .configured-prefix
+
+.configured-prefix: jabbim
+ echo $(PREFIX) > .configured-prefix
+
+# Fills in the template for the starting script
+jabbim: jabbim.in
+ sed -e "s|@JABBIMDATA@|$(jabbimdata)|g" $< > $@
+
+%.qm: %.ts
+ lrelease-qt4 -compress $< -qm $@
+
+
+# Installs Jabbim into the system.
+# DESTDIR is mainly useful for packagers.
+# This variable can be overridden on the command line, eg.:
+# make install DESTDIR=/var/tmp/buildroot
+DESTDIR =
+
+configured_prefix = $(shell cat .configured-prefix)
+inst_bindir = $(DESTDIR)$(configured_prefix)/bin
+inst_datadir = $(DESTDIR)$(configured_prefix)/share
+inst_jabbimdata = $(inst_datadir)/jabbim
+.PHONY: install
+install: build
+ @echo "configured prefix is $(configured_prefix)"
+ @[ -n "$(DESTDIR)" ] && echo "DESTDIR is $(DESTDIR)" ||:
+ @echo "installation bindir is $(inst_bindir)"
+ @echo "installation datadir is $(inst_datadir)"
+ @echo "installation jabbimdata is $(inst_jabbimdata)"
+ python install-files.py -v -b installation-blacklist . "$(inst_jabbimdata)"
+ @#cp -dR --preserve=mode,timestamps,context,links . "$(DESTDIR)$(inst_jabbimdata)"
+ install -D -p -m 755 jabbim "$(inst_bindir)/jabbim"
+ install -D -p -m 644 jabbim.desktop "$(inst_datadir)/applications/jabbim.desktop"
+ for i in 16 22 32 48 ; do \
+ d="$(inst_datadir)/icons/hicolor/$${i}x$${i}/apps" ;\
+ install -D -m 644 -p images/$${i}x$${i}/apps/jabbim.png "$$d/jabbim.png" ;\
+ done
+ d="$(inst_datadir)/icons/hicolor/scalable/apps" ;\
+ install -D -m 644 -p images/scalable/apps/jabbim.svg "$$d/jabbim.svg"
+ install -dm 755 $(inst_datadir)/pixmaps
+ pushd $(inst_datadir)/pixmaps ;\
+ ln -sf ../icons/hicolor/48x48/apps/jabbim.png . ;\
+ ln -sf ../icons/hicolor/scalable/apps/jabbim.svg . ;\
+ popd
+ @echo Jabbim has been installed.
+
+
+# Removes generated files
+.PHONY: clean
+clean:
+ find . \( -name '*.py[co]' -o -name '*.qm' \) -print0 | xargs -0 --no-run-if-empty rm
+ rm -f jabbim .configured-prefix
diff --git a/net-im/jabbim/files/0.4.3/install-files.py b/net-im/jabbim/files/0.4.3/install-files.py
new file mode 100644
index 0000000..d5e7278
--- /dev/null
+++ b/net-im/jabbim/files/0.4.3/install-files.py
@@ -0,0 +1,69 @@
+import re, os
+import shutil
+from optparse import OptionParser
+
+parser = OptionParser(usage="usage: %prog [options] srcdir destdir")
+parser.add_option("-b", "--blacklist", dest="blacklist",
+ help="skip files matching a regexp from FILE", metavar="FILE")
+parser.add_option("-v", "--verbose", dest="verbose", action="store_true",
+ default=False, help="print messages about files being copied")
+(options, args) = parser.parse_args()
+
+if len(args) != 2:
+ parser.error("Incorrect number of arguments")
+
+(srcdir, destdir) = args
+
+black_re = None
+if options.blacklist != None:
+ blacklist = []
+ f = open(options.blacklist, 'r')
+ for l in f.readlines():
+ if l.startswith('#'):
+ continue
+ blacklist.append('(' + l.rstrip() + ')')
+ f.close()
+ black_re = re.compile('\./(' + '|'.join(blacklist) + ')$')
+
+def mk_filter(regex):
+ if not regex:
+ def does_not_match(p):
+ return True
+ else:
+ def does_not_match(p):
+ return not regex.match(p)
+ return does_not_match
+
+passes_blacklist = mk_filter(black_re)
+
+def errwalk(err):
+ raise err
+
+os.chdir(srcdir)
+
+for root, dirs, files in os.walk('.', topdown=True, onerror=errwalk):
+ destroot = os.path.join(destdir, root)
+ if options.verbose:
+ print "Creating %s" % destroot
+ try:
+ os.makedirs(destroot, 0755)
+ except OSError, e:
+ # only "file exists" is ok
+ if e.errno != 17:
+ raise e
+
+ # prevent descending into blacklisted dirs
+ fullpaths = [os.path.join(root,d) for d in dirs]
+ fullpaths = filter(passes_blacklist, fullpaths)
+ del dirs[:] # dirs must be edited in-place
+ dirs.extend([ p[p.rindex('/')+1:] for p in fullpaths ])
+
+ # copy files
+ fullpaths = [os.path.join(root,f) for f in files]
+ fullpaths = filter(passes_blacklist, fullpaths)
+ for f in fullpaths:
+ destfile = os.path.join(destroot, f[f.rindex('/')+1:])
+ if options.verbose:
+ print "Installing %s" % destfile
+ shutil.copy2(f, destfile)
+ os.chmod(destfile, 0644)
diff --git a/net-im/jabbim/files/0.4.3/installation-blacklist b/net-im/jabbim/files/0.4.3/installation-blacklist
new file mode 100644
index 0000000..ff6e9be
--- /dev/null
+++ b/net-im/jabbim/files/0.4.3/installation-blacklist
@@ -0,0 +1,22 @@
+# This file contains regexps for files which are NOT to be installed into
+# /usr/share/jabbim by 'make install'
+# The whole relative path is matched against them and it must match exactly
+# (imagine a $ at the end of every regex here)
+.*\.py[co]
+.*\.pro
+.*\.orig
+epydoc.cfg
+(gui-)?test.py
+installation-blacklist
+install-files.py
+jabbim
+jabbim.(desktop|in|sh)
+ui2py.py
+AUTHORS
+COPYING
+Makefile
+# dot-files and directories (catches .svn and .git directories):
+(.*/)?\..*
+# qm files suffice for end use:
+locales/[^/]+\.ts
+plugins/[^/]+/[^/]+\.ts
diff --git a/net-im/jabbim/files/0.4.3/jabbim.in b/net-im/jabbim/files/0.4.3/jabbim.in
new file mode 100644
index 0000000..4c32146
--- /dev/null
+++ b/net-im/jabbim/files/0.4.3/jabbim.in
@@ -0,0 +1,3 @@
+#!/bin/sh
+cd "@JABBIMDATA@"
+exec python -OO jabbim.py $@
diff --git a/net-im/jabbim/jabbim-0.4.3.ebuild b/net-im/jabbim/jabbim-0.4.3.ebuild
new file mode 100644
index 0000000..b4787b6
--- /dev/null
+++ b/net-im/jabbim/jabbim-0.4.3.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=1
+
+inherit eutils
+
+DESCRIPTION="Jabbim is Jabber/XMPP client written in Python language using Qt"
+HOMEPAGE="http://dev.jabbim.cz/jabbim"
+SRC_URI="http://disk.jabbim.cz/michich@jabber.cz/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+ssl"
+
+DEPEND="dev-python/ctypes
+ >=dev-python/PyQt4-4.3
+ >=dev-python/twisted-names-0.4
+ >=dev-python/twisted-web-0.7
+ >=dev-python/twisted-words-0.5
+ dev-python/pysqlite
+ ssl? ( dev-python/pyopenssl )"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${A}
+ # copy install scripts
+ cp "${FILESDIR}"/"${PV}"/Makefile "${S}"
+ cp "${FILESDIR}"/"${PV}"/install-files.py "${S}"
+ cp "${FILESDIR}"/"${PV}"/installation-blacklist "${S}"
+ cp "${FILESDIR}"/"${PV}"/"${PN}".in "${S}"
+ cd "${S}"
+ sed -i \
+ -e "s:lrelease-qt4:lrelease:" \
+ Makefile || die "sed Makefile failed"
+}
+src_compile() {
+ emake PREFIX="/usr/"|| die "emake failed!"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ make_desktop_entry "${PN}" "JabbIM"
+}
diff --git a/net-im/jabbim/jabbim-9999.ebuild b/net-im/jabbim/jabbim-9999.ebuild
new file mode 100644
index 0000000..407eb96
--- /dev/null
+++ b/net-im/jabbim/jabbim-9999.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=1
+
+ESVN_REPO_URI="svn://dev.jabbim.cz/jabbim/trunk"
+
+inherit subversion eutils
+
+DESCRIPTION="Jabbim is Jabber/XMPP client written in Python language using Qt"
+HOMEPAGE="http://dev.jabbim.cz/jabbim"
+#SRC_URI="http://disk.jabbim.cz/michich@jabber.cz/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="+ssl"
+
+DEPEND="dev-python/ctypes
+ >=dev-python/PyQt4-4.3
+ >=dev-python/twisted-names-0.4
+ >=dev-python/twisted-web-0.7
+ >=dev-python/twisted-words-0.5
+ dev-python/pysqlite
+ ssl? ( dev-python/pyopenssl )"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ subversion_src_unpack
+ #unpack ${A}
+ cd "${S}"
+ sed -i \
+ -e "s:lrelease-qt4:lrelease:" \
+ Makefile || die "sed Makefile failed"
+}
+src_compile() {
+ emake PREFIX="/usr/"|| die "emake failed!"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ make_desktop_entry "${PN}" "JabbIM"
+}
diff --git a/net-im/licq/Manifest b/net-im/licq/Manifest
new file mode 100644
index 0000000..ac74a7e
--- /dev/null
+++ b/net-im/licq/Manifest
@@ -0,0 +1,12 @@
+AUX 1.2.7-debugflag.patch 396 RMD160 c1c52e57c34dd1b218fd26b338be7b3a47aa7cc6 SHA1 c184cb6d3aa70a3790a2b16a669d483d1f9ba666 SHA256 a00700f5170bf56bef28ffce010c530734f97fbf5d4341b08e9804d022314655
+AUX 1.2.7-nptl.patch 1178 RMD160 dd48fbebb541e6e4257b99cd09a72701e3cbc4b9 SHA1 23cb8638ebfd3664a42e26ade08d4343cd422667 SHA256 cf319b0a91f563fbae6a3590264f8bfe9d767ad55179f616adf804609b1aa0db
+AUX 1.3.0-gpgme3_hack.patch 878 RMD160 d01f33df1e045791ba169759a0476c2a4bfe20c9 SHA1 1fcf053c89ae51d3d109fab7b4c3d817a078dd33 SHA256 7cdf7f5a111b07b1b37db144dec58464851ff4daa7c6cef7155ca9d5254afb2b
+AUX 1.3.0-no_stupid_koloboks.patch 3160 RMD160 242a92a26fcaa1e86efdadfe330ae780ae80d713 SHA1 04d2be6a7a989334f92ddacf76eabe6a859bd5b3 SHA256 a227ed596bd50fdbee52854fde7381f12b1ab4326b7f222ab89f6e6254ca9c1c
+AUX 1.3.0-suse_bool.patch 191 RMD160 0b8b913f192328485f213c9d7cf12575158c4584 SHA1 4112dd355aea01b9c5c8f89d9ed2681eb616c4d7 SHA256 e061f929c965d28724cc2ff5ad7a859035331e24c52f8fd9cd2c73a07d32898a
+AUX 1.3.2-email_typo.patch 620 RMD160 7b8b9edb0f88e2d1a1372d86e8d174ffee910cd2 SHA1 73152f8161cb54897d978783dab536b9abffebad SHA256 18a9a5b10d25ee4f017b78183257950a71af20a7927e071f5f05191c078d3eb3
+AUX licq-1.3.2-gcc41.patch 1238 RMD160 99a4628325ee2818a215dd2af870b0fdd7a76659 SHA1 638b3e985efbbc5f9099e229b08da4bed875d81a SHA256 eca8a5920942d8ce938e3bf907daf4f5353721a95af4447db9e65874b58e745e
+AUX licq-1.3.5-gcc43.patch 3640 RMD160 9ab77b228e9426082d8015f452c9f25e46548b4c SHA1 ea20203897d26f9c842fa6fc648b9ce5db5c4b8b SHA256 4acd8891b02ce496176a4724d193fbf07330bc6ca40834a00ccfd0f2ea3b70dc
+AUX licq-1.3.5-logonfix.patch 451 RMD160 c951b408e545e0aac009830061a93c614d19aeb7 SHA1 0a1d2ecab14d8f453727dbe47ad01b1c6021c9b9 SHA256 7b64b67852392278efa6ff081033fe16efe261da9093606e69799bfdfe249b5a
+AUX licq-1.3.5-prevent-dos.patch 3866 RMD160 55a44ea3cbcdbac57c839f56fce5f90231d846bb SHA1 ff3c92832827ad2a132ce2946b42e5f912b59025 SHA256 9f9ddcd1469445b1c3aa08b39956d040ccb583b747e3bbf6d79504f0aba8806e
+DIST licq-1.3.6.tar.bz2 4777777 RMD160 0d626640e02c9991309d6f7c32725cd1d5bdfa37 SHA1 1451da41c82b9a13424c96d8641e642895b723ac SHA256 ad6ea66301923e5d106111a6b4654aaa72131d8b5c499d16dc9fbbc8cd29845e
+EBUILD licq-1.3.6.ebuild 3226 RMD160 30ccb78dc5ba097dcd41a753ccd80c7e2da4586f SHA1 40a22cc72c5a0291a784819521e2b0637455bcf4 SHA256 d72163f90943b978f3d308b9f3a00d2184c61bc1482dc3c140c70763d9d6a193
diff --git a/net-im/licq/files/1.2.7-debugflag.patch b/net-im/licq/files/1.2.7-debugflag.patch
new file mode 100644
index 0000000..f76f278
--- /dev/null
+++ b/net-im/licq/files/1.2.7-debugflag.patch
@@ -0,0 +1,13 @@
+--- configure 2003-06-25 13:23:18.000000000 -0400
++++ configure.new 2003-06-27 05:14:46.000000000 -0400
+@@ -3335,8 +3335,8 @@
+ fi;
+
+ if test "$licqdaemon_use_debug" = "no"; then
+- CXXFLAGS="`echo $CXXFLAGS | sed 's/-g[^ ]*//'`"
+- CFLAGS="`echo $CFLAGS | sed 's/-g[^ ]*//'`"
++ CXXFLAGS="`echo $CXXFLAGS | sed \"s/-g[^ ]*//\"`"
++ CFLAGS="`echo $CFLAGS | sed \"s/-g[^ ]*//\"`"
+ fi
+
+ ac_ext=cc
diff --git a/net-im/licq/files/1.2.7-nptl.patch b/net-im/licq/files/1.2.7-nptl.patch
new file mode 100644
index 0000000..0308b33
--- /dev/null
+++ b/net-im/licq/files/1.2.7-nptl.patch
@@ -0,0 +1,34 @@
+Index: configure.in
+===================================================================
+RCS file: /cvsroot/licq/licq/configure.in,v
+retrieving revision 1.63
+diff -u -d -p -r1.63 configure.in
+--- configure.in 2 Jul 2003 04:44:47 -0000 1.63
++++ configure.in 1 Jan 2004 01:46:12 -0000
+@@ -142,6 +142,8 @@ dlopen(NULL, RTLD_NOW)
+
+ AC_CHECK_FUNCS(inet_addr inet_aton mktime select strdup strerror hstrerror readdir_r)
+
++AC_CHECK_FUNC(pthread_kill_other_threads_np,[AC_DEFINE([HAVE_PTHREAD_KILL_OTHER_THREADS_NP],
++[], [we are not using NTPL])])
+ AC_CHECK_SOCKS5
+ LICQ_CHECK_OPENSSL
+
+Index: src/sighandler.c
+===================================================================
+RCS file: /cvsroot/licq/licq/src/sighandler.c,v
+retrieving revision 1.5
+diff -u -d -p -r1.5 sighandler.c
+--- src/sighandler.c 16 Jun 2003 17:09:46 -0000 1.5
++++ src/sighandler.c 1 Jan 2004 01:46:12 -0000
+@@ -83,7 +83,10 @@ void licq_handle_sigsegv(int s)
+ fprintf(stderr, "%s\n", res[0]);*/
+ }
+ fprintf(stderr, "Attempting to generate core file.\n");
++
++ #ifdef HAVE_PTHREAD_KILL_OTHER_THREADS_NP
+ pthread_kill_other_threads_np();
++ #endif
+ #endif
+
+ abort();
diff --git a/net-im/licq/files/1.3.0-gpgme3_hack.patch b/net-im/licq/files/1.3.0-gpgme3_hack.patch
new file mode 100644
index 0000000..996b416
--- /dev/null
+++ b/net-im/licq/files/1.3.0-gpgme3_hack.patch
@@ -0,0 +1,31 @@
+--- configure~ 2004-08-22 20:10:52.000000000 +0400
++++ configure 2004-08-22 20:11:10.000000000 +0400
+@@ -6388,7 +6388,7 @@
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lgpgme $LIBS"
++LIBS="-lgpgme3 $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+ /* confdefs.h. */
+@@ -6438,7 +6438,7 @@
+ echo "${ECHO_T}$ac_cv_lib_gpgme_gpgme_check_version" >&6
+ if test $ac_cv_lib_gpgme_gpgme_check_version = yes; then
+
+- LIBS="$LIBS -lgpgme"
++ LIBS="$LIBS -lgpgme3"
+
+ cat >>confdefs.h <<_ACEOF
+ #define HAVE_LIBGPGME 1
+--- include/licq_gpg.h.orig 2004-08-22 22:58:46.660566481 +0400
++++ include/licq_gpg.h 2004-08-22 22:57:15.460429001 +0400
+@@ -3,7 +3,7 @@
+ #define _LICQ_GPG_H_INCLUDED_
+
+ #ifdef HAVE_LIBGPGME
+-#include <gpgme.h>
++#include <gpgme3/gpgme.h>
+ #endif
+ #include <pthread.h>
+
diff --git a/net-im/licq/files/1.3.0-no_stupid_koloboks.patch b/net-im/licq/files/1.3.0-no_stupid_koloboks.patch
new file mode 100644
index 0000000..76ee1be
--- /dev/null
+++ b/net-im/licq/files/1.3.0-no_stupid_koloboks.patch
@@ -0,0 +1,65 @@
+diff -uraN src/mainwin.h src~/mainwin.h
+--- src/mainwin.h 2004-09-15 19:14:06.000000000 +0400
++++ src~/mainwin.h 2004-09-28 19:16:56.485815523 +0400
+@@ -150,6 +150,7 @@
+ m_bAutoPosReplyWin,
+ m_bAutoSendThroughServer,
+ m_bEnableMainwinMouseMovement,
++ m_bShowKoloboks,
+ m_bPopEmail,
+ m_bPopPhone,
+ m_bPopFax,
+diff -uraN src/mlview3.cpp src~/mlview3.cpp
+--- src/mlview3.cpp 2004-01-17 16:18:18.000000000 +0300
++++ src~/mlview3.cpp 2004-09-28 19:17:53.767142190 +0400
+@@ -83,7 +83,8 @@
+ // not used for html now QString text = QStyleSheet::escape(s);
+ QString text = useHTML ? s: QStyleSheet::escape(s);
+
+- gMainWindow->emoticons->ParseMessage(text);
++ if (gMainWindow->m_bShowKoloboks)
++ gMainWindow->emoticons->ParseMessage(text);
+
+ // We must hightlight URLs at this step, before we convert
+ // linebreaks to richtext tags and such. Also, check to make sure
+diff -uraN src/optionsdlg.cpp src~/optionsdlg.cpp
+--- src/optionsdlg.cpp 2004-09-06 16:50:56.000000000 +0400
++++ src~/optionsdlg.cpp 2004-09-28 19:19:38.975690580 +0400
+@@ -216,6 +216,7 @@
+ chkAutoPosReplyWin->setChecked(mainwin->m_bAutoPosReplyWin);
+ chkAutoSendThroughServer->setChecked(mainwin->m_bAutoSendThroughServer);
+ chkEnableMainwinMouseMovement->setChecked(mainwin->m_bEnableMainwinMouseMovement);
++ chkShowKoloboks->setChecked(mainwin->m_bShowKoloboks);
+ popEmail->setChecked(mainwin->m_bPopEmail);
+ popPhone->setChecked(mainwin->m_bPopPhone);
+ popFax->setChecked(mainwin->m_bPopFax);
+@@ -494,6 +495,7 @@
+ mainwin->m_bAutoPosReplyWin = chkAutoPosReplyWin->isChecked();
+ mainwin->m_bAutoSendThroughServer = chkAutoSendThroughServer->isChecked();
+ mainwin->m_bEnableMainwinMouseMovement = chkEnableMainwinMouseMovement->isChecked();
++ mainwin->m_bShowKoloboks = chkShowKoloboks->isChecked();
+
+ mainwin->m_bPopEmail= popEmail->isChecked();
+ mainwin->m_bPopPhone= popPhone->isChecked();
+@@ -768,6 +770,8 @@
+ chkEnableMainwinMouseMovement = new QCheckBox(tr("Allow dragging main window"), boxMainWin);
+ QWhatsThis::add(chkEnableMainwinMouseMovement, tr("Lets you drag around the main window "
+ "with your mouse"));
++ chkShowKoloboks = new QCheckBox(tr("Show graphical smiles instead of text ones"), boxMainWin);
++ QWhatsThis::add(chkShowKoloboks, tr("Lets you see only text messages, without any emotional icons"));
+
+ chkMsgChatView = new QCheckBox(tr("Chatmode Messageview"), boxMainWin);
+ QWhatsThis::add(chkMsgChatView, tr("Show the current chat history in Send Window"));
+diff -uraN src/optionsdlg.h src~/optionsdlg.h
+--- src/optionsdlg.h 2004-07-12 05:36:17.000000000 +0400
++++ src~/optionsdlg.h 2004-09-28 19:19:52.303971975 +0400
+@@ -79,7 +79,8 @@
+ *chkAlwaysShowONU, *chkScrollBar, *chkShowExtIcons,
+ *chkSysBack, *chkSendFromClipboard, *chkMsgChatView, *chkAutoPosReplyWin,
+ *chkAutoSendThroughServer, *chkTabbedChatting,
+- *chkEnableMainwinMouseMovement;
++ *chkEnableMainwinMouseMovement,
++ *chkShowKoloboks;
+ QRadioButton *rdbDockDefault, *rdbDockThemed, *rdbDockSmall;
+ QComboBox *cmbDockTheme, *cmbSortBy;
+
diff --git a/net-im/licq/files/1.3.0-suse_bool.patch b/net-im/licq/files/1.3.0-suse_bool.patch
new file mode 100644
index 0000000..e9d952e
--- /dev/null
+++ b/net-im/licq/files/1.3.0-suse_bool.patch
@@ -0,0 +1,11 @@
+--- plugins/console/src/console.h
++++ plugins/console/src/console.h
+@@ -10,6 +10,8 @@
+ #include "window.h"
+ #include "licq_user.h"
+
++#undef bool
++
+ using namespace std;
+
+ #define MAX_CON 8
diff --git a/net-im/licq/files/1.3.2-email_typo.patch b/net-im/licq/files/1.3.2-email_typo.patch
new file mode 100644
index 0000000..07237eb
--- /dev/null
+++ b/net-im/licq/files/1.3.2-email_typo.patch
@@ -0,0 +1,11 @@
+--- plugins/email/src/forwarder.cpp 2005-10-21 19:55:08.032358648 +0400
++++ plugins/email/src/forwarder.cpp 2005-10-21 19:55:13.245566120 +0400
+@@ -373,7 +373,7 @@
+ if (nPPID == LICQ_PPID)
+ sprintf (szFrom, "From: \"%s\" <%s@pager.icq.com>", u->GetAlias(), u->IdString());
+ else
+- sprintf (szFrom, "From: \"%s\" <%s>", u->GeAlias(), u->GetEmailPrimary());
++ sprintf (szFrom, "From: \"%s\" <%s>", u->GetAlias(), u->GetEmailPrimary());
+ sprintf (szReplyTo, "Reply-To: \"%s %s\" <%s>", u->GetFirstName(), u->GetLastName(), u->GetEmailPrimary());
+ }
+ sprintf (szDate, "Date: %s", ctime(&t));
diff --git a/net-im/licq/files/licq-1.3.2-gcc41.patch b/net-im/licq/files/licq-1.3.2-gcc41.patch
new file mode 100644
index 0000000..72ae1f7
--- /dev/null
+++ b/net-im/licq/files/licq-1.3.2-gcc41.patch
@@ -0,0 +1,34 @@
+diff -ur licq-1.3.2-orig/include/licq_buffer.h licq-1.3.2/include/licq_buffer.h
+--- licq-1.3.2-orig/include/licq_buffer.h 2006-03-15 00:41:39.000000000 -0500
++++ licq-1.3.2/include/licq_buffer.h 2006-03-15 00:42:25.000000000 -0500
+@@ -62,7 +62,7 @@
+
+ char *Pack(CBuffer *);
+ char *Pack(const char *data, int size);
+- char *CBuffer::PackLNTS(const char *);
++ char *PackLNTS(const char *);
+ char *PackString(const char *data, unsigned short max = 0);
+ char *PackUnsignedShort(unsigned short data);
+ char *PackUnsignedLong(unsigned long data);
+diff -ur licq-1.3.2-orig/include/licq_icqd.h licq-1.3.2/include/licq_icqd.h
+--- licq-1.3.2-orig/include/licq_icqd.h 2006-03-15 00:41:39.000000000 -0500
++++ licq-1.3.2/include/licq_icqd.h 2006-03-15 00:45:49.000000000 -0500
+@@ -837,6 +837,17 @@
+ bool bFinished;
+ };
+
++//Forward declarations for friend functions
++void *ProcessRunningEvent_Server_tep(void *p);
++void *Ping_tep(void *p);
++void *UpdateUsers_tep(void *p);
++void *MonitorSockets_tep(void *p);
++void *ReverseConnectToUser_tep(void *p);
++void *ProcessRunningEvent_Client_tep(void *p);
++void *ProcessRunningEvent_Server_tep(void *p);
++void *Shutdown_tep(void *p);
++void *ConnectToServer_tep(void *s);
++
+
+
+ #endif
+
diff --git a/net-im/licq/files/licq-1.3.5-gcc43.patch b/net-im/licq/files/licq-1.3.5-gcc43.patch
new file mode 100644
index 0000000..fa064cf
--- /dev/null
+++ b/net-im/licq/files/licq-1.3.5-gcc43.patch
@@ -0,0 +1,111 @@
+Source: Anders Olofsson, zimous, Peter Alfredsen, maybe others too.
+Upstream: Probably fixed in next release.
+Reason: gcc-4.3 and glibc-2.8 errors, bugs #218814 and #228373
+diff -NrU5 licq-1.3.5.orig/plugins/auto-reply/configure.ac licq-1.3.5/plugins/auto-reply/configure.ac
+--- licq-1.3.5.orig/plugins/auto-reply/configure.ac 2008-06-21 14:49:20.000000000 +0200
++++ licq-1.3.5/plugins/auto-reply/configure.ac 2008-06-21 14:52:18.000000000 +0200
+@@ -44,11 +44,11 @@
+
+ dnl Switch to C++ mode and check for needed C++ headers
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+-AC_CHECK_HEADER(vector.h,,
++AC_CHECK_HEADER(vector,,
+ AC_MSG_ERROR(You need to have the libstdc++ headers installed))
+
+ AC_LANG_RESTORE
+
+ AC_OUTPUT(
+diff -NrU5 licq-1.3.5.orig/plugins/auto-reply/src/autoreply.cpp licq-1.3.5/plugins/auto-reply/src/autoreply.cpp
+--- licq-1.3.5.orig/plugins/auto-reply/src/autoreply.cpp 2008-06-21 14:49:20.000000000 +0200
++++ licq-1.3.5/plugins/auto-reply/src/autoreply.cpp 2008-06-21 14:52:18.000000000 +0200
+@@ -10,10 +10,11 @@
+ #include <ctype.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <sys/wait.h>
+ #include <signal.h>
++#include <climits>
+ #ifdef HAVE_ERRNO_H
+ #include <errno.h>
+ #else
+ extern int errno;
+ #endif
+diff -NrU5 licq-1.3.5.orig/plugins/email/configure.ac licq-1.3.5/plugins/email/configure.ac
+--- licq-1.3.5.orig/plugins/email/configure.ac 2008-06-21 14:49:20.000000000 +0200
++++ licq-1.3.5/plugins/email/configure.ac 2008-06-21 14:52:18.000000000 +0200
+@@ -46,11 +46,11 @@
+
+ dnl Switch to C++ mode and check for needed C++ headers
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+-AC_CHECK_HEADER(vector.h,,
++AC_CHECK_HEADER(vector,,
+ AC_MSG_ERROR(You need to have the libstdc++ headers installed))
+
+ AC_LANG_RESTORE
+
+ AC_OUTPUT(
+diff -NrU5 licq-1.3.5.orig/plugins/email/src/forwarder.cpp licq-1.3.5/plugins/email/src/forwarder.cpp
+--- licq-1.3.5.orig/plugins/email/src/forwarder.cpp 2008-06-21 14:49:20.000000000 +0200
++++ licq-1.3.5/plugins/email/src/forwarder.cpp 2008-06-21 15:17:53.000000000 +0200
+@@ -7,10 +7,11 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <stdio.h>
++#include <climits>
+ #ifdef HAVE_ERRNO_H
+ #include <errno.h>
+ #else
+ extern int errno;
+ #endif
+diff -NrU5 licq-1.3.5.orig/plugins/msn/configure.ac licq-1.3.5/plugins/msn/configure.ac
+--- licq-1.3.5.orig/plugins/msn/configure.ac 2008-06-21 14:49:20.000000000 +0200
++++ licq-1.3.5/plugins/msn/configure.ac 2008-06-21 14:52:18.000000000 +0200
+@@ -51,11 +51,11 @@
+
+ dnl Switch to C++ mode and check for needed C++ headers
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+-AC_CHECK_HEADER(vector.h,,
++AC_CHECK_HEADER(vector,,
+ AC_MSG_ERROR(You need to have the libstdc++ headers installed))
+
+ AC_LANG_RESTORE
+
+ msn_gcc_major_version=0
+diff -NrU5 licq-1.3.5.orig/plugins/rms/src/rms.cpp licq-1.3.5/plugins/rms/src/rms.cpp
+--- licq-1.3.5.orig/plugins/rms/src/rms.cpp 2008-06-21 14:49:20.000000000 +0200
++++ licq-1.3.5/plugins/rms/src/rms.cpp 2008-06-21 15:08:27.000000000 +0200
+@@ -7,10 +7,11 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <stdio.h>
++#include <climits>
+ #ifdef HAVE_ERRNO_H
+ #include <errno.h>
+ #else
+ extern int errno;
+ #endif
+diff -NrU5 licq-1.3.5.orig/src/fifo.cpp licq-1.3.5/src/fifo.cpp
+--- licq-1.3.5.orig/src/fifo.cpp 2008-06-21 14:49:20.000000000 +0200
++++ licq-1.3.5/src/fifo.cpp 2008-06-21 14:52:18.000000000 +0200
+@@ -28,10 +28,11 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <ctype.h>
++#include <climits>
+ #include "time-fix.h"
+
+ #ifdef HAVE_ERRNO_H
+ #include <errno.h>
+ #else
diff --git a/net-im/licq/files/licq-1.3.5-logonfix.patch b/net-im/licq/files/licq-1.3.5-logonfix.patch
new file mode 100644
index 0000000..bf8cbaa
--- /dev/null
+++ b/net-im/licq/files/licq-1.3.5-logonfix.patch
@@ -0,0 +1,13 @@
+Source: Upstream homepage, already applied.
+Reason: Can't login after protocol change, bug #230387
+--- src/icqpacket.cpp
++++ src/icqpacket.cpp
+@@ -821,7 +821,7 @@
+
+ // Static versioning
+ buffer->PackUnsignedLongBE(0x00160002);
+- buffer->PackUnsignedShortBE(0x010A);
++ buffer->PackUnsignedShortBE(0x010B);
+ // Client version major (4 == ICQ2000, 5 == ICQ2001)
+ buffer->PackUnsignedLongBE(0x00170002);
+ buffer->PackUnsignedShortBE(0x0014);
diff --git a/net-im/licq/files/licq-1.3.5-prevent-dos.patch b/net-im/licq/files/licq-1.3.5-prevent-dos.patch
new file mode 100644
index 0000000..3aaa2bc
--- /dev/null
+++ b/net-im/licq/files/licq-1.3.5-prevent-dos.patch
@@ -0,0 +1,111 @@
+Source: http://www.licq.org/changeset/6146
+Reason: DoS via large number of connections, bug #219708
+--- /trunk/licq/include/licq_socket.h
++++ /trunk/licq/include/licq_socket.h
+@@ -251,4 +251,5 @@
+ fd_set SocketSet() { return m_sSockets.SocketSet(); }
+ int LargestSocket() { return m_sSockets.Largest(); }
++ unsigned short Num() { return m_sSockets.Num(); }
+
+ protected:
+--- /trunk/licq/src/socket.cpp
++++ /trunk/licq/src/socket.cpp
+@@ -818,6 +818,24 @@
+ socklen_t sizeofSockaddr = sizeof(struct sockaddr_in);
+
+- newSocket.m_nDescriptor = accept(m_nDescriptor, (struct sockaddr *)&newSocket.m_sRemoteAddr, &sizeofSockaddr);
+- newSocket.SetLocalAddress();
++ // Make sure we stay under FD_SETSIZE
++ // See:
++ // * http://www.securityfocus.com/archive/1/490711
++ // * http://securityvulns.com/docs7669.html
++ // for more details
++ // This probably has no affect, since we are using multiple threads, but keep it here
++ // to be used as a sanity check.
++ int newDesc = accept(m_nDescriptor, (struct sockaddr *)&newSocket.m_sRemoteAddr, &sizeofSockaddr);
++ if (newDesc < FD_SETSIZE)
++ {
++ newSocket.m_nDescriptor = newDesc;
++ newSocket.SetLocalAddress();
++ }
++ else
++ {
++ gLog.Error(tr("%sCannot accept new connection, too many descriptors in use.\n"), L_ERRORxSTR);
++ close(newDesc);
++
++ // TODO throw an exception, or do something to tell the caller it failed
++ }
+ }
+
+--- /trunk/licq/src/icqd-threads.cpp
++++ /trunk/licq/src/icqd-threads.cpp
+@@ -24,4 +24,5 @@
+ #include "gettext.h"
+
++#define MAX_CONNECTS 256
+ #define DEBUG_THREADS(x)
+ //#define DEBUG_THREADS(x) gLog.Info(x)
+@@ -781,6 +782,19 @@
+ tcp->RecvConnection(*newSocket);
+ gSocketManager.DropSocket(tcp);
+- gSocketManager.AddSocket(newSocket);
+- gSocketManager.DropSocket(newSocket);
++
++ // Make sure we can handle another socket before accepting it
++ if (gSocketManager.Num() > MAX_CONNECTS)
++ {
++ // Too many sockets, drop this one
++ char remoteIp[32];
++ gLog.Warn(tr("%sToo many connected sockets, rejecting connection from %s.\n"),
++ L_WARNxSTR, newSocket->RemoteIpStr(remoteIp));
++ delete newSocket;
++ }
++ else
++ {
++ gSocketManager.AddSocket(newSocket);
++ gSocketManager.DropSocket(newSocket);
++ }
+ }
+ }
+--- /trunk/licq/src/icqd-chat.cpp
++++ /trunk/licq/src/icqd-chat.cpp
+@@ -24,4 +24,5 @@
+ #include "gettext.h"
+
++#define MAX_CONNECTS 256
+ #define DEBUG_THREADS(x)
+
+@@ -2384,14 +2385,22 @@
+ else if (nCurrentSocket == chatman->chatServer.Descriptor())
+ {
+- CChatUser *u = new CChatUser;
+- u->m_pClient = new CChatClient;
+-
+- chatman->chatServer.RecvConnection(u->sock);
+- chatman->sockman.AddSocket(&u->sock);
+- chatman->sockman.DropSocket(&u->sock);
+-
+- u->state = CHAT_STATE_HANDSHAKE;
+- chatman->chatUsers.push_back(u);
+- gLog.Info(tr("%sChat: Received connection.\n"), L_TCPxSTR);
++ if (chatman->sockman.Num() >= MAX_CONNECTS)
++ {
++ // Too many sockets, drop this one
++ gLog.Warn(tr("%sToo many connected clients, rejecting new connection.\n"), L_WARNxSTR);
++ }
++ else
++ {
++ CChatUser *u = new CChatUser;
++ u->m_pClient = new CChatClient;
++
++ chatman->chatServer.RecvConnection(u->sock);
++ chatman->sockman.AddSocket(&u->sock);
++ chatman->sockman.DropSocket(&u->sock);
++
++ u->state = CHAT_STATE_HANDSHAKE;
++ chatman->chatUsers.push_back(u);
++ gLog.Info(tr("%sChat: Received connection.\n"), L_TCPxSTR);
++ }
+ }
+
+
diff --git a/net-im/licq/licq-1.3.6.ebuild b/net-im/licq/licq-1.3.6.ebuild
new file mode 100644
index 0000000..d7c4064
--- /dev/null
+++ b/net-im/licq/licq-1.3.6.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="1"
+
+inherit eutils kde-functions multilib
+
+DESCRIPTION="ICQ Client with v8 support"
+HOMEPAGE="http://www.licq.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="~amd64 ~x86"
+IUSE="crypt debug kde msn ncurses nls qt3 qt4 socks5 ssl xosd"
+
+# we use kde as KDE4
+RDEPEND="kde? (
+ qt4? ( kde-base/kdelibs:4.1 )
+ qt3? ( kde-base/kdelibs:3.5 )
+ )
+ ssl? ( dev-libs/openssl )
+ qt3? ( x11-libs/qt:3 )
+ qt4? ( x11-libs/qt-gui:4 )
+ nls? ( sys-devel/gettext )
+ ncurses? ( sys-libs/ncurses =dev-libs/cdk-5* )
+ crypt? ( app-crypt/gpgme:1 )
+ xosd? ( x11-libs/xosd )"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ qt4? ( >=dev-util/cmake-2.6.2 )"
+
+_generate_plugins_directories() {
+ PLUGINS="auto-reply email rms"
+ use msn && PLUGINS="${PLUGINS} msn"
+ use ncurses && PLUGINS="${PLUGINS} console"
+ use xosd && PLUGINS="${PLUGINS} osd"
+ # QT4 is something extra. Uses cmake.
+ use qt4 && PLUGINS_CMAKE="${PLUGINS_CMAKE} qt4-gui"
+ use qt3 && PLUGINS="${PLUGINS} qt-gui"
+ elog "I will generate these plugins/frontends for licq:"
+ elog "${PLUGINS} ${PLUGINS_CMAKE}"
+}
+
+pkg_setup() {
+ _generate_plugins_directories
+}
+
+src_compile() {
+ local myconf myconf2 plugin
+ # global config setup for automake
+ myconf="$(use_enable crypt gpgme)
+ $(use_enable ssl openssl)
+ $(use_enable socks5)
+ $(use_enable debug)
+ $(use_enable nls)"
+
+ einfo "Compiling Licq core."
+ econf ${myconf} || die "econf failed"
+ emake || die "emake failed"
+
+ for plugin in ${PLUGINS}; do
+ cd "${S}"/plugins/"${plugin}"
+ einfo "Compiling Licq: \"${plugin}\"."
+ if use qt3; then
+ set-qtdir 3
+ set-kdedir 3
+ use kde && myconf2="${myconf} --with-kde"
+ myconf2="${myconf2} --with-qt-libraries=${QTDIR}/$(get_libdir)"
+ fi
+ econf ${myconf} ${myconf2} || die "econf failed"
+ emake || die "emake failed"
+ done
+ # we like qt4 it uses cmake
+ if use qt4; then
+ cd "${S}"/plugins/qt4-gui
+ einfo "Compiling Licq: \"qt4-gui\"."
+ # Possible error because of one tiny issue we introduce in kde
+ # it is called kdeprefix and in that case you can't be sure where it
+ # find kde stuff. This is working only for -kdeprefix so someone will
+ # need to fix this later
+ myconf2="-DCMAKE_INSTALL_PREFIX=/usr"
+ # kde not yet workie
+ # use kde && myconf2="${myconf2} -DWITH_KDE=1"
+ use kde && ewarn "Sorry but kde4 support is duped and not working so not
+ enabling for now"
+ cmake . ${myconf2} || die "cmake failed"
+ emake || die "emake failed"
+ fi
+}
+
+src_install() {
+ # install core
+ einfo "Installing Licq core."
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc ChangeLog INSTALL README* doc/*
+ # Install the plug-ins
+ for plugin in ${PLUGINS}; do
+ cd "${S}"/plugins/"${plugin}"
+ einfo "Installing Licq: \"${plugin}\"."
+ emake DESTDIR="${D}" install || die "emake install failed"
+ dodoc README* *.conf
+ done
+ if use qt4; then
+ cd "${S}"/plugins/qt4-gui
+ einfo "Installing Licq: \"qt4-gui\"."
+ emake DESTDIR="${D}" install || die
+ docinto plugins/qt4-gui
+ dodoc doc/README*
+ fi
+
+ exeinto /usr/share/${PN}/upgrade
+ doexe "${S}"/upgrade/*
+
+ # fixes bug #22136 and #149464
+ rm -fR "${D}"/var
+}
+
diff --git a/net-im/psi/Manifest b/net-im/psi/Manifest
new file mode 100644
index 0000000..6b71dee
--- /dev/null
+++ b/net-im/psi/Manifest
@@ -0,0 +1,14 @@
+DIST psi-0.12.tar.bz2 2122406 RMD160 be5922ef84040113b257aaf99ac9bd350b69349c SHA1 2927497a53d1eb00720718ec41cf61a911914922 SHA256 0309d48891ab18cb8afc15416db2e9db979bc66f5cd879b382de226043e91e6c
+DIST psi_cs.qm 251976 RMD160 a4fded917f7dacf445870962bf14219aa9dafe41 SHA1 4a44ef9c4228c9e74c0a08651aa6f9080668c679 SHA256 971998a67180ae4cd17bb4154caf50bd767743a5d7ba9bc392bfa76be30f5459
+DIST psi_de.qm 271177 RMD160 fdff482096339a9799dd8ead9b6cadd5e5fb24e5 SHA1 c986f7a1122d2a8eacf786f39b213f2197c125c7 SHA256 7e15485ec95600c05632ca73a39841b2f5c5aad41d010d0557b03b2217deece5
+DIST psi_es_ES.qm 273904 RMD160 829d7e92a54f84c08ca8aa67f6bca080a9f590bc SHA1 45448c63c0c88e6e4772079d10cc0469bb115404 SHA256 8131fc84286da39dfa48eb41f9ddef5c5938bd6244a7d573956f447e122fe6ec
+DIST psi_fr.qm 280650 RMD160 f638dddbe0b925fd747f32767329add984e2a044 SHA1 b763760c49f9f2ed957609cf7bf552147a66944b SHA256 cc57b71bb7683093eca46608ee5420282c6b979b4dedfab59fa2445c4c9cf3c7
+DIST psi_mk.qm 260157 RMD160 b62319af02c713a30fe219ab067e78132994db19 SHA1 654af0069c7f449ae49a0a2f27431031dc86dc50 SHA256 32faf2c9ec0028bdc6d22a2da73cdd51ea474e9cfa159192c3d172e848fa5163
+DIST psi_pl.qm 269104 RMD160 68ea69ca395912475396b2a77ec9b8d2ad5c2324 SHA1 d6d87a9b2ff26c87e01e310d517073968c3a0767 SHA256 e05fca7f2f0bbf0e5c68c26c3fcb0d7e7dd94a87239fa5731eee2d6d65dec322
+DIST psi_pt_BR.qm 129586 RMD160 c24d8d6a917ea3fca358f19b8d3be43d4e72e531 SHA1 e010811b9cbce1d4f19758dc8870b083e0d9d37f SHA256 7655568d28998a099469f9eb3352f3de3ea06566846ba2a1d012fffb277d7778
+DIST psi_ru.qm 248934 RMD160 f2c3d76a71e6c2d84eafd0ae388df38586417808 SHA1 c16504293bb13f523601adae7242ff965d384e85 SHA256 241a256071e620af0178189cf42379095fb085ffbb6693efe91b07283adca1c6
+DIST psi_uk.qm 166998 RMD160 f5bc49e8a184719420dc596346ff3fa64832ed62 SHA1 8acdeec2a817484973d931fcb16cc864f467f2cd SHA256 62935f377325308eaa1b90f0406aec20ff4356217e83c807b3491a4bdcce7b84
+DIST psi_vi.qm 153623 RMD160 dcb3df04081d6fbda2592755de13e16bb8cbc4e3 SHA1 f5925ec17c954f26b0543e2bd0aa524670bf32c1 SHA256 b732c093bb7c68487ae394bb0f3686c8834344603ad6d0317cc417de72f4d73f
+DIST psi_zh.qm 145352 RMD160 f6274c09f4378117ebc8eab8f0283cee178a9ec1 SHA1 54a9391f374c2f5024670d03015275f93854a11a SHA256 e8f7261c47583f8fd1b4d9af5c522431ccc2cc3d5f9855ab9c752ed3e3587ac3
+DIST psi_zh_TW.qm 167415 RMD160 df2464d29d310bf4dc574faa54d6309071afe939 SHA1 23e4f01dd0047b352559684275aebaefc5a01692 SHA256 0d0ddb6a9e29c000a1ae7e71273e7fda95b605d034078b56569261030338dbdb
+EBUILD psi-0.12-r1.ebuild 2908 RMD160 96873e970f60554bd18e645d70b2bff2ef69a720 SHA1 e793e33d574905054c39f2abbf093ee7f4f77424 SHA256 acaea7cceae2b27c12bb84cc59c03b0a8e18d99eca267de784c5f59e8de30f00
diff --git a/net-im/psi/psi-0.12-r1.ebuild b/net-im/psi/psi-0.12-r1.ebuild
new file mode 100644
index 0000000..c7f9efc
--- /dev/null
+++ b/net-im/psi/psi-0.12-r1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="1"
+
+inherit eutils qt4 multilib
+
+DESCRIPTION="Qt4 Jabber client, with Licq-like interface"
+HOMEPAGE="http://psi-im.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+LANGS="cs de es_ES fr mk pl pt_BR ru uk vi zh zh_TW"
+
+for TRANS in ${LANGS} ; do
+ IUSE="${IUSE} linguas_${TRANS}"
+ SRC_URI="${SRC_URI} linguas_${TRANS}? (
+ http://psi-im.org/download/lang/psi_${TRANS}.qm )"
+done
+
+IUSE="${IUSE} crypt dbus debug doc kernel_linux spell ssl xscreensaver"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+RESTRICT="test"
+
+COMMON_DEPEND="|| ( x11-libs/qt-gui:4 =x11-libs/qt-4.3* )
+ =app-crypt/qca-2*
+ spell? ( app-text/aspell )
+ xscreensaver? ( x11-libs/libXScrnSaver )"
+
+DEPEND="${COMMON_DEPEND}
+ doc? ( app-doc/doxygen )"
+
+RDEPEND="${COMMON_DEPEND}
+ crypt? ( >=app-crypt/qca-gnupg-2.0.0_beta2 )
+ ssl? ( >=app-crypt/qca-ossl-2.0.0_beta2 )"
+
+pkg_setup() {
+ if has_version "=x11-libs/qt-4.3*"; then
+ QT4_BUILT_WITH_USE_CHECK="qt3support png"
+ QT4_OPTIONAL_BUILT_WITH_USE_CHECK="dbus"
+ else
+ if ! built_with_use "x11-libs/qt-gui:4" qt3support; then
+ eerror "You have to build x11-libs/qt-gui:4 with qt3support."
+ die "qt3support in qt-gui disabled"
+ fi
+ if ( use dbus && ! built_with_use "x11-libs/qt-gui:4" dbus ); then
+ eerror "You have to build x11-libs/qt-gui:4 with dbus"
+ die "dbus in qt-gui disabled"
+ fi
+ fi
+ qt4_pkg_setup
+}
+
+src_unpack() {
+ # unpack psi
+ unpack "${P}.tar.bz2"
+ # copy languages
+ for TRANS in ${LINGUAS}; do
+ echo "LANG: ${TRANS}"
+ done
+ for TRANS in ${LANGS}; do
+ if use linguas_${TRANS}; then
+ cp "${DISTDIR}"/${PN}_${TRANS}.qm "${S}"
+ fi
+ done
+}
+
+src_compile() {
+ # disable growl as it is a MacOS X extension only
+ local myconf="--prefix=/usr --qtdir=/usr"
+ myconf="${myconf} --disable-growl --disable-bundled-qca"
+ use debug && myconf="${myconf} --enable-debug"
+ use dbus || myconf="${myconf} --disable-qdbus"
+ use kernel_linux || myconf="${myconf} --disable-dnotify"
+ use spell || myconf="${myconf} --disable-aspell"
+ use xscreensaver || myconf="${myconf} --disable-xss"
+
+ # cannot use econf because of non-standard configure script
+ ./configure ${myconf} || die "configure failed"
+
+ eqmake4 ${PN}.pro
+
+ SUBLIBS="-L/usr/${get_libdir}/qca2" emake || die "emake failed"
+
+ if use doc; then
+ cd doc
+ make api_public || die "make api_public failed"
+ fi
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install || die "emake install failed"
+
+ # this way the docs will be installed in the standard gentoo dir
+ newdoc iconsets/roster/README README.roster
+ newdoc iconsets/system/README README.system
+ newdoc certs/README README.certs
+ dodoc README
+
+ if use doc; then
+ cd doc
+ dohtml -r api || die "dohtml failed"
+ fi
+
+ # install translations
+ cd "${S}"
+ insinto "/usr/share/${PN}/"
+ doins "${PN}"_*.qm
+}