Gentoo Archives: gentoo-commits

From: "Richard Freeman (rich0)" <rich0@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in media-tv/mythtv: ChangeLog mythtv-0.27_p20130924.ebuild
Date: Sat, 28 Sep 2013 22:10:37
Message-Id: 20130928221031.742DD2004C@flycatcher.gentoo.org
1 rich0 13/09/28 22:10:31
2
3 Modified: ChangeLog
4 Added: mythtv-0.27_p20130924.ebuild
5 Log:
6 Major upstream 0.27 release.
7
8 (Portage version: 2.2.1/cvs/Linux x86_64, signed Manifest commit with key 0x08C170DE55EC123A)
9
10 Revision Changes Path
11 1.404 media-tv/mythtv/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-tv/mythtv/ChangeLog?rev=1.404&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-tv/mythtv/ChangeLog?rev=1.404&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-tv/mythtv/ChangeLog?r1=1.403&r2=1.404
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v
20 retrieving revision 1.403
21 retrieving revision 1.404
22 diff -u -r1.403 -r1.404
23 --- ChangeLog 23 Sep 2013 11:50:39 -0000 1.403
24 +++ ChangeLog 28 Sep 2013 22:10:31 -0000 1.404
25 @@ -1,6 +1,12 @@
26 # ChangeLog for media-tv/mythtv
27 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.403 2013/09/23 11:50:39 rich0 Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/ChangeLog,v 1.404 2013/09/28 22:10:31 rich0 Exp $
30 +
31 +*mythtv-0.27_p20130924 (28 Sep 2013)
32 +
33 + 28 Sep 2013; Richard Freeman <rich0@g.o>
34 + +mythtv-0.27_p20130924.ebuild, +files/libdir-27.patch:
35 + Major upstream 0.27 release.
36
37 *mythtv-0.26.0_p20130922 (23 Sep 2013)
38
39
40
41
42 1.1 media-tv/mythtv/mythtv-0.27_p20130924.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-tv/mythtv/mythtv-0.27_p20130924.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-tv/mythtv/mythtv-0.27_p20130924.ebuild?rev=1.1&content-type=text/plain
46
47 Index: mythtv-0.27_p20130924.ebuild
48 ===================================================================
49 # Copyright 1999-2013 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.27_p20130924.ebuild,v 1.1 2013/09/28 22:10:31 rich0 Exp $
52
53 EAPI=5
54
55 PYTHON_DEPEND="python? 2:2.6"
56 BACKPORTS="d9561055abeec11fba234c9bdfbde5e79e695803"
57 MY_P=${P%_p*}
58
59 inherit flag-o-matic multilib eutils python user
60
61 MYTHTV_VERSION="v0.27"
62 MYTHTV_BRANCH="fixes/0.27"
63
64 DESCRIPTION="Homebrew PVR project"
65 HOMEPAGE="http://www.mythtv.org"
66 SRC_URI="https://github.com/MythTV/mythtv/archive/v0.27.tar.gz -> mythtv-0.27.tar.gz
67 ${BACKPORTS:+http://dev.gentoo.org/~rich0/distfiles/${MY_P}-${BACKPORTS}.tar.xz}"
68
69 SLOT="0"
70 LICENSE="GPL-2"
71 KEYWORDS="~amd64 ~x86"
72
73 IUSE_INPUT_DEVICES="input_devices_joystick"
74 IUSE="alsa altivec libass autostart bluray cec crystalhd debug dvb dvd \
75 egl fftw +hls ieee1394 jack lcd lirc perl pulseaudio python raop +theora \
76 vaapi vdpau +vorbis +xml xmltv +xvid ${IUSE_INPUT_DEVICES}"
77
78 REQUIRED_USE="
79 bluray? ( xml )
80 theora? ( vorbis )"
81
82 COMMON="
83 >=media-libs/freetype-2.0:=
84 sys-libs/zlib:=
85 x11-libs/libX11:=
86 x11-libs/libXext:=
87 x11-libs/libXinerama:=
88 x11-libs/libXv:=
89 x11-libs/libXrandr:=
90 x11-libs/libXxf86vm:=
91 >=dev-qt/qtcore-4.7.2:4=
92 >=dev-qt/qtdbus-4.7.2:4=
93 >=dev-qt/qtgui-4.7.2:4=
94 >=dev-qt/qtscript-4.7.2:4=
95 >=dev-qt/qtsql-4.7.2:4=[mysql]
96 >=dev-qt/qtopengl-4.7.2:4=[egl?]
97 >=dev-qt/qtwebkit-4.7.2:4=
98 x11-misc/wmctrl:=
99 virtual/mysql:=
100 virtual/opengl:=
101 alsa? ( >=media-libs/alsa-lib-1.0.24:= )
102 bluray? (
103 dev-libs/libcdio:=
104 media-libs/libbluray:=
105 )
106 cec? ( dev-libs/libcec:= )
107 dvb? (
108 media-libs/libdvb:=
109 virtual/linuxtv-dvb-headers:=
110 )
111 dvd? ( dev-libs/libcdio:= )
112 egl? ( media-libs/mesa:=[egl] )
113 fftw? ( sci-libs/fftw:3.0= )
114 hls? (
115 media-libs/faac:=
116 media-libs/libvpx:=
117 >=media-libs/x264-0.0.20111220:=
118 >=media-sound/lame-3.93.1
119 )
120 ieee1394? (
121 >=sys-libs/libraw1394-1.2.0:=
122 >=sys-libs/libavc1394-0.5.3:=
123 >=media-libs/libiec61883-1.0.0:=
124 )
125 jack? ( media-sound/jack-audio-connection-kit )
126 lcd? ( app-misc/lcdproc )
127 libass? ( >=media-libs/libass-0.9.11:= )
128 lirc? ( app-misc/lirc )
129 perl? (
130 dev-perl/DBD-mysql
131 dev-perl/Net-UPnP
132 dev-perl/LWP-Protocol-https
133 dev-perl/HTTP-Message
134 dev-perl/IO-Socket-INET6
135 >=dev-perl/libwww-perl-5
136 )
137 pulseaudio? ( media-sound/pulseaudio )
138 python? (
139 dev-python/mysql-python
140 dev-python/lxml
141 dev-python/urlgrabber
142 )
143 raop? (
144 dev-libs/openssl:=
145 net-dns/avahi[mdnsresponder-compat]
146 )
147 theora? ( media-libs/libtheora:= media-libs/libogg:= )
148 vaapi? ( x11-libs/libva:= )
149 vdpau? ( x11-libs/libvdpau:= )
150 vorbis? ( >=media-libs/libvorbis-1.0:= media-libs/libogg:= )
151 xml? ( >=dev-libs/libxml2-2.6.0:= )
152 xvid? ( >=media-libs/xvid-1.1.0:= )
153 !media-tv/mythtv-bindings
154 !x11-themes/mythtv-themes
155 media-libs/taglib:=
156 dev-libs/glib:=
157 "
158
159 RDEPEND="${COMMON}
160 media-fonts/corefonts
161 media-fonts/dejavu
162 media-fonts/liberation-fonts
163 x11-apps/xinit
164 autostart? (
165 net-dialup/mingetty
166 x11-wm/evilwm
167 x11-apps/xset
168 )
169 dvd? ( media-libs/libdvdcss:= )
170 xmltv? ( >=media-tv/xmltv-0.5.43 )
171 "
172
173 DEPEND="${COMMON}
174 dev-lang/yasm
175 x11-proto/xineramaproto
176 x11-proto/xf86vidmodeproto
177 "
178
179 S="${WORKDIR}/${MY_P}/mythtv"
180
181 MYTHTV_GROUPS="video,audio,tty,uucp"
182
183 pkg_setup() {
184 python_set_active_version 2
185 python_pkg_setup
186 enewuser mythtv -1 /bin/bash /home/mythtv ${MYTHTV_GROUPS}
187 usermod -a -G ${MYTHTV_GROUPS} mythtv
188 }
189
190 src_prepare() {
191 [[ -n ${BACKPORTS} ]] && \
192 EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/../patches" \
193 epatch
194
195 # Perl bits need to go into vender_perl and not site_perl
196 sed -e "s:pure_install:pure_install INSTALLDIRS=vendor:" \
197 -i "${S}"/bindings/perl/Makefile
198
199 # Fix up the version info since we are using the fixes/${PV} branch
200 echo "SOURCE_VERSION=\"${MYTHTV_VERSION}\"" > "${S}"/VERSION
201 echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/VERSION
202
203 echo "setting.extra -= -ldconfig" >> "${S}"/programs/mythfrontend/mythfrontend.pro
204
205 epatch "${FILESDIR}/libdir-27.patch"
206
207 epatch_user
208 }
209
210 src_configure() {
211 local myconf=
212
213 # Setup paths
214 myconf="${myconf} --prefix=${EPREFIX}/usr"
215 myconf="${myconf} --libdir=${EPREFIX}/usr/$(get_libdir)"
216 myconf="${myconf} --libdir-name=$(get_libdir)"
217 myconf="${myconf} --mandir=${EPREFIX}/usr/share/man"
218
219 # Audio
220 myconf="${myconf} $(use_enable alsa audio-alsa)"
221 myconf="${myconf} $(use_enable jack audio-jack)"
222 use pulseaudio || myconf="${myconf} --disable-audio-pulseoutput"
223
224 use altivec || myconf="${myconf} --disable-altivec"
225 myconf="${myconf} $(use_enable dvb)"
226 myconf="${myconf} $(use_enable ieee1394 firewire)"
227 myconf="${myconf} $(use_enable lirc)"
228 myconf="${myconf} $(use_enable xvid libxvid)"
229 myconf="${myconf} --dvb-path=/usr/include"
230 myconf="${myconf} --enable-xrandr"
231 myconf="${myconf} --enable-xv"
232 myconf="${myconf} --enable-x11"
233 myconf="${myconf} --enable-nonfree"
234 use cec || myconf="${myconf} --disable-libcec"
235 use raop || myconf="${myconf} --disable-libdns-sd"
236 myconf="${myconf} $(use_enable theora libtheora)"
237 myconf="${myconf} $(use_enable vorbis libvorbis)"
238
239 if use hls; then
240 myconf="${myconf} --enable-libmp3lame"
241 myconf="${myconf} --enable-libx264"
242 myconf="${myconf} --enable-libvpx"
243 myconf="${myconf} --enable-libfaac"
244 fi
245
246 if use perl && use python; then
247 myconf="${myconf} --with-bindings=perl,python"
248 elif use perl; then
249 myconf="${myconf} --without-bindings=python"
250 myconf="${myconf} --with-bindings=perl"
251 elif use python; then
252 myconf="${myconf} --without-bindings=perl"
253 myconf="${myconf} --with-bindings=python"
254 else
255 myconf="${myconf} --without-bindings=perl,python"
256 fi
257
258 use python && myconf="${myconf} --python=$(PYTHON)"
259
260 if use debug; then
261 myconf="${myconf} --compile-type=debug"
262 else
263 myconf="${myconf} --compile-type=profile"
264 #myconf="${myconf} --enable-debug" does nothing per sphery
265 #myconf="${myconf} --disable-stripping" does nothing per sphery
266 fi
267
268 # Video
269 use vdpau && myconf="${myconf} --enable-vdpau"
270 use vaapi && myconf="${myconf} --enable-vaapi"
271 use crystalhd && myconf="${myconf} --enable-crystalhd"
272
273 # Input
274 use input_devices_joystick || myconf="${myconf} --disable-joystick-menu"
275
276 # Clean up DSO load times and other compiler bits
277 myconf="${myconf} --enable-symbol-visibility"
278 myconf="${myconf} --enable-pic"
279
280 # CPU settings
281 for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
282 [ "${i}" = "native" ] && i="host"
283 myconf="${myconf} --cpu=${i}"
284 break
285 done
286
287 if tc-is-cross-compiler ; then
288 myconf="${myconf} --enable-cross-compile --arch=$(tc-arch-kernel)"
289 myconf="${myconf} --cross-prefix=${CHOST}-"
290 fi
291
292 # Build boosters
293 has distcc ${FEATURES} || myconf="${myconf} --disable-distcc"
294 has ccache ${FEATURES} || myconf="${myconf} --disable-ccache"
295
296 chmod +x ./external/FFmpeg/version.sh
297
298 einfo "Running ./configure ${myconf}"
299 ./configure \
300 --cc="$(tc-getCC)" \
301 --cxx="$(tc-getCXX)" \
302 --ar="$(tc-getAR)" \
303 --extra-cflags="${CFLAGS}" \
304 --extra-cxxflags="${CXXFLAGS}" \
305 --extra-ldflags="${LDFLAGS}" \
306 ${myconf} || die "configure died"
307 }
308
309 src_install() {
310 emake INSTALL_ROOT="${D}" install || die "install failed"
311 dodoc AUTHORS UPGRADING README
312
313 insinto /usr/share/mythtv/database
314 doins database/*
315
316 newinitd "${FILESDIR}"/mythbackend.init mythbackend
317 newconfd "${FILESDIR}"/mythbackend.conf mythbackend
318
319 dodoc keys.txt
320
321 keepdir /etc/mythtv
322 chown -R mythtv "${ED}"/etc/mythtv
323 keepdir /var/log/mythtv
324 chown -R mythtv "${ED}"/var/log/mythtv
325 dodir /var/log/mythtv/old
326
327 insinto /etc/logrotate.d
328 newins "${FILESDIR}"/mythtv.logrotate.d-r4 mythtv
329
330 insinto /usr/share/mythtv/contrib
331 doins -r contrib/*
332
333 # Install our mythfrontend wrapper which is similar to Mythbuntu's
334 mv "${ED}/usr/bin/mythfrontend" "${ED}/usr/bin/mythfrontend.real"
335 newbin "${FILESDIR}"/mythfrontend.wrapper mythfrontend
336 newconfd "${FILESDIR}"/mythfrontend.conf mythfrontend
337
338 if use autostart; then
339 dodir /etc/env.d/
340 echo 'CONFIG_PROTECT="/home/mythtv/"' > "${ED}"/etc/env.d/95mythtv
341
342 insinto /home/mythtv
343 newins "${FILESDIR}"/bash_profile .bash_profile
344 newins "${FILESDIR}"/xinitrc-r1 .xinitrc
345 fi
346
347 # Make Python files executable
348 find "${ED}/usr/share/mythtv" -type f -name '*.py' | while read file; do
349 if [[ ! "${file##*/}" = "__init__.py" ]]; then
350 chmod a+x "${file}"
351 fi
352 done
353
354 # Ensure that Python scripts are executed by Python 2
355 python_convert_shebangs -q -r 2 "${ED}/usr/share/mythtv"
356
357 # Make shell & perl scripts executable
358 find "${ED}" -type f -name '*.sh' -o -type f -name '*.pl' | \
359 while read file; do
360 chmod a+x "${file}"
361 done
362 }
363
364 pkg_preinst() {
365 export CONFIG_PROTECT="${CONFIG_PROTECT} ${EROOT}/home/mythtv/"
366 }
367
368 pkg_postinst() {
369 use python && python_mod_optimize MythTV
370
371 elog "To have this machine operate as recording host for MythTV, "
372 elog "mythbackend must be running. Run the following:"
373 elog "rc-update add mythbackend default"
374 elog
375 elog "Your recordings folder must be owned 'mythtv'. e.g."
376 elog "chown -R mythtv /var/lib/mythtv"
377
378 elog "Want mythfrontend to start automatically?"
379 elog "Set USE=autostart. Details can be found at:"
380 elog "http://dev.gentoo.org/~cardoe/mythtv/autostart.html"
381 }
382
383 pkg_postrm() {
384 use python && python_mod_cleanup MythTV
385 }
386
387 pkg_info() {
388 if [[ -f "${EROOT}"/usr/bin/mythfrontend ]]; then
389 "${EROOT}"/usr/bin/mythfrontend --version
390 fi
391 }
392
393 pkg_config() {
394 echo "Creating mythtv MySQL user and mythconverg database if it does not"
395 echo "already exist. You will be prompted for your MySQL root password."
396 "${EROOT}"/usr/bin/mysql -u root -p < "${EROOT}"/usr/share/mythtv/database/mc.sql
397 }