summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2012-06-22 03:30:50 +0000
committerDoug Goldstein <cardoe@gentoo.org>2012-06-22 03:30:50 +0000
commit2e6394e49104a4f5028e39d364f33a6f0a585a4b (patch)
treeb2e72af992c14285709b7085e23e9c98004b0a04 /media-tv
parentVersion bump. (diff)
downloadgentoo-2-2e6394e49104a4f5028e39d364f33a6f0a585a4b.tar.gz
gentoo-2-2e6394e49104a4f5028e39d364f33a6f0a585a4b.tar.bz2
gentoo-2-2e6394e49104a4f5028e39d364f33a6f0a585a4b.zip
Version bump to 0.25.1. This is still very much a Work In Progress ebuild and as such its masked.
(Portage version: 2.1.10.49/cvs/Linux x86_64)
Diffstat (limited to 'media-tv')
-rw-r--r--media-tv/mythtv/ChangeLog9
-rw-r--r--media-tv/mythtv/files/mythbackend.conf12
-rw-r--r--media-tv/mythtv/files/mythbackend.init56
-rw-r--r--media-tv/mythtv/metadata.xml20
-rw-r--r--media-tv/mythtv/mythtv-0.25.1.ebuild260
5 files changed, 345 insertions, 12 deletions
diff --git a/media-tv/mythtv/ChangeLog b/media-tv/mythtv/ChangeLog
index ac5429038023..0813fe17fd57 100644
--- a/media-tv/mythtv/ChangeLog
+++ b/media-tv/mythtv/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-tv/mythtv
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.341 2012/06/10 20:33:35 rich0 Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.342 2012/06/22 03:30:49 cardoe Exp $
+
+*mythtv-0.25.1 (21 Jun 2012)
+
+ 21 Jun 2012; Doug Goldstein <cardoe@gentoo.org> +mythtv-0.25.1.ebuild,
+ +files/mythbackend.conf, +files/mythbackend.init:
+ Version bump to 0.25.1. This is still very much a Work In Progress ebuild and
+ as such its masked.
10 Jun 2012; Richard Freeman <rich0@gentoo.org>
-files/mythtv-0.21-ldconfig-sanxbox-fix.patch,
diff --git a/media-tv/mythtv/files/mythbackend.conf b/media-tv/mythtv/files/mythbackend.conf
new file mode 100644
index 000000000000..f9c82d22abfd
--- /dev/null
+++ b/media-tv/mythtv/files/mythbackend.conf
@@ -0,0 +1,12 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/files/mythbackend.conf,v 1.7 2012/06/22 03:30:50 cardoe Exp $
+
+# Accepts any valid combination of logging options to mythbackend
+# To get a valid list run: /usr/bin/mythbackend -v help
+#MYTHBACKEND_VERBOSE="important,general"
+
+
+# Allows you to pass specific startup options to mythbackend
+# e.g. --noupnp
+#MYTHBACKEND_OPTS=""
diff --git a/media-tv/mythtv/files/mythbackend.init b/media-tv/mythtv/files/mythbackend.init
new file mode 100644
index 000000000000..c83851e6b1a8
--- /dev/null
+++ b/media-tv/mythtv/files/mythbackend.init
@@ -0,0 +1,56 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/files/mythbackend.init,v 1.1 2012/06/22 03:30:50 cardoe Exp $
+
+description="MythTV backend recording daemon"
+extra_commands="resched upnprebuild"
+description_resched="Forces the recording scheduler to update"
+description_upnprebuild="Rebuilds the UPnP media cache"
+
+depend() {
+ # mythbackend doesn't need to run on the same machine that
+ # mysql runs on. so its use for that reason
+ need net
+ use mysql LCDd
+}
+
+start() {
+ [ -z "${MYTHBACKEND_VERBOSE}" ] && \
+ MYTHBACKEND_VERBOSE="important,general"
+
+ #fixes for bug #101308
+ unset DISPLAY
+ unset SESSION_MANAGER
+
+ # Work around any strange permissions that may be on these files.
+ chown -R mythtv:video /var/log/mythtv/
+ chown -R mythtv:video /home/mythtv/
+
+ ebegin "Starting MythTV Backend"
+ start-stop-daemon --start --quiet -u mythtv:video \
+ --exec /usr/bin/mythbackend --
+ --daemon --pidfile /var/run/mythbackend.pid \
+ --verbose ${MYTHBACKEND_VERBOSE} \
+ --logfile /var/log/mythtv/mythbackend.log \
+ --user mythtv ${MYTHBACKEND_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping MythTV Backend"
+ start-stop-daemon --stop --quiet --pidfile=/var/run/mythbackend.pid
+ eend $?
+}
+
+resched() {
+ ebegin "Updating the recording scheduler"
+ /usr/bin/mythbackend --resched
+ eend $?
+}
+
+upnprebuild() {
+ ebegin "Rebuilding UPnP media cache"
+ /usr/bin/mythbackend --upnprebuild
+ eend $?
+}
diff --git a/media-tv/mythtv/metadata.xml b/media-tv/mythtv/metadata.xml
index 3bff68eebd98..ff02ca12142e 100644
--- a/media-tv/mythtv/metadata.xml
+++ b/media-tv/mythtv/metadata.xml
@@ -15,25 +15,24 @@
will only give you /dev/dsp devices in the drop down.</flag>
<flag name="altivec">Builds ffmpeg's codec libraries with altivec
support.</flag>
+ <flag name="ass">Use the ASS/SSA subtitle render</flag>
<flag name="autostart">Uses a custom autostart configuration gleaned from
experience with MythTV since its early versions and discussed with
other MythTV maintainers and users. Does not rely on KDE being installed
like most methods do.</flag>
<flag name="bluray">Pulls in libbluray for BluRay support.</flag>
+ <flag name="cec">Allows you to control CEC enabled TVs via HDMI. Currently
+ requires a USB based CEC -> HDMI injector between your TV and video
+ card since no graphics drivers support CEC natively.</flag>
+ <flag name="crystalhd">Allows you to utilize a Broadcom CrystalHD hardware
+ based video decoder to improve the performance of video decode.</flag>
<flag name="debug">Instructs Qt to use the 'debug' target instead of
'release' target. If your MythTV is crashing or you need a backtrace,
you need to compile it with this option otherwise the debugging data is
useless.</flag>
- <flag name="directv">Installs the DirecTV channel changing script so that
- you can configure MythTV to use it to change the channels on your
- DirecTV box.</flag>
<flag name="dvb">Enables support for Linux DVB cards. These include all
cards that work with digital signals such as ATSC, DVB-T, DVB-C, and
DVB-S, QAM-64, and QAM-256.</flag>
- <flag name='faad'>Uses external faad library for AAC decoding instead of
- internal libavcodec for decoding AAC. The faad library supports
- additional AAC types like AAC-LATM that libavcodec does not
- support</flag>
<flag name="ieee1394">Allows MythTV to communicate and use Firewire enabled
Cable boxes. These are typically found in the United States, where such
support is required by law. This will also install Firewire test
@@ -47,16 +46,15 @@
that LCD.</flag>
<flag name="lirc">Adds LIRC support directly to MythTV allowing for built in
control via a LIRC device.</flag>
- <flag name="mmx">Builds ffmpeg's codec libraries with mmx support.</flag>
<flag name="perl">Builds the perl bindings for MythTV. Allows you to write
scripts in Perl to control your MythTV setup or communicate with
it.</flag>
- <flag name='tiff'>Add support for tiff loading and rendering which is only
- used by <pkg>media-plugins/mythgallery</pkg></flag>
<flag name="xvmc">Instructs MythTV to use XvMC for its video output. By
default, this will use the generic XvMC wrapper unless a specific video
card driver is enabled via their VIDEO_CARDS USE flags.</flag>
- <flag name="vdpau">enable support of NVIDIA's VDPAU for video
+ <flag name="vaapi">Enables VAAPI (Video Acceleration API) for
+ hardware decoding</flag>
+ <flag name="vdpau">Enable support of NVIDIA's VDPAU for video
playback</flag>
</use>
</pkgmetadata>
diff --git a/media-tv/mythtv/mythtv-0.25.1.ebuild b/media-tv/mythtv/mythtv-0.25.1.ebuild
new file mode 100644
index 000000000000..95acddd5c637
--- /dev/null
+++ b/media-tv/mythtv/mythtv-0.25.1.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.25.1.ebuild,v 1.1 2012/06/22 03:30:49 cardoe Exp $
+
+EAPI=4
+
+inherit flag-o-matic multilib eutils python user
+
+PYTHON_DEPEND="2"
+
+#MYTHTV_VERSION="v${PV}-15-g${MYTHTV_SREV}"
+#MYTHTV_BRANCH="fixes/0.25"
+#MYTHTV_REV="c29d36f1634cd837276b4fd8cfea5d5d75304da8"
+#MYTHTV_SREV="c29d36f"
+
+DESCRIPTION="Homebrew PVR project"
+HOMEPAGE="http://www.mythtv.org"
+SRC_URI="ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.25.1.tar.bz2"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+
+IUSE_INPUT_DEVICES="input_devices_joystick"
+IUSE="alsa altivec ass autostart bluray cec crystalhd debug dvb dvd \
+ieee1394 jack lcd lirc perl pulseaudio python xvmc vaapi vdpau \
+${IUSE_INPUT_DEVICES}"
+
+SDEPEND="
+ >=media-sound/lame-3.93.1
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXv
+ x11-libs/libXrandr
+ x11-libs/libXxf86vm
+ x11-libs/qt-core:4[qt3support]
+ x11-libs/qt-gui:4[qt3support]
+ x11-libs/qt-sql:4[qt3support,mysql]
+ x11-libs/qt-opengl:4[qt3support]
+ x11-libs/qt-webkit:4
+ virtual/mysql
+ virtual/opengl
+ virtual/glu
+ alsa? ( >=media-libs/alsa-lib-0.9 )
+ ass? ( media-libs/libass )
+ cec? ( dev-libs/libcec )
+ dvb? ( media-libs/libdvb virtual/linuxtv-dvb-headers )
+ ieee1394? ( >=sys-libs/libraw1394-1.2.0
+ >=sys-libs/libavc1394-0.5.3
+ >=media-libs/libiec61883-1.0.0 )
+ jack? ( media-sound/jack-audio-connection-kit )
+ lcd? ( app-misc/lcdproc )
+ lirc? ( app-misc/lirc )
+ perl? ( dev-perl/DBD-mysql
+ dev-perl/Net-UPnP
+ dev-perl/LWP-Protocol-https
+ dev-perl/HTTP-Message
+ dev-perl/IO-Socket-INET6
+ >=dev-perl/libwww-perl-5 )
+ pulseaudio? ( media-sound/pulseaudio )
+ python? ( dev-python/mysql-python
+ dev-python/lxml
+ dev-python/urlgrabber )
+ vaapi? ( x11-libs/libva )
+ vdpau? ( x11-libs/libvdpau )
+ xvmc? ( x11-libs/libXvMC )
+ !media-tv/mythtv-bindings
+ !x11-themes/mythtv-themes
+ "
+
+RDEPEND="${SDEPEND}
+ media-fonts/corefonts
+ media-fonts/dejavu
+ >=media-libs/freetype-2.0
+ x11-apps/xinit
+ || ( >=net-misc/wget-1.12-r3 >=media-tv/xmltv-0.5.43 )
+ autostart? ( net-dialup/mingetty
+ x11-wm/evilwm
+ x11-apps/xset )
+ bluray? ( media-libs/libbluray )
+ dvd? ( media-libs/libdvdcss )
+ vdpau? ( >=x11-drivers/nvidia-drivers-256 )
+ "
+
+DEPEND="${SDEPEND}
+ dev-lang/yasm
+ x11-proto/xineramaproto
+ x11-proto/xf86vidmodeproto
+ "
+
+MYTHTV_GROUPS="video,audio,tty,uucp"
+
+pkg_setup() {
+ einfo "This ebuild now uses a heavily stripped down version of your CFLAGS"
+
+ python_set_active_version 2
+ python_pkg_setup
+
+ enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
+ usermod -a -G ${MYTHTV_GROUPS} mythtv
+}
+
+src_prepare() {
+# upstream wants the revision number in their version.cpp
+# since the subversion.eclass strips out the .svn directory
+# svnversion in MythTV's build doesn't work
+# sed -e "s#\${SOURCE_VERSION}#${MYTHTV_VERSION}#g" \
+# -e "s#\${BRANCH}#${MYTHTV_BRANCH}#g" \
+# -i "${S}"/version.sh
+
+ # Perl bits need to go into vender_perl and not site_perl
+ sed -e "s:pure_install:pure_install INSTALLDIRS=vendor:" \
+ -i "${S}"/bindings/perl/Makefile
+
+ epatch_user
+}
+
+src_configure() {
+ local myconf="--prefix=/usr"
+ myconf="${myconf} --mandir=/usr/share/man"
+ myconf="${myconf} --libdir-name=$(get_libdir)"
+
+ myconf="${myconf} --enable-pic"
+ myconf="${myconf} --enable-symbol-visibility"
+
+ use alsa || myconf="${myconf} --disable-audio-alsa"
+ use altivec || myconf="${myconf} --disable-altivec"
+ use jack || myconf="${myconf} --disable-audio-jack"
+ use pulseaudio || myconf="${myconf} --disable-audio-pulseoutput"
+
+ myconf="${myconf} $(use_enable dvb)"
+ myconf="${myconf} $(use_enable ieee1394 firewire)"
+ myconf="${myconf} $(use_enable lirc)"
+ myconf="${myconf} --dvb-path=/usr/include"
+ myconf="${myconf} --enable-xrandr"
+ myconf="${myconf} --enable-xv"
+ myconf="${myconf} --enable-x11"
+
+ if use perl && use python; then
+ myconf="${myconf} --with-bindings=perl,python"
+ elif use perl; then
+ myconf="${myconf} --without-bindings=python"
+ myconf="${myconf} --with-bindings=perl"
+ elif use python; then
+ myconf="${myconf} --without-bindings=perl"
+ myconf="${myconf} --with-bindings=python"
+ else
+ myconf="${myconf} --without-bindings=perl,python"
+ fi
+
+ use python && myconf="${myconf} --python=$(PYTHON)"
+
+ if use debug; then
+ myconf="${myconf} --compile-type=debug"
+ else
+ myconf="${myconf} --compile-type=profile"
+ myconf="${myconf} --enable-proc-opt"
+ fi
+
+ use vdpau && myconf="${myconf} --enable-vdpau"
+ use vaapi && myconf="${myconf} --enable-vaapi"
+ use crystalhd && myconf="${myconf} --enable-crystalhd"
+
+ use input_devices_joystick || myconf="${myconf} --disable-joystick-menu"
+
+ # Clean up DSO load times
+ myconf="${myconf} --enable-symbol-visibility"
+
+## CFLAG cleaning so it compiles
+ strip-flags
+
+ has distcc ${FEATURES} || myconf="${myconf} --disable-distcc"
+ has ccache ${FEATURES} || myconf="${myconf} --disable-ccache"
+
+# let MythTV come up with our CFLAGS. Upstream will support this
+ CFLAGS=""
+ CXXFLAGS=""
+
+ chmod +x ./external/FFmpeg/version.sh
+
+ einfo "Running ./configure ${myconf}"
+ ./configure ${myconf} || die "configure died"
+}
+
+src_compile() {
+ emake || die "emake failed"
+}
+
+src_install() {
+ einstall INSTALL_ROOT="${ED}" || die "install failed"
+ dodoc AUTHORS FAQ UPGRADING README
+
+ insinto /usr/share/mythtv/database
+ doins database/*
+
+ exeinto /usr/share/mythtv
+
+ newinitd "${FILESDIR}"/mythbackend.init mythbackend
+ newconfd "${FILESDIR}"/mythbackend.conf mythbackend
+
+ dodoc keys.txt docs/*.{txt,pdf}
+ dohtml docs/*.html
+
+ keepdir /etc/mythtv
+ chown -R mythtv "${ED}"/etc/mythtv
+ keepdir /var/log/mythtv
+ chown -R mythtv "${ED}"/var/log/mythtv
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/mythtv.logrotate.d-r1 mythtv
+
+ insinto /usr/share/mythtv/contrib
+ doins -r contrib/*
+
+ dobin "${FILESDIR}"/runmythfe
+
+ if use autostart; then
+ dodir /etc/env.d/
+ echo 'CONFIG_PROTECT="/home/mythtv/"' > "${D}"/etc/env.d/95mythtv
+
+ insinto /home/mythtv
+ newins "${FILESDIR}"/bash_profile .bash_profile
+ newins "${FILESDIR}"/xinitrc .xinitrc
+ fi
+
+ for file in `find "${ED}" -type f -name \*.py`; do chmod a+x "${file}"; done
+ for file in `find "${ED}" -type f -name \*.sh`; do chmod a+x "${file}"; done
+ for file in `find "${ED}" -type f -name \*.pl`; do chmod a+x "${file}"; done
+}
+
+pkg_preinst() {
+ export CONFIG_PROTECT="${CONFIG_PROTECT} ${ROOT}/home/mythtv/"
+}
+
+pkg_postinst() {
+ use python && python_mod_optimize
+
+ elog "To have this machine operate as recording host for MythTV, "
+ elog "mythbackend must be running. Run the following:"
+ elog "rc-update add mythbackend default"
+ elog
+ elog "Your recordings folder must be owned 'mythtv'. e.g."
+ elog "chown -R mythtv /var/lib/mythtv"
+
+ elog "Want mythfrontend to start automatically?"
+ elog "Set USE=autostart. Details can be found at:"
+ elog "http://dev.gentoo.org/~cardoe/mythtv/autostart.html"
+}
+
+pkg_info() {
+ if [[ -f "${EROOT}"/usr/bin/mythfrontend ]]; then
+ "${EROOT}"/usr/bin/mythfrontend --version
+ fi
+}
+
+pkg_config() {
+ echo "Creating mythtv MySQL user and mythconverg database if it does not"
+ echo "already exist. You will be prompted for your MySQL root password."
+ "${ROOT}"/usr/bin/mysql -u root -p < "${ROOT}"/usr/share/mythtv/database/mc.sql
+}