Add experimental ebuild for MythTV 0.23
authorDoug Goldstein <cardoe@gentoo.org>
Thu, 10 Jun 2010 03:16:50 +0000 (03:16 +0000)
committerDoug Goldstein <cardoe@gentoo.org>
Thu, 10 Jun 2010 03:16:50 +0000 (03:16 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

media-tv/mythtv/ChangeLog
media-tv/mythtv/Manifest
media-tv/mythtv/mythtv-0.23_p25051.ebuild [new file with mode: 0644]

index 5d4585c0ce4db847f30373b804c07cc52692d1a5..929d800b9fff5361062ddcbb8dc0b6e57d5ef202 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for media-tv/mythtv
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.318 2010/05/26 15:39:29 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.319 2010/06/10 03:16:50 cardoe Exp $
+
+*mythtv-0.23_p25051 (10 Jun 2010)
+
+  10 Jun 2010; Doug Goldstein <cardoe@gentoo.org>
+  +mythtv-0.23_p25051.ebuild:
+  Add experimental ebuild for MythTV 0.23
 
   26 May 2010; Doug Goldstein <cardoe@gentoo.org> -mythtv-0.22_p22778.ebuild,
   -mythtv-0.22_p22811.ebuild, -mythtv-0.22_p22824.ebuild,
index c292072092dc4f1d7bc23058bc4ae9038c36ffa1..5c8c283c44e8bfefea8ebc385e081be0f975b387 100644 (file)
@@ -13,9 +13,11 @@ DIST mythtv-0.22_p23069.zip 26492928 RMD160 5fcbe5a29303b44b19d1e4e71795ec91c4e1
 DIST mythtv-0.22_p24255.zip 26493973 RMD160 0b369385f61f4a5f3b63ae42b4c4876bf5cbfa75 SHA1 d2a7e9c77525d21ab34276bb46b5ccae769e1d53 SHA256 16bdbc0c02cc2a52fa03b59e74deaa488f4c98f9afb5497c530e61a42afff610
 DIST mythtv-0.23_alpha22834.zip 29883175 RMD160 4055557ee494c204d45f56eed663ac8639902734 SHA1 6e8ecb88dc3a3155460bdec5234ac7370169a605 SHA256 b934904ba18f80355b51f65783675507b6a390af2aa115f406a5a02afddefea9
 DIST mythtv-0.23_alpha22857.zip 29863996 RMD160 5ad7f22c2ee7a748d55227447b2aab93c1feb5c5 SHA1 452ec398498ab01852a7afc46a5ee3ce1a34c21d SHA256 75c79d6e9418f10c8a79a71e3e79e62bcdf63c064beb06ff64d84968d39080a3
+DIST mythtv-0.23_p25051.zip 32268543 RMD160 c41c8058c534da7951b392b377d5bd0f88e808ea SHA1 2e4ebb0385e9cd6bf274d234e5a002879415305a SHA256 40eb50495d438515ef1e5ed18e5d3ad3f3044e0fda1b64f762e139d2b8a3c16b
 EBUILD mythtv-0.22_p23069.ebuild 10325 RMD160 e7210638c7935c275944eda00ac5c6cbddc4121a SHA1 7621ac8b88ab1bcef04fad00c8f4dffa11eff01a SHA256 e9369ecb7521fec0ccf26b774724f9af1ba1d1f034024389e9cc3e1deb8264b6
 EBUILD mythtv-0.22_p24255.ebuild 10328 RMD160 cb84ee00a645b52b9c11fd3506e7163676def3c5 SHA1 64668224d56f5e6df38ce2f821dd1e351869133d SHA256 09a01e726208feba8db2ad3b0f8542fba6718de77edc9d5996f3b0dbf04adb33
 EBUILD mythtv-0.23_alpha22834.ebuild 9444 RMD160 ae94aba7e9a6bab9d8eb4bacd481137fa766405d SHA1 ae6a83242cf8b5d6c565244c3aea76e58a60bb77 SHA256 5c70be430948815282e006a5f065177448704f37e38c88b433d5544931242e79
 EBUILD mythtv-0.23_alpha22857.ebuild 10187 RMD160 30576e818e9e41ab17d320df669e7b59b8b894f5 SHA1 c27b4ad1b9ee595037fdffc7b74d4956558fb9f4 SHA256 0df8ba9711dd810f471baf4f3008478a63a281c88d12d52fa10c91ddc25db712
-MISC ChangeLog 62886 RMD160 62f745c4d11940a279cd4157eb3ab905af0b2a7c SHA1 7bd03e95f8652dec2a9a487671e16ac20b399b5f SHA256 8ac1848ac0d5644e178dc4ef64e5112fa21d511e0d452270bc0c0a87ae778f82
+EBUILD mythtv-0.23_p25051.ebuild 10274 RMD160 4f8c6a6330eda3590ce87ae680f9f1fc1b8713e5 SHA1 29cdd084fbeba124cbeee2da84e3a1b2fa6c5078 SHA256 1a558821ee951cbd6b3420d28cd0fd3e989de98f24ee5084e8b7e03d711d2cc9
+MISC ChangeLog 63044 RMD160 c4daa611d4605664f6aa462a9eb91ce0d200fc65 SHA1 b79456ae29245c3dcdab55adfe70476d94e567a9 SHA256 392cfd89c022835a88161b982b6142ee02d0a95ee566c6b2677e4e559a74d129
 MISC metadata.xml 3277 RMD160 46cdf33001f42c1fa6bc6f4321011078918c9081 SHA1 2adadd184fc16a93be980999c5410130a949e570 SHA256 6fa2b5e0529887435076607cd779290b7a21707e6b08e594cc368c21f05ac702
diff --git a/media-tv/mythtv/mythtv-0.23_p25051.ebuild b/media-tv/mythtv/mythtv-0.23_p25051.ebuild
new file mode 100644 (file)
index 0000000..2ed4f55
--- /dev/null
@@ -0,0 +1,339 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.23_p25051.ebuild,v 1.1 2010/06/10 03:16:50 cardoe Exp $
+
+EAPI=2
+inherit flag-o-matic multilib eutils qt4 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 +css dbus debug directv dvb faad \
+fftw ieee1394 jack lcd lirc mmx perl pulseaudio python \
+tiff vdpau xvmc ${IUSE_VIDEO_CARDS}"
+
+# fonts from bug #296222
+RDEPEND="media-fonts/corefonts
+       media-fonts/dejavu
+       >=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-core-4.4:4[qt3support]
+       >=x11-libs/qt-gui-4.4:4[dbus?,qt3support,tiff?]
+       >=x11-libs/qt-sql-4.4:4[qt3support,mysql]
+       >=x11-libs/qt-opengl-4.4:4[qt3support]
+       >=x11-libs/qt-webkit-4.4:4[dbus?]
+       virtual/mysql
+       virtual/opengl
+       virtual/glu
+       || ( >=net-misc/wget-1.9.1 >=media-tv/xmltv-0.5.43 )
+       alsa? ( >=media-libs/alsa-lib-0.9 )
+       autostart? ( net-dialup/mingetty
+                               x11-wm/evilwm
+                               x11-apps/xset )
+       css? ( media-libs/libdvdcss )
+       dbus? ( >=x11-libs/qt-dbus-4.4:4 )
+       directv? ( virtual/perl-Time-HiRes )
+       dvb? ( media-libs/libdvb media-tv/linuxtv-dvb-headers )
+       faad? ( media-libs/faad2 )
+       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 )
+       pulseaudio? ( >=media-sound/pulseaudio-0.9.7 )
+       python? ( dev-python/mysql-python )
+       vdpau? ( x11-libs/libvdpau )
+       xvmc? ( x11-libs/libXvMC )"
+
+DEPEND="${RDEPEND}
+       app-arch/unzip
+       x11-proto/xineramaproto
+       x11-proto/xf86vidmodeproto
+       x11-apps/xinit
+       !<media-plugins/mythcontrols-0.22
+       !<x11-themes/mythtv-themes-0.22
+       !<x11-themes/mythtv-themes-extra-0.22"
+
+MYTHTV_GROUPS="video,audio,tty,uucp"
+
+pkg_setup() {
+       einfo "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
+
+       # puts the SVN branch name into an environment variable that the build
+       # system reads and embeds into the binaries for version info
+       export URL=${MYTHTV_REPO}
+
+       enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
+       usermod -a -G ${MYTHTV_GROUPS} mythtv
+}
+
+src_prepare() {
+       # puts the SVN revision into a special file that the build system
+       # reads and embeds into the binaries for version info
+       echo "SOURCE_VERSION=${MYTHTV_REV}" > "${S}/VERSION"
+
+       # 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
+
+       epatch "${FILESDIR}/${PN}-0.21-ldconfig-sanxbox-fix.patch"
+}
+
+src_configure() {
+       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 faad && myconf="${myconf} --enable-libfaad"
+       use fftw && myconf="${myconf} --enable-libfftw3"
+       use jack || myconf="${myconf} --disable-audio-jack"
+       use vdpau && myconf="${myconf} --enable-vdpau"
+
+       #from bug #220857 and fixed for bug #292481, and bug #299063
+       use xvmc && myconf="${myconf} --enable-xvmc --enable-xvmcw"
+       if use video_cards_via && use xvmc; then
+               myconf="${myconf} --enable-xvmc-vld --enable-xvmc-pro";
+       else
+               myconf="${myconf} --disable-xvmc-vld";
+       fi
+
+       # according to the Ubuntu guys, this works better being always on
+       myconf="${myconf} --enable-glx-procaddrarb"
+
+       myconf="${myconf}
+               $(use_enable dvb)
+               $(use_enable ieee1394 firewire)
+               $(use_enable lirc)
+               --disable-directfb
+               --dvb-path=/usr/include
+               --enable-opengl-vsync
+               --enable-xrandr
+               --enable-xv
+               --enable-x11"
+
+       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
+       unset CFLAGS
+       unset CXXFLAGS
+       einfo "Running ./configure ${myconf}"
+       sh ./configure ${myconf} || die "configure died"
+}
+
+src_compile() {
+       eqmake4 mythtv.pro -o "Makefile" || die "eqmake4 failed"
+       emake || die "emake failed"
+
+       # firewire support should build the tester
+       if use ieee1394; then
+               cd contrib
+               $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -o ../firewire_tester \
+                       development/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/6200ch.c \
+                       ${LDFLAGS} -lrom1394 -lavc1394 -lraw1394 || \
+                       die "failed to compile 6200ch"
+               $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -o ../../sa3250ch \
+                       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/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
+       fowners -R mythtv "${D}"/etc/mythtv
+       keepdir /var/log/mythtv
+       fowners -R mythtv "${D}"/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
+
+       # add icon from MythTV's website (scaled to 32x32)
+       # for desktop entry
+       insinto /usr/share/pixmaps
+       doins "${FILESDIR}"/mythtv.png
+
+       # create desktop entry for mythfrontend
+       make_desktop_entry /usr/bin/mythfrontend "MythFrontend" mythtv \
+               "AudioVideo;TV;" "Path=/etc/mythtv/"
+       make_desktop_entry /usr/bin/mythtv-setup "MythTV Setup" mythtv \
+               "AudioVideo;TV;" "Path=/etc/mythtv/"
+
+       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"
+               newdoc contrib/development/firewire_tester/README README.firewire_tester
+
+               dobin 6200ch || die "failed to install 6200ch"
+               newdoc contrib/channel_changers/6200ch/README README.6200ch
+
+               dobin sa3250ch || die "failed to install sa3250ch"
+               newdoc contrib/channel_changers/sa3250ch/README README.sa3250ch
+       fi
+
+       dobin red_eye || die "failed to install red_eye"
+       newdoc contrib/channel_changers/red_eye/README README.red_eye
+
+       if use directv; then
+               dobin contrib/channel_changers/d10control/d10control.pl || die "failed to install d10control"
+               newdoc contrib/channel_changers/d10control/README README.d10control
+       fi
+
+       # correct permissions so the scripts are actually usable
+       fperms 755 /usr/share/mythtv/contrib/*/*.pl
+       fperms 755 /usr/share/mythtv/mythconverg_backup.pl
+       fperms 755 /usr/share/mythtv/mythconverg_restore.pl
+
+}
+
+pkg_preinst() {
+       export CONFIG_PROTECT="${CONFIG_PROTECT} ${ROOT}/home/mythtv/"
+}
+
+pkg_postinst() {
+       use python && python_mod_optimize $(python_get_sitedir)/MythTV
+
+       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
+
+       elog "Want mythfrontend to start automatically?"
+       elog "Set USE=autostart. Details can be found at:"
+       elog "http://dev.gentoo.org/~cardoe/mythtv/autostart.html"
+
+       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
+
+       elog
+       ewarn "Beware when you change ANY packages on your system that it may"
+       ewarn "break some or all of the MythTV components. MythTV's build system"
+       ewarn "is very fragile and only supports automagic dependencies."
+       ewarn "i.e. It depends on libraries and components it finds at build time"
+       ewarn "We try to mitigate this with RDEPENDs but be prepared to run"
+       ewarn "revdep-rebuild as necessary."
+
+}
+
+pkg_postrm()
+{
+       use python && python_mod_cleanup $(python_get_sitedir)/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
+}