Add new opengl-video and opengl-xvmc USE flags. Support python bindings. Clean up...
authorDoug Goldstein <cardoe@gentoo.org>
Wed, 27 Feb 2008 21:03:46 +0000 (21:03 +0000)
committerDoug Goldstein <cardoe@gentoo.org>
Wed, 27 Feb 2008 21:03:46 +0000 (21:03 +0000)
Package-Manager: portage-2.1.4.4

media-tv/mythtv/ChangeLog
media-tv/mythtv/Manifest
media-tv/mythtv/mythtv-0.21_beta16210.ebuild
media-tv/mythtv/mythtv-0.21_beta16309.ebuild [new file with mode: 0644]

index 5f7bc55793b77c33cf42a1d80331a6c1ba30cedf..ed30e39b59be2ac37ece4822f33e9ab39e1171d2 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for media-tv/mythtv
 # Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.214 2008/02/23 23:30:12 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.215 2008/02/27 21:03:46 cardoe Exp $
+
+*mythtv-0.21_beta16309 (27 Feb 2008)
+
+  27 Feb 2008; Doug Klima <cardoe@gentoo.org> mythtv-0.21_beta16210.ebuild,
+  +mythtv-0.21_beta16309.ebuild:
+  Add new opengl-video and opengl-xvmc USE flags. Support python bindings.
+  Clean up configure command line construction and alphabetize for ease. Bump
+  to latest 0.21 version
 
 *mythtv-0.21_beta16210 (23 Feb 2008)
 
index ef38b97e3bc462677472fd760fab16941f2e12b4..f9102838faaf22423e00787891296daf51595e8e 100644 (file)
@@ -15,13 +15,14 @@ EBUILD mythtv-0.20.2_p15332.ebuild 10206 RMD160 bdf7c76206c4298648e2c9fb5606cd73
 EBUILD mythtv-0.20.2_p15477.ebuild 10066 RMD160 ac3c121a19033e21415b018206f07d5075887ac2 SHA1 1f9caf807566743227f5ea6ad5bef987424ee933 SHA256 efc5e977338e76751e18494398b3c003dbe9b5b11624bfcb5297e2856bc3002e
 EBUILD mythtv-0.20.2_p15634.ebuild 10066 RMD160 d378b181dbbf2e8e8bf860bacc5e0c390bd8c718 SHA1 549051c3582427c7c9df62dda42cf1269084ec67 SHA256 79bac96d30d82a13955c6bc18f682ac9b7e5dda49d6f5f9830e765caa734b236
 EBUILD mythtv-0.21_beta16171.ebuild 8862 RMD160 c1db7a2c45f605a8066bea291265de876a0c7119 SHA1 42fe6c1ec0d9bfb20961a1f18e1fc8aeb9317f0b SHA256 9706c08a018b88687c021bf9002fb5ca109d618fbb60f1b16277f6bee15987a5
-EBUILD mythtv-0.21_beta16210.ebuild 8099 RMD160 9b38b0be8eea42a8ff951ca1ae0f035c5c497cb6 SHA1 b138bba5edb81bdfb2b91bb9ad9eee0bd8e7b216 SHA256 7f653fc698e35262796a9d3731d966f535d6bf24021b06ff14c09fd74faca593
-MISC ChangeLog 40816 RMD160 d459cc5b99606c98b74510148ff1a9238c8630e6 SHA1 74f51ee78b4fe5d38363eb82f2d0cae193a2e1c7 SHA256 611c2684a3c56f421d051d7b43017461d6924fd75cc35a7ad75e1af94d4a382e
+EBUILD mythtv-0.21_beta16210.ebuild 8193 RMD160 47a416abc2cbed09eda3443d1638afe9616d1eee SHA1 e4323d2eefcffb3ce1b02f6d473fcb2f33cecfe6 SHA256 65c406e988c0b8b7c2b5c230bd132771527bc5fde7911632bb19bc876452b79c
+EBUILD mythtv-0.21_beta16309.ebuild 9450 RMD160 d72ddf4cdf117c8b072662b0828ba29222be2949 SHA1 7d12e752132d79aa1263bec9ebe0491fc2b544e8 SHA256 2a491dc44aee7b2c97f29ec72d6c3bd2f22b4b28e9fe15899ff0ca836b0a4085
+MISC ChangeLog 41142 RMD160 b581b2b39d1c56683045ab548cc8ebfe9c34672f SHA1 b0f6c4f4a9ff8a00f9a586d453358bad4cad5dcf SHA256 382b75951b00a1616a3498f51155916522e0dc540ce1be5e2a672d02ea4becd4
 MISC metadata.xml 4714 RMD160 c65d058e83e36342d6a49b63a6e9609e11242b66 SHA1 0de80f93ca1adfede5783d30a45953ec4cd27c9b SHA256 7501a841c218dd17bee56aeefcfc60194241b3a5468898850c5bedf5dafd28e5
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.7 (GNU/Linux)
 
-iD8DBQFHwKyRoeSe8B0zEfwRAkI0AJ4rvqcB0LtcTUJPjpHHC+b6r4rshQCfTj6Q
-Y95EhYo2CUyShG0qEj/xjWI=
-=uaKi
+iD8DBQFHxdBDoeSe8B0zEfwRAvxzAJ46Yyym2kmwjZ7e9js4Tx9omSgRPgCdG6qd
+T3HsOtdCQ92SxiMvTauWOGY=
+=k/Nz
 -----END PGP SIGNATURE-----
index b1b05f059b7c49d75f078a28eca28bae8de1bdee..4c98e091e6014a457bfffef9053429a5d937e11f 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.21_beta16210.ebuild,v 1.1 2008/02/23 23:30:12 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.21_beta16210.ebuild,v 1.2 2008/02/27 21:03:46 cardoe Exp $
 
 EAPI=1
 inherit flag-o-matic multilib eutils qt3 mythtv subversion toolchain-funcs
@@ -259,6 +259,11 @@ pkg_postinst() {
        ewarn "Your recordings folder must be owned by the user 'mythtv' now"
        ewarn "chown -R mythtv /path/to/store"
 
+       if use xvmc; then
+               echo
+               elog "Please set the proper XvMC provider with eselect xvmc"
+       fi
+
        if use autostart; then
                echo
                elog "Please add the following to your /etc/inittab file at the end of"
diff --git a/media-tv/mythtv/mythtv-0.21_beta16309.ebuild b/media-tv/mythtv/mythtv-0.21_beta16309.ebuild
new file mode 100644 (file)
index 0000000..3875cc0
--- /dev/null
@@ -0,0 +1,316 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.21_beta16309.ebuild,v 1.1 2008/02/27 21:03:46 cardoe Exp $
+
+EAPI=1
+inherit flag-o-matic multilib eutils qt3 mythtv toolchain-funcs python
+
+DESCRIPTION="Homebrew PVR project"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_via"
+IUSE="alsa altivec autostart dbox2 debug directv dvb dvd hdhomerun ieee1394 iptv \
+ivtv jack joystick lcd lirc mmx opengl opengl-video opengl-xvmc perl python \
+vorbis 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
+       virtual/mysql
+       virtual/opengl
+       virtual/glu
+       || ( >=net-misc/wget-1.9.1 >=media-tv/xmltv-0.5.34 )
+       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/libdvdnav )
+       ieee1394? (     >=sys-libs/libraw1394-1.2.0
+                       >=sys-libs/libavc1394-0.5.0
+                       >=media-libs/libiec61883-1.0.0 )
+       ivtv? ( media-tv/ivtv )
+       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 )
+       xvmc? ( x11-libs/libXvMC
+               app-admin/eselect-xvmc )"
+
+DEPEND="${RDEPEND}
+       x11-proto/xineramaproto
+       x11-proto/xf86vidmodeproto
+       x11-apps/xinit"
+
+PDEPEND="=x11-themes/mythtv-themes-${MY_PV}*"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+MYTHTV_GROUPS="video,audio,tty,uucp"
+
+pkg_setup() {
+
+       if ! built_with_use -a =x11-libs/qt-3* mysql opengl ; then
+               echo
+               eerror "MythTV requires Qt to be built with mysql and opengl use flags enabled."
+               eerror "Please re-emerge =x11-libs/qt-3*, after having the use flags set."
+               echo
+               die "Please fix the above issues, before continuing."
+       fi
+
+       echo
+       einfo "This ebuild now uses a heavily stripped down version of your CFLAGS"
+       einfo "Don't complain because your -momfg-fast-speed CFLAG is being stripped"
+       einfo "Only additional CFLAG issues that will be addressed are for binary"
+       einfo "package building."
+       echo
+
+       if use xvmc && use opengl-xvmc ; then
+               einfo "Enabling USE=opengl-xvmc results in an experimental OpenGL"
+               einfo "& XvMC renderer that only works on NVIDIA GeForce 4,5,6, & 7"
+               einfo "series of cards. It is typically slower then stock XVideo"
+               einfo "support that is the default in MythTV."
+               echo
+       fi
+
+       if use opengl-video ; then
+               einfo "Enabling USE=opengl-video results in an experimental OpenGL"
+               einfo "renderer that is typically slower then the default XVideo"
+               einfo "renderer. Enable at your own risk."
+               echo
+       fi
+
+       enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS} || die "Problem adding mythtv user"
+       usermod -a -G ${MYTHTV_GROUPS} mythtv
+}
+
+src_unpack() {
+       subversion_src_unpack
+
+       # 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_compile() {
+       local myconf="--prefix=/usr
+               --mandir=/usr/share/man
+               --libdir-name=$(get_libdir)"
+       use alsa || myconf="${myconf} --disable-audio-alsa"
+       use altivec || myconf="${myconf} --disable-altivec"
+       use dbox2 || myconf="${myconf} --disable-dbox2"
+       use hdhomerun || myconf="${myconf} --disable-hdhomerun"
+       use ivtv || myconf="${myconf} --disable-ivtv"
+       use jack || myconf="${myconf} --disable-audio-jack"
+       use opengl-video && myconf="${myconf} --enable-opengl-video"
+       use xvmc && ! use video_cards_via  ! use opengl-xvmc && myconf="${myconf} --enable-xvmc --xvmc-lib=XvMCW"
+       use xvmc && use video_cards_via && myconf="${myconf} --enable-xmvc --enable-xvmc-pro"
+       use xvmc && use video_cards_nvidia && use opengl-xvmc && myconf="${myconf} --enable-xvmc --enable-xvmc-opengl"
+       myconf="${myconf}
+               $(use_enable dvb)
+               $(use_enable ieee1394 firewire)
+               $(use_enable iptv)
+               $(use_enable joystick joystick-menu)
+               $(use_enable lirc)
+               --disable-audio-arts
+               --disable-directfb
+               --dvb-path=/usr/include
+               --enable-opengl-vsync
+               --enable-xrandr
+               --enable-xv
+               --enable-x11
+               --enable-gpl"
+
+       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"
+
+       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 "${ROOT}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"
+
+       echo
+       elog "To always have MythBackend running and available run the following:"
+       elog "rc-update add mythbackend default"
+       echo
+       ewarn "Your recordings folder must be owned by the user 'mythtv' now"
+       ewarn "chown -R mythtv /path/to/store"
+
+       if use xvmc; then
+               echo
+               elog "Please set the proper XvMC provider with eselect xvmc"
+       fi
+
+       if use autostart; then
+               echo
+               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_version
+       python_mod_cleanup "/usr/$(get_libdir)/python${PYVER}/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
+}