From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Jun 13 14:00:25 2011 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 702921065675 for ; Mon, 13 Jun 2011 14:00:25 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id D911B8FC16 for ; Mon, 13 Jun 2011 14:00:23 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p5DE0NEd057183 for ; Mon, 13 Jun 2011 14:00:23 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p5DE0NpM057182; Mon, 13 Jun 2011 14:00:23 GMT (envelope-from gnats) Resent-Date: Mon, 13 Jun 2011 14:00:23 GMT Resent-Message-Id: <201106131400.p5DE0NpM057182@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Olivier Duchateau Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 79888106566B for ; Mon, 13 Jun 2011 13:55:50 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 671698FC17 for ; Mon, 13 Jun 2011 13:55:50 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p5DDto43010946 for ; Mon, 13 Jun 2011 13:55:50 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id p5DDtoUu010945; Mon, 13 Jun 2011 13:55:50 GMT (envelope-from nobody) Message-Id: <201106131355.p5DDtoUu010945@red.freebsd.org> Date: Mon, 13 Jun 2011 13:55:50 GMT From: Olivier Duchateau To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/157840: [NEW PORT] net-im/py-turpial, Identi.ca and Twitter client written in Python and GTK X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jun 2011 14:00:25 -0000 >Number: 157840 >Category: ports >Synopsis: [NEW PORT] net-im/py-turpial, Identi.ca and Twitter client written in Python and GTK >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Jun 13 14:00:23 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Olivier Duchateau >Release: FreeBSD 8.2-RELEASE >Organization: >Environment: FreeBSD bornem.errements.net 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: Turpial is a microblogging client for social networks like Twitter and Identi.ca. It's written in Python (with GTK like toolkit). - Patches for Python >= 2.7 (argparse) and Python < 2.7 (optparse) - Replace linux related stuff - Fix problem with Unicode when filesystem is in ISO (I send patches in upstream, but I never got response) >How-To-Repeat: >Fix: Patch attached with submission follows: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # py-turpial/ # py-turpial/files # py-turpial/files/patch-turpial.desktop # py-turpial/files/patch-turpial_ui_gtk_about.py # py-turpial/files/extra-patch-optparse-turpial_main.py # py-turpial/files/extra-patch-argparse-turpial_main.py # py-turpial/files/patch-turpial_ui_gtk_statuslist.py # py-turpial/files/patch-turpial_api_interfaces_protocol.py # py-turpial/pkg-plist # py-turpial/pkg-descr # py-turpial/distinfo # py-turpial/Makefile # echo c - py-turpial/ mkdir -p py-turpial/ > /dev/null 2>&1 echo c - py-turpial/files mkdir -p py-turpial/files > /dev/null 2>&1 echo x - py-turpial/files/patch-turpial.desktop sed 's/^X//' >py-turpial/files/patch-turpial.desktop << 'cd293df79eaec76834f952ad78a64a78' X--- turpial.desktop.orig 2011-01-22 22:05:07.000000000 +0100 X+++ turpial.desktop 2011-02-18 23:38:51.000000000 +0100 X@@ -3,8 +3,10 @@ X Encoding=UTF-8 X Name=Turpial X Name[es]=Turpial X+Name[fr]=Turpial X GenericName=Twitter client X GenericName[es]=Cliente Twitter X+GenericName[fr]=Client pour Twitter et Identi.ca X Comment=Twitter client written in Python X Comment[es]=Cliente Twitter escrito en Python X Exec=turpial cd293df79eaec76834f952ad78a64a78 echo x - py-turpial/files/patch-turpial_ui_gtk_about.py sed 's/^X//' >py-turpial/files/patch-turpial_ui_gtk_about.py << '6f9b9be384fbbafdece4e8441c672797' X--- turpial/ui/gtk/about.py.orig 2011-01-22 22:05:08.000000000 +0100 X+++ turpial/ui/gtk/about.py 2011-02-18 23:35:39.000000000 +0100 X@@ -22,8 +22,8 @@ X about.set_website('http://turpial.org.ve') X X try: X- path = os.path.realpath(os.path.join(os.path.dirname(__file__), X- '..', '..', '..', 'COPYING')) X+ path = os.path.realpath(os.path.join('%%PREFIX%%', 'share', 'doc', X+ 'turpial', 'COPYING')) X lic = file(path, 'r') X license = lic.read() X lic.close() X@@ -39,8 +39,8 @@ X about.set_license(license) X authors = [] X try: X- path = os.path.realpath(os.path.join(os.path.dirname(__file__), X- '..', '..', '..', 'AUTHORS')) X+ path = os.path.realpath(os.path.join('%%PREFIX%%', 'share', 'doc', X+ 'turpial', 'AUTHORS')) X f = file(path, 'r') X for line in f: X authors.append(line.strip('\n')) X@@ -51,8 +51,8 @@ X X translators = '' X try: X- path = os.path.realpath(os.path.join(os.path.dirname(__file__), X- '..', '..', '..', 'TRANSLATORS')) X+ path = os.path.realpath(os.path.join('%%PREFIX%%', 'share', 'doc', X+ 'turpial', 'TRANSLATORS')) X f = file(path, 'r') X translators = f.read() X f.close() 6f9b9be384fbbafdece4e8441c672797 echo x - py-turpial/files/extra-patch-optparse-turpial_main.py sed 's/^X//' >py-turpial/files/extra-patch-optparse-turpial_main.py << '7535e186ee5fc66933cc801899c85c75' X--- turpial/main.py.orig 2011-03-23 17:50:07.000000000 +0100 X+++ turpial/main.py 2011-03-27 11:35:32.000000000 +0200 X@@ -21,8 +21,8 @@ X X try: X import ctypes X- libc = ctypes.CDLL('libc.so.6') X- libc.prctl(15, 'turpial', 0, 0) X+ libc = ctypes.CDLL(os.path.join('/usr/lib', 'libc.so')) X+ libc.setproctitle('turpial') X except ImportError: X pass X 7535e186ee5fc66933cc801899c85c75 echo x - py-turpial/files/extra-patch-argparse-turpial_main.py sed 's/^X//' >py-turpial/files/extra-patch-argparse-turpial_main.py << 'd027ddb0b9372c57a7dc75bc51822874' X--- turpial/main.py.orig 2011-03-23 17:50:07.000000000 +0100 X+++ turpial/main.py 2011-03-27 16:33:05.000000000 +0200 X@@ -12,7 +12,7 @@ X import base64 X import logging X import getpass X-from optparse import OptionParser X+import argparse X X from turpial.api.servicesapi import HTTPServices X from turpial.api.turpialapi import TurpialAPI X@@ -21,8 +21,8 @@ X X try: X import ctypes X- libc = ctypes.CDLL('libc.so.6') X- libc.prctl(15, 'turpial', 0, 0) X+ libc = ctypes.CDLL(os.path.join('/usr/lib', 'libc.so')) X+ libc.setproctitle('turpial') X except ImportError: X pass X X@@ -44,34 +44,34 @@ X ui_avail = ui_avail[:-1] + ')' X default_ui = INTERFACES[1] if len(INTERFACES) > 1 else '' X X- parser = OptionParser() X- parser.add_option('-d', '--debug', dest='debug', action='store_true', X+ parser = argparse.ArgumentParser() X+ parser.add_argument('-d', '--debug', dest='debug', action='store_true', X help='show debug info in shell during execution', default=False) X- parser.add_option('-i', '--interface', dest='interface', X+ parser.add_argument('-i', '--interface', dest='interface', X help='select interface to use %s' % ui_avail, default=default_ui) X- parser.add_option('-c', '--clean', dest='clean', action='store_true', X+ parser.add_argument('-c', '--clean', dest='clean', action='store_true', X help='clean all bytecodes', default=False) X- parser.add_option('-s', '--save-credentials', dest='save', action='store_true', X+ parser.add_argument('-s', '--save-credentials', dest='save', action='store_true', X help='save user credentials', default=False) X- parser.add_option('--version', dest='version', action='store_true', X+ parser.add_argument('--version', dest='version', action='store_true', X help='show the version of Turpial and exit', default=False) X- parser.add_option('--test', dest='test', action='store_true', X+ parser.add_argument('--test', dest='test', action='store_true', X help='only load timeline and friends', default=False) X- parser.add_option('--no-sound', dest='no_sound', action='store_true', X+ parser.add_argument('--no-sound', dest='no_sound', action='store_true', X help='disable the sounds module', default=False) X- parser.add_option('--no-notif', dest='no_notif', action='store_true', X+ parser.add_argument('--no-notif', dest='no_notif', action='store_true', X help='disable the notifications module', default=False) X X- (options, args) = parser.parse_args() X+ args = parser.parse_args() X X self.config = None X self.global_cfg = ConfigApp() X self.protocol_cfg = {} X self.profile = None X- self.testmode = options.test X- self.interface = options.interface X- self.no_sound = options.no_sound X- self.no_notif = options.no_notif X+ self.testmode = args.test X+ self.interface = args.interface X+ self.no_sound = args.no_sound X+ self.no_notif = args.no_notif X self.httpserv = None X self.api = None X self.version = self.global_cfg.read('App', 'version') X@@ -79,34 +79,34 @@ X for p in PROTOCOLS: X self.protocol_cfg[p] = ConfigProtocol(p) X X- if options.debug or options.clean: X+ if args.debug or args.clean: X logging.basicConfig(level=logging.DEBUG) X else: X logging.basicConfig(level=logging.INFO) X self.log = logging.getLogger('Controller') X X- if options.clean: X+ if args.clean: X self.__clean() X sys.exit(0) X X- if options.version: X+ if args.version: X print "Turpial v%s" % self.version X print "Python v%X" % sys.hexversion X sys.exit(0) X X- if options.save: X+ if args.save: X try: X self.__save_credentials() X except KeyboardInterrupt: X self.log.debug('Interceptado Keyboard Interrupt') X sys.exit(0) X X- self.interface = options.interface X- if options.interface == 'gtk+' and ('gtk+' in INTERFACES): X+ self.interface = args.interface X+ if args.interface == 'gtk+' and ('gtk+' in INTERFACES): X self.ui = _GTK(self, extend=True) X- elif options.interface == 'gtk' and ('gtk' in INTERFACES): X+ elif args.interface == 'gtk' and ('gtk' in INTERFACES): X self.ui = _GTK(self) X- elif options.interface == 'cmd' and ('cmd' in INTERFACES): X+ elif args.interface == 'cmd' and ('cmd' in INTERFACES): X self.ui = _CMD(self, args) X else: X print 'No existe una interfaz válida. Las interfaces válidas son: %s' % INTERFACES d027ddb0b9372c57a7dc75bc51822874 echo x - py-turpial/files/patch-turpial_ui_gtk_statuslist.py sed 's/^X//' >py-turpial/files/patch-turpial_ui_gtk_statuslist.py << '462893432f4352df7217ec2515aa3b4d' X--- turpial/ui/gtk/statuslist.py.orig 2011-05-08 05:01:09.000000000 +0200 X+++ turpial/ui/gtk/statuslist.py 2011-06-12 19:55:15.000000000 +0200 X@@ -5,6 +5,7 @@ X # Author: Wil Alvarez (aka Satanas) X # Jun 25, 2009 X X+import sys X import gtk X import pango X import gobject X@@ -81,14 +82,14 @@ X if len(hashtags) == 0: return text X X for h in hashtags: X- torep = '%s' % h X+ torep = u'%s' % h X try: X- cad = '%s' % ( X+ cad = u'%s' % ( X self.mainwin.link_color, h X ) X text = text.replace(torep, cad) X except: X- log.debug('Problemas para resaltar el hashtag: %s' % h) X+ log.debug(u'Problemas para resaltar el hashtag: %s' % h) X return text X X def __highlight_groups(self, text): X@@ -99,14 +100,14 @@ X if len(groups) == 0: return text X X for h in groups: X- torep = '%s' % h X+ torep = u'%s' % h X try: X- cad = '%s' % ( X+ cad = u'%s' % ( X self.mainwin.link_color, h X ) X text = text.replace(torep, cad) X except: X- log.debug('Problemas para resaltar el grupo: %s' % h) X+ log.debug(u'Problemas para resaltar el grupo: %s' % h) X return text X X def __highlight_mentions(self, text): X@@ -117,8 +118,8 @@ X for h in mentions: X if len(h) == 1: X continue X- torep = '%s' % h X- cad = '%s' % ( X+ torep = u'%s' % h X+ cad = u'%s' % ( X self.mainwin.link_color, h X ) X text = text.replace(torep, cad) X@@ -128,7 +129,7 @@ X #if len(urls) == 0: return text X X for u in urls: X- cad = '%s' % ( X+ cad = u'%s' % ( X self.mainwin.link_color, u X ) X text = text.replace(u, cad) X@@ -180,8 +181,17 @@ X amarillo = gtk.gdk.Color(253 * 257, 255 * 257, 229 * 257) X naranja = gtk.gdk.Color(255 * 257, 240 * 257, 229 * 257) X ''' X- me = '@'+self.mainwin.me.lower() X- mention = True if msg.lower().find(me) >= 0 else False X+ me = unichr(64) + self.mainwin.me.lower() X+ if sys.getfilesystemencoding() != 'UTF-8': X+ if msg.startswith(me): X+ mention = True X+ else: X+ mention = False X+ else: X+ if msg.lower().startswith(me): X+ mention = True X+ else: X+ mention = False X X if new: X color = self.mainwin.get_gdk_color_from_base('unread') X@@ -206,15 +216,15 @@ X pango_twt = util.unescape_text(status.text) X pango_twt = gobject.markup_escape_text(pango_twt) X X- user = '%s ' % ( X+ user = u'%s ' % ( X self.mainwin.link_color, status.username X ) X- pango_twt = '%s' % pango_twt X+ pango_twt = u'%s' % pango_twt X pango_twt = self.__highlight_hashtags(pango_twt) X pango_twt = self.__highlight_groups(pango_twt) X pango_twt = self.__highlight_mentions(pango_twt) X pango_twt = self.__highlight_urls(urls, pango_twt) X- pango_twt += '\n\n' X+ pango_twt += u'\n\n' X X try: X pango_twt = user + pango_twt X@@ -227,17 +237,17 @@ X except UnicodeDecodeError: X invalid_chars.append(c) X clear_txt += '?' X- log.debug('Problema con caracteres inválidos en un tweet: %s' % invalid_chars) X+ log.debug(u'Problema con caracteres inválidos en un tweet: %s' % invalid_chars) X pango_twt = clear_txt X X- footer = '%s' % status.datetime X+ footer = u'%s' % status.datetime X if status.source: X- footer += ' %s %s' % (_('from'), status.source) X+ footer += u' %s %s' % (_('from'), status.source) X if status.in_reply_to_user: X- footer += ' %s %s' % (_('in reply to'), status.in_reply_to_user) X+ footer += u' %s %s' % (_('in reply to'), status.in_reply_to_user) X if status.retweet_by: X- footer += '\n%s %s' % (_('Retweeted by'), status.retweet_by) X- footer += '' X+ footer += u'\n%s %s' % (_('Retweeted by'), status.retweet_by) X+ footer += u'' X pango_twt += footer X X return pango_twt 462893432f4352df7217ec2515aa3b4d echo x - py-turpial/files/patch-turpial_api_interfaces_protocol.py sed 's/^X//' >py-turpial/files/patch-turpial_api_interfaces_protocol.py << '48bddb7457e491a4f284abe4abd364db' X--- turpial/api/interfaces/protocol.py.orig 2011-03-23 17:50:07.000000000 +0100 X+++ turpial/api/interfaces/protocol.py 2011-05-07 22:14:22.000000000 +0200 X@@ -280,7 +280,7 @@ X X def get_str_time(self, strdate): X t = self.convert_time(strdate) X- return time.strftime('%b %d, %I:%M %p', t) X+ return time.strftime('%Y-%m-%d @ %H:%M', t) X X def get_int_time(self, strdate): X t = self.convert_time(strdate) 48bddb7457e491a4f284abe4abd364db echo x - py-turpial/pkg-plist sed 's/^X//' >py-turpial/pkg-plist << '80747920e9152a9667d6d2263492846b' Xbin/turpial Xshare/applications/turpial.desktop X%%DOCSDIR%%/AUTHORS X%%DOCSDIR%%/COPYING X%%DOCSDIR%%/README.rst X%%DOCSDIR%%/TRANSLATORS Xshare/locale/ca/LC_MESSAGES/turpial.mo Xshare/locale/de/LC_MESSAGES/turpial.mo Xshare/locale/en/LC_MESSAGES/turpial.mo Xshare/locale/es/LC_MESSAGES/turpial.mo Xshare/locale/eu/LC_MESSAGES/turpial.mo Xshare/locale/fr/LC_MESSAGES/turpial.mo Xshare/locale/gl/LC_MESSAGES/turpial.mo Xshare/locale/he/LC_MESSAGES/turpial.mo Xshare/locale/it/LC_MESSAGES/turpial.mo Xshare/locale/nn/LC_MESSAGES/turpial.mo Xshare/locale/pt/LC_MESSAGES/turpial.mo Xshare/locale/ru/LC_MESSAGES/turpial.mo Xshare/locale/zh_CN/LC_MESSAGES/turpial.mo Xshare/locale/zh_TW/LC_MESSAGES/turpial.mo Xshare/pixmaps/turpial.png X%%DATADIR%%/__init__.py X%%DATADIR%%/__init__.pyc X%%DATADIR%%/__init__.pyo X%%DATADIR%%/api/__init__.py X%%DATADIR%%/api/__init__.pyc X%%DATADIR%%/api/__init__.pyo X%%DATADIR%%/api/interfaces/__init__.py X%%DATADIR%%/api/interfaces/__init__.pyc X%%DATADIR%%/api/interfaces/__init__.pyo X%%DATADIR%%/api/interfaces/http.py X%%DATADIR%%/api/interfaces/http.pyc X%%DATADIR%%/api/interfaces/http.pyo X%%DATADIR%%/api/interfaces/post.py X%%DATADIR%%/api/interfaces/post.pyc X%%DATADIR%%/api/interfaces/post.pyo X%%DATADIR%%/api/interfaces/protocol.py X%%DATADIR%%/api/interfaces/protocol.pyc X%%DATADIR%%/api/interfaces/protocol.pyo X%%DATADIR%%/api/interfaces/service.py X%%DATADIR%%/api/interfaces/service.pyc X%%DATADIR%%/api/interfaces/service.pyo X%%DATADIR%%/api/protocols/__init__.py X%%DATADIR%%/api/protocols/__init__.pyc X%%DATADIR%%/api/protocols/__init__.pyo X%%DATADIR%%/api/protocols/identica/__init__.py X%%DATADIR%%/api/protocols/identica/__init__.pyc X%%DATADIR%%/api/protocols/identica/__init__.pyo X%%DATADIR%%/api/protocols/identica/globals.py X%%DATADIR%%/api/protocols/identica/globals.pyc X%%DATADIR%%/api/protocols/identica/globals.pyo X%%DATADIR%%/api/protocols/identica/http.py X%%DATADIR%%/api/protocols/identica/http.pyc X%%DATADIR%%/api/protocols/identica/http.pyo X%%DATADIR%%/api/protocols/identica/identica.py X%%DATADIR%%/api/protocols/identica/identica.pyc X%%DATADIR%%/api/protocols/identica/identica.pyo X%%DATADIR%%/api/protocols/twitter/__init__.py X%%DATADIR%%/api/protocols/twitter/__init__.pyc X%%DATADIR%%/api/protocols/twitter/__init__.pyo X%%DATADIR%%/api/protocols/twitter/globals.py X%%DATADIR%%/api/protocols/twitter/globals.pyc X%%DATADIR%%/api/protocols/twitter/globals.pyo X%%DATADIR%%/api/protocols/twitter/http.py X%%DATADIR%%/api/protocols/twitter/http.pyc X%%DATADIR%%/api/protocols/twitter/http.pyo X%%DATADIR%%/api/protocols/twitter/oauth.py X%%DATADIR%%/api/protocols/twitter/oauth.pyc X%%DATADIR%%/api/protocols/twitter/oauth.pyo X%%DATADIR%%/api/protocols/twitter/twitter.py X%%DATADIR%%/api/protocols/twitter/twitter.pyc X%%DATADIR%%/api/protocols/twitter/twitter.pyo X%%DATADIR%%/api/services/__init__.py X%%DATADIR%%/api/services/__init__.pyc X%%DATADIR%%/api/services/__init__.pyo X%%DATADIR%%/api/services/shorturl/__init__.py X%%DATADIR%%/api/services/shorturl/__init__.pyc X%%DATADIR%%/api/services/shorturl/__init__.pyo X%%DATADIR%%/api/services/shorturl/bitly.py X%%DATADIR%%/api/services/shorturl/bitly.pyc X%%DATADIR%%/api/services/shorturl/bitly.pyo X%%DATADIR%%/api/services/shorturl/cligs.py X%%DATADIR%%/api/services/shorturl/cligs.pyc X%%DATADIR%%/api/services/shorturl/cligs.pyo X%%DATADIR%%/api/services/shorturl/isgd.py X%%DATADIR%%/api/services/shorturl/isgd.pyc X%%DATADIR%%/api/services/shorturl/isgd.pyo X%%DATADIR%%/api/services/shorturl/smlkes.py X%%DATADIR%%/api/services/shorturl/smlkes.pyc X%%DATADIR%%/api/services/shorturl/smlkes.pyo X%%DATADIR%%/api/services/shorturl/supr.py X%%DATADIR%%/api/services/shorturl/supr.pyc X%%DATADIR%%/api/services/shorturl/supr.pyo X%%DATADIR%%/api/services/shorturl/tinyurl.py X%%DATADIR%%/api/services/shorturl/tinyurl.pyc X%%DATADIR%%/api/services/shorturl/tinyurl.pyo X%%DATADIR%%/api/services/shorturl/trim.py X%%DATADIR%%/api/services/shorturl/trim.pyc X%%DATADIR%%/api/services/shorturl/trim.pyo X%%DATADIR%%/api/services/shorturl/unu.py X%%DATADIR%%/api/services/shorturl/unu.pyc X%%DATADIR%%/api/services/shorturl/unu.pyo X%%DATADIR%%/api/services/shorturl/ur1ca.py X%%DATADIR%%/api/services/shorturl/ur1ca.pyc X%%DATADIR%%/api/services/shorturl/ur1ca.pyo X%%DATADIR%%/api/services/shorturl/zima.py X%%DATADIR%%/api/services/shorturl/zima.pyc X%%DATADIR%%/api/services/shorturl/zima.pyo X%%DATADIR%%/api/services/uploadpic/__init__.py X%%DATADIR%%/api/services/uploadpic/__init__.pyc X%%DATADIR%%/api/services/uploadpic/__init__.pyo X%%DATADIR%%/api/services/uploadpic/imgly.py X%%DATADIR%%/api/services/uploadpic/imgly.pyc X%%DATADIR%%/api/services/uploadpic/imgly.pyo X%%DATADIR%%/api/services/uploadpic/mobypicture.py X%%DATADIR%%/api/services/uploadpic/mobypicture.pyc X%%DATADIR%%/api/services/uploadpic/mobypicture.pyo X%%DATADIR%%/api/services/uploadpic/posterous.py X%%DATADIR%%/api/services/uploadpic/posterous.pyc X%%DATADIR%%/api/services/uploadpic/posterous.pyo X%%DATADIR%%/api/services/uploadpic/pyTweetPhoto.py X%%DATADIR%%/api/services/uploadpic/pyTweetPhoto.pyc X%%DATADIR%%/api/services/uploadpic/pyTweetPhoto.pyo X%%DATADIR%%/api/services/uploadpic/tweetphoto.py X%%DATADIR%%/api/services/uploadpic/tweetphoto.pyc X%%DATADIR%%/api/services/uploadpic/tweetphoto.pyo X%%DATADIR%%/api/services/uploadpic/twitgoo.py X%%DATADIR%%/api/services/uploadpic/twitgoo.pyc X%%DATADIR%%/api/services/uploadpic/twitgoo.pyo X%%DATADIR%%/api/services/uploadpic/twitpic.py X%%DATADIR%%/api/services/uploadpic/twitpic.pyc X%%DATADIR%%/api/services/uploadpic/twitpic.pyo X%%DATADIR%%/api/services/uploadpic/yfrog.py X%%DATADIR%%/api/services/uploadpic/yfrog.pyc X%%DATADIR%%/api/services/uploadpic/yfrog.pyo X%%DATADIR%%/api/servicesapi.py X%%DATADIR%%/api/servicesapi.pyc X%%DATADIR%%/api/servicesapi.pyo X%%DATADIR%%/api/turpialapi.py X%%DATADIR%%/api/turpialapi.pyc X%%DATADIR%%/api/turpialapi.pyo X%%DATADIR%%/config.py X%%DATADIR%%/config.pyc X%%DATADIR%%/config.pyo X%%DATADIR%%/data/pixmaps/action-add-friends.png X%%DATADIR%%/data/pixmaps/action-autoscroll.png X%%DATADIR%%/data/pixmaps/action-clear.png X%%DATADIR%%/data/pixmaps/action-mark-all.png X%%DATADIR%%/data/pixmaps/action-refresh.png X%%DATADIR%%/data/pixmaps/dock-about.png X%%DATADIR%%/data/pixmaps/dock-favorites.png X%%DATADIR%%/data/pixmaps/dock-follow.png X%%DATADIR%%/data/pixmaps/dock-home.png X%%DATADIR%%/data/pixmaps/dock-profile.png X%%DATADIR%%/data/pixmaps/dock-settings.png X%%DATADIR%%/data/pixmaps/dock-update.png X%%DATADIR%%/data/pixmaps/dock-uploadpic.png X%%DATADIR%%/data/pixmaps/identica.png X%%DATADIR%%/data/pixmaps/logo.png X%%DATADIR%%/data/pixmaps/logo2.png X%%DATADIR%%/data/pixmaps/turpial-notification.png X%%DATADIR%%/data/pixmaps/turpial-tray-update.png X%%DATADIR%%/data/pixmaps/turpial-tray.png X%%DATADIR%%/data/pixmaps/turpial.png X%%DATADIR%%/data/pixmaps/twitter.png X%%DATADIR%%/data/pixmaps/unknown.png X%%DATADIR%%/data/pixmaps/wait-error.png X%%DATADIR%%/data/pixmaps/wait10.png X%%DATADIR%%/data/pixmaps/wait11.png X%%DATADIR%%/data/pixmaps/wait12.png X%%DATADIR%%/data/pixmaps/wait13.png X%%DATADIR%%/data/pixmaps/wait14.png X%%DATADIR%%/data/pixmaps/wait15.png X%%DATADIR%%/data/pixmaps/wait16.png X%%DATADIR%%/data/pixmaps/wait17.png X%%DATADIR%%/data/pixmaps/wait18.png X%%DATADIR%%/data/pixmaps/wait19.png X%%DATADIR%%/data/pixmaps/wait2.png X%%DATADIR%%/data/pixmaps/wait20.png X%%DATADIR%%/data/pixmaps/wait21.png X%%DATADIR%%/data/pixmaps/wait22.png X%%DATADIR%%/data/pixmaps/wait23.png X%%DATADIR%%/data/pixmaps/wait24.png X%%DATADIR%%/data/pixmaps/wait25.png X%%DATADIR%%/data/pixmaps/wait26.png X%%DATADIR%%/data/pixmaps/wait27.png X%%DATADIR%%/data/pixmaps/wait28.png X%%DATADIR%%/data/pixmaps/wait29.png X%%DATADIR%%/data/pixmaps/wait3.png X%%DATADIR%%/data/pixmaps/wait30.png X%%DATADIR%%/data/pixmaps/wait31.png X%%DATADIR%%/data/pixmaps/wait32.png X%%DATADIR%%/data/pixmaps/wait4.png X%%DATADIR%%/data/pixmaps/wait5.png X%%DATADIR%%/data/pixmaps/wait6.png X%%DATADIR%%/data/pixmaps/wait7.png X%%DATADIR%%/data/pixmaps/wait8.png X%%DATADIR%%/data/pixmaps/wait9.png X%%DATADIR%%/data/sounds/cambur_pinton.ogg X%%DATADIR%%/data/sounds/mencion.ogg X%%DATADIR%%/data/sounds/mencion2.ogg X%%DATADIR%%/data/sounds/mencion3.ogg X%%DATADIR%%/data/sounds/turpial.ogg X%%DATADIR%%/data/themes/default/style.css X%%DATADIR%%/data/themes/default/tweet.html X%%DATADIR%%/data/themes/default/tweet_template.html X%%DATADIR%%/main.py X%%DATADIR%%/main.pyc X%%DATADIR%%/main.pyo X%%DATADIR%%/notification.py X%%DATADIR%%/notification.pyc X%%DATADIR%%/notification.pyo X%%DATADIR%%/sound.py X%%DATADIR%%/sound.pyc X%%DATADIR%%/sound.pyo X%%DATADIR%%/ui/__init__.py X%%DATADIR%%/ui/__init__.pyc X%%DATADIR%%/ui/__init__.pyo X%%DATADIR%%/ui/base_ui.py X%%DATADIR%%/ui/base_ui.pyc X%%DATADIR%%/ui/base_ui.pyo X%%DATADIR%%/ui/cmd/__init__.py X%%DATADIR%%/ui/cmd/__init__.pyc X%%DATADIR%%/ui/cmd/__init__.pyo X%%DATADIR%%/ui/cmd/main.py X%%DATADIR%%/ui/cmd/main.pyc X%%DATADIR%%/ui/cmd/main.pyo X%%DATADIR%%/ui/gtk/__init__.py X%%DATADIR%%/ui/gtk/__init__.pyc X%%DATADIR%%/ui/gtk/__init__.pyo X%%DATADIR%%/ui/gtk/about.py X%%DATADIR%%/ui/gtk/about.pyc X%%DATADIR%%/ui/gtk/about.pyo X%%DATADIR%%/ui/gtk/columns.py X%%DATADIR%%/ui/gtk/columns.pyc X%%DATADIR%%/ui/gtk/columns.pyo X%%DATADIR%%/ui/gtk/conversation.py X%%DATADIR%%/ui/gtk/conversation.pyc X%%DATADIR%%/ui/gtk/conversation.pyo X%%DATADIR%%/ui/gtk/dock.py X%%DATADIR%%/ui/gtk/dock.pyc X%%DATADIR%%/ui/gtk/dock.pyo X%%DATADIR%%/ui/gtk/errorbox.py X%%DATADIR%%/ui/gtk/errorbox.pyc X%%DATADIR%%/ui/gtk/errorbox.pyo X%%DATADIR%%/ui/gtk/follow.py X%%DATADIR%%/ui/gtk/follow.pyc X%%DATADIR%%/ui/gtk/follow.pyo X%%DATADIR%%/ui/gtk/friendwin.py X%%DATADIR%%/ui/gtk/friendwin.pyc X%%DATADIR%%/ui/gtk/friendwin.pyo X%%DATADIR%%/ui/gtk/home.py X%%DATADIR%%/ui/gtk/home.pyc X%%DATADIR%%/ui/gtk/home.pyo X%%DATADIR%%/ui/gtk/login.py X%%DATADIR%%/ui/gtk/login.pyc X%%DATADIR%%/ui/gtk/login.pyo X%%DATADIR%%/ui/gtk/loginlabel.py X%%DATADIR%%/ui/gtk/loginlabel.pyc X%%DATADIR%%/ui/gtk/loginlabel.pyo X%%DATADIR%%/ui/gtk/main.py X%%DATADIR%%/ui/gtk/main.pyc X%%DATADIR%%/ui/gtk/main.pyo X%%DATADIR%%/ui/gtk/menu.py X%%DATADIR%%/ui/gtk/menu.pyc X%%DATADIR%%/ui/gtk/menu.pyo X%%DATADIR%%/ui/gtk/preferences.py X%%DATADIR%%/ui/gtk/preferences.pyc X%%DATADIR%%/ui/gtk/preferences.pyo X%%DATADIR%%/ui/gtk/profile.py X%%DATADIR%%/ui/gtk/profile.pyc X%%DATADIR%%/ui/gtk/profile.pyo X%%DATADIR%%/ui/gtk/statuslist.py X%%DATADIR%%/ui/gtk/statuslist.pyc X%%DATADIR%%/ui/gtk/statuslist.pyo X%%DATADIR%%/ui/gtk/tweetslistwk.py X%%DATADIR%%/ui/gtk/tweetslistwk.pyc X%%DATADIR%%/ui/gtk/tweetslistwk.pyo X%%DATADIR%%/ui/gtk/updatebox.py X%%DATADIR%%/ui/gtk/updatebox.pyc X%%DATADIR%%/ui/gtk/updatebox.pyo X%%DATADIR%%/ui/gtk/uploadpicbox.py X%%DATADIR%%/ui/gtk/uploadpicbox.pyc X%%DATADIR%%/ui/gtk/uploadpicbox.pyo X%%DATADIR%%/ui/gtk/userform.py X%%DATADIR%%/ui/gtk/userform.pyc X%%DATADIR%%/ui/gtk/userform.pyo X%%DATADIR%%/ui/gtk/waiting.py X%%DATADIR%%/ui/gtk/waiting.pyc X%%DATADIR%%/ui/gtk/waiting.pyo X%%DATADIR%%/ui/gtk/wrapper.py X%%DATADIR%%/ui/gtk/wrapper.pyc X%%DATADIR%%/ui/gtk/wrapper.pyo X%%DATADIR%%/ui/util.py X%%DATADIR%%/ui/util.pyc X%%DATADIR%%/ui/util.pyo X@dirrm %%DATADIR%%/ui/gtk X@dirrm %%DATADIR%%/ui/cmd X@dirrm %%DATADIR%%/ui X@dirrm %%DATADIR%%/data/themes/default X@dirrm %%DATADIR%%/data/themes X@dirrm %%DATADIR%%/data/sounds X@dirrm %%DATADIR%%/data/pixmaps X@dirrm %%DATADIR%%/data X@dirrm %%DATADIR%%/api/services/uploadpic X@dirrm %%DATADIR%%/api/services/shorturl X@dirrm %%DATADIR%%/api/services X@dirrm %%DATADIR%%/api/protocols/twitter X@dirrm %%DATADIR%%/api/protocols/identica X@dirrm %%DATADIR%%/api/protocols X@dirrm %%DATADIR%%/api/interfaces X@dirrm %%DATADIR%%/api X@dirrm %%DATADIR%% X@dirrm %%DOCSDIR%% X@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true X@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true 80747920e9152a9667d6d2263492846b echo x - py-turpial/pkg-descr sed 's/^X//' >py-turpial/pkg-descr << '949b931a978b90ae047aa55f2e1098c5' XTurpial is a microblogging client for social networks like Twitter and XIdenti.ca. X XWWW: http://turpial.org.ve/ 949b931a978b90ae047aa55f2e1098c5 echo x - py-turpial/distinfo sed 's/^X//' >py-turpial/distinfo << 'b0d0d02aaccc7d5485362c19106425aa' XSHA256 (turpial-1.5.0.tar.gz) = f0c85cc0639287b66210571841920cb35dc9117bce9a3e37616f29b1f1b4768a XSIZE (turpial-1.5.0.tar.gz) = 558659 b0d0d02aaccc7d5485362c19106425aa echo x - py-turpial/Makefile sed 's/^X//' >py-turpial/Makefile << '5c0be2b7b52df251791739086b62b969' X# New ports collection makefile for: py-turpial X# Date created: 2011-02-19 X# Whom: Olivier Duchateau X# X# $FreeBSD: $ X# X XPORTNAME= turpial XPORTVERSION= 1.5.0 XCATEGORIES= net-im python XMASTER_SITES= http://turpial.org.ve/files/sources/%SUBDIR%/ XMASTER_SITE_SUBDIR= stable XDISTNAME= ${PORTNAME}-${PORTVERSION} XPKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} X XMAINTAINER= duchateau.olivier@gmail.com XCOMMENT= Twitter and Identi.ca client written in Python X XLICENSE= GPLv3 XLICENSE_FILE= ${WRKSRC}/COPYING X XBUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=0.9:${PORTSDIR}/devel/py-babel XRUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/notify-python.pc:${PORTSDIR}/devel/py-notify \ X ${LOCALBASE}/libdata/pkgconfig/pywebkitgtk-1.0.pc:${PORTSDIR}/www/py-webkitgtk \ X ${PYTHON_SITELIBDIR}/setproctitle.so:${PORTSDIR}/devel/py-setproctitle \ X ${PYTHON_SITELIBDIR}/xdg/__init__.py:${PORTSDIR}/devel/py-xdg X XUSE_PYTHON= yes XUSE_GNOME= pygobject pygtk2 desktopfileutils XUSE_GSTREAMER= python X XREINPLACE_ARGS= -i "" X XDOCSDIR= ${PREFIX}/share/doc/${PORTNAME} XDATADIR= ${PREFIX}/share/${PORTNAME} X XLOCALES_DIR= ca de en es eu fr gl he it nn pt ru zh_CN zh_TW X X.include X X# Since Python > 2.7, optparse module is deprecated X.if ${PYTHON_REL} >= 270 XEXTRA_PATCHES+= ${FILESDIR}/extra-patch-argparse-turpial_main.py X.else XEXTRA_PATCHES+= ${FILESDIR}/extra-patch-optparse-turpial_main.py X.endif X Xpost-patch: X @${FIND} ${WRKSRC}/turpial -type f -regex '.*\.py' \ X | ${XARGS} ${REINPLACE_CMD} 's|bin/python|bin/env python| ; \ X s|Linux|FreeBSD|g ; \ X s|from turpial\.|from |g ; \ X s|%%PREFIX%%|${PREFIX}|g' X# Avoid to center on screen the window application X ${REINPLACE_CMD} 's|gtk.WIN_POS_CENTER|gtk.WIN_POS_CENTER_ON_PARENT|' \ X ${WRKSRC}/turpial/ui/gtk/main.py X Xdo-build: X @cd ${WRKSRC} && \ X ${PYTHON_CMD} setup.py compile_catalog --directory turpial/i18n ; \ X ${PYTHON_CMD} -m compileall ${WRKSRC} ; \ X ${PYTHON_CMD} -O -m compileall ${WRKSRC} X X @${ECHO_CMD} "#!/bin/sh" >> ${WRKDIR}/run.sh X @${ECHO_CMD} "" >> ${WRKDIR}/run.sh X @${ECHO_CMD} "cd ${DATADIR} || exit 1" >> ${WRKDIR}/run.sh X @${ECHO_CMD} "exec ${PYTHON_CMD} main.py" >> ${WRKDIR}/run.sh X Xpre-install: X @${FIND} ${WRKSRC} -type f -name '*.orig' \ X -exec ${RM} -f "{}" \; X X @${MKDIR} -p ${DOCSDIR} ${DATADIR} \ X ${PREFIX}/share/pixmaps \ X ${PREFIX}/share/applications \ X ${PREFIX}/bin X.for LOCALE in ${LOCALES_DIR} X @${MKDIR} -p ${PREFIX}/share/locale/${LOCALE}/LC_MESSAGES X.endfor X @cd ${WRKSRC}/turpial && \ X ${FIND} . -type d \ X \! -regex '.*i18n.*' -exec ${MKDIR} -p "${DATADIR}/{}" \; X Xdo-install: X @cd ${WRKSRC} && \ X ${INSTALL_DATA} AUTHORS COPYING TRANSLATORS README.rst ${DOCSDIR} ; \ X ${INSTALL_DATA} turpial/data/pixmaps/turpial.png \ X ${PREFIX}/share/pixmaps ; \ X ${INSTALL_DATA} ${PORTNAME}.desktop ${PREFIX}/share/applications X X @cd ${WRKSRC}/turpial/i18n && \ X ${FIND} . -type f -name '*.mo' \ X -exec ${INSTALL_DATA} "{}" "${PREFIX}/share/locale/{}" \; X X @cd ${WRKSRC}/turpial && \ X ${FIND} . -type f \ X \( ! -name '*.mo' -and ! -name '*.po*' \) \ X -exec ${INSTALL_DATA} "{}" "${DATADIR}/{}" \; X X ${INSTALL_SCRIPT} ${WRKDIR}/run.sh ${PREFIX}/bin/${PORTNAME} X Xpost-install: X @-update-desktop-database X X.include 5c0be2b7b52df251791739086b62b969 exit >Release-Note: >Audit-Trail: >Unformatted: