summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-tv/freevo
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-tv/freevo')
-rw-r--r--media-tv/freevo/Manifest1
-rw-r--r--media-tv/freevo/files/freevo-1.8.2.boot57
-rw-r--r--media-tv/freevo/files/freevo-1.9.0-PIL.patch26
-rw-r--r--media-tv/freevo/files/freevo-1.9.0-distutils-r1.patch20
-rwxr-xr-xmedia-tv/freevo/files/freevo.boot53
-rw-r--r--media-tv/freevo/files/freevo.conf33
-rw-r--r--media-tv/freevo/files/freevo.desktop6
-rw-r--r--media-tv/freevo/files/xbox-lircrc135
-rw-r--r--media-tv/freevo/freevo-1.9.0-r1.ebuild194
-rw-r--r--media-tv/freevo/freevo-1.9.0.ebuild187
-rw-r--r--media-tv/freevo/metadata.xml20
11 files changed, 732 insertions, 0 deletions
diff --git a/media-tv/freevo/Manifest b/media-tv/freevo/Manifest
new file mode 100644
index 000000000000..ceee63bd3edb
--- /dev/null
+++ b/media-tv/freevo/Manifest
@@ -0,0 +1 @@
+DIST freevo-1.9.0.tar.gz 27182867 SHA256 e3c97e1404bc5a171350d0c0edf8decaa6d4eb3eaa9e42112a903d375aaf8722 SHA512 4dc722efbf81101bda1ab4437516faa6d4471d4106553617d30dd6de860bb7ca5a3c7bfc9865f4a7589d6726c7ef838161213f86c679889e1cd086362921ebac WHIRLPOOL 16abf397c20b9dd18271c5933e343c846746cbbbf5bef8a126a364ce945c820e8e0f164e66fb56a61d86f256e6d7b98ba110a39395d8d26c278c6e54ede8a543
diff --git a/media-tv/freevo/files/freevo-1.8.2.boot b/media-tv/freevo/files/freevo-1.8.2.boot
new file mode 100644
index 000000000000..4f4c627f008b
--- /dev/null
+++ b/media-tv/freevo/files/freevo-1.8.2.boot
@@ -0,0 +1,57 @@
+#!/bin/bash
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# use "freevoboot stop" to stop, "freevoboot xstop" if you use X.
+
+freevo=`grep ^freevo= /etc/conf.d/freevo | cut -d'"' -f2`
+webserver=`grep ^webserver= /etc/conf.d/freevo | cut -d'"' -f2`
+recordserver=`grep ^recordserver= /etc/conf.d/freevo | cut -d'"' -f2`
+
+
+if [ "x$1" != "xstop" ]; then
+ if [ "$recordserver" == "yes" ]; then
+ echo "Starting Freevo recordserver"
+ /usr/bin/freevo recordserver start
+ fi
+
+ if [ "$webserver" == "yes" ]; then
+ echo "Starting Freevo webserver"
+ /usr/bin/freevo webserver start
+ fi
+
+ if [ "$freevo" == "daemon" ] && [ "x$1" != "xstartx" ]; then
+ echo "Starting Freevo daemon"
+ /usr/bin/freevo daemon start
+ elif [ "$freevo" == "yes" ] || [ "x$1" == "xstartx" ] ; then
+ echo "Starting Freevo"
+ if egrep -q '^display.*(x11|dga)' /etc/freevo/freevo.conf ; then
+ if [ -z "$DISPLAY" ] ; then
+ /usr/bin/freevo -fs &>/dev/null &
+ else
+ /usr/bin/freevo &>/dev/null
+ fi
+ else
+ /usr/bin/freevo start
+ fi
+ fi
+
+else
+ if [ "$freevo" == "daemon" ] && [ "x$1" != "xstopx" ]; then
+ echo "Stopping Freevo daemon"
+ /usr/bin/freevo daemon stop
+ elif [ "$freevo" == "yes" ] || [ "x$1" == "xstopx" ] ; then
+ echo "Stopping Freevo"
+ /usr/bin/freevo stop
+ fi
+
+ if [ "$webserver" == "yes" ]; then
+ echo "Stopping Freevo webserver"
+ /usr/bin/freevo webserver stop
+ fi
+
+ if [ "$recordserver" == "yes" ]; then
+ echo "Stopping Freevo recordserver"
+ /usr/bin/freevo recordserver stop
+ fi
+fi
diff --git a/media-tv/freevo/files/freevo-1.9.0-PIL.patch b/media-tv/freevo/files/freevo-1.9.0-PIL.patch
new file mode 100644
index 000000000000..c24d4c4314fc
--- /dev/null
+++ b/media-tv/freevo/files/freevo-1.9.0-PIL.patch
@@ -0,0 +1,26 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sun Mar 9 13:03:10 UTC 2014
+Subject: fix ImageFile import for pillow
+
+--- freevo-1.9.0/setup.py
++++ freevo-1.9.0/setup.py
+@@ -26,7 +26,7 @@
+ ('kaa.imlib2', '\"svn co svn://svn.freevo.org/kaa/trunk/ kaa\"' ),
+ ('BeautifulSoup', 'http://www.crummy.com/software/BeautifulSoup/' ),
+ ('pygame', 'http://www.pygame.org'),
+- ('Image', 'http://www.pythonware.com/products/pil/'),
++ ('PIL.Image', 'http://pypi.python.org/pypi/Pillow'),
+ ('twisted', 'http://www.twistedmatrix.com/'),
+ ('zope.interface', 'http://www.zope.org/Products/ZopeInterface'),
+ ('twisted.web.microdom', 'http://www.twistedmatrix.com/'),
+--- freevo-1.9.0/src/plugins/zoneminder.py
++++ freevo-1.9.0/src/plugins/zoneminder.py
+@@ -50,7 +50,7 @@
+ import pygame
+ import MySQLdb
+ import threading
+-import ImageFile
++from PIL import ImageFile
+
+ # Freevo
+ import config
diff --git a/media-tv/freevo/files/freevo-1.9.0-distutils-r1.patch b/media-tv/freevo/files/freevo-1.9.0-distutils-r1.patch
new file mode 100644
index 000000000000..1494d2f2080b
--- /dev/null
+++ b/media-tv/freevo/files/freevo-1.9.0-distutils-r1.patch
@@ -0,0 +1,20 @@
+--- a/freevo-1.9.0/freevo
++++ b/freevo-1.9.0/freevo
+@@ -178,15 +178,8 @@
+ get the newest version of python [ with freevo installed ]
+ """
+ _debug_('version=%r' % (sys.version))
+- if sys.hexversion >= 0x02040000:
+- # python seems to be ok
+- search = ('python', 'python2')
+- elif sys.hexversion >= 0x02030000:
+- # try python2.4, else take python
+- search = ('python2.4', 'python')
+- else:
+- # python is too old, try to find python2.4 or python2
+- search = ('python2.4', 'python2')
++
++ search = ('@EPYTHON@', 'python')
+
+ for python in search:
+ for path in os.environ['PATH'].split(':'):
diff --git a/media-tv/freevo/files/freevo.boot b/media-tv/freevo/files/freevo.boot
new file mode 100755
index 000000000000..f375c8896780
--- /dev/null
+++ b/media-tv/freevo/files/freevo.boot
@@ -0,0 +1,53 @@
+#!/bin/bash
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# use "freevoboot stop" to stop, "freevoboot xstop" if you use X.
+
+freevo=`grep ^freevo= /etc/conf.d/freevo | cut -d'"' -f2`
+webserver=`grep ^webserver= /etc/conf.d/freevo | cut -d'"' -f2`
+recordserver=`grep ^recordserver= /etc/conf.d/freevo | cut -d'"' -f2`
+
+
+if [ "x$1" != "xstop" ]; then
+ if [ "$recordserver" == "yes" ]; then
+ echo "Starting Freevo recordserver"
+ /usr/bin/freevo recordserver start
+ fi
+
+ if [ "$webserver" == "yes" ]; then
+ echo "Starting Freevo webserver"
+ /usr/bin/freevo webserver start
+ fi
+
+ if [ "$freevo" == "daemon" ] && [ "x$1" != "xstartx" ]; then
+ echo "Starting Freevo daemon"
+ /usr/bin/freevo daemon start
+ elif [ "$freevo" == "yes" ] || [ "x$1" == "xstartx" ] ; then
+ echo "Starting Freevo"
+ if egrep -q '^display.*(x11|dga)' /etc/freevo/freevo.conf ; then
+ /usr/bin/freevo -fs &>/dev/null &
+ else
+ /usr/bin/freevo start
+ fi
+ fi
+
+else
+ if [ "$freevo" == "daemon" ] && [ "x$1" != "xstopx" ]; then
+ echo "Stopping Freevo daemon"
+ /usr/bin/freevo daemon stop
+ elif [ "$freevo" == "yes" ] || [ "x$1" == "xstopx" ] ; then
+ echo "Stopping Freevo"
+ /usr/bin/freevo stop
+ fi
+
+ if [ "$webserver" == "yes" ]; then
+ echo "Stopping Freevo webserver"
+ /usr/bin/freevo webserver stop
+ fi
+
+ if [ "$recordserver" == "yes" ]; then
+ echo "Stopping Freevo recordserver"
+ /usr/bin/freevo recordserver stop
+ fi
+fi
diff --git a/media-tv/freevo/files/freevo.conf b/media-tv/freevo/files/freevo.conf
new file mode 100644
index 000000000000..1515cfeef33a
--- /dev/null
+++ b/media-tv/freevo/files/freevo.conf
@@ -0,0 +1,33 @@
+# /etc/conf.d/freevo: configuration options for the freevo init script.
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2
+# $Id$
+#
+# Before using this, make sure your settings in /etc/freevo are correct.
+
+
+# Mode to start Freevo itself. Possible values are
+#
+# no: don't start Freevo
+# yes: start Freevo on startup. You should only use this when the
+# computer is for Freevo only or you use Freevo with a DXR3
+# daemon: start Freevo in daemon mode. The daemon will wait for you to
+# press QUIT or POWER on your remote and will than start
+# Freevo. After Freevo shut down, the daemon will wait again.
+#
+# You don't need a X server running to start Freevo from init. If
+# needed, Freevo will start a X server on its own. Make sure your X
+# server can handle the resolution defined in /etc/freevo/freevo.conf
+
+freevo="no"
+
+
+# Mode the start the webserver. Possible values are "no" and "yes".
+# If you start the webserver with Freevo itself, you should say "no" here.
+
+webserver="no"
+
+
+# Mode the start the recordserver. Possible values are "no" and "yes".
+
+recordserver="no"
diff --git a/media-tv/freevo/files/freevo.desktop b/media-tv/freevo/files/freevo.desktop
new file mode 100644
index 000000000000..cacbcc66d379
--- /dev/null
+++ b/media-tv/freevo/files/freevo.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=Freevo
+TryExec=/usr/bin/freevo
+Exec=/usr/bin/freevo
+Icon=
+Type=Application
diff --git a/media-tv/freevo/files/xbox-lircrc b/media-tv/freevo/files/xbox-lircrc
new file mode 100644
index 000000000000..2763af002b30
--- /dev/null
+++ b/media-tv/freevo/files/xbox-lircrc
@@ -0,0 +1,135 @@
+begin
+ prog = freevo
+ button = 0
+ config = 0
+end
+begin
+ prog = freevo
+ button = 1
+ config = 1
+end
+begin
+ prog = freevo
+ button = 2
+ config = 2
+end
+begin
+ prog = freevo
+ button = 3
+ config = 3
+end
+begin
+ prog = freevo
+ button = 4
+ config = 4
+end
+begin
+ prog = freevo
+ button = 5
+ config = 5
+end
+begin
+ prog = freevo
+ button = 6
+ config = 6
+end
+begin
+ prog = freevo
+ button = 7
+ config = 7
+end
+begin
+ prog = freevo
+ button = 8
+ config = 8
+end
+begin
+ prog = freevo
+ button = 9
+ config = 9
+end
+begin
+ prog = freevo
+ button = DOWN
+ config = DOWN
+end
+begin
+ prog = freevo
+ button = FORWARD
+ config = FFWD
+end
+begin
+ prog = freevo
+ button = LEFT
+ config = LEFT
+end
+begin
+ prog = freevo
+ button = MENU
+ config = MENU
+end
+begin
+ prog = freevo
+ button = SKIP+
+ config = NEXT
+end
+begin
+ prog = freevo
+ button = DISPLAY
+ config = DISPLAY
+end
+begin
+ prog = freevo
+ button = INFO
+ config = DISPLAY
+end
+begin
+ prog = freevo
+ button = PAUSE
+ config = PAUSE
+end
+begin
+ prog = freevo
+ button = PLAY
+ config = PLAY
+end
+begin
+ prog = freevo
+ button = SKIP-
+ config = PREV
+end
+begin
+ prog = freevo
+ button = BACK
+ config = EXIT
+end
+begin
+ prog = freevo
+ button = REVERSE
+ config = REW
+end
+begin
+ prog = freevo
+ button = RIGHT
+ config = RIGHT
+end
+begin
+ prog = freevo
+ button = SELECT
+ config = SELECT
+end
+begin
+ prog = freevo
+ button = STOP
+ config = STOP
+end
+begin
+ prog = freevo
+ button = TITLE
+ config = TITLE
+end
+begin
+ prog = freevo
+ button = UP
+ config = UP
+end
diff --git a/media-tv/freevo/freevo-1.9.0-r1.ebuild b/media-tv/freevo/freevo-1.9.0-r1.ebuild
new file mode 100644
index 000000000000..d1ebc6f0b9ba
--- /dev/null
+++ b/media-tv/freevo/freevo-1.9.0-r1.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+DISTUTILS_SINGLE_IMPL=1
+
+inherit eutils distutils-r1
+
+DESCRIPTION="Digital video jukebox (PVR, DVR)"
+HOMEPAGE="http://www.freevo.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="cdparanoia doc dvd encode fbcon flac gphoto2 jpeg lame lirc matrox mixer nls tv vorbis xine X"
+
+RDEPEND="
+ dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]
+ virtual/python-imaging[${PYTHON_USEDEP}]
+ dev-python/pygame[${PYTHON_USEDEP}]
+ >=dev-python/twisted-core-2.5[${PYTHON_USEDEP}]
+ >=dev-python/twisted-web-0.6[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+
+ >=dev-python/kaa-base-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/kaa-metadata-0.7.3[${PYTHON_USEDEP}]
+ >=dev-python/kaa-imlib2-0.2.3[${PYTHON_USEDEP}]
+ dev-python/kaa-display[${PYTHON_USEDEP}]
+
+ media-video/mplayer[fbcon?]
+ >=media-libs/libsdl-1.2.5[fbcon?]
+ media-libs/sdl-image[jpeg,png]
+ x11-apps/xset
+
+ cdparanoia? ( media-sound/cdparanoia )
+ dvd? (
+ >=media-video/lsdvd-0.10
+ fbcon? ( media-libs/xine-lib[fbcon] )
+ encode? ( media-video/dvdbackup )
+ )
+ flac? ( media-libs/flac )
+ gphoto2? ( media-libs/libgphoto2 )
+ jpeg? ( virtual/jpeg )
+ lame? ( media-sound/lame )
+ lirc? ( app-misc/lirc >=dev-python/pylirc-0.0.3 )
+ matrox? ( >=media-video/matroxset-0.3 )
+ mixer? ( media-sound/aumix )
+ tv? ( media-tv/xmltv )
+ xine? ( media-video/xine-ui )
+ vorbis? ( media-sound/vorbis-tools )"
+
+PATCHES=( "${FILESDIR}"/${P}-{PIL,distutils-r1}.patch )
+
+pkg_setup() {
+ if ! { use X || use fbcon || use matrox ; } ; then
+ echo
+ ewarn "WARNING - no video support specified in USE flags."
+ ewarn "Please be sure that media-libs/libsdl supports whatever video"
+ ewarn "support (X11, fbcon, etc.) you plan on using."
+ echo
+ fi
+
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -i \
+ -e "s/@EPYTHON@/${EPYTHON}/" \
+ freevo || die
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ insinto /etc/freevo
+ newins local_conf.py.example local_conf.py
+
+ if [[ "${PROFILE_ARCH}" == "xbox" ]]; then
+ sed -i \
+ -e "s/# MPLAYER_AO_DEV.*/MPLAYER_AO_DEV='alsa1x'/" \
+ "${D}"/etc/freevo/local_conf.py || die
+ newins "${FILESDIR}"/xbox-lircrc lircrc
+ fi
+
+ if use X; then
+ echo "#!/bin/bash" > freevo
+ echo "/usr/bin/freevoboot startx" >> freevo
+ exeinto /etc/X11/Sessions/
+ doexe freevo
+
+ #insinto /etc/X11/dm/Sessions
+ #doins "${FILESDIR}/freevo.desktop"
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}/freevo.desktop"
+ fi
+
+ newbin "${FILESDIR}"/${PN}-1.8.2.boot freevoboot
+ newconfd "${FILESDIR}/freevo.conf" freevo
+
+ rm -rf "${D}/usr/share/doc" || die
+
+ dodoc ChangeLog FAQ RELEASE_NOTES README TODO \
+ Docs/{CREDITS,NOTES,*.txt,plugins/*.txt}
+ use doc &&
+ cp -r Docs/{installation,html,plugin_writing} "${D}/usr/share/doc/${PF}"
+
+ use nls || rm -rf "${D}"/usr/share/locale
+
+ # Create a default freevo setup
+ cd "${S}/src" || die
+ if [ "${PROFILE_ARCH}" == "xbox" ]; then
+ myconf="${myconf} --geometry=640x480 --display=x11"
+ elif use matrox ; then
+ myconf="${myconf} --geometry=768x576 --display=mga"
+ elif use X ; then
+ myconf="${myconf} --geometry=800x600 --display=x11"
+ else
+ myconf="${myconf} --geometry=800x600 --display=fbdev"
+ fi
+ sed -i \
+ "s:/etc/freevo/freevo.conf:${D}/etc/freevo/freevo.conf:g" \
+ setup_freevo.py || die "Could not fix setup_freevo.py"
+ "${EPYTHON}" setup_freevo.py ${myconf} || die "Could not create new freevo.conf"
+}
+
+pkg_postinst() {
+ echo
+ einfo "Please check /etc/freevo/freevo.conf and"
+ einfo "/etc/freevo/local_conf.py before starting Freevo."
+ einfo "To rebuild freevo.conf with different parameters,"
+ einfo "please run:"
+ einfo " # freevo setup"
+
+ ewarn "To update from existing installations, please run"
+ ewarn " # freevo convert_config /etc/freevo/local_conf.py -w"
+ ewarn "If you are using the recordserver, be sure to"
+ ewarn "read the RELEASE_NOTES in /usr/share/doc/${P}"
+
+ echo
+ einfo "To build a freevo-only system, please use the freevoboot"
+ einfo "wrapper to be run it as a user. It can be configured in /etc/conf.d/freevo"
+
+ if use X ; then
+ echo
+ ewarn "If you're using a Freevo-only system with X, you'll need"
+ ewarn "to setup the autologin (as user) and choose freevo as"
+ ewarn "default session. If you need to run recordserver/webserver"
+ ewarn "at boot, please use /etc/conf.d/freevo"
+ echo
+ ewarn "Should you decide to personalize your freevo.desktop"
+ ewarn "session, keep the definition for '/usr/bin/freevoboot startx'"
+ else
+ echo
+ ewarn "If you want Freevo to start automatically,you'll need"
+ ewarn "to follow instructions at :"
+ ewarn "http://doc.freevo.org/BootFreevo"
+ echo
+ ewarn "*NOTE: you can use mingetty or provide a login"
+ ewarn "program for getty to autologin as a user with limited privileges."
+ ewarn "A tutorial for getty is at:"
+ ewarn "http://ubuntuforums.org/showthread.php?t=152274"
+ fi
+
+ if [ -e "${ROOT}/etc/init.d/freevo" ] ; then
+ echo
+ ewarn "Please remove /etc/init.d/freevo as it is a security"
+ ewarn "threat. To set autostart read above."
+ fi
+
+ if [ -e "${ROOT}/opt/freevo" ] ; then
+ echo
+ ewarn "Please remove ${ROOT}/opt/freevo because it is no longer used."
+ fi
+ if [ -e "${ROOT}/etc/freevo/freevo_config.py" ] ; then
+ echo
+ ewarn "Please remove ${ROOT}/etc/freevo/freevo_config.py."
+ fi
+ if [ -e "${ROOT}/etc/init.d/freevo-record" ] ; then
+ echo
+ ewarn "Please remove ${ROOT}/etc/init.d/freevo-record"
+ fi
+ if [ -e "${ROOT}/etc/init.d/freevo-web" ] ; then
+ echo
+ ewarn "Please remove ${ROOT}/etc/init.d/freevo-web"
+ fi
+}
diff --git a/media-tv/freevo/freevo-1.9.0.ebuild b/media-tv/freevo/freevo-1.9.0.ebuild
new file mode 100644
index 000000000000..1a7a780b616f
--- /dev/null
+++ b/media-tv/freevo/freevo-1.9.0.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="3"
+PYTHON_DEPEND="2:2.5"
+PYTHON_USE_WITH="xml"
+
+inherit distutils eutils
+
+DESCRIPTION="Digital video jukebox (PVR, DVR)"
+HOMEPAGE="http://www.freevo.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="cdparanoia doc dvd encode fbcon flac gphoto2 jpeg lame lirc matrox mixer nls tv vorbis xine X"
+
+RDEPEND="dev-python/beautifulsoup:python-2
+ virtual/python-imaging
+ dev-python/pygame
+ >=dev-python/twisted-core-2.5
+ >=dev-python/twisted-web-0.6
+ dev-python/zope-interface
+
+ >=dev-python/kaa-base-0.6.0
+ >=dev-python/kaa-metadata-0.7.3
+ >=dev-python/kaa-imlib2-0.2.3
+ dev-python/kaa-display
+
+ media-video/mplayer[fbcon?]
+ >=media-libs/libsdl-1.2.5[fbcon?]
+ media-libs/sdl-image[jpeg,png]
+ x11-apps/xset
+
+ cdparanoia? ( media-sound/cdparanoia )
+ dvd? (
+ >=media-video/lsdvd-0.10
+ fbcon? ( media-libs/xine-lib[fbcon] )
+ encode? ( media-video/dvdbackup )
+ )
+ flac? ( media-libs/flac )
+ gphoto2? ( media-libs/libgphoto2 )
+ jpeg? ( virtual/jpeg )
+ lame? ( media-sound/lame )
+ lirc? ( app-misc/lirc >=dev-python/pylirc-0.0.3 )
+ matrox? ( >=media-video/matroxset-0.3 )
+ mixer? ( media-sound/aumix )
+ tv? ( media-tv/xmltv )
+ xine? ( media-video/xine-ui )
+ vorbis? ( media-sound/vorbis-tools )"
+
+pkg_setup() {
+ if ! { use X || use fbcon || use matrox ; } ; then
+ echo
+ ewarn "WARNING - no video support specified in USE flags."
+ ewarn "Please be sure that media-libs/libsdl supports whatever video"
+ ewarn "support (X11, fbcon, etc.) you plan on using."
+ echo
+ fi
+
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-PIL.patch
+
+ distutils_src_prepare
+ python_convert_shebangs -r 2 .
+}
+
+src_install() {
+ distutils_src_install
+
+ insinto /etc/freevo
+ newins local_conf.py.example local_conf.py
+
+ if [ "${PROFILE_ARCH}" == "xbox" ]; then
+ sed -i -e "s/# MPLAYER_AO_DEV.*/MPLAYER_AO_DEV='alsa1x'/" "${D}"/etc/freevo/local_conf.py
+ newins "${FILESDIR}"/xbox-lircrc lircrc
+ fi
+
+ if use X; then
+ echo "#!/bin/bash" > freevo
+ echo "/usr/bin/freevoboot startx" >> freevo
+ exeinto /etc/X11/Sessions/
+ doexe freevo
+
+ #insinto /etc/X11/dm/Sessions
+ #doins "${FILESDIR}/freevo.desktop"
+
+ insinto /usr/share/xsessions
+ doins "${FILESDIR}/freevo.desktop"
+ fi
+
+ newbin "${FILESDIR}"/${PN}-1.8.2.boot freevoboot
+ newconfd "${FILESDIR}/freevo.conf" freevo
+
+ rm -rf "${D}/usr/share/doc"
+
+ dodoc ChangeLog FAQ RELEASE_NOTES README TODO \
+ Docs/{CREDITS,NOTES,*.txt,plugins/*.txt}
+ use doc &&
+ cp -r Docs/{installation,html,plugin_writing} "${D}/usr/share/doc/${PF}"
+
+ use nls || rm -rf "${D}"/usr/share/locale
+
+ # Create a default freevo setup
+ cd "${S}/src"
+ if [ "${PROFILE_ARCH}" == "xbox" ]; then
+ myconf="${myconf} --geometry=640x480 --display=x11"
+ elif use matrox ; then
+ myconf="${myconf} --geometry=768x576 --display=mga"
+ elif use X ; then
+ myconf="${myconf} --geometry=800x600 --display=x11"
+ else
+ myconf="${myconf} --geometry=800x600 --display=fbdev"
+ fi
+ sed -i "s:/etc/freevo/freevo.conf:${D}/etc/freevo/freevo.conf:g" setup_freevo.py || die "Could not fix setup_freevo.py"
+ "$(PYTHON)" setup_freevo.py ${myconf} || die "Could not create new freevo.conf"
+}
+
+pkg_postinst() {
+ distutils_pkg_postinst
+
+ echo
+ einfo "Please check /etc/freevo/freevo.conf and"
+ einfo "/etc/freevo/local_conf.py before starting Freevo."
+ einfo "To rebuild freevo.conf with different parameters,"
+ einfo "please run:"
+ einfo " # freevo setup"
+
+ ewarn "To update from existing installations, please run"
+ ewarn " # freevo convert_config /etc/freevo/local_conf.py -w"
+ ewarn "If you are using the recordserver, be sure to"
+ ewarn "read the RELEASE_NOTES in /usr/share/doc/${P}"
+
+ echo
+ einfo "To build a freevo-only system, please use the freevoboot"
+ einfo "wrapper to be run it as a user. It can be configured in /etc/conf.d/freevo"
+
+ if use X ; then
+ echo
+ ewarn "If you're using a Freevo-only system with X, you'll need"
+ ewarn "to setup the autologin (as user) and choose freevo as"
+ ewarn "default session. If you need to run recordserver/webserver"
+ ewarn "at boot, please use /etc/conf.d/freevo"
+ echo
+ ewarn "Should you decide to personalize your freevo.desktop"
+ ewarn "session, keep the definition for '/usr/bin/freevoboot startx'"
+ else
+ echo
+ ewarn "If you want Freevo to start automatically,you'll need"
+ ewarn "to follow instructions at :"
+ ewarn "http://doc.freevo.org/BootFreevo"
+ echo
+ ewarn "*NOTE: you can use mingetty or provide a login"
+ ewarn "program for getty to autologin as a user with limited privileges."
+ ewarn "A tutorial for getty is at:"
+ ewarn "http://ubuntuforums.org/showthread.php?t=152274"
+ fi
+
+ if [ -e "${ROOT}/etc/init.d/freevo" ] ; then
+ echo
+ ewarn "Please remove /etc/init.d/freevo as it is a security"
+ ewarn "threat. To set autostart read above."
+ fi
+
+ if [ -e "${ROOT}/opt/freevo" ] ; then
+ echo
+ ewarn "Please remove ${ROOT}/opt/freevo because it is no longer used."
+ fi
+ if [ -e "${ROOT}/etc/freevo/freevo_config.py" ] ; then
+ echo
+ ewarn "Please remove ${ROOT}/etc/freevo/freevo_config.py."
+ fi
+ if [ -e "${ROOT}/etc/init.d/freevo-record" ] ; then
+ echo
+ ewarn "Please remove ${ROOT}/etc/init.d/freevo-record"
+ fi
+ if [ -e "${ROOT}/etc/init.d/freevo-web" ] ; then
+ echo
+ ewarn "Please remove ${ROOT}/etc/init.d/freevo-web"
+ fi
+}
diff --git a/media-tv/freevo/metadata.xml b/media-tv/freevo/metadata.xml
new file mode 100644
index 000000000000..33f7fbe95a66
--- /dev/null
+++ b/media-tv/freevo/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>media-tv</herd>
+ <longdescription>Freevo is an open-source home theatre PC platform based
+ on Linux and a number of open-source audio/video tools. MPlayer
+ and/or Xine can be used to play audio and video files in most
+ popular formats. Freevo can be used both for a standalone PVR
+ computer with a TV+remote, as well as on a regular desktop
+ computer using the monitor and keyboard. It is mostly written
+ in the Python programming language.
+ </longdescription>
+ <use>
+ <flag name="mixer">Enable support for adjusting volume via <pkg>media-sound/aumix</pkg></flag>
+ <flag name="tv">Enable support for the tv guide plugin</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">freevo</remote-id>
+ </upstream>
+</pkgmetadata>