Gentoo Archives: gentoo-commits

From: "Matthias Schwarzott (zzam)" <zzam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in media-video/vdr: ChangeLog vdr-1.6.0_p2-r5.ebuild
Date: Tue, 05 Oct 2010 13:15:23
Message-Id: 20101005131518.BC89220051@flycatcher.gentoo.org
1 zzam 10/10/05 13:15:18
2
3 Modified: ChangeLog
4 Added: vdr-1.6.0_p2-r5.ebuild
5 Log:
6 Fix vdr not respecting LDFLAGS, Bug #333493.
7
8 (Portage version: 2.2_rc88/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.139 media-video/vdr/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/vdr/ChangeLog?rev=1.139&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/vdr/ChangeLog?rev=1.139&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/vdr/ChangeLog?r1=1.138&r2=1.139
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v
20 retrieving revision 1.138
21 retrieving revision 1.139
22 diff -u -r1.138 -r1.139
23 --- ChangeLog 5 Oct 2010 13:12:43 -0000 1.138
24 +++ ChangeLog 5 Oct 2010 13:15:18 -0000 1.139
25 @@ -1,6 +1,12 @@
26 # ChangeLog for media-video/vdr
27 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.138 2010/10/05 13:12:43 zzam Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/media-video/vdr/ChangeLog,v 1.139 2010/10/05 13:15:18 zzam Exp $
30 +
31 +*vdr-1.6.0_p2-r5 (05 Oct 2010)
32 +
33 + 05 Oct 2010; Matthias Schwarzott <zzam@g.o>
34 + +vdr-1.6.0_p2-r5.ebuild, +files/vdr-1.6.0-ldflags.patch:
35 + Fix vdr not respecting LDFLAGS, Bug #333493.
36
37 05 Oct 2010; Matthias Schwarzott <zzam@g.o>
38 -files/vdr-add-svdrp-down-0.1.diff, -vdr-1.4.6.ebuild,
39
40
41
42 1.1 media-video/vdr/vdr-1.6.0_p2-r5.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/vdr/vdr-1.6.0_p2-r5.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-video/vdr/vdr-1.6.0_p2-r5.ebuild?rev=1.1&content-type=text/plain
46
47 Index: vdr-1.6.0_p2-r5.ebuild
48 ===================================================================
49 # Copyright 1999-2010 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/media-video/vdr/vdr-1.6.0_p2-r5.ebuild,v 1.1 2010/10/05 13:15:18 zzam Exp $
52
53 inherit eutils flag-o-matic multilib
54
55 # Switches supported by extensions-patch
56 EXT_PATCH_FLAGS="analogtv atsc cmdsubmenu cutterlimit cutterqueue cuttime ddepgentry
57 dolbyinrec dvbplayer dvbsetup dvdarchive dvdchapjump graphtft hardlinkcutter
58 jumpplay lnbshare mainmenuhooks menuorg noepg osdmaxitems pinplugin
59 rotor settime setup sortrecords sourcecaps livebuffer
60 ttxtsubs timercmd timerinfo validinput yaepg
61 syncearly dvlfriendlyfnames dvlrecscriptaddon dvlvidprefer
62 volctrl wareagleicon lircsettings deltimeshiftrec em84xx
63 cmdreccmdi18n softosd parentalrating"
64
65 # names of the use-flags
66 EXT_PATCH_FLAGS_RENAMED="iptv liemikuutio"
67
68 # names ext-patch uses internally, here only used for maintainer checks
69 EXT_PATCH_FLAGS_RENAMED_EXT_NAME="pluginparam liemiext"
70
71 IUSE="vanilla dxr3 ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
72
73 MY_PV="${PV%_p*}"
74 MY_P="${PN}-${MY_PV}"
75 S="${WORKDIR}/${MY_P}"
76
77 EXT_V="72"
78 EXT_P=VDR-Extensions-Patch-${EXT_V}
79 EXT_DIR=${WORKDIR}/${EXT_P}/
80 EXT_VDR_PV="${PV/_p/-}"
81
82 DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
83 HOMEPAGE="http://www.tvdr.de/"
84 SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
85 ftp://ftp.tvdr.de/vdr/Developer/${MY_P}-1.diff
86 ftp://ftp.tvdr.de/vdr/Developer/${MY_P}-2.diff
87 http://www.zulu-entertainment.de/files/patches/${EXT_P}.tar.bz2"
88
89 KEYWORDS="~amd64 ~ppc ~x86"
90 SLOT="0"
91 LICENSE="GPL-2"
92
93 COMMON_DEPEND=">=media-libs/jpeg-8
94 sys-libs/libcap
95 >=media-libs/fontconfig-2.4.2
96 >=media-libs/freetype-2
97 sys-devel/gettext
98 dvdarchive? ( dvdchapjump? ( >=media-libs/libdvdread-4.1.3_p1168 ) )"
99
100 DEPEND="${COMMON_DEPEND}
101 media-tv/linuxtv-dvb-headers
102 dev-util/unifdef"
103
104 RDEPEND="${COMMON_DEPEND}
105 dev-lang/perl
106 >=media-tv/gentoo-vdr-scripts-0.4.5
107 media-fonts/corefonts"
108
109 # pull in vdr-setup to get the xml files, else menu will not work
110 PDEPEND="setup? ( >=media-plugins/vdr-setup-0.3.1-r1 )"
111
112 CONF_DIR=/etc/vdr
113 CAP_FILE=${S}/capabilities.sh
114 CAPS="# Capabilities of the vdr-executable for use by startscript etc."
115
116 pkg_setup() {
117 check_menu_flags
118
119 PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
120 }
121
122 check_menu_flags() {
123 if use menuorg && use setup; then
124 echo
125 eerror "Please use only one of this USE-Flags"
126 eerror "\tmenuorg setup"
127 die "multiple menu manipulation"
128 fi
129 }
130
131 add_cap() {
132 local arg
133 for arg; do
134 CAPS="${CAPS}\n${arg}=1"
135 done
136 }
137
138 enable_patch() {
139 local arg ARG_UPPER
140 for arg; do
141 ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]')
142 echo "${ARG_UPPER} = 1" >> Make.config
143 done
144 }
145
146 extensions_add_make_conf()
147 {
148 # copy all ifdef for extensions-patch to Make.config
149 sed -e '1,/need to touch the following:/d' \
150 -e '/ifdef DVBDIR/,/^$/d' \
151 Make.config.template >> Make.config
152 }
153
154 extensions_all_defines() {
155 # extract all possible settings for extensions-patch
156 sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
157 Make.config.template \
158 | sort \
159 | tr '[:upper:]' '[:lower:]'
160 }
161
162 extensions_all_defines_unset() {
163 # extract all possible settings for extensions-patch
164 # and convert them to -U... for unifdef
165 sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?/-UUSE_/' -e 's/ .*//' \
166 Make.config.template \
167 | tr '\n' ' '
168 }
169
170 do_unifdef() {
171 ebegin "Unifdef sources"
172 local mf="Makefile.get"
173 cat <<'EOT' > $mf
174 include Makefile
175 show_def:
176 @echo $(DEFINES)
177 show_src_files:
178 @echo $(OBJS:%.o=%.c)
179 EOT
180
181 local DEFINES=$(extensions_all_defines_unset)
182
183 local RAW_DEFINES=$(make -f "$mf" show_def)
184 local VDR_SRC_FILES=$(make -f "$mf" show_src_files)
185 local KEEP_FILES=""
186 rm "$mf"
187
188 local def
189 for def in $RAW_DEFINES; do
190 case "${def}" in
191 -DUSE*)
192 DEFINES="${DEFINES} ${def}"
193 ;;
194 esac
195 done
196
197 local f
198 for f in *.c; do
199
200 # Removing the src files the Makefile does not use for compiling vdr
201 if ! has $f ${VDR_SRC_FILES} ${KEEP_FILES}; then
202 rm -f ${f} ${f%.c}.h
203 continue
204 fi
205
206 unifdef ${DEFINES} "$f" > "tmp.$f"
207 mv "tmp.$f" "$f"
208 done
209 for f in *.h; do
210 unifdef ${DEFINES} "$f" > "tmp.$f"
211 mv "tmp.$f" "$f"
212 [[ -s $f ]] || rm "$f"
213 done
214 eend 0
215 }
216
217 src_unpack() {
218
219 unpack ${A}
220
221 cd "${S}"
222 #applying maintainace-patches
223 epatch "${DISTDIR}/${MY_P}-1.diff"
224 epatch "${DISTDIR}/${MY_P}-2.diff"
225 epatch "${FILESDIR}"/vdr-dvb-api-5-is-fine.diff
226 epatch "${FILESDIR}"/vdr-1.6.0-ldflags.patch
227
228 ebegin "Changing pathes for gentoo"
229
230 sed \
231 -e 's-ConfigDirectory = VideoDirectory;-ConfigDirectory = CONFDIR;-' \
232 -i vdr.c
233
234 local DVBDIR=/usr/include
235
236 cat > Make.config <<-EOT
237 #
238 # Generated by ebuild ${PF}
239 #
240 PREFIX = /usr
241 DVBDIR = ${DVBDIR}
242 PLUGINLIBDIR = ${PLUGIN_LIBDIR}
243 CONFDIR = ${CONF_DIR}
244 VIDEODIR = /var/vdr/video
245 LOCDIR = \$(PREFIX)/share/vdr/locale
246
247 DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
248 INCLUDES += -I\$(DVBDIR)
249
250 EOT
251 eend 0
252
253 epatch "${FILESDIR}"/vdr-1.6.0-makefile-install-header.diff
254
255 if use dxr3; then
256 einfo "Applying dxr3 subtitle hack"
257 epatch "${FILESDIR}"/vdr-1.6.0-dxr3-subtitlehack.diff
258 fi
259
260 sed -i i18n-to-gettext.pl \
261 -e '/MSGIDBUGS/s/""/"automatically created from i18n.c by vdr-plugin.eclass <vdr\\@gentoo.org>"/'
262
263 # Do not install runvdr script and plugins
264 sed -i Makefile \
265 -e 's/runvdr//' \
266 -e 's/ install-plugins//'
267
268 if use vanilla; then
269 epatch "${FILESDIR}"/vdr-1.6.0-gcc-4.4.diff
270 else
271
272 cd "${S}"
273 # Now apply extensions patch
274 local fname="${EXT_DIR}/${PN}-${EXT_VDR_PV:-${PV}}_extensions.diff"
275
276 epatch "${fname}"
277
278 # Fix typo in Make.config.template
279 sed -e 's/CMDRECMDI18N/CMDRECCMDI18N/' -i Make.config.template
280
281 # other gentoo patches
282 # epatch "${FILESDIR}/..."
283 epatch "${FILESDIR}"/vdr-1.6.0-gcc-4.4.diff
284 epatch "${FILESDIR}"/vdr-1.6.0-extensions-72-gcc-4.4.diff
285
286 # This allows us to start even if some plugin does not exist
287 # or is not loadable.
288 enable_patch PLUGINMISSING
289
290 # Patch necessary for media-plugins/vdr-reelchannelscan
291 # it does not change anything when plugin is not used
292 enable_patch CHANNELSCAN
293
294 if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
295 einfo "Doing maintainer checks:"
296
297 # these patches we do not support
298 # (or have them already hard enabled)
299 local IGNORE_PATCHES="channelscan pluginapi pluginmissing streamdevext"
300
301 extensions_all_defines > "${T}"/new.IUSE
302 echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
303 $IGNORE_PATCHES | \
304 tr ' ' '\n' |sort > "${T}"/old.IUSE
305 local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
306 if [[ -z ${DIFFS} ]]; then
307 einfo "EXT_PATCH_FLAGS is up to date."
308 else
309 ewarn "IUSE differences!"
310 local diff
311 for diff in $DIFFS; do
312 ewarn "$diff"
313 done
314 fi
315 fi
316
317 ebegin "Enabling selected patches"
318 local flag
319 for flag in $EXT_PATCH_FLAGS; do
320 use $flag && enable_patch ${flag}
321 done
322
323 # patches that got renamed
324 use iptv && enable_patch pluginparam
325 use liemikuutio && enable_patch liemiext
326 eend 0
327
328 extensions_add_make_conf
329
330 ebegin "Make depend"
331 emake .dependencies >/dev/null
332 eend $? "make depend failed"
333
334 [[ -z "$NO_UNIFDEF" ]] && do_unifdef
335
336 use iptv && sed -i sources.conf -e 's/^#P/P/'
337 fi
338
339 # apply local patches defined by variable VDR_LOCAL_PATCHES_DIR
340 if test -n "${VDR_LOCAL_PATCHES_DIR}"; then
341 local dir_tmp_var
342 local LOCALPATCHES_SUBDIR=${PV}
343 for dir_tmp_var in allversions-fallback ${PV%_p*} ${PV} ; do
344 if [[ -d ${VDR_LOCAL_PATCHES_DIR}/${dir_tmp_var} ]]; then
345 LOCALPATCHES_SUBDIR="${dir_tmp_var}"
346 fi
347 done
348
349 echo
350 if [[ ${LOCALPATCHES_SUBDIR} == ${PV} ]]; then
351 einfo "Applying local patches"
352 else
353 einfo "Applying local patches (Using subdirectory: ${LOCALPATCHES_SUBDIR})"
354 fi
355
356 for LOCALPATCH in ${VDR_LOCAL_PATCHES_DIR}/${LOCALPATCHES_SUBDIR}/*.{diff,patch}; do
357 test -f "${LOCALPATCH}" && epatch "${LOCALPATCH}"
358 done
359 fi
360
361 if [[ -n "${VDRSOURCE_DIR}" ]]; then
362 cp -r "${S}" "${T}"/source-tree
363 fi
364
365 add_cap CAP_UTF8
366
367 add_cap CAP_IRCTRL_RUNTIME_PARAM \
368 CAP_VFAT_RUNTIME_PARAM \
369 CAP_CHUID \
370 CAP_SHUTDOWN_AUTO_RETRY
371
372 echo -e ${CAPS} > "${CAP_FILE}"
373 }
374
375 src_install() {
376 # trick makefile not to create a videodir by supplying it with an existing
377 # directory
378 emake install DESTDIR="${D}" VIDEODIR="/" || die "emake install failed"
379
380 keepdir "${CONF_DIR}"/plugins
381 keepdir "${CONF_DIR}"/themes
382
383 keepdir "${PLUGIN_LIBDIR}"
384
385 exeinto /usr/share/vdr/bin
386 doexe i18n-to-gettext.pl
387
388 dohtml *.html
389 dodoc MANUAL INSTALL README* HISTORY* CONTRIBUTORS
390
391 cd "${EXT_DIR}/docs" || die "Could not cd into extensions-patch doc dir."
392
393 local f
394 rm *vdr-1.4* 2>/dev/null
395 for f in *; do
396 [[ -f ${f} ]] || continue
397 newdoc "${f}" "${f}".ExtensionsPatch || die "Could not install extensions-patch doc ${f}"
398 done
399
400 cd "${S}"
401
402 insinto /usr/share/vdr
403 doins "${CAP_FILE}"
404
405 if [[ -n "${VDRSOURCE_DIR}" ]]; then
406 local SOURCES_DEST="${VDRSOURCE_DIR}/${P/_p/-}"
407 einfo "Installing sources"
408 insinto "${SOURCES_DEST}"
409 doins -r "${T}"/source-tree/*
410 keepdir "${SOURCES_DEST}"/PLUGINS/lib
411 fi
412
413 if use setup; then
414 insinto /usr/share/vdr/setup
415 doins "${S}"/menu.c
416 fi
417 chown -R vdr:vdr "${D}/${CONF_DIR}"
418 }
419
420 pkg_preinst() {
421 has_version "<${CATEGORY}/${PN}-1.3.36-r3"
422 previous_less_than_1_3_36_r3=$?
423
424 has_version "<${CATEGORY}/${PN}-1.6.0"
425 previous_less_than_1_6_0=$?
426 }
427
428 pkg_postinst() {
429 elog "It is a good idea to run vdrplugin-rebuild now."
430 if [[ $previous_less_than_1_3_36_r3 = 0 ]] ; then
431 ewarn "Upgrade Info:"
432 ewarn
433 ewarn "If you had used the use-flags lirc, rcu or vfat"
434 ewarn "then, you now have to enable the associated functionality"
435 ewarn "in /etc/conf.d/vdr"
436 ewarn
437 ewarn "vfat is now set with VFAT_FILENAMES."
438 ewarn "lirc/rcu are now set with IR_CTRL."
439 ebeep
440 fi
441
442 if use setup; then
443 if ! has_version media-plugins/vdr-setup || \
444 ! egrep -q '^setup$' "${ROOT}/etc/conf.d/vdr.plugins"; then
445
446 echo
447 ewarn "You have compiled media-video/vdr with USE=\"setup\""
448 ewarn "It is very important to emerge media-plugins/vdr-setup now!"
449 ewarn "and you have to loaded it in /etc/conf.d/vdr.plugins"
450 fi
451 fi
452
453 local keysfound=0
454 local key
455 local warn_keys="JumpFwd JumpRew JumpFwdSlow JumpRewSlow"
456 local remote_file="${ROOT}"/etc/vdr/remote.conf
457
458 if [[ -e ${remote_file} ]]; then
459 for key in ${warn_keys}; do
460 if grep -q -i "\.${key} " "${remote_file}"; then
461 keysfound=1
462 break
463 fi
464 done
465 if [[ ${keysfound} == 1 ]]; then
466 ewarn "Your /etc/vdr/remote.conf contains keys which are no longer usable"
467 ewarn "Please remove these keys or vdr will not start:"
468 ewarn "# ${warn_keys}"
469 fi
470 fi
471
472 if use atsc; then
473 ewarn "ATSC is only supported by a rudimentary patch"
474 einfo "and need at least this patch and a plugin installed"
475 einfo "emerge media-plugins/vdr-atscepg"
476 fi
477
478 if [[ $previous_less_than_1_6_0 = 0 ]]; then
479 elog "By default vdr is now started with utf8 character encoding"
480 elog
481 elog "To rename the old recordings to utf8 conforming names, do this:"
482 elog "\temerge app-text/convmv"
483 elog "\tconvmv -f latin1 -t utf8 -r --notest -i /var/vdr/video/"
484 elog
485 elog "To fix the descriptions of your recordings do this:"
486 elog "\tfind /var/vdr/video/ -name "info.vdr" -print0|xargs -0 recode latin1..utf8"
487 fi
488
489 elog "To get nice symbols in OSD we recommend to install"
490 elog "\t1. emerge media-fonts/vdrsymbols-ttf"
491 elog "\t2. select font VDRSymbolsSans in Setup"
492 elog ""
493 elog "To get an idea how to proceed now, have a look at our vdr-guide:"
494 elog "\thttp://www.gentoo.org/doc/en/vdr-guide.xml"
495 }