diff --git a/net-im/pyicq-t/Manifest b/net-im/pyicq-t/Manifest
new file mode 100644
index 00000000..647b926c
--- /dev/null
+++ b/net-im/pyicq-t/Manifest
@@ -0,0 +1 @@
+DIST pyicqt-0.8.1.5.tar.gz 183865 SHA256 15ffa7b7d8f2d749492eec3b87bf64f8a429452282ca14e36ba5aee45b5322df SHA512 5b83adf86746c2af60bed2759c7d4e3a3839bea532e0882a6dc087aee5e0afa1320c6d2d2296a667ec45c5b36be879034f079fd30cef924e8db5f66a2f1d3fde WHIRLPOOL 91a51c81d32bc688d4ffb6f4623ae1efe7e5dc5d524b7fd2f519720dc81078d6547ea64a5311bcfcfae0ad77f8fe7ab933f5b63e3f2887fe4671c71b2a6848d9
diff --git a/net-im/pyicq-t/files/pyicq-t-0.8-initd-r1 b/net-im/pyicq-t/files/pyicq-t-0.8-initd-r1
new file mode 100644
index 00000000..eda03d55
--- /dev/null
+++ b/net-im/pyicq-t/files/pyicq-t-0.8-initd-r1
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+ use jabber-server
+}
+
+start() {
+ ebegin "Starting ICQ Jabber Transport"
+ checkpath -q -d -m 0755 -o jabber:jabber /var/run/jabber/
+ start-stop-daemon --start --pidfile /var/run/jabber/pyicq-t.pid -u jabber -g jabber \
+ --exec INSPATH/pyicq-t.py -- \
+ -b -c /etc/jabber/pyicq-t.xml -l /var/log/jabber/pyicq-t.log
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ICQ Jabber Transport"
+ start-stop-daemon --stop --quiet --pidfile /var/run/jabber/pyicq-t.pid
+ eend $?
+}
diff --git a/net-im/pyicq-t/files/pyicq-t-0.8.1.5-pillow-imaging.patch b/net-im/pyicq-t/files/pyicq-t-0.8.1.5-pillow-imaging.patch
new file mode 100644
index 00000000..62df7587
--- /dev/null
+++ b/net-im/pyicq-t/files/pyicq-t-0.8.1.5-pillow-imaging.patch
@@ -0,0 +1,36 @@
+diff -Naur pyicqt-0.8.1.5/src/contact.py pyicqt-0.8.1.5-1/src/contact.py
+--- pyicqt-0.8.1.5/src/contact.py 2009-08-24 14:37:59.000000000 +0200
++++ pyicqt-0.8.1.5-1/src/contact.py 2013-09-11 22:19:01.320467367 +0200
+@@ -13,7 +13,7 @@
+ import globals
+ import base64
+ if not config.disableAvatars:
+- import Image
++ import PIL.Image as Image
+ import StringIO
+
+
+diff -Naur pyicqt-0.8.1.5/src/imgmanip.py pyicqt-0.8.1.5-1/src/imgmanip.py
+--- pyicqt-0.8.1.5/src/imgmanip.py 2009-08-24 14:37:59.000000000 +0200
++++ pyicqt-0.8.1.5-1/src/imgmanip.py 2013-09-11 22:19:25.257168117 +0200
+@@ -5,7 +5,7 @@
+
+ if not config.disableAvatars:
+ try:
+- import Image
++ import PIL.Image as Image
+ import StringIO
+
+ def convertToPNG(imageData):
+diff -Naur pyicqt-0.8.1.5/tools/infodump.py pyicqt-0.8.1.5-1/tools/infodump.py
+--- pyicqt-0.8.1.5/tools/infodump.py 2009-08-24 14:37:59.000000000 +0200
++++ pyicqt-0.8.1.5-1/tools/infodump.py 2013-09-11 22:18:34.084807860 +0200
+@@ -41,7 +41,7 @@
+ print "Nevow Version: Unknown or Not Installed"
+
+ try:
+- from Image import VERSION
++ from PIL.Image import VERSION
+ print "Python Imaging Library (PIL) Version: " + VERSION
+ except:
+ print "Python Imaging Library (PIL) Version: Unknown or Not Installed"
diff --git a/net-im/pyicq-t/files/pyicq-t-0.8.1.5-python26-warnings.diff b/net-im/pyicq-t/files/pyicq-t-0.8.1.5-python26-warnings.diff
new file mode 100644
index 00000000..fd8e9e5a
--- /dev/null
+++ b/net-im/pyicq-t/files/pyicq-t-0.8.1.5-python26-warnings.diff
@@ -0,0 +1,118 @@
+diff -Naur pyicqt-0.8.1.5/src/avatar.py p1//src/avatar.py
+--- pyicqt-0.8.1.5/src/avatar.py 2010-06-07 12:16:36.000000000 +0200
++++ p1//src/avatar.py 2010-06-07 12:16:16.000000000 +0200
+@@ -6,7 +6,7 @@
+ from twisted.words.xish.domish import Element
+ from debug import LogEvent, INFO, WARN, ERROR
+ import lang
+-import sha
++from hashlib import sha1
+ import base64
+ import os
+ import os.path
+@@ -46,7 +46,7 @@
+ class Avatar:
+ """ Represents an Avatar. Does not store the image in memory. """
+ def __init__(self, imageData, avatarCache):
+- self.__imageHash = sha.sha(imageData).hexdigest()
++ self.__imageHash = sha1(imageData).hexdigest()
+ self.__avatarCache = avatarCache
+
+ def getImageHash(self):
+diff -Naur pyicqt-0.8.1.5/src/contact.py p1//src/contact.py
+--- pyicqt-0.8.1.5/src/contact.py 2010-06-07 12:16:43.000000000 +0200
++++ p1//src/contact.py 2010-06-07 12:16:16.000000000 +0200
+@@ -8,7 +8,6 @@
+ import config
+ from debug import LogEvent, INFO, WARN, ERROR
+ import lang
+-import sha
+ import legacy
+ import globals
+ import base64
+diff -Naur pyicqt-0.8.1.5/src/legacy/buddies.py p1//src/legacy/buddies.py
+--- pyicqt-0.8.1.5/src/legacy/buddies.py 2009-08-24 14:37:59.000000000 +0200
++++ p1//src/legacy/buddies.py 2010-06-07 12:07:37.000000000 +0200
+@@ -12,7 +12,7 @@
+ import os.path
+ import binascii
+ import os.path
+-import md5
++from hashlib import md5
+
+ X = os.path.sep
+
+@@ -188,7 +188,7 @@
+ avatarData = avatar.AvatarCache().setAvatar(imgmanip.convertToPNG(iconData))
+ c.updateAvatar(avatarData, push=True)
+ if not md5Hash:
+- m = md5.new()
++ m = md5()
+ m.update(iconData)
+ md5Hash = m.digest()
+ if not numHash:
+diff -Naur pyicqt-0.8.1.5/src/legacy/glue.py p1//src/legacy/glue.py
+--- pyicqt-0.8.1.5/src/legacy/glue.py 2009-08-24 14:37:59.000000000 +0200
++++ p1//src/legacy/glue.py 2010-06-07 12:07:37.000000000 +0200
+@@ -18,7 +18,7 @@
+ import time
+ import binascii
+ import avatar
+-import md5
++from hashlib import md5
+ import random
+
+ from twisted.python import log
+@@ -398,7 +398,7 @@
+ try:
+ self.myavatar = imgmanip.convertToJPG(imageData)
+ self.myavatarlen = len(self.myavatar)
+- m=md5.new()
++ m=md5()
+ m.update(self.myavatar)
+ self.myavatarsum = m.digest()
+ self.myavatarstamp = time.time()
+diff -Naur pyicqt-0.8.1.5/src/legacy/icqt.py p1//src/legacy/icqt.py
+--- pyicqt-0.8.1.5/src/legacy/icqt.py 2009-08-24 14:37:59.000000000 +0200
++++ p1//src/legacy/icqt.py 2010-06-07 12:07:37.000000000 +0200
+@@ -14,7 +14,6 @@
+ import time
+ import datetime
+ import binascii
+-import md5
+ import locale
+ import struct
+
+diff -Naur pyicqt-0.8.1.5/src/tlib/oscar.py p1//src/tlib/oscar.py
+--- pyicqt-0.8.1.5/src/tlib/oscar.py 2009-08-24 14:37:59.000000000 +0200
++++ p1//src/tlib/oscar.py 2010-06-07 12:07:37.000000000 +0200
+@@ -21,7 +21,7 @@
+ from scheduler import Scheduler
+
+ import struct
+-import md5
++from hashlib import md5
+ import string
+ import socket
+ import random
+@@ -120,9 +120,9 @@
+ return dict,data
+
+ def encryptPasswordMD5(password,key):
+- m=md5.new()
++ m=md5()
+ m.update(key)
+- m.update(md5.new(password).digest())
++ m.update(md5(password).digest())
+ m.update("AOL Instant Messenger (SM)")
+ return m.digest()
+
+@@ -534,7 +534,7 @@
+ self.iconSum = tlvs.get(0xd5,"")
+
+ def updateIcon(self, iconData):
+- m=md5.new()
++ m=md5()
+ m.update(iconData)
+ self.iconSum = m.digest()
+ log.msg("icon sum is %s" % binascii.hexlify(self.iconSum))
diff --git a/net-im/pyicq-t/files/pyicq-t.service b/net-im/pyicq-t/files/pyicq-t.service
new file mode 100644
index 00000000..852ec133
--- /dev/null
+++ b/net-im/pyicq-t/files/pyicq-t.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=PyICQt is an ICQ transport for Jabber/XMPP
+
+[Service]
+ExecStart=INSPATH/pyicq-t.py -c /etc/jabber/pyicq-t.xml -l /var/log/jabber/pyicq-t.log
+User=jabber
+Group=jabber
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-im/pyicq-t/pyicq-t-0.8.1.5-r6.ebuild b/net-im/pyicq-t/pyicq-t-0.8.1.5-r6.ebuild
new file mode 100644
index 00000000..d6dc9cb6
--- /dev/null
+++ b/net-im/pyicq-t/pyicq-t-0.8.1.5-r6.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1 systemd
+
+MY_P="${P/pyicq-t/pyicqt}"
+
+DESCRIPTION="Python based jabber transport for ICQ"
+HOMEPAGE="https://code.google.com/p/pyicqt/"
+SRC_URI="https://pyicqt.googlecode.com/files/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="webinterface"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ net-im/jabber-base"
+RDEPEND="${DEPEND}
+ || (
+ (
+ dev-python/twisted-core[${PYTHON_USEDEP}]
+ dev-python/twisted-words[${PYTHON_USEDEP}]
+ dev-python/twisted-web[${PYTHON_USEDEP}]
+ )
+ dev-python/twisted[${PYTHON_USEDEP}]
+ )
+ webinterface? ( >=dev-python/nevow-0.4.1[${PYTHON_USEDEP}] )
+ dev-python/pillow[${PYTHON_USEDEP}]"
+
+S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}/${P}-python26-warnings.diff"
+ "${FILESDIR}/${P}-pillow-imaging.patch"
+)
+
+src_install() {
+ python_moduleinto ${PN}
+ cp PyICQt.py ${PN}.py || die
+ python_domodule ${PN}.py data tools src
+
+ insinto /etc/jabber
+ newins config_example.xml ${PN}.xml
+ fperms 600 /etc/jabber/${PN}.xml
+ fowners jabber:jabber /etc/jabber/${PN}.xml
+ fperms 755 "$(python_get_sitedir)/${PN}/${PN}.py"
+ sed -i \
+ -e "s:[^\<]*:/var/spool/jabber:" \
+ -e "s:[^\<]*:/var/run/jabber/${PN}.pid:" \
+ "${ED}/etc/jabber/${PN}.xml" || die
+
+ newinitd "${FILESDIR}/${PN}-0.8-initd-r1" ${PN}
+ systemd_dounit "${FILESDIR}/${PN}.service"
+ sed -i -e "s:INSPATH:$(python_get_sitedir)/${PN}:" \
+ "${ED}/etc/init.d/${PN}" "${ED}/lib/systemd/system/${PN}.service" || die
+
+ python_fix_shebang "${D}$(python_get_sitedir)/${PN}"
+}