summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Dibb <beandog@gentoo.org>2009-05-29 19:56:57 +0000
committerSteve Dibb <beandog@gentoo.org>2009-05-29 19:56:57 +0000
commita4729db5b82cb3d43c2f2bec7417ed13fcf7a831 (patch)
treea37e0c54375f5bd23af1c6aea0b9bbb2cab9d553 /media-tv
parentReplace kernel-conditional dependency on sys-apps/acl with virtual/acl. (diff)
downloadgentoo-2-a4729db5b82cb3d43c2f2bec7417ed13fcf7a831.tar.gz
gentoo-2-a4729db5b82cb3d43c2f2bec7417ed13fcf7a831.tar.bz2
gentoo-2-a4729db5b82cb3d43c2f2bec7417ed13fcf7a831.zip
Configure support for VIA/Openchrome XVMC, bug 225025; remove old patches
(Portage version: 2.2_rc33/cvs/Linux x86_64)
Diffstat (limited to 'media-tv')
-rw-r--r--media-tv/mythtv/ChangeLog11
-rw-r--r--media-tv/mythtv/files/mythtv-0.20-as-needed.patch104
-rw-r--r--media-tv/mythtv/files/mythtv-0.21-bttv.patch13
-rw-r--r--media-tv/mythtv/mythtv-0.21_p19961-r2.ebuild305
4 files changed, 314 insertions, 119 deletions
diff --git a/media-tv/mythtv/ChangeLog b/media-tv/mythtv/ChangeLog
index ea264c194826..d1b0f381a390 100644
--- a/media-tv/mythtv/ChangeLog
+++ b/media-tv/mythtv/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-tv/mythtv
-# Copyright 2000-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.271 2009/03/02 21:45:59 beandog Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.272 2009/05/29 19:56:57 beandog Exp $
+
+*mythtv-0.21_p19961-r2 (29 May 2009)
+
+ 29 May 2009; Steve Dibb <beandog@gentoo.org>
+ -files/mythtv-0.20-as-needed.patch, +mythtv-0.21_p19961-r2.ebuild,
+ -files/mythtv-0.21-bttv.patch:
+ Configure support for VIA/Openchrome XVMC, bug 225025; remove old patches
02 Mar 2009; Steve Dibb <beandog@gentoo.org> mythtv-0.21_p19961-r1.ebuild,
mythtv-0.22_alpha19054.ebuild:
diff --git a/media-tv/mythtv/files/mythtv-0.20-as-needed.patch b/media-tv/mythtv/files/mythtv-0.20-as-needed.patch
deleted file mode 100644
index 9a88cfedef3a..000000000000
--- a/media-tv/mythtv/files/mythtv-0.20-as-needed.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-Index: libs/libmythtv/libmythtv.pro
-===================================================================
---- libs/libmythtv/libmythtv.pro (revision 11172)
-+++ libs/libmythtv/libmythtv.pro (working copy)
-@@ -17,6 +17,7 @@
-
- DEPENDPATH += ../libmyth ../libavcodec ../libavformat ../libavutil
- DEPENDPATH += ../libmythmpeg2 ../libmythdvdnav
-+DEPENDPATH += ../libmythui
- DEPENDPATH += ./dvbdev ./mpeg ./hdhomerun
- DEPENDPATH += ../libmythlivemedia/BasicUsageEnvironment/include
- DEPENDPATH += ../libmythlivemedia/BasicUsageEnvironment
-@@ -26,12 +27,16 @@
- DEPENDPATH += ../libmythlivemedia/liveMedia
- DEPENDPATH += ../libmythlivemedia/UsageEnvironment/include
- DEPENDPATH += ../libmythlivemedia/UsageEnvironment
-+DEPENDPATH += ../libmythfreemheg
-
- LIBS += -L../libmyth -L../libavutil -L../libavcodec -L../libavformat
--LIBS += -L../libmythmpeg2 -L../libmythdvdnav
-+LIBS += -L../libmythmpeg2 -L../libmythdvdnav -L../libmythlivemedia
-+LIBS += -L../libmythfreemheg -L../libmythui
- LIBS += -lmyth-$${LIBVERSION} -lmythavutil-$${LIBVERSION}
- LIBS += -lmythavcodec-$${LIBVERSION} -lmythdvdnav-$${LIBVERSION}
- LIBS += -lmythavformat-$${LIBVERSION} -lmythmpeg2-$${LIBVERSION}
-+LIBS += -lmythlivemedia-$${LIBVERSION} -lmythfreemheg-$${LIBVERSION}
-+LIBS += -lmythui-$${LIBVERSION}
- LIBS += $$EXTRA_LIBS
-
- isEmpty(QMAKE_EXTENSION_SHLIB) {
-@@ -46,8 +51,10 @@
- TARGETDEPS += ../libavformat/libmythavformat-$${LIBVERSION}.$${QMAKE_EXTENSION_SHLIB}
- TARGETDEPS += ../libmythmpeg2/libmythmpeg2-$${LIBVERSION}.$${QMAKE_EXTENSION_LIB}
- TARGETDEPS += ../libmythdvdnav/libmythdvdnav-$${LIBVERSION}.$${QMAKE_EXTENSION_LIB}
-+TARGETDEPS += ../libmythlivemedia/libmythlivemedia-$${LIBVERSION}.$${QMAKE_EXTENSION_SHLIB}
-+TARGETDEPS += ../libmythfreemheg/libmythfreemheg-$${LIBVERSION}.$${QMAKE_EXTENSION_SHLIB}
-+TARGETDEPS += ../libmythui/libmythui-$${LIBVERSION}.$${QMAKE_EXTENSION_SHLIB}
-
--
- DEFINES += _LARGEFILE_SOURCE
- QMAKE_CXXFLAGS_RELEASE += $${FREETYPE_CFLAGS}
- QMAKE_CXXFLAGS_DEBUG += $${FREETYPE_CFLAGS}
-Index: libs/libmythui/libmythui.pro
-===================================================================
---- libs/libmythui/libmythui.pro (revision 11172)
-+++ libs/libmythui/libmythui.pro (working copy)
-@@ -12,7 +12,7 @@
-
- DEPENDPATH += ../libmyth .
-
--LIBS += -L../libmyth -lmyth-$$LIBVERSION
-+#LIBS += -L../libmyth -lmyth-$$LIBVERSION
-
- QMAKE_CLEAN += $(TARGET) $(TARGETA) $(TARGETD) $(TARGET0) $(TARGET1) $(TARGET2)
-
-Index: libs/libmyth/libmyth.pro
-===================================================================
---- libs/libmyth/libmyth.pro (revision 11172)
-+++ libs/libmyth/libmyth.pro (working copy)
-@@ -38,6 +38,7 @@
-
- LIBS += -L../libmythsamplerate -lmythsamplerate-$${LIBVERSION}
- LIBS += -L../libmythsoundtouch -lmythsoundtouch-$${LIBVERSION}
-+LIBS += -L../libmythui -lmythui-$${LIBVERSION}
-
- isEmpty(QMAKE_EXTENSION_SHLIB) {
- QMAKE_EXTENSION_SHLIB=so
-@@ -48,6 +49,7 @@
-
- TARGETDEPS += ../libmythsamplerate/libmythsamplerate-$${LIBVERSION}.$${QMAKE_EXTENSION_LIB}
- TARGETDEPS += ../libmythsoundtouch/libmythsoundtouch-$${LIBVERSION}.$${QMAKE_EXTENSION_LIB}
-+TARGETDEPS += ../libmythui/libmythui-$${LIBVERSION}.$${QMAKE_EXTENSION_SHLIB}
-
- inc.path = $${PREFIX}/include/mythtv/
- inc.files = dialogbox.h lcddevice.h mythcontext.h mythdbcon.h
-Index: libs/libs.pro
-===================================================================
---- libs/libs.pro (revision 11172)
-+++ libs/libs.pro (working copy)
-@@ -8,7 +8,6 @@
- # Directories
- SUBDIRS += libavutil libavcodec libavformat libmythsamplerate
- SUBDIRS += libmythsoundtouch libmythmpeg2 libmythdvdnav
--SUBDIRS += libmyth libmythtv libmythui libmythfreemheg
-+SUBDIRS += libmythlivemedia libmythfreemheg
-+SUBDIRS += libmythui libmyth libmythtv
- SUBDIRS += libmythupnp
--SUBDIRS += libmythlivemedia
--
-Index: libs/libavcodec/libavcodec.pro
-===================================================================
---- libs/libavcodec/libavcodec.pro (revision 11172)
-+++ libs/libavcodec/libavcodec.pro (working copy)
-@@ -37,8 +37,8 @@
-
- INSTALLS += inc
-
--LIBS += $$LOCAL_LIBDIR_X11
--LIBS += -L../libavutil -lmythavutil-$$LIBVERSION
-+LIBS += $$LOCAL_LIBDIR_X11 -lz $${CONFIG_XVMC_LIBS}
-+LIBS += -L../libavutil -lmythavutil-$$LIBVERSION
-
- contains( CONFIG_AASC_DECODER, yes ) {
- SOURCES += aasc.c
diff --git a/media-tv/mythtv/files/mythtv-0.21-bttv.patch b/media-tv/mythtv/files/mythtv-0.21-bttv.patch
deleted file mode 100644
index d1f418dab361..000000000000
--- a/media-tv/mythtv/files/mythtv-0.21-bttv.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: libs/libmythtv/NuppelVideoRecorder.cpp
-===================================================================
---- a/mythtv/libs/libmythtv/NuppelVideoRecorder.cpp (revision 18814)
-+++ b/mythtv/libs/libmythtv/NuppelVideoRecorder.cpp (working copy)
-@@ -981,7 +981,7 @@
- correct_bttv = true;
-
- QString driver = (char *)vcap.driver;
-- if (driver == "cx8800" || driver == "go7007" || driver == "em28xx")
-+ if (driver == "cx8800" || driver == "go7007" || driver == "em28xx" || driver == "bttv")
- {
- channelfd = open(videodevice.ascii(), O_RDWR);
- if (channelfd < 0)
diff --git a/media-tv/mythtv/mythtv-0.21_p19961-r2.ebuild b/media-tv/mythtv/mythtv-0.21_p19961-r2.ebuild
new file mode 100644
index 000000000000..5474be6ca6e6
--- /dev/null
+++ b/media-tv/mythtv/mythtv-0.21_p19961-r2.ebuild
@@ -0,0 +1,305 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.21_p19961-r2.ebuild,v 1.1 2009/05/29 19:56:57 beandog Exp $
+
+EAPI=2
+inherit flag-o-matic multilib eutils qt3 mythtv toolchain-funcs python confutils
+
+DESCRIPTION="Homebrew PVR project"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_via"
+IUSE="aac alsa altivec autostart debug directv dvb dvd fftw ieee1394 jack lcd \
+lirc mmx opengl perl python xvmc ${IUSE_VIDEO_CARDS}"
+
+RDEPEND=">=media-libs/freetype-2.0
+ >=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-3.3:3[mysql,opengl]
+ virtual/mysql
+ virtual/opengl
+ virtual/glu
+ || ( >=net-misc/wget-1.9.1 >=media-tv/xmltv-0.5.43 )
+ aac? ( media-libs/faad2 )
+ alsa? ( >=media-libs/alsa-lib-0.9 )
+ autostart? ( net-dialup/mingetty
+ x11-wm/evilwm
+ x11-apps/xset )
+ directv? ( virtual/perl-Time-HiRes )
+ dvb? ( media-libs/libdvb media-tv/linuxtv-dvb-headers )
+ dvd? ( media-libs/libdvdcss )
+ fftw? ( sci-libs/fftw:3.0 )
+ 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 )
+ python? ( dev-python/mysql-python )
+ video_cards_via? ( x11-drivers/xf86-video-openchrome )
+ xvmc? ( x11-libs/libXvMC )"
+
+DEPEND="${RDEPEND}
+ x11-proto/xineramaproto
+ x11-proto/xf86vidmodeproto
+ x11-apps/xinit"
+
+PDEPEND="=x11-themes/mythtv-themes-${MY_PV}*"
+
+MYTHTV_GROUPS="video,audio,tty,uucp"
+
+pkg_setup() {
+ elog "This ebuild now uses a heavily stripped down version of your CFLAGS"
+
+ if use xvmc && use video_cards_nvidia; then
+ elog
+ elog "For NVIDIA based cards, the XvMC renderer only works on"
+ elog "the NVIDIA 4, 5, 6 & 7 series cards."
+ fi
+
+ enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
+ usermod -a -G ${MYTHTV_GROUPS} mythtv
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # 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:\`(svnversion \$\${SVNTREEDIR} 2>\/dev\/null) || echo Unknown\`:${MYTHTV_REV}:" \
+ -i "${S}"/version.pro || die "svnversion sed failed"
+
+ # 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/perl.pro
+}
+
+src_configure() {
+ local myconf="--prefix=/usr
+ --mandir=/usr/share/man
+ --libdir-name=$(get_libdir)"
+ use aac && myconf="${myconf} --enable-libfaad"
+ use alsa || myconf="${myconf} --disable-audio-alsa"
+ use altivec || myconf="${myconf} --disable-altivec"
+ use fftw && myconf="${myconf} --enable-libfftw3"
+ use jack || myconf="${myconf} --disable-audio-jack"
+ # let's give this a whirl from bug #220857
+ use xvmc && myconf="${myconf} --enable-xvmc --enable-xvmcw"
+ if use video_cards_via && use xvmc; then
+ myconf="${myconf} --enable-xvmc-vld";
+ else
+ myconf="${myconf} --disable-xvmc-vld";
+ fi
+ # according to the Ubuntu guys, this works better always on
+ myconf="${myconf} --enable-glx-procaddrarb"
+
+ myconf="${myconf}
+ $(use_enable dvb)
+ $(use_enable ieee1394 firewire)
+ $(use_enable lirc)
+ --disable-audio-arts
+ --disable-directfb
+ --dvb-path=/usr/include
+ --enable-opengl-vsync
+ --enable-xrandr
+ --enable-xv
+ --enable-x11"
+# per discussions with j-rod and janng in #mythtv, these are disabled
+# --enable-libmp3lame
+# use x264 && myconf="${myconf} --enable-libx264"
+# use xvid && myconf="${myconf} --enable-libxvid"
+# use aac && myconf="${myconf} --enable-libfaac"
+
+ if use mmx || use amd64; then
+ myconf="${myconf} --enable-mmx"
+ else
+ myconf="${myconf} --disable-mmx"
+ fi
+
+ if use perl && use python; then
+ myconf="${myconf} --with-bindings=perl,python"
+ elif use perl; then
+ myconf="${myconf} --with-bindings=perl"
+ elif use python; then
+ myconf="${myconf} --with-bindings=python"
+ else
+ myconf="${myconf} --without-bindings=perl,python"
+ fi
+
+ if use debug; then
+ myconf="${myconf} --compile-type=debug"
+ else
+ myconf="${myconf} --compile-type=profile"
+ fi
+
+ ## CFLAG cleaning so it compiles
+ MARCH=$(get-flag "march")
+ MTUNE=$(get-flag "mtune")
+ strip-flags
+ filter-flags "-march=*" "-mtune=*" "-mcpu=*"
+ filter-flags "-O" "-O?"
+
+ if [[ -n "${MARCH}" ]]; then
+ myconf="${myconf} --cpu=${MARCH}"
+ fi
+ if [[ -n "${MTUNE}" ]]; then
+ myconf="${myconf} --tune=${MTUNE}"
+ fi
+
+# myconf="${myconf} --extra-cxxflags=\"${CXXFLAGS}\" --extra-cflags=\"${CFLAGS}\""
+ hasq distcc ${FEATURES} || myconf="${myconf} --disable-distcc"
+ hasq ccache ${FEATURES} || myconf="${myconf} --disable-ccache"
+
+ # let MythTV come up with our CFLAGS. Upstream will support this
+ CFLAGS=""
+ CXXFLAGS=""
+ einfo "Running ./configure ${myconf}"
+ ./configure ${myconf} || die "configure died"
+}
+
+src_compile() {
+ eqmake3 mythtv.pro -o "Makefile" || die "eqmake3 failed"
+ emake || die "emake failed"
+
+ # firewire support should build the tester
+ if use ieee1394; then
+ cd contrib
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -o ../firewire_tester firewire_tester.c \
+ ${LDFLAGS} -liec61883 -lraw1394 || \
+ die "failed to compile firewire_tester"
+
+ cd channel_changers
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -std=gnu99 -o ../../6200ch 6200ch.c \
+ ${LDFLAGS} -lrom1394 -lavc1394 -lraw1394 || \
+ die "failed to compile 6200ch"
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -o ../../sa3250ch sa3250ch.c \
+ ${LDFLAGS} -lrom1394 -lavc1394 -lraw1394 || \
+ die "failed to compile sa3250ch"
+ fi
+
+ cd "${S}"/contrib/channel_changers
+ $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -o ../../red_eye red_eye.c ${LDFLAGS} || \
+ die "failed to compile red_eye"
+}
+
+src_install() {
+
+ einstall INSTALL_ROOT="${D}" || die "install failed"
+ dodoc AUTHORS FAQ UPGRADING README
+
+ insinto /usr/share/mythtv/database
+ doins database/*
+
+ exeinto /usr/share/mythtv
+ doexe "${FILESDIR}/mythfilldatabase.cron"
+
+ newinitd "${FILESDIR}"/mythbackend-0.18.2.rc mythbackend
+ newconfd "${FILESDIR}"/mythbackend-0.18.2.conf mythbackend
+
+ dodoc keys.txt docs/*.{txt,pdf}
+ dohtml docs/*.html
+
+ keepdir /etc/mythtv
+ chown -R mythtv "${D}"/etc/mythtv
+ keepdir /var/log/mythtv
+ chown -R mythtv "${D}"/var/log/mythtv
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/mythtv.logrotate.d 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
+
+ if use ieee1394; then
+ dobin firewire_tester || die "failed to install firewire_tester"
+ dodoc contrib/firewire_tester-README
+
+ dobin 6200ch || die "failed to install 6200ch"
+ dodoc contrib/channel_changers/6200ch-README
+
+ dobin sa3250ch || die "failed to install sa3250ch"
+ dodoc contrib/channel_changers/sa3250ch-README
+ fi
+
+ dobin red_eye || die "failed to install red_eye"
+ dodoc contrib/channel_changers/red_eye-README
+
+ if use directv; then
+ dobin contrib/channel_changers/d10control.pl || die "failed to install d10control"
+ dodoc contrib/channel_changers/d10control-README
+ fi
+}
+
+pkg_preinst() {
+ export CONFIG_PROTECT="${CONFIG_PROTECT} ${ROOT}/home/mythtv/"
+}
+
+pkg_postinst() {
+ python_version
+ python_mod_optimize /usr/$(get_libdir)/python${PYVER}/site-packages/MythTV
+
+ echo
+ elog "Want mythfrontend to start automatically?"
+ elog "Set USE=autostart. Details can be found at:"
+ elog "http://dev.gentoo.org/~cardoe/mythtv/autostart.html"
+
+ elog
+ elog "To always have MythBackend running and available run the following:"
+ elog "rc-update add mythbackend default"
+ elog
+ ewarn "Your recordings folder must be owned by the user 'mythtv' now"
+ ewarn "chown -R mythtv /path/to/store"
+
+ if use xvmc && [[ ! -s "${ROOT}/etc/X11/XvMCConfig" ]]; then
+ ewarn
+ ewarn "No XvMC implementation has been selected yet"
+ ewarn "Use 'eselect xvmc list' for a list of available choices"
+ ewarn "Then use 'eselect xvmc set <choice>' to choose"
+ ewarn "'eselect xvmc set nvidia' for example"
+ fi
+
+ if use autostart; then
+ elog
+ elog "Please add the following to your /etc/inittab file at the end of"
+ elog "the TERMINALS section"
+ elog "c8:2345:respawn:/sbin/mingetty --autologin mythtv tty8"
+ fi
+
+}
+
+pkg_postrm()
+{
+ python_mod_cleanup /usr/$(get_libdir)/python*/site-packages/MythTV
+}
+
+pkg_info() {
+ "${ROOT}"/usr/bin/mythfrontend --version
+}
+
+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
+}