Date: Fri, 4 Mar 2011 12:03:36 GMT From: Olivier Duchateau <duchateau.olivier@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/155263: [NEW PORT] net-im/py-hotot, Twitter and Identi.ca microblogging client written in Python Message-ID: <201103041203.p24C3aoR003293@red.freebsd.org> Resent-Message-ID: <201103041210.p24CABxt036602@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 155263 >Category: ports >Synopsis: [NEW PORT] net-im/py-hotot, Twitter and Identi.ca microblogging client written in Python >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: Fri Mar 04 12:10:11 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: Hotot is a lightweight microblogging client, written in Python and JavaScript. Patches: - delete Linux code - enhance Xfce and webbrowsers support Note: This port was tested successfully with Python2.6 and Python2.7. >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-hotot/ # py-hotot/files # py-hotot/files/patch-hotot_hotot.py # py-hotot/files/patch-hotot_utils.py # py-hotot/files/patch-data_ui_css_style.css # py-hotot/files/patch-data_ui_js_ui.context_menu.js # py-hotot/pkg-plist # py-hotot/pkg-descr # py-hotot/distinfo # py-hotot/Makefile # echo c - py-hotot/ mkdir -p py-hotot/ > /dev/null 2>&1 echo c - py-hotot/files mkdir -p py-hotot/files > /dev/null 2>&1 echo x - py-hotot/files/patch-hotot_hotot.py sed 's/^X//' >py-hotot/files/patch-hotot_hotot.py << '8790ab91c1088cdec1052d715864d3a9' X--- hotot/hotot.py.orig 2010-11-08 10:54:08.000000000 +0100 X+++ hotot/hotot.py 2011-02-21 21:48:31.000000000 +0100 X@@ -277,9 +277,15 @@ X # if not config.get('use_ubuntu_indicator'): X # HAS_INDICATOR = False X try: X- import dl X- libc = dl.open('/lib/libc.so.6') X- libc.call('prctl', 15, 'hotot', 0, 0, 0) X+ import ctypes X+ import platform X+ import os X+ X+ # change process name X+ if platform.system().lower() == "freebsd": X+ # e.g. symbolic link /usr/lib/libc.so -> /lib/libc.so.7 X+ libc = ctypes.CDLL(os.path.join('/usr/lib', 'libc.so')) X+ libc.setproctitle('hotot') X except: X pass X agent.init_notify() 8790ab91c1088cdec1052d715864d3a9 echo x - py-hotot/files/patch-hotot_utils.py sed 's/^X//' >py-hotot/files/patch-hotot_utils.py << '99b9d0bd27ba92c73e080fb1d83899f4' X--- hotot/utils.py.orig 2010-11-08 10:54:08.000000000 +0100 X+++ hotot/utils.py 2011-02-21 20:37:30.000000000 +0100 X@@ -38,14 +38,12 @@ X return 'gnome' X elif window_manager_name in 'compiz': X return 'gnome' X- elif window_manager_name in 'awesome': X- return 'awesome' X- elif window_manager_name in 'openbox': X- return 'openbox' X- elif '= "xfce4"' in subprocess.Popen(['xprop', '-root', '_DT_SAVE_MODE'], X- stdout = subprocess.PIPE).stdout.read(): X+ elif 'xfce' in desktop_session_name: X return 'xfce' X- return '' X+ elif window_manager_name in 'xfwm4': X+ return 'xfce' X+ else: X+ return '' X X def get_system_default_browser(): X global _browser X@@ -53,15 +51,17 @@ X return _browser X desktop = get_desktop_environment_name() X tryfirst = [] X- if desktop == 'awesome': X- tryfirst = ['opera'] X- elif desktop == 'openbox': X- tryfirst = ['firefox'] X+ if desktop == 'xfce': X+ tryfirst = ['exo-open'] X+ elif desktop == 'kde': X+ tryfirst = ['kfmclient'] X elif desktop == 'win': X tryfirst = ['start'] X elif desktop == 'gnome': X tryfirst = ['gnome-open'] X- for trycmd in tryfirst + ['xdg-open', 'google-chrome', 'chromium-browser', 'firefox', 'x-www-browser']: X+ else: X+ tryfirst = ['xdg-open'] X+ for trycmd in tryfirst.extend(['chrome', 'x-www-browser']): X if is_command(trycmd): X _browser = trycmd X return _browser X@@ -70,10 +70,7 @@ X def open_webbrowser(uri): X '''open a URI in the registered default application X ''' X- ## for proxychains X- os.environ['LD_PRELOAD'] = ' '.join( X- [ ld for ld in os.environ.get('LD_PRELOAD', '').split(' ') if 'libproxychains.so' not in ld ] X- ) X+ X browser = 'xdg-open' X if sys.platform[:3] == "win": X browser = 'start' 99b9d0bd27ba92c73e080fb1d83899f4 echo x - py-hotot/files/patch-data_ui_css_style.css sed 's/^X//' >py-hotot/files/patch-data_ui_css_style.css << 'b7187672c3913f240a2b76e6b8a956ed' X--- data/ui/css/style.css.orig 2010-11-08 10:54:08.000000000 +0100 X+++ data/ui/css/style.css 2011-03-04 11:34:09.000000000 +0100 X@@ -19,7 +19,7 @@ X body { X background: None repeat-x scroll left top #fff; X color: #333; X- font-family: Droid Sans Fallback, WenQuanYi Micro Hei, Sans, Microsoft Yahei, Simhei, Simsun; X+ font-family: "DejaVu Sans", Verdana, sans-serif; X } X X a { X@@ -547,7 +547,7 @@ X } X X #console_out { X- font-family: Monaco, Consolas,'Courier New',Courier, monospace; X+ font-family: "Courier New", Courier, monospace; X margin: 0 10px; X height: 250px; X overflow: auto; b7187672c3913f240a2b76e6b8a956ed echo x - py-hotot/files/patch-data_ui_js_ui.context_menu.js sed 's/^X//' >py-hotot/files/patch-data_ui_js_ui.context_menu.js << '5447c47c65993861b76ab9cf2e9e7640' X--- data/ui/js/ui.context_menu.js.orig 2010-09-29 14:06:00.000000000 +0200 X+++ data/ui/js/ui.context_menu.js 2011-03-04 12:04:19.000000000 +0100 X@@ -7,7 +7,7 @@ X function init() { X $('#context_menuitem_web_search').click( X function (event) { X- navigate_action('http://google.com/search?sourceid=chrome&ie=UTF-8&q='+ui.ContextMenu.selected_string); X+ navigate_action('http://google.com/search?q='+ui.ContextMenu.selected_string); X }); X X $('#context_menuitem_twitter_search').click( 5447c47c65993861b76ab9cf2e9e7640 echo x - py-hotot/pkg-plist sed 's/^X//' >py-hotot/pkg-plist << 'd835e5f79ef1abec6e4cdba1f23f22e4' Xbin/hotot X%%PYTHON_SITELIBDIR%%/hotot/__init__.py X%%PYTHON_SITELIBDIR%%/hotot/__init__.pyc X%%PYTHON_SITELIBDIR%%/hotot/__init__.pyo X%%PYTHON_SITELIBDIR%%/hotot/agent.py X%%PYTHON_SITELIBDIR%%/hotot/agent.pyc X%%PYTHON_SITELIBDIR%%/hotot/agent.pyo X%%PYTHON_SITELIBDIR%%/hotot/config.py X%%PYTHON_SITELIBDIR%%/hotot/config.pyc X%%PYTHON_SITELIBDIR%%/hotot/config.pyo X%%PYTHON_SITELIBDIR%%/hotot/hotot.py X%%PYTHON_SITELIBDIR%%/hotot/hotot.pyc X%%PYTHON_SITELIBDIR%%/hotot/hotot.pyo X%%PYTHON_SITELIBDIR%%/hotot/i18n.py X%%PYTHON_SITELIBDIR%%/hotot/i18n.pyc X%%PYTHON_SITELIBDIR%%/hotot/i18n.pyo X%%PYTHON_SITELIBDIR%%/hotot/utils.py X%%PYTHON_SITELIBDIR%%/hotot/utils.pyc X%%PYTHON_SITELIBDIR%%/hotot/utils.pyo X%%PYTHON_SITELIBDIR%%/hotot/view.py X%%PYTHON_SITELIBDIR%%/hotot/view.pyc X%%PYTHON_SITELIBDIR%%/hotot/view.pyo Xshare/applications/hotot.desktop X%%DATADIR%%/ext/ext.js X%%DATADIR%%/ext/org.hotot.gmap/entry.js X%%DATADIR%%/ext/org.hotot.gmap/ic16_marker.png X%%DATADIR%%/ext/org.hotot.gmap/icon.png X%%DATADIR%%/ext/org.hotot.imagepreview/entry.js X%%DATADIR%%/ext/org.hotot.imagepreview/icon.png X%%DATADIR%%/ext/org.hotot.imageupload/entry.js X%%DATADIR%%/ext/org.hotot.imageupload/ic16_upload.png X%%DATADIR%%/ext/org.hotot.imageupload/icon.png X%%DATADIR%%/ext/org.hotot.sample/entry.js X%%DATADIR%%/ext/org.hotot.shorturl/entry.js X%%DATADIR%%/ext/org.hotot.shorturl/icon.png X%%DATADIR%%/ext/org.hotot.translate/entry.js X%%DATADIR%%/ext/org.hotot.translate/ic16_translate.png X%%DATADIR%%/ext/org.hotot.translate/icon.png X%%DATADIR%%/ext/org.hotot.videopreview/entry.js X%%DATADIR%%/ext/org.hotot.videopreview/icon.png X%%DATADIR%%/sound/notify.wav X%%DATADIR%%/ui/css/style.css X%%DATADIR%%/ui/imgs/avator_hlight.png X%%DATADIR%%/ui/imgs/body_bg.png X%%DATADIR%%/ui/imgs/expand.png X%%DATADIR%%/ui/imgs/fold.png X%%DATADIR%%/ui/imgs/ic128_hotot.png X%%DATADIR%%/ui/imgs/ic16_close.png X%%DATADIR%%/ui/imgs/ic16_del.png X%%DATADIR%%/ui/imgs/ic16_dm.png X%%DATADIR%%/ui/imgs/ic16_fav.png X%%DATADIR%%/ui/imgs/ic16_identica.png X%%DATADIR%%/ui/imgs/ic16_link.png X%%DATADIR%%/ui/imgs/ic16_more.png X%%DATADIR%%/ui/imgs/ic16_reply.png X%%DATADIR%%/ui/imgs/ic16_reply_all.png X%%DATADIR%%/ui/imgs/ic16_retweet.png X%%DATADIR%%/ui/imgs/ic16_retweet_light.png X%%DATADIR%%/ui/imgs/ic16_retweeted.png X%%DATADIR%%/ui/imgs/ic16_rt.png X%%DATADIR%%/ui/imgs/ic16_twitter.png X%%DATADIR%%/ui/imgs/ic16_unfav.png X%%DATADIR%%/ui/imgs/ic24_hotot.png X%%DATADIR%%/ui/imgs/ic24_hotot_mono_dark.svg X%%DATADIR%%/ui/imgs/ic24_hotot_mono_light.svg X%%DATADIR%%/ui/imgs/ic24_wall.png X%%DATADIR%%/ui/imgs/ic32_hotot.png X%%DATADIR%%/ui/imgs/ic32_hotot_classics.png X%%DATADIR%%/ui/imgs/ic32_profile_add.png X%%DATADIR%%/ui/imgs/ic32_profile_identica.png X%%DATADIR%%/ui/imgs/ic32_profile_twitter.png X%%DATADIR%%/ui/imgs/ic48_loading.gif X%%DATADIR%%/ui/imgs/ic48_lock.png X%%DATADIR%%/ui/imgs/ic48_profile_image.png X%%DATADIR%%/ui/imgs/ic64_hotot.png X%%DATADIR%%/ui/imgs/ic64_hotot_classics.png X%%DATADIR%%/ui/imgs/ic_dm.png X%%DATADIR%%/ui/imgs/ic_fav.png X%%DATADIR%%/ui/imgs/ic_home.png X%%DATADIR%%/ui/imgs/ic_mention.png X%%DATADIR%%/ui/imgs/ic_people.png X%%DATADIR%%/ui/imgs/ic_retweet.png X%%DATADIR%%/ui/imgs/ic_search.png X%%DATADIR%%/ui/imgs/menu_b.png X%%DATADIR%%/ui/imgs/menu_h.png X%%DATADIR%%/ui/imgs/plus-in_b.png X%%DATADIR%%/ui/imgs/plus-in_h.png X%%DATADIR%%/ui/imgs/refresh_b.png X%%DATADIR%%/ui/imgs/refresh_h.png X%%DATADIR%%/ui/imgs/tweet_fav_indicator.png X%%DATADIR%%/ui/imgs/welcome_bg.png X%%DATADIR%%/ui/index.html X%%DATADIR%%/ui/js/base64.js X%%DATADIR%%/ui/js/daemon.updater.js X%%DATADIR%%/ui/js/jquery.ajax-queue.js X%%DATADIR%%/ui/js/jquery.js X%%DATADIR%%/ui/js/jquery.layout.js X%%DATADIR%%/ui/js/js-oauth.js X%%DATADIR%%/ui/js/lib.network.js X%%DATADIR%%/ui/js/lib.twitterapi.js X%%DATADIR%%/ui/js/sha1.js X%%DATADIR%%/ui/js/ui.about_dlg.js X%%DATADIR%%/ui/js/ui.action_menu.js X%%DATADIR%%/ui/js/ui.common_dlg.js X%%DATADIR%%/ui/js/ui.context_menu.js X%%DATADIR%%/ui/js/ui.dialog_helper.js X%%DATADIR%%/ui/js/ui.dm_tabs.js X%%DATADIR%%/ui/js/ui.exts_dlg.js X%%DATADIR%%/ui/js/ui.filter.js X%%DATADIR%%/ui/js/ui.form_checker.js X%%DATADIR%%/ui/js/ui.header.js X%%DATADIR%%/ui/js/ui.main.js X%%DATADIR%%/ui/js/ui.message_dlg.js X%%DATADIR%%/ui/js/ui.notification.js X%%DATADIR%%/ui/js/ui.pin_dlg.js X%%DATADIR%%/ui/js/ui.prefs_dlg.js X%%DATADIR%%/ui/js/ui.profile_dlg.js X%%DATADIR%%/ui/js/ui.retweet_tabs.js X%%DATADIR%%/ui/js/ui.sidebar.js X%%DATADIR%%/ui/js/ui.slider.js X%%DATADIR%%/ui/js/ui.status_box.js X%%DATADIR%%/ui/js/ui.template.js X%%DATADIR%%/ui/js/ui.welcome.js X%%DATADIR%%/ui/js/utility.console.js X%%DATADIR%%/ui/js/utility.db.js Xshare/locale/de/LC_MESSAGES/hotot.mo Xshare/locale/es_MX/LC_MESSAGES/hotot.mo Xshare/locale/it/LC_MESSAGES/hotot.mo Xshare/locale/pt_BR/LC_MESSAGES/hotot.mo Xshare/locale/pt_PT/LC_MESSAGES/hotot.mo Xshare/locale/tr/LC_MESSAGES/hotot.mo Xshare/locale/zh_CN/LC_MESSAGES/hotot.mo Xshare/pixmaps/hotot.png X@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true X@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true X@dirrm %%DATADIR%%/ui/js X@dirrm %%DATADIR%%/ui/imgs X@dirrm %%DATADIR%%/ui/css X@dirrm %%DATADIR%%/ui X@dirrm %%DATADIR%%/sound X@dirrm %%DATADIR%%/ext/org.hotot.videopreview X@dirrm %%DATADIR%%/ext/org.hotot.translate X@dirrm %%DATADIR%%/ext/org.hotot.shorturl X@dirrm %%DATADIR%%/ext/org.hotot.sample X@dirrm %%DATADIR%%/ext/org.hotot.imageupload X@dirrm %%DATADIR%%/ext/org.hotot.imagepreview X@dirrm %%DATADIR%%/ext/org.hotot.gmap X@dirrm %%DATADIR%%/ext X@dirrm %%DATADIR%% X@dirrm %%PYTHON_SITELIBDIR%%/hotot d835e5f79ef1abec6e4cdba1f23f22e4 echo x - py-hotot/pkg-descr sed 's/^X//' >py-hotot/pkg-descr << 'cbb309333f5b50a0fae666e1a34396a2' XHotot is a lightweight microblogging client, written in Python. X XWWW: http://www.hotot.org/ cbb309333f5b50a0fae666e1a34396a2 echo x - py-hotot/distinfo sed 's/^X//' >py-hotot/distinfo << 'c1b70617d02bbff0bec1950ff86965ca' XSHA256 (hotot-0.9.5_hg~20101108.531.7z) = 86bcace95f333efe3d9708e2f1747c4bca7ef0b47bbef79fb6ea0155a2b9da76 XSIZE (hotot-0.9.5_hg~20101108.531.7z) = 377275 c1b70617d02bbff0bec1950ff86965ca echo x - py-hotot/Makefile sed 's/^X//' >py-hotot/Makefile << '04bcc7dc9fc0d5844445d9325da97a4c' X# New ports collection makefile for: py-hotot X# Date created: 2011-02-21 X# Whom: Olivier Duchateau <duchateau.olivier@gmail.com> X# X# $FreeBSD: $ X# X XPORTNAME= hotot XPORTVERSION= 0.9.5 XCATEGORIES= net-im python XMASTER_SITES= GOOGLE_CODE XPKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} XDISTFILES= ${PORTNAME}-${PORTVERSION}_hg~20101108.531.7z X XMAINTAINER= duchateau.olivier@gmail.com XCOMMENT= Twitter and Identi.ca microblogging client X XLICENSE= LGPL3 X XBUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}distutils-extra>=2.23:${PORTSDIR}/devel/py-distutils-extra XRUN_DEPENDS= 7z:${PORTSDIR}/archivers/p7zip \ X ${PYTHON_SITELIBDIR}/setproctitle.so:${PORTSDIR}/devel/py-setproctitle \ X ${PYTHON_SITELIBDIR}/keybinder/__init__.py:${PORTSDIR}/x11/keybinder \ X ${LOCALBASE}/libdata/pkgconfig/pywebkitgtk-1.0.pc:${PORTSDIR}/www/py-webkitgtk \ X ${LOCALBASE}/libdata/pkgconfig/notify-python.pc:${PORTSDIR}/devel/py-notify \ X ${LOCALBASE}/lib/X11/fonts/dejavu/DejaVuSans.ttf:${PORTSDIR}/x11-fonts/dejavu X XWRKSRC= ${WRKDIR}/${PORTNAME} X XUSE_PYTHON= yes XUSE_PYDISTUTILS= yes XUSE_GNOME= desktopfileutils XINSTALL_ICONS= yes X Xdo-extract: X @${MKDIR} ${WRKDIR} X @cd ${WRKDIR} && \ X ${LOCALBASE}/bin/7z x -y ${DISTDIR}/${DISTFILES} X Xpost-patch: X.for LOCALE in de it tr X ${MV} ${WRKSRC}/po/${LOCALE}_* ${WRKSRC}/po/${LOCALE}.po X.endfor X Xdo-build: X @cd ${WRKSRC} && \ X ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} build_i18n -m ; \ X ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} build X Xpost-build: X @cd ${WRKSRC}/data/ui && \ X ${FIND} . -type f -regex '.*\.orig' -exec ${RM} -f {} \; X Xpost-install: X @-update-desktop-database X X.include <bsd.port.mk> 04bcc7dc9fc0d5844445d9325da97a4c exit >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103041203.p24C3aoR003293>