diff options
Diffstat (limited to 'media-tv/mythtv/mythtv-0.19.ebuild')
-rw-r--r-- | media-tv/mythtv/mythtv-0.19.ebuild | 223 |
1 files changed, 223 insertions, 0 deletions
diff --git a/media-tv/mythtv/mythtv-0.19.ebuild b/media-tv/mythtv/mythtv-0.19.ebuild new file mode 100644 index 000000000000..ef8dcb6c158f --- /dev/null +++ b/media-tv/mythtv/mythtv-0.19.ebuild @@ -0,0 +1,223 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.19.ebuild,v 1.1 2006/02/12 04:20:16 cardoe Exp $ + +inherit flag-o-matic eutils debug qt3 + +DESCRIPTION="Homebrew PVR project" +HOMEPAGE="http://www.mythtv.org/" +SRC_URI="http://www.mythtv.org/mc/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="alsa altivec arts debug dbox2 dvb dvd frontendonly ieee1394 jack joystick lcd lirc mmx nvidia oggvorbis opengl oss unichrome" + +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 + ) + virtual/x11 ) + $(qt_min_version 3.3) + dev-db/mysql + alsa? ( >=media-libs/alsa-lib-0.9 ) + arts? ( kde-base/arts ) + dvd? ( media-libs/libdvdnav ) + dvb? ( media-libs/libdvb ) + jack? ( media-sound/jack-audio-connection-kit ) + lcd? ( app-misc/lcdproc ) + lirc? ( app-misc/lirc ) + nvidia? ( media-video/nvidia-glx + || ( x11-libs/libXvMC virtual/x11 ) ) + oggvorbis? ( media-libs/libvorbis ) + opengl? ( virtual/opengl ) + ieee1394? ( >=sys-libs/libraw1394-1.2.0 + sys-libs/libavc1394 + >=media-libs/libiec61883-1.0.0 ) + || ( >=net-misc/wget-1.9.1 >=media-tv/xmltv-0.5.34 ) + !x11-base/xfree + !<x11-base/xorg-x11-6.8" + +DEPEND="${RDEPEND} + || ( x11-apps/xinit virtual/x11 )" + +pkg_setup() { + + if ! built_with_use x11-libs/qt mysql ; then + eerror "Qt is missing MySQL support. Please add" + eerror "'mysql' to your USE flags, and re-emerge Qt." + die "Qt needs MySQL support" + fi + + if ! has_version x11-libs/libXv && ! built_with_use x11-base/xorg-x11 xv; then + eerror "xorg-x11 is missing XV support. Please add" + eerror "'xv' to your USE flags, and re-emerge xorg-x11." + die "xorg-x11 needs XV support" + fi + + if use nvidia; then + echo + ewarn "You enabled the 'nvidia' USE flag, you must have a GeForce 4 or" + ewarn "greater to use this. Otherwise, you'll have crashes with MythTV" + echo + fi + + einfo + 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." + einfo +} + +src_unpack() { + unpack ${A} + cd ${S} + +# if [ $(get_libdir) != "lib" ] ; then +# sed -i -e "s:\$\${PREFIX}/lib/:\$\${PREFIX}/$(get_libdir)/:g" \ +# -e "s:\$\${PREFIX}/lib$:\$\${PREFIX}/$(get_libdir):g" \ +# ${S}/{filters,libs}/*/*.pro || die +# sed -i -e "s:/lib/mythtv/:/$(get_libdir)/mythtv/:" \ +# ${S}/libs/libmyth/mythcontext.cpp || die +# fi + +# # Fix bugs 40964 and 42943. +# filter-flags -fforce-addr -fPIC -momit-leaf-frame-pointer +# is-flag "-fomit-frame-pointer" || append-flags "-fomit-frame-pointer" +} + +src_compile() { + use unichrome && use nvidia && die "You can not have USE="unichrome" and USE="nvidia" at the same time. Must disable one or the other." + local myconf="--prefix=/usr --mandir=/usr/share/man" + use oss || myconf="${myconf} --disable-audio-oss" + use alsa || myconf="${myconf} --disable-audio-alsa" + use arts || myconf="${myconf} --disable-audio-arts" + use jack || myconf="${myconf} --disable-audio-jack" + use altivec || myconf="${myconf} --disable-altivec" + use unichrome && myconf="${myconf} --enable-xvmc" + use nvidia && myconf="${myconf} --enable-xvmc" + myconf="${myconf} + $(use_enable lirc) + $(use_enable joystick joystick-menu) + $(use_enable dbox2) + $(use_enable dvb) + $(use_enable dvb dvb-eit) + --dvb-path=/usr/include + $(use_enable dvd) + $(use_enable opengl opengl-vsync) + $(use_enable ieee1394 firewire) + --enable-xrandr + --enable-xv + --disable-directfb + --enable-x11 + --enable-proc-opt" + + if use mmx || use amd64; then + myconf="${myconf} --enable-mmx" + else + myconf="${myconf} --disable-mmx" + fi + + if use debug; then + myconf="${myconf} --compile-type=debug" + else + myconf="${myconf} --compile-type=release" + fi + + ## CFLAG cleaning so it compiles + MARCH=$(get-flag "march") + MTUNE=$(get-flag "mtune") + MCPU=$(get-flag "mcpu") + strip-flags + filter-flags "-march=*" "-mtune=*" "-mcpu=*" + filter-flags "-O" "-O?" + + if [[ -n "${MARCH}" ]]; then + myconf="${myconf} --arch=${MARCH}" + fi + if [[ -n "${MTUNE}" ]]; then + myconf="${myconf} --tune=${MTUNE}" + fi + if [[ -n "${MCPU}" ]]; then + myconf="${myconf} --cpu=${MCPU}" + fi + +# myconf="${myconf} --extra-cxxflags=\"${CXXFLAGS}\" --extra-cflags=\"${CFLAGS}\"" + hasq distcc ${FEATURES} || myconf="${myconf} --disable-distcc" + hasq ccache ${FEATURES} || myconf="${myconf} --disable-ccache" + +# if use frontendonly; then +# ##Backend Removal +# cd ${S} +# sed -e "s:CCONFIG linux backend:CCONFIG linux:" \ +# -i 'configure' || die "Removal of mythbackend failed" +# fi + + # let MythTV come up with our CFLAGS. Upstream will support this + CFLAGS="" + CXXFLAGS="" + einfo "Running ./configure ${myconf}" + ./configure ${myconf} || die "configure died" + + ${QTDIR}/bin/qmake QMAKE=${QTDIR}/bin/qmake -o "Makefile" mythtv.pro || die "qmake failed" + emake || die "emake failed" + +} + +src_install() { + + einstall INSTALL_ROOT="${D}" || die "install failed" + for doc in AUTHORS COPYING FAQ UPGRADING ChangeLog README; do + test -e "${doc}" && dodoc ${doc} + done + + if ! use frontendonly; then + 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 + fi + + dobin ${FILESDIR}/runmythfe + + ewarn "Want MythFrontend to always? Add the following to your" + ewarn "myth user. i.e. My user is mythtv" + echo "crontab -e -u mythtv" + echo "* * * * * /usr/bin/runmythfe &" + ewarn "And you're all set." + + 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 +} + +pkg_preinst() { + enewuser mythtv -1 "-1" -1 ${MYTHTV_GROUPS} || die "Problem adding mythtv user" + usermod -G ${MYTHTV_GROUPS} mythtv +} + +pkg_postinst() { + einfo "Want MythFrontend to alway run? Run the following:" + echo " #crontab -e -u mythtv" + einfo "And add the following:" + echo "* * * * * /usr/bin/runmythfe &" + echo + echo + einfo "To always have MythBackend running and available run the following:" + echo "rc-update add mythbackend default" +} + |