[mythtv-users] Gentoo CVS ebuilds + DVB Support, How?

Simon Kenyon simon at koala.ie
Tue Apr 5 14:14:04 UTC 2005


On Monday 04 April 2005 21:02, Ashley Bostock wrote:
> Wonder if anyone else is using the gentoo cvs ebuilds with dvb support
> and could help:
>
>
> I've been using these for a while now and compiling fine but now when
> I emerge with dvb in my USE flags it doesn't pick up where the kernels
> dvb includes are and builds without dvb support:
>
> DVB support      no [/usr/src/linux-2.6.11-gentoo-r5/include]
>
> Is this a problem with my setup or the ebuild, if its the ebuild I'll
> try posting on here: http://bugs.gentoo.org/show_bug.cgi?id=66337

i wrote this ebuild this morning
i've built mythtv-cvs and installed it - but have not gone home to test it 
(yet). so YMMV.

anyway, it doesn't set the eit option yet, but i will do that tonight
-------------- next part --------------
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/myth.eclass,v 1.4 2004/09/15 14:40:33 aliz Exp $
#
# Author: Daniel Ahlberg <aliz at gentoo.org>
#

ECLASS=myth-cvs
INHERITED="${INHERITED} ${ECLASS}"
IUSE="${IUSE} nls debug"

ECVS_SERVER="cvs.mythtv.org:/var/lib/mythcvs"
ECVS_USER="mythtv"
ECVS_PASS="mythtv"
_MODULE=${PN/-cvs/}
ECVS_MODULE=${_MODULE/frontend/tv}
ECVS_TOP_DIR="${DISTDIR}/cvs-src/${PN}"

EXPORT_FUNCTIONS src_unpack src_compile src_install

myth-cvs_src_unpack() {
	myth_src_unpack
}
myth-cvs_src_compile() {
	myth_src_compile
}
myth-cvs_src_install() {
	myth_src_install
}

myth_src_unpack() {
	if [ "${PN/-cvs/}" == "mythfrontend" ]; then
		local package="mythtv"
	else
		local package="${PN/-cvs/}"
	fi

	cvs_src_unpack ${A} ; cd ${S}

	if ! use nls ; then
		sed -e "s:i18n::" \
			-i ${package}.pro || die "Disable i18n failed"
	fi

	setup_pro
}

myth_src_compile() {
	qmake -o "Makefile" "${PN/-cvs/}.pro"
	emake || die
}

myth_src_install() {
	einstall INSTALL_ROOT="${D}"
#	for doc in "AUTHORS COPYING FAQ UPGRADING README"; do
#		test -e "${doc}" && dodoc ${doc}
#	done
}
-------------- next part --------------
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit cvs myth-cvs flag-o-matic eutils

DESCRIPTION="Homebrew PVR project"
HOMEPAGE="http://www.mythtv.org/"

S=${WORKDIR}/${ECVS_MODULE}

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ~amd64"
IUSE="alsa arts dvb lirc nvidia cle266 opengl xv mmx ieee1394"

DEPEND=">=media-libs/freetype-2.0
	>=media-sound/lame-3.93.1
	>=x11-libs/qt-3.1
	dev-db/mysql
	alsa? ( >=media-libs/alsa-lib-0.9 )
	>=sys-apps/sed-4
	arts? ( kde-base/arts )
	dvb? ( media-libs/libdvb )
	lirc? ( app-misc/lirc )
	nvidia? ( media-video/nvidia-glx )
	ieee1394? ( sys-libs/libraw1394 )
	|| ( >=net-misc/wget-1.9.1 >=media-tv/xmltv-0.5.34 )"

RDEPEND="${DEPEND}
	!media-tv/mythtv
	!media-tv/mythfrontend
	!media-tv/mythfrontend-cvs"

pkg_setup() {

	local qt_use="$(</var/db/pkg/`best_version x11-libs/qt`/USE)"
	if ! has mysql ${qt_use} ; 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 use ieee1394; then
		echo
		ewarn "If you want to USE ieee1394, you need to install libiec61883"
		ewarn "which is not available in Portage at this time. Do this at your"
		ewarn "own risk. No Support provided."
		echo
	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

}

setup_pro() {
	if use nvidia && use cle266; then
		die "You can not have USE="cle266" and USE="nvidia" at the same time. Must disable one or the other."
	fi
}

src_unpack() {

	if use cle266; then
		ewarn "If you have a VIA ITX board with XvMC VLD on it... you need to pull the sources for this stuff yourself"
		ewarn "and install it yourself before continuing. It is currently not packaged up and requires drm patches to Xorg"
		ewarn "these patches are not in the xorg-x11. http://bugs.gentoo.org/show_bug.cgi?id=82125"
		sleep 5
	fi

	if use ieee1394; then
		ewarn "The required libraries to wse firewire support are only available via Subversion. They are not stable enough to"
		ewarn "be packaged up in Portage. This is only here as a courtesy for users that use it and have installed the libraries"
		ewarn "themselves manually. http://bugs.gentoo.org/show_bug.cgi?id=81767"
		sleep 5
	fi

	myth_src_unpack || die "unpack failed"
}

src_compile() {
	econf  \
	    $(use_enable xv) \
	    $(use_enable alsa audio-alsa) \
	    $(use_enable arts audio-arts) \
	    $(use_enable dvb) \
	    $(use_enable lirc) \
	    $(use_enable nvidia xvmc) \
	    $(use_enable cle266 xvmc-vld) \
	    $(use_enable ieee1394 firewire) \
	    $(use_enable opengl opengl-vsync) \
	    || die "Error: econf failed!"

	qmake -o "Makefile" "${PN/-cvs/}.pro"
	make qmake || die
	emake -C libs/libavcodec || die
	emake -C libs/libavformat || die
	emake -C libs/libmythsamplerate || die
	emake -C libs/libmythsoundtouch || die
	emake -C libs/libmythmpeg2 || die
	emake -C libs/libmyth || die
	emake -C libs/libmythtv || die
	emake -C libs || die
	emake || die
}

src_install() {
	myth_src_install || die "install failed"

	insinto /usr/share/mythtv/database
	doins database/*

	exeinto /usr/share/mythtv
	doexe "${FILESDIR}/mythfilldatabase.cron"

	exeinto /etc/init.d
	newexe "${FILESDIR}/mythbackend.rc6" mythbackend
	insinto /etc/conf.d
	newins "${FILESDIR}/mythbackend.conf" mythbackend

	dodoc keys.txt docs/*.{txt,pdf}
	dohtml docs/*.html

	keepdir /var/{log,run}/mythtv
}


More information about the mythtv-users mailing list