Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
Date: Wed, 31 Jul 2019 14:36:26
Message-Id: 1564583774.85b3527f9c3bddee3f2f3c0589ca1f994b28f2b9.asturm@gentoo
1 commit: 85b3527f9c3bddee3f2f3c0589ca1f994b28f2b9
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jul 31 14:33:24 2019 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Wed Jul 31 14:36:14 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85b3527f
7
8 media-video/vdr: Restore 2.0.6-r1...
9
10 media-plugins/vdr-pvr350 requires >=media-video/vdr-2[yaepg]...
11
12 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
13
14 media-video/vdr/Manifest | 2 +
15 media-video/vdr/files/vdr-2.0.6_gentoo.patch | 68 +++++++
16 media-video/vdr/metadata.xml | 9 +
17 media-video/vdr/vdr-2.0.6-r1.ebuild | 277 +++++++++++++++++++++++++++
18 4 files changed, 356 insertions(+)
19
20 diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
21 index dac0f69a4e8..e9b20f623a1 100644
22 --- a/media-video/vdr/Manifest
23 +++ b/media-video/vdr/Manifest
24 @@ -1,2 +1,4 @@
25 +DIST extpng-vdr-2.0.6-gentoo-edition-v6.patch.bz2 69472 BLAKE2B 60669e9c20b2bd573eb05733bbf9548d2e643b36693be8b15a377b38470708a71b29e2a16baf7ed378132265f814ec9d35dae749ccf6ae204cd9beb787dc8f57 SHA512 f4ecb786ec5a026fa75fcf539518e80273bf43fc325c13a380c70eb85351910efa991b3ee71ca477e597bc2b4598a18620b6cf00fc02714acfcc4e6112d84b6c
26 DIST extpng-vdr-2.2.0-gentoo-edition-v1.patch.bz2 34664 BLAKE2B 81b68ebe0ef4588c3676f0b7a2c766d8d4d4f754a987b3be5868f3c6eff9158d4cea8e492ca81df535e637dbdc5baff638d1fafb4163e9d9a2d0125aba17e2e1 SHA512 16d6fbb8201f003dfe653b6a49424b794d7e697e27ad6f2383dbe17b76712ea5a3da88a676900b84d75ff7425bf3eb9084d60a89a4598758f482dc1f013f7b3e
27 +DIST vdr-2.0.6.tar.bz2 839575 BLAKE2B 40de46d8465b7008bc29c7e2c1c241d4114aa3d62aa6a0acd81636133c295cd87c2fc618e725885c98f47445220e897c23188373457a96b51cf832ca417c9842 SHA512 070ebbfb85478887088567872a71744305dbf9c75de8b095a8fe46d883b0b4fe140539caeb2243715f42793a45790a127542655f549f7ea3cb71c4f9912fa07d
28 DIST vdr-2.2.0.tar.bz2 922708 BLAKE2B 975e07d6d4c5bd13ee92be5d6a1826d6404b0c59e20fa2e30689b185a61e02d54782ad528e6a4f15e0d36806b30bcf48aa336d63adb3604e78056ff318e0fd2c SHA512 183f58133915c6c0fe8ec2b88becbcb2a36418210e6dcf7931053d3771d727c3581593f9eb5c9693abf39e22e728f7b41c42079cd704610c3636ec05134ea93d
29
30 diff --git a/media-video/vdr/files/vdr-2.0.6_gentoo.patch b/media-video/vdr/files/vdr-2.0.6_gentoo.patch
31 new file mode 100644
32 index 00000000000..1641fc8e2ee
33 --- /dev/null
34 +++ b/media-video/vdr/files/vdr-2.0.6_gentoo.patch
35 @@ -0,0 +1,68 @@
36 +diff -Naur vdr-2.0.6.orig/Makefile vdr-2.0.6/Makefile
37 +--- vdr-2.0.6.orig/Makefile 2014-09-22 22:17:23.000000000 +0200
38 ++++ vdr-2.0.6/Makefile 2014-09-24 15:22:43.000000000 +0200
39 +@@ -109,7 +109,7 @@
40 + VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
41 + APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
42 +
43 +-all: vdr i18n plugins
44 ++all: vdr i18n
45 +
46 + # Implicit rules:
47 +
48 +@@ -162,7 +162,7 @@
49 +
50 + PODIR = po
51 + LOCALEDIR = locale
52 +-I18Npo = $(wildcard $(PODIR)/*.po)
53 ++I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po))
54 + I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
55 + I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
56 + I18Npot = $(PODIR)/vdr.pot
57 +@@ -185,7 +185,7 @@
58 +
59 + install-i18n: i18n
60 + @mkdir -p $(DESTDIR)$(LOCDIR)
61 +- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
62 ++ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done)
63 +
64 + # The 'include' directory (for plugins):
65 +
66 +@@ -247,7 +247,7 @@
67 +
68 + # Install the files (note that 'install-pc' must be first!):
69 +
70 +-install: install-pc install-bin install-dirs install-conf install-doc install-plugins install-i18n install-includes
71 ++install: install-pc install-bin install-dirs install-conf install-doc install-i18n install-includes
72 +
73 + # VDR binary:
74 +
75 +@@ -259,11 +259,12 @@
76 +
77 + install-dirs:
78 + @mkdir -p $(DESTDIR)$(VIDEODIR)
79 +- @mkdir -p $(DESTDIR)$(CONFDIR)
80 +- @mkdir -p $(DESTDIR)$(CACHEDIR)
81 ++# @mkdir -p $(DESTDIR)$(CONFDIR)
82 ++# @mkdir -p $(DESTDIR)$(CACHEDIR)
83 + @mkdir -p $(DESTDIR)$(RESDIR)
84 +
85 + install-conf:
86 ++ @mkdir -p $(DESTDIR)$(CONFDIR)
87 + @cp -pn *.conf $(DESTDIR)$(CONFDIR)
88 +
89 + # Documentation:
90 +@@ -290,8 +291,11 @@
91 + # Includes:
92 +
93 + install-includes: include-dir
94 +- @mkdir -p $(DESTDIR)$(INCDIR)
95 +- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
96 ++# @mkdir -p $(DESTDIR)$(INCDIR)
97 ++# @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
98 ++ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
99 ++ @cp -pLR include/vdr $(DESTDIR)$(INCDIR)
100 ++ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr
101 +
102 + # pkg-config file:
103 +
104
105 diff --git a/media-video/vdr/metadata.xml b/media-video/vdr/metadata.xml
106 index f9813be524f..8ebb4b08a51 100644
107 --- a/media-video/vdr/metadata.xml
108 +++ b/media-video/vdr/metadata.xml
109 @@ -8,16 +8,25 @@
110 <use>
111 <flag name="alternatechannel">Use alternate channel on record</flag>
112 <flag name="bidi">fribidi support, for languages, written from right to left</flag>
113 + <flag name="ddepgentry">remove duplicate EPG entries</flag>
114 + <flag name="dvlvidprefer">controls video-dir choice on recording</flag>
115 <flag name="graphtft">support for vdr-graphtft plugin up from version 0.1.7</flag>
116 <flag name="html">Install HTML documentation</flag>
117 + <flag name="jumpplay">Enables automatic jumping over cut marks while watching a recording</flag>
118 + <flag name="jumpingseconds">skip seconds in played records</flag>
119 <flag name="kbd">enable keyboard support as remote device</flag>
120 <flag name="mainmenuhooks">Allows to replace main menu entries by some special plugins (like epgsearch, extrecmenu, ...)</flag>
121 <flag name="menuorg">Enables support for the <pkg>media-plugins/vdr-menuorg</pkg></flag>
122 <flag name="menuselection">adds support for menu hotkeys of double digits</flag>
123 <flag name="naludump">Removes NALU fill data from h.264-Streams of TS files</flag>
124 + <flag name="permashift">permanent timeshift by recording live TV on hard disk, need plugin <pkg>media-plugins/vdr-permashift</pkg></flag>
125 <flag name="permashift_v1">permanent timeshift by recording live TV on RAM, need plugin &gt;=mediaplugins/vdr-permashift-1</flag>
126 <flag name="pinplugin">Support for <pkg>media-plugins/vdr-pin</pkg></flag>
127 <flag name="resumereset">rreset resume of EOF</flag>
128 + <flag name="rotor">Enable support for plugin vdr-rotor for dish-positioner.</flag>
129 <flag name="ttxtsubs">support for <pkg>media-plugins/vdr-ttxtsubs</pkg></flag>
130 + <flag name="vasarajanauloja">replacement for the liemikuutio patch, adds some nice must haves features</flag>
131 + <flag name="wareagleicon">Replace original icon set in menu</flag>
132 + <flag name="yaepg">Enables support for the vdr-yaepg plugin</flag>
133 </use>
134 </pkgmetadata>
135
136 diff --git a/media-video/vdr/vdr-2.0.6-r1.ebuild b/media-video/vdr/vdr-2.0.6-r1.ebuild
137 new file mode 100644
138 index 00000000000..63de150c12f
139 --- /dev/null
140 +++ b/media-video/vdr/vdr-2.0.6-r1.ebuild
141 @@ -0,0 +1,277 @@
142 +# Copyright 1999-2015 Gentoo Foundation
143 +# Distributed under the terms of the GNU General Public License v2
144 +
145 +EAPI=5
146 +
147 +inherit eutils flag-o-matic multilib toolchain-funcs
148 +
149 +# Switches supported by extensions-patch
150 +EXT_PATCH_FLAGS="alternatechannel ddepgentry dvlvidprefer graphtft
151 + jumpplay jumpingseconds mainmenuhooks menuorg naludump permashift permashift_v1
152 + pinplugin rotor ttxtsubs vasarajanauloja wareagleicon yaepg"
153 +
154 +# names of the use-flags
155 +EXT_PATCH_FLAGS_RENAMED=""
156 +
157 +# names ext-patch uses internally, here only used for maintainer checks
158 +EXT_PATCH_FLAGS_RENAMED_EXT_NAME=""
159 +
160 +IUSE="bidi debug html vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
161 +
162 +MY_PV="${PV%_p*}"
163 +MY_P="${PN}-${MY_PV}"
164 +S="${WORKDIR}/${MY_P}"
165 +
166 +EXT_P="extpng-${P}-gentoo-edition-v6"
167 +
168 +DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
169 +HOMEPAGE="http://www.tvdr.de/"
170 +SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
171 + https://dev.gentoo.org/~hd_brummy/distfiles/${EXT_P}.patch.bz2"
172 +
173 +KEYWORDS="amd64 ~arm ~ppc x86"
174 +SLOT="0"
175 +LICENSE="GPL-2"
176 +
177 +REQUIRED_USE="
178 + permashift? ( !permashift_v1 )
179 + permashift_v1? ( !permashift )"
180 +
181 +COMMON_DEPEND="virtual/jpeg:*
182 + sys-libs/libcap
183 + >=media-libs/fontconfig-2.4.2
184 + >=media-libs/freetype-2"
185 +
186 +DEPEND="${COMMON_DEPEND}
187 + >=virtual/linuxtv-dvb-headers-5.3
188 + sys-devel/gettext"
189 +
190 +RDEPEND="${COMMON_DEPEND}
191 + dev-lang/perl
192 + >=media-tv/gentoo-vdr-scripts-2.5_rc1
193 + media-fonts/corefonts
194 + bidi? ( dev-libs/fribidi )"
195 +
196 +CONF_DIR=/etc/vdr
197 +CAP_FILE=${S}/capabilities.sh
198 +CAPS="# Capabilities of the vdr-executable for use by startscript etc."
199 +
200 +pkg_setup() {
201 + use debug && append-flags -g
202 +
203 + PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
204 +
205 + tc-export CC CXX AR
206 +}
207 +
208 +add_cap() {
209 + local arg
210 + for arg; do
211 + CAPS="${CAPS}\n${arg}=1"
212 + done
213 +}
214 +
215 +enable_patch() {
216 + local arg ARG_UPPER
217 + for arg; do
218 + ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]')
219 + echo "${ARG_UPPER} = 1" >> Make.config
220 +
221 + # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
222 + echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp
223 + cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE
224 + export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
225 + done
226 +}
227 +
228 +extensions_add_make_conf()
229 +{
230 + # copy all ifdef for extensions-patch to Make.config
231 + sed -e '1,/need to touch the following:/d' \
232 + -e '/need to touch the following/,/^$/d' \
233 + Make.config.template >> Make.config
234 +}
235 +
236 +extensions_all_defines() {
237 + # extract all possible settings for extensions-patch
238 + sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
239 + Make.config.template \
240 + | sort \
241 + | tr '[:upper:]' '[:lower:]'
242 +}
243 +
244 +lang_po() {
245 + LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
246 +}
247 +
248 +src_prepare() {
249 + # apply maintainace-patches
250 + ebegin "Changing paths for gentoo"
251 +
252 + local DVBDIR=/usr/include
253 + local i
254 + for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
255 + [[ -d ${i} ]] || continue
256 + if [[ -f ${i}/linux/dvb/dmx.h ]]; then
257 + einfo "Found DVB header files in ${i}"
258 + DVBDIR=${i}
259 + break
260 + fi
261 + done
262 +
263 + # checking for s2api headers
264 + local api_version
265 + api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
266 + api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
267 +
268 + if [[ ${api_version:-0} -lt 5*3 ]]; then
269 + eerror "DVB header files do not contain s2api support or too old for ${P}"
270 + eerror "You cannot compile VDR against old dvb-header"
271 + die "DVB headers too old"
272 + fi
273 +
274 + cat > Make.config <<-EOT
275 + #
276 + # Generated by ebuild ${PF}
277 + #
278 + PREFIX = /usr
279 + DVBDIR = ${DVBDIR}
280 + PLUGINLIBDIR = ${PLUGIN_LIBDIR}
281 + CONFDIR = ${CONF_DIR}
282 + VIDEODIR = /var/vdr/video
283 + LOCDIR = \$(PREFIX)/share/locale
284 + INCDIR = \$(PREFIX)/include
285 +
286 + DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
287 + INCLUDES += -I\$(DVBDIR)
288 +
289 + # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
290 + # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
291 + LIBDIR = ${PLUGIN_LIBDIR}
292 + PCDIR = /usr/$(get_libdir)/pkgconfig
293 + EOT
294 + eend 0
295 +
296 + # support languages, written from right to left
297 + BUILD_PARAMS+=" BIDI=$(usex bidi 1 0)"
298 +
299 + epatch "${FILESDIR}/${PN}-2.0.6_gentoo.patch"
300 +
301 + if ! use vanilla; then
302 +
303 + # Now apply extensions patch
304 + epatch "${WORKDIR}/${EXT_P}.patch"
305 +
306 + # This allows us to start even if some plugin does not exist
307 + # or is not loadable.
308 + enable_patch PLUGINMISSING
309 + enable_patch CHANNELBIND
310 +
311 + if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
312 + einfo "Doing maintainer checks:"
313 +
314 + # we do not support these patches
315 + # (or have them already hard enabled)
316 + local IGNORE_PATCHES="pluginmissing channelbind"
317 +
318 + extensions_all_defines > "${T}"/new.IUSE
319 + echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
320 + $IGNORE_PATCHES | \
321 + tr ' ' '\n' |sort > "${T}"/old.IUSE
322 + local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
323 + if [[ -z ${DIFFS} ]]; then
324 + einfo "EXT_PATCH_FLAGS is up to date."
325 + else
326 + ewarn "IUSE differences!"
327 + local diff
328 + for diff in $DIFFS; do
329 + ewarn "$diff"
330 + done
331 + fi
332 + fi
333 +
334 + ebegin "Enabling selected patches"
335 + local flag
336 + for flag in $EXT_PATCH_FLAGS; do
337 + use $flag && enable_patch ${flag}
338 + done
339 +
340 + eend 0
341 +
342 + extensions_add_make_conf
343 +
344 + # add defined use-flags compile options to vdr.pc
345 + sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
346 + -i Makefile
347 +
348 + ebegin "Make depend"
349 + emake .dependencies >/dev/null
350 + eend $? "make depend failed"
351 + fi
352 +
353 + epatch_user
354 +
355 + add_cap CAP_UTF8
356 +
357 + add_cap CAP_IRCTRL_RUNTIME_PARAM \
358 + CAP_VFAT_RUNTIME_PARAM \
359 + CAP_CHUID \
360 + CAP_SHUTDOWN_AUTO_RETRY
361 +
362 + echo -e ${CAPS} > "${CAP_FILE}"
363 +
364 + # LINGUAS support
365 + einfo "\n \t VDR supports the LINGUAS values"
366 +
367 + lang_po
368 +
369 + einfo "\t Please set one of this values in your sytem make.conf"
370 + einfo "\t LINGUAS=\"${LING_PO}\"\n"
371 +
372 + if [[ -z ${LINGUAS} ]]; then
373 + einfo "\n \t No values in LINGUAS="
374 + einfo "\t You will get only english text on OSD \n"
375 + fi
376 +
377 + strip-linguas ${LING_PO} en
378 +}
379 +
380 +src_install() {
381 +# # trick makefile not to create a videodir by supplying it with an existing
382 +# # directory
383 + emake \
384 + VIDEODIR="/" \
385 + DESTDIR="${D}" install || die "emake install failed"
386 +
387 + keepdir "${PLUGIN_LIBDIR}"
388 +
389 + keepdir "${CONF_DIR}"/plugins
390 + keepdir "${CONF_DIR}"/themes
391 +
392 + if use html; then
393 + dohtml *.html
394 + fi
395 +
396 + dodoc MANUAL INSTALL README* HISTORY CONTRIBUTORS
397 +
398 + insinto /usr/share/vdr
399 + doins "${CAP_FILE}"
400 +
401 + if use alternatechannel; then
402 + insinto /etc/vdr
403 + doins "${FILESDIR}"/channel_alternative.conf
404 + fi
405 +
406 + chown -R vdr:vdr "${D}/${CONF_DIR}"
407 +}
408 +
409 +pkg_postinst() {
410 + elog "It is a good idea to run vdrplugin-rebuild now."
411 +
412 + elog "To get nice symbols in OSD we recommend to install"
413 + elog "\t1. emerge media-fonts/vdrsymbols-ttf"
414 + elog "\t2. select font VDRSymbolsSans in Setup"
415 + elog ""
416 + elog "To get an idea how to proceed now, have a look at our vdr-guide:"
417 + elog "\thttps://wiki.gentoo.org/wiki/VDR"
418 +}