Gentoo Archives: gentoo-commits

From: "Steve Dibb (beandog)" <beandog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in media-tv/mythtv: ChangeLog mythtv-0.21_p18314-r2.ebuild
Date: Fri, 29 May 2009 20:13:08
Message-Id: E1MA8Ru-0007tz-QP@stork.gentoo.org
1 beandog 09/05/29 20:13:06
2
3 Modified: ChangeLog
4 Added: mythtv-0.21_p18314-r2.ebuild
5 Log:
6 Backport MythTV patch for DVB headers, bug 253338; Support VIA + XvMC, bug 225025; restore old bttv patch
7 (Portage version: 2.2_rc33/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.273 media-tv/mythtv/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-tv/mythtv/ChangeLog?rev=1.273&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-tv/mythtv/ChangeLog?rev=1.273&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-tv/mythtv/ChangeLog?r1=1.272&r2=1.273
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v
19 retrieving revision 1.272
20 retrieving revision 1.273
21 diff -u -r1.272 -r1.273
22 --- ChangeLog 29 May 2009 19:56:57 -0000 1.272
23 +++ ChangeLog 29 May 2009 20:13:06 -0000 1.273
24 @@ -1,6 +1,14 @@
25 # ChangeLog for media-tv/mythtv
26 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.272 2009/05/29 19:56:57 beandog Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.273 2009/05/29 20:13:06 beandog Exp $
29 +
30 +*mythtv-0.21_p18314-r2 (29 May 2009)
31 +
32 + 29 May 2009; Steve Dibb <beandog@g.o>
33 + +mythtv-0.21_p18314-r2.ebuild, +files/mythtv-0.21-bttv.patch,
34 + +files/mythtv-0.21-dvb-headers.patch:
35 + Backport MythTV patch for DVB headers, bug 253338; Support VIA + XvMC, bug
36 + 225025; restore old bttv patch
37
38 *mythtv-0.21_p19961-r2 (29 May 2009)
39
40
41
42
43 1.1 media-tv/mythtv/mythtv-0.21_p18314-r2.ebuild
44
45 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-tv/mythtv/mythtv-0.21_p18314-r2.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-tv/mythtv/mythtv-0.21_p18314-r2.ebuild?rev=1.1&content-type=text/plain
47
48 Index: mythtv-0.21_p18314-r2.ebuild
49 ===================================================================
50 # Copyright 1999-2009 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.21_p18314-r2.ebuild,v 1.1 2009/05/29 20:13:06 beandog Exp $
53
54 EAPI=1
55 inherit flag-o-matic multilib eutils qt3 mythtv toolchain-funcs python confutils
56
57 DESCRIPTION="Homebrew PVR project"
58 SLOT="0"
59 KEYWORDS="~amd64 ~ppc ~x86"
60
61 SRC_URI="mirror://gentoo/${P}.tar.bz2"
62
63 IUSE_VIDEO_CARDS="video_cards_nvidia video_cards_via"
64 IUSE="aac alsa altivec autostart debug directv dvb dvd fftw ieee1394 jack lcd \
65 lirc mmx opengl perl python xvmc ${IUSE_VIDEO_CARDS}"
66
67 RDEPEND=">=media-libs/freetype-2.0
68 >=media-sound/lame-3.93.1
69 x11-libs/libX11
70 x11-libs/libXext
71 x11-libs/libXinerama
72 x11-libs/libXv
73 x11-libs/libXrandr
74 x11-libs/libXxf86vm
75 >=x11-libs/qt-3.3:3
76 virtual/mysql
77 virtual/opengl
78 virtual/glu
79 || ( >=net-misc/wget-1.9.1 >=media-tv/xmltv-0.5.43 )
80 aac? ( media-libs/faad2 )
81 alsa? ( >=media-libs/alsa-lib-0.9 )
82 autostart? ( net-dialup/mingetty
83 x11-wm/evilwm
84 x11-apps/xset )
85 directv? ( virtual/perl-Time-HiRes )
86 dvb? ( media-libs/libdvb media-tv/linuxtv-dvb-headers )
87 dvd? ( media-libs/libdvdcss )
88 fftw? ( sci-libs/fftw:3.0 )
89 ieee1394? ( >=sys-libs/libraw1394-1.2.0
90 >=sys-libs/libavc1394-0.5.3
91 >=media-libs/libiec61883-1.0.0 )
92 jack? ( media-sound/jack-audio-connection-kit )
93 lcd? ( app-misc/lcdproc )
94 lirc? ( app-misc/lirc )
95 perl? ( dev-perl/DBD-mysql )
96 python? ( dev-python/mysql-python )
97 xvmc? ( x11-libs/libXvMC )"
98
99 DEPEND="${RDEPEND}
100 x11-proto/xineramaproto
101 x11-proto/xf86vidmodeproto
102 x11-apps/xinit"
103
104 PDEPEND="=x11-themes/mythtv-themes-${MY_PV}*"
105
106 MYTHTV_GROUPS="video,audio,tty,uucp"
107
108 pkg_setup() {
109
110 confutils_require_built_with_all =x11-libs/qt-3* mysql opengl
111
112 elog "This ebuild now uses a heavily stripped down version of your CFLAGS"
113
114 if use xvmc && use video_cards_nvidia; then
115 elog
116 elog "For NVIDIA based cards, the XvMC renderer only works on"
117 elog "the NVIDIA 4, 5, 6 & 7 series cards."
118 fi
119
120 enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
121 usermod -a -G ${MYTHTV_GROUPS} mythtv
122 }
123
124 src_unpack() {
125
126 unpack ${A}
127 cd "${S}"
128
129 # upstream wants the revision number in their version.cpp
130 # since the subversion.eclass strips out the .svn directory
131 # svnversion in MythTV's build doesn't work
132 sed -e "s:\`(svnversion \$\${SVNTREEDIR} 2>\/dev\/null) || echo Unknown\`:${MYTHTV_REV}:" \
133 -i "${S}"/version.pro || die "svnversion sed failed"
134
135 # Perl bits need to go into vender_perl and not site_perl
136 sed -e "s:pure_install:pure_install INSTALLDIRS=vendor:" \
137 -i "${S}"/bindings/perl/perl.pro
138
139 # fix mythflix naming collision
140 epatch "${FILESDIR}"/${PN}-0.21-mythflix-naming-collision.patch
141
142 # fix for bttv cards
143 epatch "${FILESDIR}"/${PN}-0.21-bttv.patch
144
145 # fix for dvb headers, bug 253338
146 epatch "${FILESDIR}"/${PN}-0.21-dvb-headers.patch
147
148 }
149
150 src_compile() {
151 local myconf="--prefix=/usr
152 --mandir=/usr/share/man
153 --libdir-name=$(get_libdir)"
154 use aac && myconf="${myconf} --enable-libfaad"
155 use alsa || myconf="${myconf} --disable-audio-alsa"
156 use altivec || myconf="${myconf} --disable-altivec"
157 use fftw && myconf="${myconf} --enable-libfftw3"
158 use jack || myconf="${myconf} --disable-audio-jack"
159 # let's give this a whirl from bug #220857
160 use xvmc && myconf="${myconf} --enable-xvmc --enable-xvmcw"
161 if use video_cards_via && use xvmc; then
162 myconf="${myconf} --enable-xvmc-vld";
163 else
164 myconf="${myconf} --disable-xvmc-vld";
165 fi
166 # according to the Ubuntu guys, this works better always on
167 myconf="${myconf} --enable-glx-procaddrarb"
168
169 myconf="${myconf}
170 $(use_enable dvb)
171 $(use_enable ieee1394 firewire)
172 $(use_enable lirc)
173 --disable-audio-arts
174 --disable-directfb
175 --dvb-path=/usr/include
176 --enable-opengl-vsync
177 --enable-xrandr
178 --enable-xv
179 --enable-x11"
180 # per discussions with j-rod and janng in #mythtv, these are disabled
181 # --enable-libmp3lame
182 # use x264 && myconf="${myconf} --enable-libx264"
183 # use xvid && myconf="${myconf} --enable-libxvid"
184 # use aac && myconf="${myconf} --enable-libfaac"
185
186 if use mmx || use amd64; then
187 myconf="${myconf} --enable-mmx"
188 else
189 myconf="${myconf} --disable-mmx"
190 fi
191
192 if use perl && use python; then
193 myconf="${myconf} --with-bindings=perl,python"
194 elif use perl; then
195 myconf="${myconf} --with-bindings=perl"
196 elif use python; then
197 myconf="${myconf} --with-bindings=python"
198 else
199 myconf="${myconf} --without-bindings=perl,python"
200 fi
201
202 if use debug; then
203 myconf="${myconf} --compile-type=debug"
204 else
205 myconf="${myconf} --compile-type=profile"
206 fi
207
208 ## CFLAG cleaning so it compiles
209 MARCH=$(get-flag "march")
210 MTUNE=$(get-flag "mtune")
211 strip-flags
212 filter-flags "-march=*" "-mtune=*" "-mcpu=*"
213 filter-flags "-O" "-O?"
214
215 if [[ -n "${MARCH}" ]]; then
216 myconf="${myconf} --cpu=${MARCH}"
217 fi
218 if [[ -n "${MTUNE}" ]]; then
219 myconf="${myconf} --tune=${MTUNE}"
220 fi
221
222 # myconf="${myconf} --extra-cxxflags=\"${CXXFLAGS}\" --extra-cflags=\"${CFLAGS}\""
223 hasq distcc ${FEATURES} || myconf="${myconf} --disable-distcc"
224 hasq ccache ${FEATURES} || myconf="${myconf} --disable-ccache"
225
226 # let MythTV come up with our CFLAGS. Upstream will support this
227 CFLAGS=""
228 CXXFLAGS=""
229 einfo "Running ./configure ${myconf}"
230 ./configure ${myconf} || die "configure died"
231
232 eqmake3 mythtv.pro -o "Makefile" || die "eqmake3 failed"
233 emake || die "emake failed"
234
235 # firewire support should build the tester
236 if use ieee1394; then
237 cd contrib
238 $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -o ../firewire_tester firewire_tester.c \
239 ${LDFLAGS} -liec61883 -lraw1394 || \
240 die "failed to compile firewire_tester"
241
242 cd channel_changers
243 $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -std=gnu99 -o ../../6200ch 6200ch.c \
244 ${LDFLAGS} -lrom1394 -lavc1394 -lraw1394 || \
245 die "failed to compile 6200ch"
246 $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -o ../../sa3250ch sa3250ch.c \
247 ${LDFLAGS} -lrom1394 -lavc1394 -lraw1394 || \
248 die "failed to compile sa3250ch"
249 fi
250
251 cd "${S}"/contrib/channel_changers
252 $(tc-getCC) ${CFLAGS} ${CPPFLAGS} -o ../../red_eye red_eye.c ${LDFLAGS} || \
253 die "failed to compile red_eye"
254 }
255
256 src_install() {
257
258 einstall INSTALL_ROOT="${D}" || die "install failed"
259 dodoc AUTHORS FAQ UPGRADING README
260
261 insinto /usr/share/mythtv/database
262 doins database/*
263
264 exeinto /usr/share/mythtv
265 doexe "${FILESDIR}/mythfilldatabase.cron"
266
267 newinitd "${FILESDIR}"/mythbackend-0.18.2.rc mythbackend
268 newconfd "${FILESDIR}"/mythbackend-0.18.2.conf mythbackend
269
270 dodoc keys.txt docs/*.{txt,pdf}
271 dohtml docs/*.html
272
273 keepdir /etc/mythtv
274 chown -R mythtv "${D}"/etc/mythtv
275 keepdir /var/log/mythtv
276 chown -R mythtv "${D}"/var/log/mythtv
277
278 insinto /etc/logrotate.d
279 newins "${FILESDIR}"/mythtv.logrotate.d mythtv
280
281 insinto /usr/share/mythtv/contrib
282 doins -r contrib/*
283
284 dobin "${FILESDIR}"/runmythfe
285
286 if use autostart; then
287 dodir /etc/env.d/
288 echo 'CONFIG_PROTECT="/home/mythtv/"' > "${D}"/etc/env.d/95mythtv
289
290 insinto /home/mythtv
291 newins "${FILESDIR}"/bash_profile .bash_profile
292 newins "${FILESDIR}"/xinitrc .xinitrc
293 fi
294
295 if use ieee1394; then
296 dobin firewire_tester || die "failed to install firewire_tester"
297 dodoc contrib/firewire_tester-README
298
299 dobin 6200ch || die "failed to install 6200ch"
300 dodoc contrib/channel_changers/6200ch-README
301
302 dobin sa3250ch || die "failed to install sa3250ch"
303 dodoc contrib/channel_changers/sa3250ch-README
304 fi
305
306 dobin red_eye || die "failed to install red_eye"
307 dodoc contrib/channel_changers/red_eye-README
308
309 if use directv; then
310 dobin contrib/channel_changers/d10control.pl || die "failed to install d10control"
311 dodoc contrib/channel_changers/d10control-README
312 fi
313 }
314
315 pkg_preinst() {
316 export CONFIG_PROTECT="${CONFIG_PROTECT} ${ROOT}/home/mythtv/"
317 }
318
319 pkg_postinst() {
320 python_version
321 python_mod_optimize /usr/$(get_libdir)/python${PYVER}/site-packages/MythTV
322
323 echo
324 elog "Want mythfrontend to start automatically?"
325 elog "Set USE=autostart. Details can be found at:"
326 elog "http://dev.gentoo.org/~cardoe/mythtv/autostart.html"
327
328 elog
329 elog "To always have MythBackend running and available run the following:"
330 elog "rc-update add mythbackend default"
331 elog
332 ewarn "Your recordings folder must be owned by the user 'mythtv' now"
333 ewarn "chown -R mythtv /path/to/store"
334
335 if use xvmc && [[ ! -s "${ROOT}/etc/X11/XvMCConfig" ]]; then
336 ewarn
337 ewarn "No XvMC implementation has been selected yet"
338 ewarn "Use 'eselect xvmc list' for a list of available choices"
339 ewarn "Then use 'eselect xvmc set <choice>' to choose"
340 ewarn "'eselect xvmc set nvidia' for example"
341 fi
342
343 if use autostart; then
344 elog
345 elog "Please add the following to your /etc/inittab file at the end of"
346 elog "the TERMINALS section"
347 elog "c8:2345:respawn:/sbin/mingetty --autologin mythtv tty8"
348 fi
349
350 }
351
352 pkg_postrm()
353 {
354 python_mod_cleanup /usr/$(get_libdir)/python*/site-packages/MythTV
355 }
356
357 pkg_info() {
358 "${ROOT}"/usr/bin/mythfrontend --version
359 }
360
361 pkg_config() {
362 echo "Creating mythtv MySQL user and mythconverg database if it does not"
363 echo "already exist. You will be prompted for your MySQL root password."
364 "${ROOT}"/usr/bin/mysql -u root -p < "${ROOT}"/usr/share/mythtv/database/mc.sql
365 }