summaryrefslogtreecommitdiff
blob: 9009fe56ee9bf598096c516f359785ecd4c30603 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/vdr-1.3.27.ebuild,v 1.1 2005/07/23 16:50:22 zzam Exp $

inherit eutils

IUSE="lirc vfat rcu
	lnbsharing sourcecaps aio bigpatch jumpplay"

# Names of patches
FNAME_AIO="vdr-1.3.27-enAIO-2.4.diff"
FNAME_BIGPATCH="vdr-1.3.27-bigpatch-test4.diff"
FNAME_JUMPPLAY="vdr-jumpplay-0.6-1.3.24.diff"
FNAME_LNBSHARING="BETA-configurableLNBshare-VDR_1.3.26.patch"
FNAME_SOURCECAPS_NORMAL="vdr-1.3.27-SourceCaps.diff"
FNAME_SOURCECAPS_LNBSHARING="vdr-1.3.27-SourceCaps-lnb-sharing.diff"

DESCRIPTION="The Video Disk Recorder"
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/1.3.27/BETA/${FNAME_BIGPATCH}.bz2 )
	jumpplay? ( http://www.toms-cafe.de/vdr/download/${FNAME_JUMPPLAY} )"

KEYWORDS="~x86"
SLOT="0"
LICENSE="GPL-2"


RDEPEND="media-libs/jpeg
	lirc? ( app-misc/lirc )
	dev-lang/perl"

DEPEND="${RDEPEND}
	|| (
		>=sys-kernel/linux-headers-2.6.11-r2
		media-tv/linuxtv-dvb
	)
	sys-apps/gawk"

# Relevant Pathes for vdr on gentoo
DVBDIR=/usr/include
VDRDIR=/usr/include/vdr
PLUGINDIR=/usr/lib/vdr/plugins
CONFDIR=/etc/vdr

src_unpack() {
	unpack ${A}
	cd ${S}

	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       = ${DVBDIR}
		PLUGINLIBDIR = ${PLUGINDIR}
		CONFIGDIR    = ${CONFDIR}

		DEFINES     += -DCONFIGDIR=\"\$(CONFIGDIR)\"
	EOT
	eend 0


	# apply standard patches
	local PATCHDIR=${FILESDIR}/${PV}
	local MY_SOURCECAPS="${PATCHDIR}/${FNAME_SOURCECAPS_NORMAL}"

	if use bigpatch; then
		epatch "../${FNAME_BIGPATCH}"
	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}"
			fi
		fi

		if use lnbsharing; then
			epatch "${DISTDIR}/${FNAME_LNBSHARING}"
			MY_SOURCECAPS="${PATCHDIR}/${FNAME_SOURCECAPS_LNBSHARING}"
		fi

		use sourcecaps && epatch "${MY_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
}


src_compile() {
	local myconf=""
	if use rcu; then
		myconf="${myconf} REMOTE=RCU"
		use lirc && ewarn "Only one remotes can be used: dropping lirc and keeping rcu"
	else
		use lirc && myconf="${myconf} REMOTE=LIRC"
	fi
	use vfat && myconf="${myconf} VFAT=1"

	test -n "${myconf}" && einfo "Compiling with: ${myconf}"
	emake ${myconf} || die "compilation failed"
}

src_install() {
	exeinto /usr/bin
	doexe vdr
	doexe svdrpsend.pl

	insinto /usr/include/vdr
	doins *.h
	doins Make.config

	insinto /etc/vdr
	doins *.conf channels.conf.*

	doman vdr.1 vdr.5
}

pkg_postinst() {
	einfo "Up to now this ebuild does not contain any scripts needed for use"
	einfo "of vdr as a STB (no scripts for init, shutdown, automatic wakeup, ...)."
}