import fookebox-0.6.1

fookebox is a jukebox-style web-frontend to mpd.

- Use as a keyboard-less jukebox frontend
- Or as a powerful mpd control frontend
- Also great for parties with only part-time jukebox

ok landry@
This commit is contained in:
jasper 2012-10-11 07:14:21 +00:00
parent 53898bf3e1
commit 87f506efeb
7 changed files with 359 additions and 0 deletions

43
audio/fookebox/Makefile Executable file
View File

@ -0,0 +1,43 @@
# $OpenBSD: Makefile,v 1.1.1.1 2012/10/11 07:14:21 jasper Exp $
COMMENT= jukebox frontend to mpd
MODPY_EGG_VERSION= 0.6.1
DISTNAME= fookebox-${MODPY_EGG_VERSION}
CATEGORIES= audio www
HOMEPAGE= http://fookebox.googlecode.com/
# GPLv3
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
MASTER_SITES= ${HOMEPAGE}/files/
MODULES= lang/python
MODPY_SETUPTOOLS= Yes
SUBST_VARS+= MODPY_SITEPKG
BUILD_DEPENDS= www/py-paste-script
RUN_DEPENDS= audio/py-mpd \
databases/py-sqlalchemy \
devel/py-simplejson>=2.2.1 \
www/py-formencode>=1.2.4 \
www/py-paste-script \
www/py-pylons>0.9.7 \
www/py-routes>=1.12.3
NO_REGRESS= Yes
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/{doc,examples}/fookebox/
${SUBST_CMD} ${WRKSRC}/docs/examples/apache/fookebox.wsgi
rm ${WRKSRC}/docs/examples/apache/fookebox.wsgi.*
${INSTALL_DATA} ${WRKSRC}/docs/examples/apache/* \
${PREFIX}/share/examples/fookebox/
${INSTALL_DATA} ${FILESDIR}/config.ini ${PREFIX}/share/examples/fookebox/
${INSTALL_DATA} ${WRKSRC}/docs/config.txt ${PREFIX}/share/doc/fookebox/
.include <bsd.port.mk>

5
audio/fookebox/distinfo Normal file
View File

@ -0,0 +1,5 @@
MD5 (fookebox-0.6.1.tar.gz) = gOlxcaL0O3MfYMjN/oMDoA==
RMD160 (fookebox-0.6.1.tar.gz) = w6sSMMJgUCQDngBgKSwlFTnoEo8=
SHA1 (fookebox-0.6.1.tar.gz) = WXroTZC3BQwg7t/mp+0N/Vrx3ec=
SHA256 (fookebox-0.6.1.tar.gz) = K9hR3hXEryCffRRuvDJEJhHxDnv/pYEWmJYfD84VP58=
SIZE (fookebox-0.6.1.tar.gz) = 115289

View File

@ -0,0 +1,116 @@
#
# fookebox - Pylons configuration
#
# The %(here)s variable will be replaced with the parent directory of this file
#
[DEFAULT]
debug = false
email_to = you@yourdomain.com
smtp_server = localhost
error_email_from = paste@localhost
[server:main]
use = egg:Paste#http
host = 0.0.0.0
port = 5000
[app:main]
use = egg:fookebox
#lang = de
full_stack = true
static_files = true
cache_dir = %(here)s/data
sqlalchemy.url = sqlite:///%(cache_dir)s/fookebox.sqlite
beaker.session.key = fookebox
beaker.session.secret = RBTH0M2E1RGSWx+gefeZgWERX
app_instance_uuid = {31fcd7d4-b29a-4750-aa34-c634a7b994f8}
#site_name = fookebox
#mpd_host = localhost
#mpd_port = 6600
#mpd_pass = password
# NOTE: See the README for details on this
#max_queue_length = 4
# automatically queue a random song when the playlist gets empty
#auto_queue = true
# genre to use for auto_queue
#auto_queue_genre = Comedy
# do auto-queuing before the playlist is empty [seconds] (0 to disable)
#auto_queue_time_left = 1
# if you want the 'random' song to come from a pre-defined (mpd) playlist
# you can set the playlist's name here
#auto_queue_playlist = idle
# pick a random song from the idle playlist (see README)
#auto_queue_random = false
# show the full-text search tab
#show_search_tab = true
# enable mpd controls
#enable_controls = true
# allow users to remove songs from the queue
#enable_song_removal = true
# allow users to queue a full album with one click
#enable_queue_album = true
# be anal about artist/album names (see README)
#find_over_search = false
# directory with cover art
#album_cover_path = /home/stefan/.cache/rhythmbox/covers/
# directory where the music can be found (used for in-directory cover art)
#music_base_path = /var/lib/mpd/music/
# what to use as artist name when looking for compilations' cover art?
#compliations_name = Various Artists
# if you would like cover art to be cached, set this to true
#cache_cover_art = false
# If you'd like to fine-tune the individual locations of the cache data dirs
# for the Cache data, or the Session saves, un-comment the desired settings
# here:
#beaker.cache.data_dir = %(here)s/data/cache
#beaker.session.data_dir = %(here)s/data/sessions
# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
# Debug mode will enable the interactive debugging tool, allowing ANYONE to
# execute malicious code after an exception is raised.
set debug = false
# Logging configuration
[loggers]
keys = root
[handlers]
keys = console
[formatters]
keys = generic
[logger_root]
level = INFO
handlers = console
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic
[formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s

View File

@ -0,0 +1,9 @@
$OpenBSD: patch-docs_examples_apache_fookebox_wsgi,v 1.1.1.1 2012/10/11 07:14:21 jasper Exp $
--- docs/examples/apache/fookebox.wsgi.orig Wed Oct 10 13:44:55 2012
+++ docs/examples/apache/fookebox.wsgi Wed Oct 10 13:44:46 2012
@@ -1,4 +1,4 @@
-BASE_PATH = '/usr/share/fookebox'
+BASE_PATH = '${MODPY_SITEPKG}/fookebox'
APP_CONFIG = '/etc/fookebox/config.ini'
import sys

5
audio/fookebox/pkg/DESCR Normal file
View File

@ -0,0 +1,5 @@
fookebox is a jukebox-style web-frontend to mpd.
- Use as a keyboard-less jukebox frontend
- Or as a powerful mpd control frontend
- Also great for parties with only part-time jukebox

144
audio/fookebox/pkg/PLIST Normal file
View File

@ -0,0 +1,144 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2012/10/11 07:14:21 jasper Exp $
lib/python${MODPY_VERSION}/site-packages/fookebox/
lib/python${MODPY_VERSION}/site-packages/fookebox-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/
lib/python${MODPY_VERSION}/site-packages/fookebox-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO
lib/python${MODPY_VERSION}/site-packages/fookebox-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/SOURCES.txt
lib/python${MODPY_VERSION}/site-packages/fookebox-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/dependency_links.txt
lib/python${MODPY_VERSION}/site-packages/fookebox-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/entry_points.txt
lib/python${MODPY_VERSION}/site-packages/fookebox-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/not-zip-safe
lib/python${MODPY_VERSION}/site-packages/fookebox-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/paster_plugins.txt
lib/python${MODPY_VERSION}/site-packages/fookebox-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/requires.txt
lib/python${MODPY_VERSION}/site-packages/fookebox-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt
lib/python${MODPY_VERSION}/site-packages/fookebox/__init__.py
lib/python${MODPY_VERSION}/site-packages/fookebox/__init__.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/config/
lib/python${MODPY_VERSION}/site-packages/fookebox/config/__init__.py
lib/python${MODPY_VERSION}/site-packages/fookebox/config/__init__.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/config/deployment.ini_tmpl
lib/python${MODPY_VERSION}/site-packages/fookebox/config/environment.py
lib/python${MODPY_VERSION}/site-packages/fookebox/config/environment.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/config/middleware.py
lib/python${MODPY_VERSION}/site-packages/fookebox/config/middleware.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/config/routing.py
lib/python${MODPY_VERSION}/site-packages/fookebox/config/routing.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/controllers/
lib/python${MODPY_VERSION}/site-packages/fookebox/controllers/__init__.py
lib/python${MODPY_VERSION}/site-packages/fookebox/controllers/__init__.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/controllers/error.py
lib/python${MODPY_VERSION}/site-packages/fookebox/controllers/error.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/controllers/jukebox.py
lib/python${MODPY_VERSION}/site-packages/fookebox/controllers/jukebox.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/controllers/program.py
lib/python${MODPY_VERSION}/site-packages/fookebox/controllers/program.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/i18n/
lib/python${MODPY_VERSION}/site-packages/fookebox/i18n/de/
lib/python${MODPY_VERSION}/site-packages/fookebox/i18n/de/LC_MESSAGES/
lib/python${MODPY_VERSION}/site-packages/fookebox/i18n/de/LC_MESSAGES/fookebox.mo
lib/python${MODPY_VERSION}/site-packages/fookebox/i18n/de/LC_MESSAGES/fookebox.po
lib/python${MODPY_VERSION}/site-packages/fookebox/i18n/fookebox.pot
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/__init__.py
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/__init__.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/app_globals.py
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/app_globals.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/base.py
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/base.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/helpers.py
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/helpers.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/util.py
lib/python${MODPY_VERSION}/site-packages/fookebox/lib/util.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/model/
lib/python${MODPY_VERSION}/site-packages/fookebox/model/__init__.py
lib/python${MODPY_VERSION}/site-packages/fookebox/model/__init__.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/model/albumart.py
lib/python${MODPY_VERSION}/site-packages/fookebox/model/albumart.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/model/jukebox.py
lib/python${MODPY_VERSION}/site-packages/fookebox/model/jukebox.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/model/meta.py
lib/python${MODPY_VERSION}/site-packages/fookebox/model/meta.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/model/mpdconn.py
lib/python${MODPY_VERSION}/site-packages/fookebox/model/mpdconn.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/model/schedule.py
lib/python${MODPY_VERSION}/site-packages/fookebox/model/schedule.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/public/
lib/python${MODPY_VERSION}/site-packages/fookebox/public/css/
lib/python${MODPY_VERSION}/site-packages/fookebox/public/css/style-mobile.css
lib/python${MODPY_VERSION}/site-packages/fookebox/public/css/style.css
lib/python${MODPY_VERSION}/site-packages/fookebox/public/favicon.ico
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/arrow_down.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/arrow_up.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/artist.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/bg.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/control_next.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/control_pause.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/control_play.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/control_prev.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/control_rebuild.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/control_voldown.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/control_volup.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/delete.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/edit.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/li.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/msg-bl.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/msg-br.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/msg-tl.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/msg-tr.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/music.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/nocover.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/progress.gif
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/pylons-logo.gif
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/queue.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/setcurrentevent.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/sound.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/img/time.png
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/fookebox/
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/fookebox/client.js
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/fookebox/core.js
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/fookebox/disabled.js
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/fookebox/i18n/
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/fookebox/i18n/de.js
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/fookebox/i18n/i18n.js
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/fookebox/program.js
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/fookebox/schedule.js
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/prototype/
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/prototype/prototype.js
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/scriptaculous/
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/scriptaculous/effects.js
lib/python${MODPY_VERSION}/site-packages/fookebox/public/js/scriptaculous/scriptaculous.js
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/base.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/browse-menu.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/client.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/disabled.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/error.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/playing.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/playlist.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/program-edit-events.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/program-edit.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/program.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/templates/status.tpl
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/__init__.py
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/__init__.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/functional/
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/functional/__init__.py
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/functional/__init__.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/functional/test_jukebox.py
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/functional/test_jukebox.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/test_models.py
lib/python${MODPY_VERSION}/site-packages/fookebox/tests/test_models.pyc
lib/python${MODPY_VERSION}/site-packages/fookebox/websetup.py
lib/python${MODPY_VERSION}/site-packages/fookebox/websetup.pyc
share/doc/fookebox/
share/doc/fookebox/config.txt
share/doc/pkg-readmes/${FULLPKGNAME}
share/examples/fookebox/
@sample ${SYSCONFDIR}/fookebox/
share/examples/fookebox/apache-fcgi.conf
share/examples/fookebox/apache-wsgi.conf
share/examples/fookebox/config.ini
@sample ${SYSCONFDIR}/fookebox/config.ini
share/examples/fookebox/fookebox.fcgi
share/examples/fookebox/fookebox.wsgi

37
audio/fookebox/pkg/README Normal file
View File

@ -0,0 +1,37 @@
$OpenBSD: README,v 1.1.1.1 2012/10/11 07:14:21 jasper Exp $
+-----------------------------------------------------------------------
| Running ${FULLPKGNAME} on OpenBSD
+-----------------------------------------------------------------------
Configuration
=============
After having installed the package some steps are needed to setup a
WSGI enabled server for fookebox.
A sample configuration has been generated and installed into
${SYSCONFDIR}/fookebox/config.ini. If you ever need to regenerate,
please use the command below:
paster make-config fookebox ${SYSCONFDIR}/fookebox/config.ini
Adjust the configuration if needed. For example you may to change the
sqlalchemy.url line to ensure an abolute path to the database by using
four slashes in the URI. Now setup the application:
paster setup-app ${SYSCONFDIR}/fookebox/config.ini
Now run the server:
paster serve ${SYSCONFDIR}/fookebox/config.ini
By default a server will now be listening on:
http://127.0.0.1:5000
Alternatively you may want to use a different webserver to serve
Fookebox, for example py-gunicorn.
For further details on configuring fookebox please have refer to
${PREFIX}/share/doc/fookebox/config.txt