ports/151371: New Port: audio/pithos GNOME Pandora player
John Hixson
john at ixsystems.com
Sun Oct 10 18:20:02 UTC 2010
>Number: 151371
>Category: ports
>Synopsis: New Port: audio/pithos GNOME Pandora player
>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: Sun Oct 10 18:20:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: John Hixson
>Release: 9.0-CURRENT
>Organization:
iXsystems
>Environment:
FreeBSD thinkbsd 9.0-CURRENT FreeBSD 9.0-CURRENT #6: Sat Sep 25 05:21:08 PDT 2010 john at thinkbsd:/usr/obj/usr/src/sys/THINKBSD amd64
>Description:
This is a GNOME Pandora player
>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:
#
# pithos
# pithos/Makefile
# pithos/files
# pithos/files/patch-pithos.desktop.in
# pithos/files/patch-setup.py
# pithos/files/patch-pithos
# pithos/files/patch-pithosconfig.py
# pithos/pkg-descr
# pithos/pkg-plist
#
echo c - pithos
mkdir -p pithos > /dev/null 2>&1
echo x - pithos/Makefile
sed 's/^X//' >pithos/Makefile << 'b6ccb1d316afa5f668b09294416af362'
X# New ports collection makefile for: pithos
X# Date created: 8 October 2010
X# Whom: John Hixson <john at pcbsd.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME= pithos
XPORTVERSION= 0.3
XCATEGORIES= audio
XMASTER_SITES= http://kevinmehall.net/p/pithos/
X
XMAINTAINER= john at pcbsd.org
XCOMMENT= A Pandora client for the GNOME desktop
X
XFETCH_DEPENDS= bzr:${PORTSDIR}/devel/bazaar-ng
X
XRUN_DEPENDS= py-xdg:${PORTSDIR}/devel/py-xdg \
X py-gobject:${PORTSDIR}/devel/py-gobject \
X py-notify:${PORTSDIR}/devel/py-notify \
X py-dbus:${PORTSDIR}/devel/py-dbus \
X
XPLIST_FILES= bin/pithos
X
XDATADIR= ${PREFIX}/share/${PORTNAME}
XWRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
X
XUSE_PYTHON= 2.6+
XUSE_GNOME= pygtk2
XUSE_PYDISTUTILS= yes
XUSE_GSTREAMER= good bad python
XUSE_DISPLAY= yes
XPYDISTUTILS_PKGNAME= ${PORTNAME}
X
X.include <bsd.port.pre.mk>
XBZR_CMD= bzr branch
XBZR_SITES?= lp:${PORTNAME}
XBZR_MODULE= ${PKGNAME}
X
Xpre-fetch:
X @if [ -f ${DISTDIR}/${PKGNAME}.tar.gz ]; then \
X exit; \
X fi; \
X cd ${DISTDIR}; \
X for BZR_SITE in ${BZR_SITES}; do \
X ${ECHO_MSG} "===>> Attempting to check out from $${BZR_SITE}."; \
X if ${BZR_CMD} $${BZR_SITE} ${BZR_MODULE}; then \
X cd ${DISTDIR}; \
X ${ECHO_MSG} "===>> Creating dist tarball in ${DISTDIR}"; \
X ${ECHO_MSG} "===>> \"${PKGNAME}.tar.gz\"."; \
X ${TAR} -czf ${PKGNAME}.tar.gz ${PKGNAME}; \
X ${RM} -rf ${PKGNAME}; \
X exit; \
X fi \
X done; \
X ${RM} -rf ${DISTDIR}/${PKGNAME}; \
X ${ECHO_MSG} ">> BZR checkout failed."; \
X exit 1;
X
Xpost-install:
X @${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 555 \
X ${WRKSRC}/bin/${PORTNAME} ${PREFIX}/bin/${PORTNAME}
X @${MKDIR} ${DATADIR}
X @(cd ${WRKSRC}/data/ && ${COPYTREE_SHARE} \* ${DATADIR})
X
X
X.include <bsd.port.post.mk>
b6ccb1d316afa5f668b09294416af362
echo c - pithos/files
mkdir -p pithos/files > /dev/null 2>&1
echo x - pithos/files/patch-pithos.desktop.in
sed 's/^X//' >pithos/files/patch-pithos.desktop.in << '602e52922d909d856c63e1fed9d9b90a'
X--- pithos.desktop.in.orig 2010-10-09 22:18:15.000000000 -0700
X+++ pithos.desktop.in 2010-10-09 22:18:23.000000000 -0700
X@@ -3,6 +3,6 @@
X Comment=Play music from Pandora Radio
X Categories=GNOME;AudioVideo;
X Exec=pithos
X-Icon=/usr/share/pithos/media/icon.png
X+Icon=/usr/local/share/pithos/media/icon.png
X Terminal=false
X Type=Application
602e52922d909d856c63e1fed9d9b90a
echo x - pithos/files/patch-setup.py
sed 's/^X//' >pithos/files/patch-setup.py << '5e2805d643e0bca52acb0a354cce719c'
X--- setup.py.orig 2010-10-09 21:59:31.000000000 -0700
X+++ setup.py 2010-10-10 10:35:33.000000000 -0700
X@@ -17,90 +17,20 @@
X
X ###################### DO NOT TOUCH THIS (HEAD TO THE SECOND PART) ######################
X
X-try:
X- import DistUtilsExtra.auto
X-except ImportError:
X- import sys
X- print >> sys.stderr, 'To build pithos you need https://launchpad.net/python-distutils-extra'
X- sys.exit(1)
X-
X-assert DistUtilsExtra.auto.__version__ >= '2.10', 'needs DistUtilsExtra.auto >= 2.10'
X+import sys
X import os
X+from distutils.core import setup
X
X+required = []
X
X-def update_data_path(prefix, oldvalue=None):
X-
X- try:
X- fin = file('pithos/pithosconfig.py', 'r')
X- fout = file(fin.name + '.new', 'w')
X-
X- for line in fin:
X- fields = line.split(' = ') # Separate variable from value
X- if fields[0] == '__pithos_data_directory__':
X- # update to prefix, store oldvalue
X- if not oldvalue:
X- oldvalue = fields[1]
X- line = "%s = '%s'\n" % (fields[0], prefix)
X- else: # restore oldvalue
X- line = "%s = %s" % (fields[0], oldvalue)
X- fout.write(line)
X-
X- fout.flush()
X- fout.close()
X- fin.close()
X- os.rename(fout.name, fin.name)
X- except (OSError, IOError), e:
X- print ("ERROR: Can't find pithos/pithosconfig.py")
X- sys.exit(1)
X- return oldvalue
X-
X-
X-def update_desktop_file(datadir):
X-
X- try:
X- fin = file('pithos.desktop.in', 'r')
X- fout = file(fin.name + '.new', 'w')
X-
X- for line in fin:
X- if 'Icon=' in line:
X- line = "Icon=%s\n" % (datadir + 'media/icon.png')
X- fout.write(line)
X- fout.flush()
X- fout.close()
X- fin.close()
X- os.rename(fout.name, fin.name)
X- except (OSError, IOError), e:
X- print ("ERROR: Can't find pithos.desktop.in")
X- sys.exit(1)
X-
X-
X-class InstallAndUpdateDataDirectory(DistUtilsExtra.auto.install_auto):
X- def run(self):
X- if self.root or self.home:
X- print "WARNING: You don't use a standard --prefix installation, take care that you eventually " \
X- "need to update quickly/quicklyconfig.py file to adjust __quickly_data_directory__. You can " \
X- "ignore this warning if you are packaging and uses --prefix."
X- previous_value = update_data_path(self.prefix + '/share/pithos/')
X- update_desktop_file(self.prefix + '/share/pithos/')
X- DistUtilsExtra.auto.install_auto.run(self)
X- update_data_path(self.prefix, previous_value)
X-
X-
X-
X-##################################################################################
X-###################### YOU SHOULD MODIFY ONLY WHAT IS BELOW ######################
X-##################################################################################
X-
X-DistUtilsExtra.auto.setup(
X- name='pithos',
X- version='0.3',
X- ext_modules=[],
X- license='GPL-3',
X- author='Kevin Mehall',
X- author_email='km at kevinmehall.net',
X- description='Pandora.com client for the GNOME desktop',
X- #long_description='Here a longer description',
X- url='https://launchpad.net/pithos',
X- cmdclass={'install': InstallAndUpdateDataDirectory}
X- )
X-
X+setup(
X+ name='pithos',
X+ version='0.3',
X+ description='Pandora.com client for the GNOME desktop',
X+ author='Kevin Mehall',
X+ author_email='km at kevinmehall.net',
X+ url='https://launchpad.net/pithos',
X+ license='GPL-3',
X+ packages=['pithos', 'pithos.pandora', 'pithos.plugins'],
X+ package_dir = {'pithos':'pithos'}
X+)
5e2805d643e0bca52acb0a354cce719c
echo x - pithos/files/patch-pithos
sed 's/^X//' >pithos/files/patch-pithos << '657810b51b45e444978d6d7b6e7593e3'
X--- bin/pithos.orig 2010-10-09 22:19:41.000000000 -0700
X+++ bin/pithos 2010-10-09 22:20:03.000000000 -0700
X@@ -1,4 +1,4 @@
X-#!/usr/bin/python
X+#!/usr/bin/env python
X # -*- coding: utf-8; tab-width: 4; indent-tabs-mode: nil; -*-
X ### BEGIN LICENSE
X # Copyright (C) 2010 Kevin Mehall <km at kevinmehall.net>
657810b51b45e444978d6d7b6e7593e3
echo x - pithos/files/patch-pithosconfig.py
sed 's/^X//' >pithos/files/patch-pithosconfig.py << 'efffb8de2ac603139b45f010c0e813a8'
X--- pithos/pithosconfig.py.orig 2010-10-09 22:19:20.000000000 -0700
X+++ pithos/pithosconfig.py 2010-10-10 05:17:40.000000000 -0700
X@@ -16,7 +16,7 @@
X
X # where your project will head for your data (for instance, images and ui files)
X # by default, this is ../data, relative your trunk layout
X-__pithos_data_directory__ = '../data/'
X+__pithos_data_directory__ = '/usr/local/share/pithos/'
X __license__ = 'GPL-3'
X
X VERSION = '0.3.1'
X@@ -40,7 +40,7 @@
X """Retrieve pithos data path
X
X This path is by default <pithos_lib_path>/../data/ in trunk
X- and /usr/share/pithos in an installed version but this path
X+ and /usr/local/share/pithos in an installed version but this path
X is specified at installation time.
X """
X
efffb8de2ac603139b45f010c0e813a8
echo x - pithos/pkg-descr
sed 's/^X//' >pithos/pkg-descr << '7be17552f04a8adeadeba8d988b07661'
XPithos is a Pandora client for the GNOME Desktop. The official
XFlash-based client is a CPU hog, and Pianobar is a great
Xreverse-engineered implementation, but is command-line only. Neither
Xintegrate with the desktop very well, missing things like media key
Xsupport and song notifications.
7be17552f04a8adeadeba8d988b07661
echo x - pithos/pkg-plist
sed 's/^X//' >pithos/pkg-plist << '6e4c4b92a85455e523e74fb8452ce504'
X%%PYTHON_SITELIBDIR%%/pithos/AboutPithosDialog.py
X%%PYTHON_SITELIBDIR%%/pithos/AboutPithosDialog.pyc
X%%PYTHON_SITELIBDIR%%/pithos/AboutPithosDialog.pyo
X%%PYTHON_SITELIBDIR%%/pithos/PreferencesPithosDialog.py
X%%PYTHON_SITELIBDIR%%/pithos/PreferencesPithosDialog.pyc
X%%PYTHON_SITELIBDIR%%/pithos/PreferencesPithosDialog.pyo
X%%PYTHON_SITELIBDIR%%/pithos/SearchDialog.py
X%%PYTHON_SITELIBDIR%%/pithos/SearchDialog.pyc
X%%PYTHON_SITELIBDIR%%/pithos/SearchDialog.pyo
X%%PYTHON_SITELIBDIR%%/pithos/StationsDialog.py
X%%PYTHON_SITELIBDIR%%/pithos/StationsDialog.pyc
X%%PYTHON_SITELIBDIR%%/pithos/StationsDialog.pyo
X%%PYTHON_SITELIBDIR%%/pithos/__init__.py
X%%PYTHON_SITELIBDIR%%/pithos/__init__.pyc
X%%PYTHON_SITELIBDIR%%/pithos/__init__.pyo
X%%PYTHON_SITELIBDIR%%/pithos/dbus_service.py
X%%PYTHON_SITELIBDIR%%/pithos/dbus_service.pyc
X%%PYTHON_SITELIBDIR%%/pithos/dbus_service.pyo
X%%PYTHON_SITELIBDIR%%/pithos/gobject_worker.py
X%%PYTHON_SITELIBDIR%%/pithos/gobject_worker.pyc
X%%PYTHON_SITELIBDIR%%/pithos/gobject_worker.pyo
X%%PYTHON_SITELIBDIR%%/pithos/pithosconfig.py
X%%PYTHON_SITELIBDIR%%/pithos/pithosconfig.pyc
X%%PYTHON_SITELIBDIR%%/pithos/pithosconfig.pyo
X%%PYTHON_SITELIBDIR%%/pithos/plugin.py
X%%PYTHON_SITELIBDIR%%/pithos/plugin.pyc
X%%PYTHON_SITELIBDIR%%/pithos/plugin.pyo
X%%PYTHON_SITELIBDIR%%/pithos/pylast.py
X%%PYTHON_SITELIBDIR%%/pithos/pylast.pyc
X%%PYTHON_SITELIBDIR%%/pithos/pylast.pyo
X%%PYTHON_SITELIBDIR%%/pithos/pandora/__init__.py
X%%PYTHON_SITELIBDIR%%/pithos/pandora/blowfish.py
X%%PYTHON_SITELIBDIR%%/pithos/pandora/fake.py
X%%PYTHON_SITELIBDIR%%/pithos/pandora/pandora.py
X%%PYTHON_SITELIBDIR%%/pithos/pandora/pandora_keys.py
X%%PYTHON_SITELIBDIR%%/pithos/pandora/xmlrpc.py
X%%PYTHON_SITELIBDIR%%/pithos/pandora/__init__.pyc
X%%PYTHON_SITELIBDIR%%/pithos/pandora/blowfish.pyc
X%%PYTHON_SITELIBDIR%%/pithos/pandora/fake.pyc
X%%PYTHON_SITELIBDIR%%/pithos/pandora/pandora.pyc
X%%PYTHON_SITELIBDIR%%/pithos/pandora/pandora_keys.pyc
X%%PYTHON_SITELIBDIR%%/pithos/pandora/xmlrpc.pyc
X%%PYTHON_SITELIBDIR%%/pithos/pandora/__init__.pyo
X%%PYTHON_SITELIBDIR%%/pithos/pandora/blowfish.pyo
X%%PYTHON_SITELIBDIR%%/pithos/pandora/fake.pyo
X%%PYTHON_SITELIBDIR%%/pithos/pandora/pandora.pyo
X%%PYTHON_SITELIBDIR%%/pithos/pandora/pandora_keys.pyo
X%%PYTHON_SITELIBDIR%%/pithos/pandora/xmlrpc.pyo
X%%PYTHON_SITELIBDIR%%/pithos/plugins/__init__.py
X%%PYTHON_SITELIBDIR%%/pithos/plugins/mediakeys.py
X%%PYTHON_SITELIBDIR%%/pithos/plugins/notification_icon.py
X%%PYTHON_SITELIBDIR%%/pithos/plugins/scrobble.py
X%%PYTHON_SITELIBDIR%%/pithos/plugins/notify.py
X%%PYTHON_SITELIBDIR%%/pithos/plugins/__init__.pyc
X%%PYTHON_SITELIBDIR%%/pithos/plugins/mediakeys.pyc
X%%PYTHON_SITELIBDIR%%/pithos/plugins/notification_icon.pyc
X%%PYTHON_SITELIBDIR%%/pithos/plugins/scrobble.pyc
X%%PYTHON_SITELIBDIR%%/pithos/plugins/notify.pyc
X%%PYTHON_SITELIBDIR%%/pithos/plugins/__init__.pyo
X%%PYTHON_SITELIBDIR%%/pithos/plugins/mediakeys.pyo
X%%PYTHON_SITELIBDIR%%/pithos/plugins/notification_icon.pyo
X%%PYTHON_SITELIBDIR%%/pithos/plugins/scrobble.pyo
X%%PYTHON_SITELIBDIR%%/pithos/plugins/notify.pyo
X%%DATADIR%%/media/album_default.png
X%%DATADIR%%/media/album_default.svg
X%%DATADIR%%/media/icon.png
X%%DATADIR%%/media/icon.svg
X%%DATADIR%%/media/icon-mono.svg
X%%DATADIR%%/media/pithos-mono.png
X%%DATADIR%%/media/rate_bg.png
X%%DATADIR%%/media/rate_bg.svg
X%%DATADIR%%/ui/about_pithos_dialog.xml
X%%DATADIR%%/ui/AboutPithosDialog.ui
X%%DATADIR%%/ui/pithos_window.xml
X%%DATADIR%%/ui/PithosWindow.ui
X%%DATADIR%%/ui/preferences_pithos_dialog.xml
X%%DATADIR%%/ui/PreferencesPithosDialog.ui
X%%DATADIR%%/ui/search_dialog.xml
X%%DATADIR%%/ui/SearchDialog.ui
X%%DATADIR%%/ui/stations_dialog.xml
X%%DATADIR%%/ui/StationsDialog.ui
X at dirrm %%PYTHON_SITELIBDIR%%/pithos/pandora
X at dirrm %%PYTHON_SITELIBDIR%%/pithos/plugins
X at dirrm %%PYTHON_SITELIBDIR%%/pithos
X at dirrm %%DATADIR%%/media
X at dirrm %%DATADIR%%/ui
X at dirrmtry %%DATADIR%%
6e4c4b92a85455e523e74fb8452ce504
exit
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list