# Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/media-video/vdr/vdr-1.3.36-r2.ebuild,v 1.3 2006/01/17 19:33:06 zzam Exp $ inherit eutils IUSE="lirc vfat rcu lnbsharing sourcecaps aio bigpatch jumpplay" # Names of patches FNAME_AIO="${P}-enAIO-2.7.diff" FNAME_BIGPATCH="${P}-bigpatch-test1" FNAME_JUMPPLAY="vdr-jumpplay-0.6-1.3.29.diff" FNAME_LNBSHARING="configurableLNBshare-VDR_1.3.36.patch" FNAME_SOURCECAPS_NORMAL="vdr-1.3.36-SourceCaps.patch" FNAME_SOURCECAPS_LNBSHARING="vdr-1.3.36-SourceCaps-for-lnb-sharing.patch" DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB" HOMEPAGE="http://www.cadsoft.de/vdr/" SRC_URI="ftp://ftp.cadsoft.de/vdr/Developer/${P}.tar.bz2 lnbsharing? ( http://xn--ltzke-jua.de/dvb/VDR_LNB_sharing_patch/${FNAME_LNBSHARING} ) aio? ( http://www.saunalahti.fi/~rahrenbe/vdr/patches/${FNAME_AIO}.gz ) bigpatch? ( http://bigpatch.vdr-developer.org/${PV}/${FNAME_BIGPATCH}.tar.bz2 ) jumpplay? ( http://www.toms-cafe.de/vdr/download/${FNAME_JUMPPLAY} )" KEYWORDS="~amd64 ~ppc ~x86" SLOT="0" LICENSE="GPL-2" DEPEND="media-libs/jpeg lirc? ( app-misc/lirc ) sys-apps/gawk media-tv/linuxtv-dvb-headers" RDEPEND="${DEPEND} dev-lang/perl media-tv/vdrplugin-rebuild >=media-tv/gentoo-vdr-scripts-0.2.2" # Relevant Pathes for vdr on gentoo DVB_DIR=/usr/include VDR_INCLUDE_DIR=/usr/include/vdr PLUGIN_DIR=/usr/lib/vdr/plugins CONF_DIR=/etc/vdr RC_DIR=/usr/lib/vdr/rcscript CAP_FILE=${S}/vdr-capabilities.sh CAPS="# Capabilities of the vdr-executable for use by startscript etc." VDR_HOME=/var/vdr add_cap() { while [ "$1" ]; do CAPS="${CAPS}\n$1=1" shift done } pkg_setup() { enewgroup vdr enewuser vdr -1 /bin/bash ${VDR_HOME} vdr,video } src_unpack() { unpack ${A} cd ${S} epatch ${FILESDIR}/${P}-low-space-crash.diff ebegin "Changing pathes for gentoo" sed -e 's-$(DVBDIR)/include-$(DVBDIR)-' -i Makefile sed \ -e 's-ConfigDirectory = VideoDirectory;-ConfigDirectory = CONFIGDIR;-' \ -i vdr.c cat > Make.config <<-EOT # # Generated by ebuild ${PF} # DVBDIR = ${DVB_DIR} PLUGINLIBDIR = ${PLUGIN_DIR} CONFIGDIR = ${CONF_DIR} DEFINES += -DCONFIGDIR=\"\$(CONFIGDIR)\" EOT eend 0 if use rcu; then echo "REMOTE=RCU" >> Make.config use lirc && ewarn "Only one remotes can be used: dropping lirc and keeping rcu" else use lirc && echo "REMOTE=LIRC" >> Make.config fi use vfat && echo "VFAT=1" >> Make.config # apply standard patches local MY_SOURCECAPS="${FILESDIR}/${FNAME_SOURCECAPS_NORMAL}" epatch "${FILESDIR}/vdr-add-svdrp-down-0.1.diff" if use bigpatch; then epatch "${WORKDIR}/BigPatch/bigpatch-current.diff" add_cap PATCHED_BIGPATCH PATCHED_SOURCECAPS PATCHED_LNBSHARING PATCHED_AIO else # All these patches are included in bigpatch if use aio; then if use lnbsharing; then ewarn "At the moment lnbsharing can not be combined with aio, dropping aio patch!" else epatch "../${FNAME_AIO}" add_cap PATCHED_AIO fi fi if use lnbsharing; then epatch "${DISTDIR}/${FNAME_LNBSHARING}" MY_SOURCECAPS="${FILESDIR}/${FNAME_SOURCECAPS_LNBSHARING}" add_cap PATCHED_LNBSHARING fi use sourcecaps && epatch "${MY_SOURCECAPS}" add_cap PATCHED_SOURCECAPS if use jumpplay; then if use sourcecaps; then ewarn "At the moment sourcecaps can not be combined with jumpplay, dropping jumpplay patch." else epatch "${DISTDIR}/${FNAME_JUMPPLAY}" fi fi fi # apply local patches defined by variable VDR_LOCAL_PATCHES_DIR if test -n "${VDR_LOCAL_PATCHES_DIR}"; then echo einfo "Applying local patches" for LOCALPATCH in ${VDR_LOCAL_PATCHES_DIR}/${PV}/*.{diff,patch}; do test -f "${LOCALPATCH}" && epatch "${LOCALPATCH}" done fi if [[ -n "${VDRSOURCE_DIR}" ]]; then cp -r ${S} ${T}/source-tree fi add_cap CAP_IRCTRL_RUNTIME_PARAM \ CAP_VFAT_RUNTIME_PARAM \ CAP_SHUTDOWN_SVDRP echo -e ${CAPS} > ${CAP_FILE} } src_install() { exeinto /usr/bin doexe vdr doexe svdrpsend.pl insinto ${VDR_INCLUDE_DIR} doins *.h doins Make.config insinto ${VDR_INCLUDE_DIR}/libsi doins libsi/*.h keepdir ${CONF_DIR} keepdir ${CONF_DIR}/plugins keepdir ${VDR_HOME} keepdir ${VDR_HOME}/video insinto ${CONF_DIR} doins *.conf channels.conf.* chown -R vdr:vdr ${D}/${CONF_DIR} ${D}/${VDR_HOME} keepdir "${PLUGIN_DIR}" doman vdr.1 vdr.5 dohtml *.html dodoc MANUAL INSTALL README* HISTORY* dodoc TODO-enAIO-rm CONTRIBUTORS insinto ${RC_DIR} doins ${CAP_FILE} if [[ -n "${VDRSOURCE_DIR}" ]]; then einfo "Installing sources" insinto ${VDRSOURCE_DIR}/${P} doins -r ${T}/source-tree/* keepdir ${VDRSOURCE_DIR}/${P}/PLUGINS/lib fi } pkg_postinst() { einfo "It is a good idea to run vdrplugin-rebuild now" }