From 262788b408c3feafa8626644790d448eea449a0f Mon Sep 17 00:00:00 2001 From: Kolan Sh Date: Mon, 25 Jun 2018 12:01:26 +0300 Subject: [PATCH] pyicq-t added: fix pyicq-t.service not found --- net-im/pyicq-t/Manifest | 1 + net-im/pyicq-t/files/pyicq-t-0.8-initd-r1 | 23 ++++ .../pyicq-t-0.8.1.5-pillow-imaging.patch | 36 ++++++ .../pyicq-t-0.8.1.5-python26-warnings.diff | 118 ++++++++++++++++++ net-im/pyicq-t/files/pyicq-t.service | 10 ++ net-im/pyicq-t/pyicq-t-0.8.1.5-r6.ebuild | 63 ++++++++++ 6 files changed, 251 insertions(+) create mode 100644 net-im/pyicq-t/Manifest create mode 100644 net-im/pyicq-t/files/pyicq-t-0.8-initd-r1 create mode 100644 net-im/pyicq-t/files/pyicq-t-0.8.1.5-pillow-imaging.patch create mode 100644 net-im/pyicq-t/files/pyicq-t-0.8.1.5-python26-warnings.diff create mode 100644 net-im/pyicq-t/files/pyicq-t.service create mode 100644 net-im/pyicq-t/pyicq-t-0.8.1.5-r6.ebuild 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}" +}