* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2018-07-15 15:06 Joerg Bornkessel
0 siblings, 0 replies; 11+ messages in thread
From: Joerg Bornkessel @ 2018-07-15 15:06 UTC (permalink / raw
To: gentoo-commits
commit: 83a666612b950d27baf88c9de51e33dbd1f8ea67
Author: Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 15 15:05:47 2018 +0000
Commit: Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
CommitDate: Sun Jul 15 15:05:47 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83a66661
media-video/vdr: fix gcc-7.2 issue, wrt bug 638348; cleanup
Package-Manager: Portage-2.3.41, Repoman-2.3.9
media-video/vdr/files/vdr-2.0.6-r2_gentoo.patch | 73 --------------
.../vdr/files/vdr-2.2.0_unsignedtosigned.patch | 112 +++++++++++++++++++++
.../{vdr-2.2.0-r2.ebuild => vdr-2.2.0-r3.ebuild} | 24 +++--
3 files changed, 125 insertions(+), 84 deletions(-)
diff --git a/media-video/vdr/files/vdr-2.0.6-r2_gentoo.patch b/media-video/vdr/files/vdr-2.0.6-r2_gentoo.patch
deleted file mode 100644
index 516bb7b7254..00000000000
--- a/media-video/vdr/files/vdr-2.0.6-r2_gentoo.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-disabled plugin install from vdr source, we dont support this way
-patch to support LINGUAS variable
-fixed install on multicore cpu, creating CONFDIR on later time
-install libsi includes in own dir
-Signed-of-by: Joerg Bornkessel <hd_brummy@gentoo.org> 20/Jan/2015
-diff -Naur vdr-2.0.6.orig/Makefile vdr-2.0.6/Makefile
---- vdr-2.0.6.orig/Makefile 2014-09-22 22:17:23.000000000 +0200
-+++ vdr-2.0.6/Makefile 2014-09-24 15:22:43.000000000 +0200
-@@ -109,7 +109,7 @@
- VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
- APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
-
--all: vdr i18n plugins
-+all: vdr i18n
-
- # Implicit rules:
-
-@@ -162,7 +162,7 @@
-
- PODIR = po
- LOCALEDIR = locale
--I18Npo = $(wildcard $(PODIR)/*.po)
-+I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po))
- I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
- I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
- I18Npot = $(PODIR)/vdr.pot
-@@ -185,7 +185,7 @@
-
- install-i18n: i18n
- @mkdir -p $(DESTDIR)$(LOCDIR)
-- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
-+ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done)
-
- # The 'include' directory (for plugins):
-
-@@ -247,7 +247,7 @@
-
- # Install the files (note that 'install-pc' must be first!):
-
--install: install-pc install-bin install-dirs install-conf install-doc install-plugins install-i18n install-includes
-+install: install-pc install-bin install-dirs install-conf install-doc install-i18n install-includes
-
- # VDR binary:
-
-@@ -259,11 +259,12 @@
-
- install-dirs:
- @mkdir -p $(DESTDIR)$(VIDEODIR)
-- @mkdir -p $(DESTDIR)$(CONFDIR)
-- @mkdir -p $(DESTDIR)$(CACHEDIR)
-+# @mkdir -p $(DESTDIR)$(CONFDIR)
-+# @mkdir -p $(DESTDIR)$(CACHEDIR)
- @mkdir -p $(DESTDIR)$(RESDIR)
-
- install-conf:
-+ @mkdir -p $(DESTDIR)$(CONFDIR)
- @cp -pn *.conf $(DESTDIR)$(CONFDIR)
-
- # Documentation:
-@@ -290,8 +291,11 @@
- # Includes:
-
- install-includes: include-dir
-- @mkdir -p $(DESTDIR)$(INCDIR)
-- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+# @mkdir -p $(DESTDIR)$(INCDIR)
-+# @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
-+ @cp -pLR include/vdr $(DESTDIR)$(INCDIR)
-+ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr
-
- # pkg-config file:
-
diff --git a/media-video/vdr/files/vdr-2.2.0_unsignedtosigned.patch b/media-video/vdr/files/vdr-2.2.0_unsignedtosigned.patch
new file mode 100644
index 00000000000..dd04abe1e2e
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.2.0_unsignedtosigned.patch
@@ -0,0 +1,112 @@
+compile fix for gcc-7.2
+this will only attache the core vdr, not the extpatch-ng
+https://www.linuxtv.org/pipermail/vdr/2017-March/029229.html
+
+Signed-of by: Joerg Bornkessel <hd_brummy@gentoo.org> (2018/07/15)
+diff -Naur vdr-2.2.0.orig/diseqc.c vdr-2.2.0/diseqc.c
+--- vdr-2.2.0.orig/diseqc.c 2018-07-15 15:59:17.000000000 +0200
++++ vdr-2.2.0/diseqc.c 2018-07-15 16:04:00.000000000 +0200
+@@ -253,10 +253,10 @@
+ return result;
+ }
+
+-uint cDiseqc::SetScrFrequency(uint SatFrequency, const cScr *Scr, uint8_t *Codes) const
++int cDiseqc::SetScrFrequency(int SatFrequency, const cScr *Scr, uint8_t *Codes) const
+ {
+ if ((Codes[0] & 0xF0) == 0x70 ) { // EN50607 aka JESS
+- uint t = SatFrequency == 0 ? 0 : (SatFrequency - 100);
++ int t = SatFrequency == 0 ? 0 : (SatFrequency - 100);
+ if (t < 2048 && Scr->Channel() >= 0 && Scr->Channel() < 32) {
+ Codes[1] = t >> 8 | Scr->Channel() << 3;
+ Codes[2] = t;
+@@ -266,7 +266,7 @@
+ }
+ }
+ else { // EN50494 aka Unicable
+- uint t = SatFrequency == 0 ? 0 : (SatFrequency + Scr->UserBand() + 2) / 4 - 350; // '+ 2' together with '/ 4' results in rounding!
++ int t = SatFrequency == 0 ? 0 : (SatFrequency + Scr->UserBand() + 2) / 4 - 350; // '+ 2' together with '/ 4' results in rounding!
+ if (t < 1024 && Scr->Channel() >= 0 && Scr->Channel() < 8) {
+ Codes[3] = t >> 8 | (t == 0 ? 0 : scrBank << 2) | Scr->Channel() << 5;
+ Codes[4] = t;
+@@ -399,7 +399,7 @@
+ return NULL;
+ }
+
+-cDiseqc::eDiseqcActions cDiseqc::Execute(const char **CurrentAction, uchar *Codes, uint8_t *MaxCodes, const cScr *Scr, uint *Frequency) const
++cDiseqc::eDiseqcActions cDiseqc::Execute(const char **CurrentAction, uchar *Codes, uint8_t *MaxCodes, const cScr *Scr, int *Frequency) const
+ {
+ if (!*CurrentAction)
+ *CurrentAction = commands;
+diff -Naur vdr-2.2.0.orig/diseqc.h vdr-2.2.0/diseqc.h
+--- vdr-2.2.0.orig/diseqc.h 2018-07-15 15:59:17.000000000 +0200
++++ vdr-2.2.0/diseqc.h 2018-07-15 16:02:11.000000000 +0200
+@@ -86,7 +86,7 @@
+ mutable int scrBank;
+ char *commands;
+ bool parsing;
+- uint SetScrFrequency(uint SatFrequency, const cScr *Scr, uint8_t *Codes) const;
++ int SetScrFrequency(int SatFrequency, const cScr *Scr, uint8_t *Codes) const;
+ int SetScrPin(const cScr *Scr, uint8_t *Codes) const;
+ const char *Wait(const char *s) const;
+ const char *GetPosition(const char *s) const;
+@@ -96,7 +96,7 @@
+ cDiseqc(void);
+ ~cDiseqc();
+ bool Parse(const char *s);
+- eDiseqcActions Execute(const char **CurrentAction, uchar *Codes, uint8_t *MaxCodes, const cScr *Scr, uint *Frequency) const;
++ eDiseqcActions Execute(const char **CurrentAction, uchar *Codes, uint8_t *MaxCodes, const cScr *Scr, int *Frequency) const;
+ ///< Parses the DiSEqC commands and returns the appropriate action code
+ ///< with every call. CurrentAction must be the address of a character pointer,
+ ///< which is initialized to NULL. This pointer is used internally while parsing
+diff -Naur vdr-2.2.0.orig/dvbdevice.c vdr-2.2.0/dvbdevice.c
+--- vdr-2.2.0.orig/dvbdevice.c 2018-07-15 15:59:17.000000000 +0200
++++ vdr-2.2.0/dvbdevice.c 2018-07-15 16:02:11.000000000 +0200
+@@ -329,7 +329,7 @@
+ void ClearEventQueue(void) const;
+ bool GetFrontendStatus(fe_status_t &Status) const;
+ cPositioner *GetPositioner(void);
+- void ExecuteDiseqc(const cDiseqc *Diseqc, unsigned int *Frequency);
++ void ExecuteDiseqc(const cDiseqc *Diseqc, int *Frequency);
+ void ResetToneAndVoltage(void);
+ bool SetFrontend(void);
+ virtual void Action(void);
+@@ -696,7 +696,7 @@
+ return positioner;
+ }
+
+-void cDvbTuner::ExecuteDiseqc(const cDiseqc *Diseqc, unsigned int *Frequency)
++void cDvbTuner::ExecuteDiseqc(const cDiseqc *Diseqc, int *Frequency)
+ {
+ if (!lnbPowerTurnedOn) {
+ CHECK(ioctl(fd_frontend, FE_SET_VOLTAGE, SEC_VOLTAGE_13)); // must explicitly turn on LNB power
+@@ -806,7 +806,7 @@
+
+ SETCMD(DTV_DELIVERY_SYSTEM, frontendType);
+ if (frontendType == SYS_DVBS || frontendType == SYS_DVBS2) {
+- unsigned int frequency = channel.Frequency();
++ int frequency = channel.Frequency();
+ if (Setup.DiSEqC) {
+ if (const cDiseqc *diseqc = Diseqcs.Get(device->CardIndex() + 1, channel.Source(), frequency, dtp.Polarization(), &scr)) {
+ frequency -= diseqc->Lof();
+@@ -829,7 +829,7 @@
+ }
+ else {
+ int tone = SEC_TONE_OFF;
+- if (frequency < (unsigned int)Setup.LnbSLOF) {
++ if (frequency < Setup.LnbSLOF) {
+ frequency -= Setup.LnbFrequLo;
+ tone = SEC_TONE_OFF;
+ }
+diff -Naur vdr-2.2.0.orig/remux.c vdr-2.2.0/remux.c
+--- vdr-2.2.0.orig/remux.c 2018-07-15 15:59:17.000000000 +0200
++++ vdr-2.2.0/remux.c 2018-07-15 16:02:11.000000000 +0200
+@@ -1654,7 +1654,7 @@
+ Div += parser->IFrameTemporalReferenceOffset();
+ if (Div <= 0)
+ Div = 1;
+- uint32_t Delta = ptsValues[0] / Div;
++ int Delta = ptsValues[0] / Div;
+ // determine frame info:
+ if (isVideo) {
+ if (abs(Delta - 3600) <= 1)
+diff -Naur vdr-2.2.0.orig/remux.c.orig vdr-2.2.0/remux.c.orig
diff --git a/media-video/vdr/vdr-2.2.0-r2.ebuild b/media-video/vdr/vdr-2.2.0-r3.ebuild
similarity index 93%
rename from media-video/vdr/vdr-2.2.0-r2.ebuild
rename to media-video/vdr/vdr-2.2.0-r3.ebuild
index 6062fc62c64..2b4a137a165 100644
--- a/media-video/vdr/vdr-2.2.0-r2.ebuild
+++ b/media-video/vdr/vdr-2.2.0-r3.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit flag-o-matic toolchain-funcs
+inherit eutils flag-o-matic toolchain-funcs
# Switches supported by extensions-patch
EXT_PATCH_FLAGS="alternatechannel graphtft naludump permashift_v1 pinplugin
@@ -186,7 +186,7 @@ src_prepare() {
tr ' ' '\n' |sort > "${T}"/old.IUSE
local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
if [[ -z ${DIFFS} ]]; then
- einfo "EXT_PATCH_FLAGS is up to date."
+ einfo "EXT_PATCH_FLAGS are up to date."
else
ewarn "IUSE differences!"
local diff
@@ -215,7 +215,9 @@ src_prepare() {
eend $? "make depend failed"
fi
- eapply "${FILESDIR}/${P}-r2_gentoo.patch"
+ eapply "${FILESDIR}/${P}_gentoo.patch"
+ #gcc-7.2, this will fix only the core vdr, not the extpatch
+ eapply "${FILESDIR}/${P}_unsignedtosigned.patch"
# fix some makefile issues
sed -e "s:ifndef NO_KBD:ifeq (\$(USE_KBD),1):" \
@@ -234,16 +236,16 @@ src_prepare() {
echo -e ${CAPS} > "${CAP_FILE}"
- # L10N support
- einfo "\n \t VDR supports the L10N values"
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
lang_po
einfo "\t Please set one of this values in your sytem make.conf"
- einfo "\t L10N=\"${LING_PO}\"\n"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
- if [[ -z ${L10N} ]]; then
- einfo "\n \t No values in L10N="
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
einfo "\t You will get only english text on OSD \n"
fi
@@ -255,7 +257,7 @@ src_install() {
# directory
emake install \
VIDEODIR="/" \
- DESTDIR="${D}" install || die "emake install failed"
+ DESTDIR="${D%/}" install || die "emake install failed"
keepdir "${PLUGIN_LIBDIR}"
@@ -278,7 +280,7 @@ src_install() {
doins "${FILESDIR}"/channel_alternative.conf
fi
- chown -R vdr:vdr "${D}/${CONF_DIR}"
+ chown -R vdr:vdr "${D%/}/${CONF_DIR}"
}
pkg_postinst() {
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2018-09-02 21:32 Joerg Bornkessel
0 siblings, 0 replies; 11+ messages in thread
From: Joerg Bornkessel @ 2018-09-02 21:32 UTC (permalink / raw
To: gentoo-commits
commit: 99d096c75cc5a13e96a8a3438df6fd93412ce06a
Author: Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 2 21:32:11 2018 +0000
Commit: Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
CommitDate: Sun Sep 2 21:32:11 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99d096c7
media-video/vdr: cleanup old
Package-Manager: Portage-2.3.48, Repoman-2.3.10
media-video/vdr/Manifest | 3 -
media-video/vdr/files/vdr-2.0.6_gentoo.patch | 68 ----
.../vdr/files/vdr-2.0.7_systemd_argsdir.patch | 438 ---------------------
.../files/vdr-2.0.7_systemd_argsdir_vanilla.patch | 438 ---------------------
media-video/vdr/metadata.xml | 9 -
media-video/vdr/vdr-2.0.6-r1.ebuild | 277 -------------
media-video/vdr/vdr-2.0.7.ebuild | 288 --------------
7 files changed, 1521 deletions(-)
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index 671820be372..dac0f69a4e8 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -1,5 +1,2 @@
-DIST extpng-vdr-2.0.6-gentoo-edition-v6.patch.bz2 69472 BLAKE2B 60669e9c20b2bd573eb05733bbf9548d2e643b36693be8b15a377b38470708a71b29e2a16baf7ed378132265f814ec9d35dae749ccf6ae204cd9beb787dc8f57 SHA512 f4ecb786ec5a026fa75fcf539518e80273bf43fc325c13a380c70eb85351910efa991b3ee71ca477e597bc2b4598a18620b6cf00fc02714acfcc4e6112d84b6c
DIST extpng-vdr-2.2.0-gentoo-edition-v1.patch.bz2 34664 BLAKE2B 81b68ebe0ef4588c3676f0b7a2c766d8d4d4f754a987b3be5868f3c6eff9158d4cea8e492ca81df535e637dbdc5baff638d1fafb4163e9d9a2d0125aba17e2e1 SHA512 16d6fbb8201f003dfe653b6a49424b794d7e697e27ad6f2383dbe17b76712ea5a3da88a676900b84d75ff7425bf3eb9084d60a89a4598758f482dc1f013f7b3e
-DIST vdr-2.0.6.tar.bz2 839575 BLAKE2B 40de46d8465b7008bc29c7e2c1c241d4114aa3d62aa6a0acd81636133c295cd87c2fc618e725885c98f47445220e897c23188373457a96b51cf832ca417c9842 SHA512 070ebbfb85478887088567872a71744305dbf9c75de8b095a8fe46d883b0b4fe140539caeb2243715f42793a45790a127542655f549f7ea3cb71c4f9912fa07d
-DIST vdr-2.0.7.tar.bz2 841511 BLAKE2B bde06dd038ea2ebfa8768742c02bc7046448ade29032a90130f721af1c4c5d2301ff52065a04c51b31f14250d8ae252d796d93e3012ea1057f2359b1ef9c327c SHA512 cba35f62162cd681179872915023890f492e95cc94d65aadd3cb4d03d7e3c7e2f197e7f35149cdf872169af35c2b841e1042e054f28164860b7cea8367793ce0
DIST vdr-2.2.0.tar.bz2 922708 BLAKE2B 975e07d6d4c5bd13ee92be5d6a1826d6404b0c59e20fa2e30689b185a61e02d54782ad528e6a4f15e0d36806b30bcf48aa336d63adb3604e78056ff318e0fd2c SHA512 183f58133915c6c0fe8ec2b88becbcb2a36418210e6dcf7931053d3771d727c3581593f9eb5c9693abf39e22e728f7b41c42079cd704610c3636ec05134ea93d
diff --git a/media-video/vdr/files/vdr-2.0.6_gentoo.patch b/media-video/vdr/files/vdr-2.0.6_gentoo.patch
deleted file mode 100644
index 1641fc8e2ee..00000000000
--- a/media-video/vdr/files/vdr-2.0.6_gentoo.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff -Naur vdr-2.0.6.orig/Makefile vdr-2.0.6/Makefile
---- vdr-2.0.6.orig/Makefile 2014-09-22 22:17:23.000000000 +0200
-+++ vdr-2.0.6/Makefile 2014-09-24 15:22:43.000000000 +0200
-@@ -109,7 +109,7 @@
- VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
- APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
-
--all: vdr i18n plugins
-+all: vdr i18n
-
- # Implicit rules:
-
-@@ -162,7 +162,7 @@
-
- PODIR = po
- LOCALEDIR = locale
--I18Npo = $(wildcard $(PODIR)/*.po)
-+I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po))
- I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
- I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
- I18Npot = $(PODIR)/vdr.pot
-@@ -185,7 +185,7 @@
-
- install-i18n: i18n
- @mkdir -p $(DESTDIR)$(LOCDIR)
-- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
-+ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done)
-
- # The 'include' directory (for plugins):
-
-@@ -247,7 +247,7 @@
-
- # Install the files (note that 'install-pc' must be first!):
-
--install: install-pc install-bin install-dirs install-conf install-doc install-plugins install-i18n install-includes
-+install: install-pc install-bin install-dirs install-conf install-doc install-i18n install-includes
-
- # VDR binary:
-
-@@ -259,11 +259,12 @@
-
- install-dirs:
- @mkdir -p $(DESTDIR)$(VIDEODIR)
-- @mkdir -p $(DESTDIR)$(CONFDIR)
-- @mkdir -p $(DESTDIR)$(CACHEDIR)
-+# @mkdir -p $(DESTDIR)$(CONFDIR)
-+# @mkdir -p $(DESTDIR)$(CACHEDIR)
- @mkdir -p $(DESTDIR)$(RESDIR)
-
- install-conf:
-+ @mkdir -p $(DESTDIR)$(CONFDIR)
- @cp -pn *.conf $(DESTDIR)$(CONFDIR)
-
- # Documentation:
-@@ -290,8 +291,11 @@
- # Includes:
-
- install-includes: include-dir
-- @mkdir -p $(DESTDIR)$(INCDIR)
-- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+# @mkdir -p $(DESTDIR)$(INCDIR)
-+# @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
-+ @cp -pLR include/vdr $(DESTDIR)$(INCDIR)
-+ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr
-
- # pkg-config file:
-
diff --git a/media-video/vdr/files/vdr-2.0.7_systemd_argsdir.patch b/media-video/vdr/files/vdr-2.0.7_systemd_argsdir.patch
deleted file mode 100644
index de9f4b90163..00000000000
--- a/media-video/vdr/files/vdr-2.0.7_systemd_argsdir.patch
+++ /dev/null
@@ -1,438 +0,0 @@
-diff -Naur vdr-2.0.7.orig/HISTORY vdr-2.0.7/HISTORY
---- vdr-2.0.7.orig/HISTORY 2015-01-23 09:16:13.735620000 +0100
-+++ vdr-2.0.7/HISTORY 2015-01-23 09:17:29.038614491 +0100
-@@ -7916,6 +7916,16 @@
- - The APIVERSION has been increased to 2.0.6 due to the changes to pat.h, sdt.h and
- the functional modification to cFont::CreateFont().
-
-+2015-01-18: Version 2.0.6 + backport of systemd support from versions 2.1.6 and 2.1.7
-+
-+- Added support for systemd (thanks to Christopher Reimer). To activate this you
-+ need to add "SDNOTIFY=1" to the 'make' call.
-+
-+2015-01-18: Version 2.0.6 + backport of reading command line arguments from files, from version 2.1$
-+
-+- VDR now reads command line options from *.conf files in /etc/vdr/conf.d (thanks
-+ to Lars Hanisch). See vdr.1 and vdr.5 for details.
-+
- 2015-01-20: Version 2.0.7
-
- - Fixed a possible division by zero in frame rate detection.
-diff -Naur vdr-2.0.7.orig/Make.config.template vdr-2.0.7/Make.config.template
---- vdr-2.0.7.orig/Make.config.template 2015-01-23 09:16:13.736620000 +0100
-+++ vdr-2.0.7/Make.config.template 2015-01-23 09:16:34.199618503 +0100
-@@ -38,6 +38,7 @@
-
- #VIDEODIR = /srv/vdr/video
- #CONFDIR = /var/lib/vdr
-+#ARGSDIR = /etc/vdr/conf.d
- #CACHEDIR = /var/cache/vdr
-
- # Overrides for preset/legacy configurations:
-diff -Naur vdr-2.0.7.orig/Makefile vdr-2.0.7/Makefile
---- vdr-2.0.7.orig/Makefile 2015-01-23 09:16:13.724620001 +0100
-+++ vdr-2.0.7/Makefile 2015-01-23 09:17:58.588612330 +0100
-@@ -31,6 +31,7 @@
- DESTDIR ?=
- VIDEODIR ?= /srv/vdr/video
- CONFDIR ?= /var/lib/vdr
-+ARGSDIR ?= /etc/vdr/conf.d
- CACHEDIR ?= /var/cache/vdr
-
- PREFIX ?= /usr/local
-@@ -66,7 +67,7 @@
-
- SILIB = $(LSIDIR)/libsi.a
-
--OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
-+OBJS = args.o audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
- dvbplayer.o dvbspu.o dvbsubtitle.o eit.o eitscan.o epg.o filter.o font.o i18n.o interface.o keys.o\
- lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o\
- receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o\
-@@ -111,12 +112,18 @@
- DEFINES += -DBIDI
- LIBS += $(shell pkg-config --libs fribidi)
- endif
-+ifdef SDNOTIFY
-+INCLUDES += $(shell pkg-config --cflags libsystemd-daemon)
-+DEFINES += -DSDNOTIFY
-+LIBS += $(shell pkg-config --libs libsystemd-daemon)
-+endif
-
- LIRC_DEVICE ?= /var/run/lirc/lircd
-
- DEFINES += -DLIRC_DEVICE=\"$(LIRC_DEVICE)\"
- DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
- DEFINES += -DCONFDIR=\"$(CONFDIR)\"
-+DEFINES += -DARGSDIR=\"$(ARGSDIR)\"
- DEFINES += -DCACHEDIR=\"$(CACHEDIR)\"
- DEFINES += -DRESDIR=\"$(RESDIR)\"
- DEFINES += -DPLUGINDIR=\"$(LIBDIR)\"
-@@ -161,6 +168,7 @@
- @echo "mandir=$(MANDIR)" >> $@
- @echo "configdir=$(CONFDIR)" >> $@
- @echo "videodir=$(VIDEODIR)" >> $@
-+ @echo "argsdir=$(ARGSDIR)" >> $@
- @echo "cachedir=$(CACHEDIR)" >> $@
- @echo "resdir=$(RESDIR)" >> $@
- @echo "libdir=$(LIBDIR)" >> $@
-@@ -278,6 +286,7 @@
- install-dirs:
- @mkdir -p $(DESTDIR)$(VIDEODIR)
- # @mkdir -p $(DESTDIR)$(CONFDIR)
-+ @mkdir -p $(DESTDIR)$(ARGSDIR)
- # @mkdir -p $(DESTDIR)$(CACHEDIR)
- @mkdir -p $(DESTDIR)$(RESDIR)
-
-diff -Naur vdr-2.0.7.orig/args.c vdr-2.0.7/args.c
---- vdr-2.0.7.orig/args.c 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-2.0.7/args.c 2015-01-23 09:16:34.199618503 +0100
-@@ -0,0 +1,129 @@
-+/*
-+ * args.c: Read arguments from files
-+ *
-+ * See the main source file 'vdr.c' for copyright information and
-+ * how to reach the author.
-+ *
-+ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
-+ *
-+ * $Id$
-+ */
-+
-+#include "args.h"
-+#include <unistd.h>
-+
-+cArgs::cArgs(const char *Argv0)
-+{
-+ argv0 = Argv0;
-+ argc = 0;
-+ argv = NULL;
-+}
-+
-+cArgs::~cArgs(void)
-+{
-+ if (argv != NULL)
-+ delete [] argv;
-+}
-+
-+bool cArgs::AddArg(const char *s)
-+{
-+ if (inVdrSection)
-+ args.Append(strdup(s));
-+ else if (*lastArg == NULL)
-+ return false;
-+ else
-+ lastArg = cString::sprintf("%s %s", *lastArg, s);
-+ return true;
-+}
-+
-+bool cArgs::ReadDirectory(const char *Directory)
-+{
-+ if (argv != NULL)
-+ delete [] argv;
-+ argc = 0;
-+ argv = NULL;
-+ args.Clear();
-+ lastArg = NULL;
-+ inVdrSection = false;
-+ cFileNameList files(Directory, false);
-+ if (files.Size() == 0)
-+ return false;
-+ for (int i = 0; i < files.Size(); i++) {
-+ const char *fileName = files.At(i);
-+ if (startswith(fileName, ".") || !endswith(fileName, ".conf"))
-+ continue;
-+ cString fullFileName = AddDirectory(Directory, fileName);
-+ struct stat fs;
-+ if ((access(*fullFileName, F_OK) != 0) || (stat(*fullFileName, &fs) != 0) || S_ISDIR(fs.st_mode))
-+ continue;
-+ bool ok = true;
-+ int line = 0;
-+ FILE *f = fopen(*fullFileName, "r");
-+ if (f) {
-+ char *s;
-+ cReadLine ReadLine;
-+ while ((s = ReadLine.Read(f)) != NULL) {
-+ line++;
-+ s = stripspace(skipspace(s));
-+ if (!isempty(s) && (s[0] != '#')) {
-+ if (startswith(s, "[") && endswith(s, "]")) {
-+ s[strlen(s) - 1] = 0;
-+ s++;
-+ if (*lastArg) {
-+ args.Append(strdup(*lastArg));
-+ lastArg = NULL;
-+ }
-+ if (strcmp(s, "vdr") == 0)
-+ inVdrSection = true;
-+ else {
-+ inVdrSection = false;
-+ lastArg = cString::sprintf("--plugin=%s", s);
-+ }
-+ }
-+ else {
-+ if ((strlen(s) > 2) && (s[0] == '-') && (s[1] != '-')) { // short option, split at first space
-+ char *p = strchr(s, ' ');
-+ if (p == NULL) {
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ }
-+ else {
-+ *p = 0;
-+ p++;
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ ok = AddArg(p);
-+ if (!ok)
-+ break;
-+ }
-+ }
-+ else {
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ fclose(f);
-+ }
-+ if (!ok) {
-+ esyslog("ERROR: args file %s, line %d", *fullFileName, line);
-+ return false;
-+ }
-+ }
-+ if (*lastArg) {
-+ args.Append(strdup(*lastArg));
-+ lastArg = NULL;
-+ }
-+ argv = new char*[args.Size() + 1];
-+ argv[0] = strdup(*argv0);
-+ argc = 1;
-+ for (int i = 0; i < args.Size(); i++) {
-+ argv[argc] = args.At(i);
-+ argc++;
-+ }
-+ return true;
-+}
-diff -Naur vdr-2.0.7.orig/args.h vdr-2.0.7/args.h
---- vdr-2.0.7.orig/args.h 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-2.0.7/args.h 2015-01-23 09:16:34.199618503 +0100
-@@ -0,0 +1,34 @@
-+/*
-+ * args.h: Read arguments from files
-+ *
-+ * See the main source file 'vdr.c' for copyright information and
-+ * how to reach the author.
-+ *
-+ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
-+ *
-+ * $Id$
-+ */
-+
-+#ifndef __ARGS_H
-+#define __ARGS_H
-+
-+#include "tools.h"
-+
-+class cArgs {
-+private:
-+ cString argv0;
-+ cStringList args;
-+ cString lastArg;
-+ bool inVdrSection;
-+ int argc;
-+ char **argv;
-+ bool AddArg(const char *s);
-+public:
-+ cArgs(const char *Argv0);
-+ ~cArgs(void);
-+ bool ReadDirectory(const char *Directory);
-+ int GetArgc(void) const { return argc; };
-+ char **GetArgv(void) const { return argv; };
-+ };
-+
-+#endif //__ARGS_H
-diff -Naur vdr-2.0.7.orig/interface.c vdr-2.0.7/interface.c
---- vdr-2.0.7.orig/interface.c 2015-01-23 09:16:13.725620001 +0100
-+++ vdr-2.0.7/interface.c 2015-01-23 09:16:34.199618503 +0100
-@@ -10,6 +10,9 @@
- #include "interface.h"
- #include <ctype.h>
- #include <stdlib.h>
-+#ifdef SDNOTIFY
-+#include <systemd/sd-daemon.h>
-+#endif
- #include <unistd.h>
- #include "i18n.h"
- #include "status.h"
-@@ -159,6 +162,9 @@
- bool known = Keys.KnowsRemote(Remote->Name());
- dsyslog("remote control %s - %s", Remote->Name(), known ? "keys known" : "learning keys");
- if (!known) {
-+#ifdef SDNOTIFY
-+ sd_notify(0, "READY=1\nSTATUS=Learning keys...");
-+#endif
- cSkinDisplayMenu *DisplayMenu = Skins.Current()->DisplayMenu();
- DisplayMenu->SetMenuCategory(mcUnknown);
- char Headline[256];
-diff -Naur vdr-2.0.7.orig/vdr.1 vdr-2.0.7/vdr.1
---- vdr-2.0.7.orig/vdr.1 2015-01-23 09:16:13.730620000 +0100
-+++ vdr-2.0.7/vdr.1 2015-01-23 09:16:34.200618503 +0100
-@@ -178,6 +178,10 @@
- Read resource files from \fIdir\fR
- (default is to read them from the config directory).
- .TP
-+.BI \-\-showargs[= dir ]
-+Read command line arguments from \fIdir\fR (default is \fI/etc/vdr/conf.d\fR),
-+display them to the console and exit.
-+.TP
- .BI \-s\ cmd ,\ \-\-shutdown= cmd
- Call \fIcmd\fR to shutdown the computer. See the file \fIINSTALL\fR for more
- information.
-@@ -213,6 +217,10 @@
- .BI \-w\ sec ,\ \-\-watchdog= sec
- Activate the watchdog timer with a timeout of \fIsec\fR seconds.
- A value of \fB0\fR (default) disables the watchdog.
-+.P
-+If started without any options, vdr tries to read command line options
-+from files named '*.conf' in the directory /etc/vdr/conf.d. Files are
-+read in alphabetical order. See vdr(5) for details.
- .SH SIGNALS
- .TP
- .B SIGINT, SIGTERM
-diff -Naur vdr-2.0.7.orig/vdr.5 vdr-2.0.7/vdr.5
---- vdr-2.0.7.orig/vdr.5 2015-01-23 09:16:13.732620000 +0100
-+++ vdr-2.0.7/vdr.5 2015-01-23 09:16:34.200618503 +0100
-@@ -895,6 +895,33 @@
- just 16 bit wide. The internal representation in VDR allows for 32 bit to
- be used, so that external tools can generate EPG data that is guaranteed
- not to collide with the ids of existing data.
-+.SS COMMANDLINE OPTIONS
-+If started without any options, vdr tries to read any files in the directory
-+/etc/vdr/conf.d with names that do not begin with a '.' and that end with '.conf'.
-+These files are read in alphabetical order. The format of these files is
-+
-+# comment
-+.br
-+[name]
-+.br
-+-a
-+.br
-+-b 123
-+.br
-+--long
-+.br
-+--longarg=123
-+.br
-+
-+Any lines that begin with '#' as the first non-whitespace character are considered
-+comments and are ignored.
-+A command line option file consists of one or more sections, indicated by '[name]',
-+where 'name' is either the fixed word 'vdr' (if this section contains options for
-+the main VDR program) or the name of the plugin this section applies to.
-+Each option must be written on a separate line, including the leading '-' (for
-+a short option) or '--' (for a long option). If the option has additional arguments,
-+they have to be written on the same line as the option itself, separated from the
-+option with a blank (short option) or equal sign (long option).
- .SH SEE ALSO
- .BR vdr (1)
- .SH AUTHOR
-diff -Naur vdr-2.0.7.orig/vdr.c vdr-2.0.7/vdr.c
---- vdr-2.0.7.orig/vdr.c 2015-01-23 09:16:13.732620000 +0100
-+++ vdr-2.0.7/vdr.c 2015-01-23 09:16:34.200618503 +0100
-@@ -34,8 +34,12 @@
- #include <stdlib.h>
- #include <sys/capability.h>
- #include <sys/prctl.h>
-+#ifdef SDNOTIFY
-+#include <systemd/sd-daemon.h>
-+#endif
- #include <termios.h>
- #include <unistd.h>
-+#include "args.h"
- #include "audio.h"
- #include "channels.h"
- #include "config.h"
-@@ -192,6 +196,7 @@
- #define DEFAULTWATCHDOG 0 // seconds
- #define DEFAULTVIDEODIR VIDEODIR
- #define DEFAULTCONFDIR dd(CONFDIR, VideoDirectory)
-+#define DEFAULTARGSDIR dd(ARGSDIR, "/etc/vdr/conf.d")
- #define DEFAULTCACHEDIR dd(CACHEDIR, VideoDirectory)
- #define DEFAULTRESDIR dd(RESDIR, ConfigDirectory)
- #define DEFAULTPLUGINDIR PLUGINDIR
-@@ -229,6 +234,15 @@
- VdrUser = VDR_USER;
- #endif
-
-+ cArgs *Args = NULL;
-+ if (argc == 1) {
-+ Args = new cArgs(argv[0]);
-+ if (Args->ReadDirectory(DEFAULTARGSDIR)) {
-+ argc = Args->GetArgc();
-+ argv = Args->GetArgv();
-+ }
-+ }
-+
- SetVideoDirectory(VideoDirectory);
- cPluginManager PluginManager(DEFAULTPLUGINDIR);
-
-@@ -256,6 +270,7 @@
- { "port", required_argument, NULL, 'p' },
- { "record", required_argument, NULL, 'r' },
- { "resdir", required_argument, NULL, 'r' | 0x100 },
-+ { "showargs", optional_argument, NULL, 's' | 0x200 },
- { "shutdown", required_argument, NULL, 's' },
- { "split", no_argument, NULL, 's' | 0x100 },
- { "terminal", required_argument, NULL, 't' },
-@@ -428,6 +443,19 @@
- case 's' | 0x100:
- Setup.SplitEditedFiles = 1;
- break;
-+ case 's' | 0x200: {
-+ const char *ArgsDir = optarg ? optarg : DEFAULTARGSDIR;
-+ cArgs Args(argv[0]);
-+ if (!Args.ReadDirectory(ArgsDir)) {
-+ fprintf(stderr, "vdr: can't read arguments from directory: %s\n", ArgsDir);
-+ return 2;
-+ }
-+ int c = Args.GetArgc();
-+ char **v = Args.GetArgv();
-+ for (int i = 1; i < c; i++)
-+ printf("%s\n", v[i]);
-+ return 0;
-+ }
- case 't': Terminal = optarg;
- if (access(Terminal, R_OK | W_OK) < 0) {
- fprintf(stderr, "vdr: can't access terminal: %s\n", Terminal);
-@@ -541,6 +569,8 @@
- " -s CMD, --shutdown=CMD call CMD to shutdown the computer\n"
- " --split split edited files at the editing marks (only\n"
- " useful in conjunction with --edit)\n"
-+ " --showargs[=DIR] print the arguments read from DIR and exit\n"
-+ " (default: %s)\n"
- " -t TTY, --terminal=TTY controlling tty\n"
- " -u USER, --user=USER run as user USER; only applicable if started as\n"
- " root\n"
-@@ -563,6 +593,7 @@
- DEFAULTLOCDIR,
- DEFAULTSVDRPPORT,
- DEFAULTRESDIR,
-+ DEFAULTARGSDIR,
- DEFAULTVIDEODIR,
- DEFAULTWATCHDOG
- );
-@@ -848,6 +879,10 @@
- alarm(WatchdogTimeout); // Initial watchdog timer start
- }
-
-+#ifdef SDNOTIFY
-+ sd_notify(0, "READY=1\nSTATUS=Ready");
-+#endif
-+
- // Main program loop:
-
- #define DELETE_MENU ((IsInfoMenu &= (Menu == NULL)), delete Menu, Menu = NULL)
diff --git a/media-video/vdr/files/vdr-2.0.7_systemd_argsdir_vanilla.patch b/media-video/vdr/files/vdr-2.0.7_systemd_argsdir_vanilla.patch
deleted file mode 100644
index f7bae16fdd4..00000000000
--- a/media-video/vdr/files/vdr-2.0.7_systemd_argsdir_vanilla.patch
+++ /dev/null
@@ -1,438 +0,0 @@
-diff -Naur vdr-2.0.7.orig/HISTORY vdr-2.0.7/HISTORY
---- vdr-2.0.7.orig/HISTORY 2015-01-23 09:07:52.777656645 +0100
-+++ vdr-2.0.7/HISTORY 2015-01-23 09:09:57.798647500 +0100
-@@ -7916,6 +7916,16 @@
- - The APIVERSION has been increased to 2.0.6 due to the changes to pat.h, sdt.h and
- the functional modification to cFont::CreateFont().
-
-+2015-01-18: Version 2.0.6 + backport of systemd support from versions 2.1.6 and 2.1.7
-+
-+- Added support for systemd (thanks to Christopher Reimer). To activate this you
-+ need to add "SDNOTIFY=1" to the 'make' call.
-+
-+2015-01-18: Version 2.0.6 + backport of reading command line arguments from files, from version 2.1$
-+
-+- VDR now reads command line options from *.conf files in /etc/vdr/conf.d (thanks
-+ to Lars Hanisch). See vdr.1 and vdr.5 for details.
-+
- 2015-01-20: Version 2.0.7
-
- - Fixed a possible division by zero in frame rate detection.
-diff -Naur vdr-2.0.7.orig/Make.config.template vdr-2.0.7/Make.config.template
---- vdr-2.0.7.orig/Make.config.template 2015-01-23 09:07:52.765656646 +0100
-+++ vdr-2.0.7/Make.config.template 2015-01-23 09:08:15.775654963 +0100
-@@ -38,6 +38,7 @@
-
- #VIDEODIR = /srv/vdr/video
- #CONFDIR = /var/lib/vdr
-+#ARGSDIR = /etc/vdr/conf.d
- #CACHEDIR = /var/cache/vdr
-
- # Overrides for preset/legacy configurations:
-diff -Naur vdr-2.0.7.orig/Makefile vdr-2.0.7/Makefile
---- vdr-2.0.7.orig/Makefile 2015-01-23 09:07:52.778656645 +0100
-+++ vdr-2.0.7/Makefile 2015-01-23 09:11:11.158642134 +0100
-@@ -31,6 +31,7 @@
- DESTDIR ?=
- VIDEODIR ?= /srv/vdr/video
- CONFDIR ?= /var/lib/vdr
-+ARGSDIR ?= /etc/vdr/conf.d
- CACHEDIR ?= /var/cache/vdr
-
- PREFIX ?= /usr/local
-@@ -66,7 +67,7 @@
-
- SILIB = $(LSIDIR)/libsi.a
-
--OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
-+OBJS = args.o audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
- dvbplayer.o dvbspu.o dvbsubtitle.o eit.o eitscan.o epg.o filter.o font.o i18n.o interface.o keys.o\
- lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o\
- receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o\
-@@ -93,12 +94,18 @@
- DEFINES += -DBIDI
- LIBS += $(shell pkg-config --libs fribidi)
- endif
-+ifdef SDNOTIFY
-+INCLUDES += $(shell pkg-config --cflags libsystemd-daemon)
-+DEFINES += -DSDNOTIFY
-+LIBS += $(shell pkg-config --libs libsystemd-daemon)
-+endif
-
- LIRC_DEVICE ?= /var/run/lirc/lircd
-
- DEFINES += -DLIRC_DEVICE=\"$(LIRC_DEVICE)\"
- DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
- DEFINES += -DCONFDIR=\"$(CONFDIR)\"
-+DEFINES += -DARGSDIR=\"$(ARGSDIR)\"
- DEFINES += -DCACHEDIR=\"$(CACHEDIR)\"
- DEFINES += -DRESDIR=\"$(RESDIR)\"
- DEFINES += -DPLUGINDIR=\"$(LIBDIR)\"
-@@ -143,6 +150,7 @@
- @echo "mandir=$(MANDIR)" >> $@
- @echo "configdir=$(CONFDIR)" >> $@
- @echo "videodir=$(VIDEODIR)" >> $@
-+ @echo "argsdir=$(ARGSDIR)" >> $@
- @echo "cachedir=$(CACHEDIR)" >> $@
- @echo "resdir=$(RESDIR)" >> $@
- @echo "libdir=$(LIBDIR)" >> $@
-@@ -260,6 +268,7 @@
- install-dirs:
- @mkdir -p $(DESTDIR)$(VIDEODIR)
- # @mkdir -p $(DESTDIR)$(CONFDIR)
-+ @mkdir -p $(DESTDIR)$(ARGSDIR)
- # @mkdir -p $(DESTDIR)$(CACHEDIR)
- @mkdir -p $(DESTDIR)$(RESDIR)
-
-diff -Naur vdr-2.0.7.orig/args.c vdr-2.0.7/args.c
---- vdr-2.0.7.orig/args.c 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-2.0.7/args.c 2015-01-23 09:08:15.775654963 +0100
-@@ -0,0 +1,129 @@
-+/*
-+ * args.c: Read arguments from files
-+ *
-+ * See the main source file 'vdr.c' for copyright information and
-+ * how to reach the author.
-+ *
-+ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
-+ *
-+ * $Id$
-+ */
-+
-+#include "args.h"
-+#include <unistd.h>
-+
-+cArgs::cArgs(const char *Argv0)
-+{
-+ argv0 = Argv0;
-+ argc = 0;
-+ argv = NULL;
-+}
-+
-+cArgs::~cArgs(void)
-+{
-+ if (argv != NULL)
-+ delete [] argv;
-+}
-+
-+bool cArgs::AddArg(const char *s)
-+{
-+ if (inVdrSection)
-+ args.Append(strdup(s));
-+ else if (*lastArg == NULL)
-+ return false;
-+ else
-+ lastArg = cString::sprintf("%s %s", *lastArg, s);
-+ return true;
-+}
-+
-+bool cArgs::ReadDirectory(const char *Directory)
-+{
-+ if (argv != NULL)
-+ delete [] argv;
-+ argc = 0;
-+ argv = NULL;
-+ args.Clear();
-+ lastArg = NULL;
-+ inVdrSection = false;
-+ cFileNameList files(Directory, false);
-+ if (files.Size() == 0)
-+ return false;
-+ for (int i = 0; i < files.Size(); i++) {
-+ const char *fileName = files.At(i);
-+ if (startswith(fileName, ".") || !endswith(fileName, ".conf"))
-+ continue;
-+ cString fullFileName = AddDirectory(Directory, fileName);
-+ struct stat fs;
-+ if ((access(*fullFileName, F_OK) != 0) || (stat(*fullFileName, &fs) != 0) || S_ISDIR(fs.st_mode))
-+ continue;
-+ bool ok = true;
-+ int line = 0;
-+ FILE *f = fopen(*fullFileName, "r");
-+ if (f) {
-+ char *s;
-+ cReadLine ReadLine;
-+ while ((s = ReadLine.Read(f)) != NULL) {
-+ line++;
-+ s = stripspace(skipspace(s));
-+ if (!isempty(s) && (s[0] != '#')) {
-+ if (startswith(s, "[") && endswith(s, "]")) {
-+ s[strlen(s) - 1] = 0;
-+ s++;
-+ if (*lastArg) {
-+ args.Append(strdup(*lastArg));
-+ lastArg = NULL;
-+ }
-+ if (strcmp(s, "vdr") == 0)
-+ inVdrSection = true;
-+ else {
-+ inVdrSection = false;
-+ lastArg = cString::sprintf("--plugin=%s", s);
-+ }
-+ }
-+ else {
-+ if ((strlen(s) > 2) && (s[0] == '-') && (s[1] != '-')) { // short option, split at first space
-+ char *p = strchr(s, ' ');
-+ if (p == NULL) {
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ }
-+ else {
-+ *p = 0;
-+ p++;
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ ok = AddArg(p);
-+ if (!ok)
-+ break;
-+ }
-+ }
-+ else {
-+ ok = AddArg(s);
-+ if (!ok)
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ fclose(f);
-+ }
-+ if (!ok) {
-+ esyslog("ERROR: args file %s, line %d", *fullFileName, line);
-+ return false;
-+ }
-+ }
-+ if (*lastArg) {
-+ args.Append(strdup(*lastArg));
-+ lastArg = NULL;
-+ }
-+ argv = new char*[args.Size() + 1];
-+ argv[0] = strdup(*argv0);
-+ argc = 1;
-+ for (int i = 0; i < args.Size(); i++) {
-+ argv[argc] = args.At(i);
-+ argc++;
-+ }
-+ return true;
-+}
-diff -Naur vdr-2.0.7.orig/args.h vdr-2.0.7/args.h
---- vdr-2.0.7.orig/args.h 1970-01-01 01:00:00.000000000 +0100
-+++ vdr-2.0.7/args.h 2015-01-23 09:08:15.775654963 +0100
-@@ -0,0 +1,34 @@
-+/*
-+ * args.h: Read arguments from files
-+ *
-+ * See the main source file 'vdr.c' for copyright information and
-+ * how to reach the author.
-+ *
-+ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
-+ *
-+ * $Id$
-+ */
-+
-+#ifndef __ARGS_H
-+#define __ARGS_H
-+
-+#include "tools.h"
-+
-+class cArgs {
-+private:
-+ cString argv0;
-+ cStringList args;
-+ cString lastArg;
-+ bool inVdrSection;
-+ int argc;
-+ char **argv;
-+ bool AddArg(const char *s);
-+public:
-+ cArgs(const char *Argv0);
-+ ~cArgs(void);
-+ bool ReadDirectory(const char *Directory);
-+ int GetArgc(void) const { return argc; };
-+ char **GetArgv(void) const { return argv; };
-+ };
-+
-+#endif //__ARGS_H
-diff -Naur vdr-2.0.7.orig/interface.c vdr-2.0.7/interface.c
---- vdr-2.0.7.orig/interface.c 2015-01-23 09:07:52.765656646 +0100
-+++ vdr-2.0.7/interface.c 2015-01-23 09:08:15.775654963 +0100
-@@ -10,6 +10,9 @@
- #include "interface.h"
- #include <ctype.h>
- #include <stdlib.h>
-+#ifdef SDNOTIFY
-+#include <systemd/sd-daemon.h>
-+#endif
- #include <unistd.h>
- #include "i18n.h"
- #include "status.h"
-@@ -159,6 +162,9 @@
- bool known = Keys.KnowsRemote(Remote->Name());
- dsyslog("remote control %s - %s", Remote->Name(), known ? "keys known" : "learning keys");
- if (!known) {
-+#ifdef SDNOTIFY
-+ sd_notify(0, "READY=1\nSTATUS=Learning keys...");
-+#endif
- cSkinDisplayMenu *DisplayMenu = Skins.Current()->DisplayMenu();
- DisplayMenu->SetMenuCategory(mcUnknown);
- char Headline[256];
-diff -Naur vdr-2.0.7.orig/vdr.1 vdr-2.0.7/vdr.1
---- vdr-2.0.7.orig/vdr.1 2015-01-23 09:07:52.770656646 +0100
-+++ vdr-2.0.7/vdr.1 2015-01-23 09:08:15.776654963 +0100
-@@ -178,6 +178,10 @@
- Read resource files from \fIdir\fR
- (default is to read them from the config directory).
- .TP
-+.BI \-\-showargs[= dir ]
-+Read command line arguments from \fIdir\fR (default is \fI/etc/vdr/conf.d\fR),
-+display them to the console and exit.
-+.TP
- .BI \-s\ cmd ,\ \-\-shutdown= cmd
- Call \fIcmd\fR to shutdown the computer. See the file \fIINSTALL\fR for more
- information.
-@@ -213,6 +217,10 @@
- .BI \-w\ sec ,\ \-\-watchdog= sec
- Activate the watchdog timer with a timeout of \fIsec\fR seconds.
- A value of \fB0\fR (default) disables the watchdog.
-+.P
-+If started without any options, vdr tries to read command line options
-+from files named '*.conf' in the directory /etc/vdr/conf.d. Files are
-+read in alphabetical order. See vdr(5) for details.
- .SH SIGNALS
- .TP
- .B SIGINT, SIGTERM
-diff -Naur vdr-2.0.7.orig/vdr.5 vdr-2.0.7/vdr.5
---- vdr-2.0.7.orig/vdr.5 2015-01-23 09:07:52.772656646 +0100
-+++ vdr-2.0.7/vdr.5 2015-01-23 09:08:15.776654963 +0100
-@@ -889,6 +889,33 @@
- just 16 bit wide. The internal representation in VDR allows for 32 bit to
- be used, so that external tools can generate EPG data that is guaranteed
- not to collide with the ids of existing data.
-+.SS COMMANDLINE OPTIONS
-+If started without any options, vdr tries to read any files in the directory
-+/etc/vdr/conf.d with names that do not begin with a '.' and that end with '.conf'.
-+These files are read in alphabetical order. The format of these files is
-+
-+# comment
-+.br
-+[name]
-+.br
-+-a
-+.br
-+-b 123
-+.br
-+--long
-+.br
-+--longarg=123
-+.br
-+
-+Any lines that begin with '#' as the first non-whitespace character are considered
-+comments and are ignored.
-+A command line option file consists of one or more sections, indicated by '[name]',
-+where 'name' is either the fixed word 'vdr' (if this section contains options for
-+the main VDR program) or the name of the plugin this section applies to.
-+Each option must be written on a separate line, including the leading '-' (for
-+a short option) or '--' (for a long option). If the option has additional arguments,
-+they have to be written on the same line as the option itself, separated from the
-+option with a blank (short option) or equal sign (long option).
- .SH SEE ALSO
- .BR vdr (1)
- .SH AUTHOR
-diff -Naur vdr-2.0.7.orig/vdr.c vdr-2.0.7/vdr.c
---- vdr-2.0.7.orig/vdr.c 2015-01-23 09:07:52.772656646 +0100
-+++ vdr-2.0.7/vdr.c 2015-01-23 09:08:15.776654963 +0100
-@@ -34,8 +34,12 @@
- #include <stdlib.h>
- #include <sys/capability.h>
- #include <sys/prctl.h>
-+#ifdef SDNOTIFY
-+#include <systemd/sd-daemon.h>
-+#endif
- #include <termios.h>
- #include <unistd.h>
-+#include "args.h"
- #include "audio.h"
- #include "channels.h"
- #include "config.h"
-@@ -186,6 +190,7 @@
- #define DEFAULTWATCHDOG 0 // seconds
- #define DEFAULTVIDEODIR VIDEODIR
- #define DEFAULTCONFDIR dd(CONFDIR, VideoDirectory)
-+#define DEFAULTARGSDIR dd(ARGSDIR, "/etc/vdr/conf.d")
- #define DEFAULTCACHEDIR dd(CACHEDIR, VideoDirectory)
- #define DEFAULTRESDIR dd(RESDIR, ConfigDirectory)
- #define DEFAULTPLUGINDIR PLUGINDIR
-@@ -223,6 +228,15 @@
- VdrUser = VDR_USER;
- #endif
-
-+ cArgs *Args = NULL;
-+ if (argc == 1) {
-+ Args = new cArgs(argv[0]);
-+ if (Args->ReadDirectory(DEFAULTARGSDIR)) {
-+ argc = Args->GetArgc();
-+ argv = Args->GetArgv();
-+ }
-+ }
-+
- SetVideoDirectory(VideoDirectory);
- cPluginManager PluginManager(DEFAULTPLUGINDIR);
-
-@@ -250,6 +264,7 @@
- { "port", required_argument, NULL, 'p' },
- { "record", required_argument, NULL, 'r' },
- { "resdir", required_argument, NULL, 'r' | 0x100 },
-+ { "showargs", optional_argument, NULL, 's' | 0x200 },
- { "shutdown", required_argument, NULL, 's' },
- { "split", no_argument, NULL, 's' | 0x100 },
- { "terminal", required_argument, NULL, 't' },
-@@ -422,6 +437,19 @@
- case 's' | 0x100:
- Setup.SplitEditedFiles = 1;
- break;
-+ case 's' | 0x200: {
-+ const char *ArgsDir = optarg ? optarg : DEFAULTARGSDIR;
-+ cArgs Args(argv[0]);
-+ if (!Args.ReadDirectory(ArgsDir)) {
-+ fprintf(stderr, "vdr: can't read arguments from directory: %s\n", ArgsDir);
-+ return 2;
-+ }
-+ int c = Args.GetArgc();
-+ char **v = Args.GetArgv();
-+ for (int i = 1; i < c; i++)
-+ printf("%s\n", v[i]);
-+ return 0;
-+ }
- case 't': Terminal = optarg;
- if (access(Terminal, R_OK | W_OK) < 0) {
- fprintf(stderr, "vdr: can't access terminal: %s\n", Terminal);
-@@ -535,6 +563,8 @@
- " -s CMD, --shutdown=CMD call CMD to shutdown the computer\n"
- " --split split edited files at the editing marks (only\n"
- " useful in conjunction with --edit)\n"
-+ " --showargs[=DIR] print the arguments read from DIR and exit\n"
-+ " (default: %s)\n"
- " -t TTY, --terminal=TTY controlling tty\n"
- " -u USER, --user=USER run as user USER; only applicable if started as\n"
- " root\n"
-@@ -557,6 +587,7 @@
- DEFAULTLOCDIR,
- DEFAULTSVDRPPORT,
- DEFAULTRESDIR,
-+ DEFAULTARGSDIR,
- DEFAULTVIDEODIR,
- DEFAULTWATCHDOG
- );
-@@ -837,6 +868,10 @@
- alarm(WatchdogTimeout); // Initial watchdog timer start
- }
-
-+#ifdef SDNOTIFY
-+ sd_notify(0, "READY=1\nSTATUS=Ready");
-+#endif
-+
- // Main program loop:
-
- #define DELETE_MENU ((IsInfoMenu &= (Menu == NULL)), delete Menu, Menu = NULL)
diff --git a/media-video/vdr/metadata.xml b/media-video/vdr/metadata.xml
index 62b1c32b1a8..f9813be524f 100644
--- a/media-video/vdr/metadata.xml
+++ b/media-video/vdr/metadata.xml
@@ -8,25 +8,16 @@
<use>
<flag name="alternatechannel">Use alternate channel on record</flag>
<flag name="bidi">fribidi support, for languages, written from right to left</flag>
- <flag name="ddepgentry">remove duplicate EPG entries</flag>
- <flag name="dvlvidprefer">controls video-dir choice on recording</flag>
<flag name="graphtft">support for vdr-graphtft plugin up from version 0.1.7</flag>
<flag name="html">Install HTML documentation</flag>
- <flag name="jumpplay">Enables automatic jumping over cut marks while watching a recording</flag>
- <flag name="jumpingseconds">skip seconds in played records</flag>
<flag name="kbd">enable keyboard support as remote device</flag>
<flag name="mainmenuhooks">Allows to replace main menu entries by some special plugins (like epgsearch, extrecmenu, ...)</flag>
<flag name="menuorg">Enables support for the <pkg>media-plugins/vdr-menuorg</pkg></flag>
<flag name="menuselection">adds support for menu hotkeys of double digits</flag>
<flag name="naludump">Removes NALU fill data from h.264-Streams of TS files</flag>
- <flag name="permashift">permanent timeshift by recording live TV on hard disk, need plugin <pkg>media-plugins/vdr-permashift</pkg></flag>
<flag name="permashift_v1">permanent timeshift by recording live TV on RAM, need plugin >=mediaplugins/vdr-permashift-1</flag>
<flag name="pinplugin">Support for <pkg>media-plugins/vdr-pin</pkg></flag>
<flag name="resumereset">rreset resume of EOF</flag>
- <flag name="rotor">Enable support for plugin <pkg>media-plugins/vdr-rotor</pkg> for dish-positioner.</flag>
<flag name="ttxtsubs">support for <pkg>media-plugins/vdr-ttxtsubs</pkg></flag>
- <flag name="vasarajanauloja">replacement for the liemikuutio patch, adds some nice must haves features</flag>
- <flag name="wareagleicon">Replace original icon set in menu</flag>
- <flag name="yaepg">Enables support for the vdr-yaepg plugin</flag>
</use>
</pkgmetadata>
diff --git a/media-video/vdr/vdr-2.0.6-r1.ebuild b/media-video/vdr/vdr-2.0.6-r1.ebuild
deleted file mode 100644
index 63de150c12f..00000000000
--- a/media-video/vdr/vdr-2.0.6-r1.ebuild
+++ /dev/null
@@ -1,277 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-# Switches supported by extensions-patch
-EXT_PATCH_FLAGS="alternatechannel ddepgentry dvlvidprefer graphtft
- jumpplay jumpingseconds mainmenuhooks menuorg naludump permashift permashift_v1
- pinplugin rotor ttxtsubs vasarajanauloja wareagleicon yaepg"
-
-# names of the use-flags
-EXT_PATCH_FLAGS_RENAMED=""
-
-# names ext-patch uses internally, here only used for maintainer checks
-EXT_PATCH_FLAGS_RENAMED_EXT_NAME=""
-
-IUSE="bidi debug html vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
-
-MY_PV="${PV%_p*}"
-MY_P="${PN}-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
-
-EXT_P="extpng-${P}-gentoo-edition-v6"
-
-DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
-HOMEPAGE="http://www.tvdr.de/"
-SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
- https://dev.gentoo.org/~hd_brummy/distfiles/${EXT_P}.patch.bz2"
-
-KEYWORDS="amd64 ~arm ~ppc x86"
-SLOT="0"
-LICENSE="GPL-2"
-
-REQUIRED_USE="
- permashift? ( !permashift_v1 )
- permashift_v1? ( !permashift )"
-
-COMMON_DEPEND="virtual/jpeg:*
- sys-libs/libcap
- >=media-libs/fontconfig-2.4.2
- >=media-libs/freetype-2"
-
-DEPEND="${COMMON_DEPEND}
- >=virtual/linuxtv-dvb-headers-5.3
- sys-devel/gettext"
-
-RDEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=media-tv/gentoo-vdr-scripts-2.5_rc1
- media-fonts/corefonts
- bidi? ( dev-libs/fribidi )"
-
-CONF_DIR=/etc/vdr
-CAP_FILE=${S}/capabilities.sh
-CAPS="# Capabilities of the vdr-executable for use by startscript etc."
-
-pkg_setup() {
- use debug && append-flags -g
-
- PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
-
- tc-export CC CXX AR
-}
-
-add_cap() {
- local arg
- for arg; do
- CAPS="${CAPS}\n${arg}=1"
- done
-}
-
-enable_patch() {
- local arg ARG_UPPER
- for arg; do
- ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]')
- echo "${ARG_UPPER} = 1" >> Make.config
-
- # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
- echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp
- cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE
- export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
- done
-}
-
-extensions_add_make_conf()
-{
- # copy all ifdef for extensions-patch to Make.config
- sed -e '1,/need to touch the following:/d' \
- -e '/need to touch the following/,/^$/d' \
- Make.config.template >> Make.config
-}
-
-extensions_all_defines() {
- # extract all possible settings for extensions-patch
- sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
- Make.config.template \
- | sort \
- | tr '[:upper:]' '[:lower:]'
-}
-
-lang_po() {
- LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
-}
-
-src_prepare() {
- # apply maintainace-patches
- ebegin "Changing paths for gentoo"
-
- local DVBDIR=/usr/include
- local i
- for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
- [[ -d ${i} ]] || continue
- if [[ -f ${i}/linux/dvb/dmx.h ]]; then
- einfo "Found DVB header files in ${i}"
- DVBDIR=${i}
- break
- fi
- done
-
- # checking for s2api headers
- local api_version
- api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
- api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
-
- if [[ ${api_version:-0} -lt 5*3 ]]; then
- eerror "DVB header files do not contain s2api support or too old for ${P}"
- eerror "You cannot compile VDR against old dvb-header"
- die "DVB headers too old"
- fi
-
- cat > Make.config <<-EOT
- #
- # Generated by ebuild ${PF}
- #
- PREFIX = /usr
- DVBDIR = ${DVBDIR}
- PLUGINLIBDIR = ${PLUGIN_LIBDIR}
- CONFDIR = ${CONF_DIR}
- VIDEODIR = /var/vdr/video
- LOCDIR = \$(PREFIX)/share/locale
- INCDIR = \$(PREFIX)/include
-
- DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
- INCLUDES += -I\$(DVBDIR)
-
- # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
- # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
- LIBDIR = ${PLUGIN_LIBDIR}
- PCDIR = /usr/$(get_libdir)/pkgconfig
- EOT
- eend 0
-
- # support languages, written from right to left
- BUILD_PARAMS+=" BIDI=$(usex bidi 1 0)"
-
- epatch "${FILESDIR}/${PN}-2.0.6_gentoo.patch"
-
- if ! use vanilla; then
-
- # Now apply extensions patch
- epatch "${WORKDIR}/${EXT_P}.patch"
-
- # This allows us to start even if some plugin does not exist
- # or is not loadable.
- enable_patch PLUGINMISSING
- enable_patch CHANNELBIND
-
- if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
- einfo "Doing maintainer checks:"
-
- # we do not support these patches
- # (or have them already hard enabled)
- local IGNORE_PATCHES="pluginmissing channelbind"
-
- extensions_all_defines > "${T}"/new.IUSE
- echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
- $IGNORE_PATCHES | \
- tr ' ' '\n' |sort > "${T}"/old.IUSE
- local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
- if [[ -z ${DIFFS} ]]; then
- einfo "EXT_PATCH_FLAGS is up to date."
- else
- ewarn "IUSE differences!"
- local diff
- for diff in $DIFFS; do
- ewarn "$diff"
- done
- fi
- fi
-
- ebegin "Enabling selected patches"
- local flag
- for flag in $EXT_PATCH_FLAGS; do
- use $flag && enable_patch ${flag}
- done
-
- eend 0
-
- extensions_add_make_conf
-
- # add defined use-flags compile options to vdr.pc
- sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
- -i Makefile
-
- ebegin "Make depend"
- emake .dependencies >/dev/null
- eend $? "make depend failed"
- fi
-
- epatch_user
-
- add_cap CAP_UTF8
-
- add_cap CAP_IRCTRL_RUNTIME_PARAM \
- CAP_VFAT_RUNTIME_PARAM \
- CAP_CHUID \
- CAP_SHUTDOWN_AUTO_RETRY
-
- echo -e ${CAPS} > "${CAP_FILE}"
-
- # LINGUAS support
- einfo "\n \t VDR supports the LINGUAS values"
-
- lang_po
-
- einfo "\t Please set one of this values in your sytem make.conf"
- einfo "\t LINGUAS=\"${LING_PO}\"\n"
-
- if [[ -z ${LINGUAS} ]]; then
- einfo "\n \t No values in LINGUAS="
- einfo "\t You will get only english text on OSD \n"
- fi
-
- strip-linguas ${LING_PO} en
-}
-
-src_install() {
-# # trick makefile not to create a videodir by supplying it with an existing
-# # directory
- emake \
- VIDEODIR="/" \
- DESTDIR="${D}" install || die "emake install failed"
-
- keepdir "${PLUGIN_LIBDIR}"
-
- keepdir "${CONF_DIR}"/plugins
- keepdir "${CONF_DIR}"/themes
-
- if use html; then
- dohtml *.html
- fi
-
- dodoc MANUAL INSTALL README* HISTORY CONTRIBUTORS
-
- insinto /usr/share/vdr
- doins "${CAP_FILE}"
-
- if use alternatechannel; then
- insinto /etc/vdr
- doins "${FILESDIR}"/channel_alternative.conf
- fi
-
- chown -R vdr:vdr "${D}/${CONF_DIR}"
-}
-
-pkg_postinst() {
- elog "It is a good idea to run vdrplugin-rebuild now."
-
- elog "To get nice symbols in OSD we recommend to install"
- elog "\t1. emerge media-fonts/vdrsymbols-ttf"
- elog "\t2. select font VDRSymbolsSans in Setup"
- elog ""
- elog "To get an idea how to proceed now, have a look at our vdr-guide:"
- elog "\thttps://wiki.gentoo.org/wiki/VDR"
-}
diff --git a/media-video/vdr/vdr-2.0.7.ebuild b/media-video/vdr/vdr-2.0.7.ebuild
deleted file mode 100644
index f5d9d5ed815..00000000000
--- a/media-video/vdr/vdr-2.0.7.ebuild
+++ /dev/null
@@ -1,288 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-# Switches supported by extensions-patch
-EXT_PATCH_FLAGS="alternatechannel ddepgentry dvlvidprefer graphtft
- jumpplay jumpingseconds mainmenuhooks menuorg naludump permashift permashift_v1
- pinplugin rotor ttxtsubs vasarajanauloja wareagleicon yaepg"
-
-# names of the use-flags
-EXT_PATCH_FLAGS_RENAMED=""
-
-# names ext-patch uses internally, here only used for maintainer checks
-EXT_PATCH_FLAGS_RENAMED_EXT_NAME=""
-
-IUSE="bidi debug html systemd vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
-
-MY_PV="${PV%_p*}"
-MY_P="${PN}-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
-
-EXT_P="extpng-${PN}-2.0.6-gentoo-edition-v6"
-
-DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
-HOMEPAGE="http://www.tvdr.de/"
-SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
- https://dev.gentoo.org/~hd_brummy/distfiles/${EXT_P}.patch.bz2"
-
-KEYWORDS="~arm ~amd64 ~ppc ~x86"
-SLOT="0"
-LICENSE="GPL-2"
-
-REQUIRED_USE="
- permashift? ( !permashift_v1 )
- permashift_v1? ( !permashift )"
-
-COMMON_DEPEND="virtual/jpeg:*
- sys-libs/libcap
- >=media-libs/fontconfig-2.4.2
- >=media-libs/freetype-2"
-
-DEPEND="${COMMON_DEPEND}
- >=virtual/linuxtv-dvb-headers-5.3
- sys-devel/gettext"
-
-RDEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=media-tv/gentoo-vdr-scripts-2.5
- media-fonts/corefonts
- bidi? ( dev-libs/fribidi )
- systemd? ( sys-apps/systemd )"
-
-CONF_DIR=/etc/vdr
-CAP_FILE=${S}/capabilities.sh
-CAPS="# Capabilities of the vdr-executable for use by startscript etc."
-
-pkg_setup() {
- use debug && append-flags -g
-
- PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
-
- tc-export CC CXX AR
-}
-
-add_cap() {
- local arg
- for arg; do
- CAPS="${CAPS}\n${arg}=1"
- done
-}
-
-enable_patch() {
- local arg ARG_UPPER
- for arg; do
- ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]')
- echo "${ARG_UPPER} = 1" >> Make.config
-
- # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
- echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp
- cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE
- export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
- done
-}
-
-extensions_add_make_conf()
-{
- # copy all ifdef for extensions-patch to Make.config
- sed -e '1,/need to touch the following:/d' \
- -e '/need to touch the following/,/^$/d' \
- Make.config.template >> Make.config
-}
-
-extensions_all_defines() {
- # extract all possible settings for extensions-patch
- sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
- Make.config.template \
- | sort \
- | tr '[:upper:]' '[:lower:]'
-}
-
-lang_po() {
- LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
-}
-
-src_prepare() {
- # apply maintainace-patches
- ebegin "Changing paths for gentoo"
-
- local DVBDIR=/usr/include
- local i
- for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
- [[ -d ${i} ]] || continue
- if [[ -f ${i}/linux/dvb/dmx.h ]]; then
- einfo "Found DVB header files in ${i}"
- DVBDIR=${i}
- break
- fi
- done
-
- # checking for s2api headers
- local api_version
- api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
- api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
-
- if [[ ${api_version:-0} -lt 5*3 ]]; then
- eerror "DVB header files do not contain s2api support or too old for ${P}"
- eerror "You cannot compile VDR against old dvb-header"
- die "DVB headers too old"
- fi
-
- cat > Make.config <<-EOT
- #
- # Generated by ebuild ${PF}
- #
- PREFIX = /usr
- DVBDIR = ${DVBDIR}
- PLUGINLIBDIR = ${PLUGIN_LIBDIR}
- CONFDIR = ${CONF_DIR}
- VIDEODIR = /var/vdr/video
- LOCDIR = \$(PREFIX)/share/locale
- INCDIR = \$(PREFIX)/include
-
- DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
- INCLUDES += -I\$(DVBDIR)
-
- # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
- # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
- LIBDIR = ${PLUGIN_LIBDIR}
- PCDIR = /usr/$(get_libdir)/pkgconfig
- EOT
- eend 0
-
- # support languages, written from right to left
- BUILD_PARAMS+=" BIDI=$(usex bidi 1 0)"
-
- # systemd support
- use systemd && BUILD_PARAMS+=" SDNOTIFY=$(usex systemd 1 0)"
-
- if ! use vanilla; then
-
- # Now apply extensions patch
- epatch "${WORKDIR}/${EXT_P}.patch"
-
- # This allows us to start even if some plugin does not exist
- # or is not loadable.
- enable_patch PLUGINMISSING
- enable_patch CHANNELBIND
-
- if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
- einfo "Doing maintainer checks:"
-
- # we do not support these patches
- # (or have them already hard enabled)
- local IGNORE_PATCHES="pluginmissing channelbind"
-
- extensions_all_defines > "${T}"/new.IUSE
- echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
- $IGNORE_PATCHES | \
- tr ' ' '\n' |sort > "${T}"/old.IUSE
- local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
- if [[ -z ${DIFFS} ]]; then
- einfo "EXT_PATCH_FLAGS is up to date."
- else
- ewarn "IUSE differences!"
- local diff
- for diff in $DIFFS; do
- ewarn "$diff"
- done
- fi
- fi
-
- ebegin "Enabling selected patches"
- local flag
- for flag in $EXT_PATCH_FLAGS; do
- use $flag && enable_patch ${flag}
- done
-
- eend 0
-
- extensions_add_make_conf
-
- # add defined use-flags compile options to vdr.pc
- sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
- -i Makefile
-
- ebegin "Make depend"
- emake .dependencies >/dev/null
- eend $? "make depend failed"
- fi
-
- epatch "${FILESDIR}/${PN}-2.0.6-r2_gentoo.patch"
-
- # backport from vdr-2.1.7 for better systemd support
- if use vanilla; then
- epatch "${FILESDIR}/${P}_systemd_argsdir_vanilla.patch"
- else
- epatch "${FILESDIR}/${P}_systemd_argsdir.patch"
- fi
-
- epatch_user
-
- add_cap CAP_UTF8
-
- add_cap CAP_IRCTRL_RUNTIME_PARAM \
- CAP_VFAT_RUNTIME_PARAM \
- CAP_CHUID \
- CAP_SHUTDOWN_AUTO_RETRY
-
- echo -e ${CAPS} > "${CAP_FILE}"
-
- # LINGUAS support
- einfo "\n \t VDR supports the LINGUAS values"
-
- lang_po
-
- einfo "\t Please set one of this values in your sytem make.conf"
- einfo "\t LINGUAS=\"${LING_PO}\"\n"
-
- if [[ -z ${LINGUAS} ]]; then
- einfo "\n \t No values in LINGUAS="
- einfo "\t You will get only english text on OSD \n"
- fi
-
- strip-linguas ${LING_PO} en
-}
-
-src_install() {
-# # trick makefile not to create a videodir by supplying it with an existing
-# # directory
- emake \
- VIDEODIR="/" \
- DESTDIR="${D}" install || die "emake install failed"
-
- keepdir "${PLUGIN_LIBDIR}"
-
- # backup for plugins they don't be able to create this dir
- keepdir "${CONF_DIR}"/plugins
-
- if use html; then
- dohtml *.html
- fi
-
- dodoc MANUAL INSTALL README* HISTORY CONTRIBUTORS
-
- insinto /usr/share/vdr
- doins "${CAP_FILE}"
-
- if use alternatechannel; then
- insinto /etc/vdr
- doins "${FILESDIR}"/channel_alternative.conf
- fi
-
- chown -R vdr:vdr "${D}/${CONF_DIR}"
-}
-
-pkg_postinst() {
- elog "It is a good idea to run vdrplugin-rebuild now."
-
- elog "To get nice symbols in OSD we recommend to install"
- elog "\t1. emerge media-fonts/vdrsymbols-ttf"
- elog "\t2. select font VDRSymbolsSans in Setup"
- elog ""
- elog "To get an idea how to proceed now, have a look at our vdr-guide:"
- elog "\thttps://wiki.gentoo.org/wiki/VDR"
-}
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2018-09-03 14:40 Thomas Deutschmann
0 siblings, 0 replies; 11+ messages in thread
From: Thomas Deutschmann @ 2018-09-03 14:40 UTC (permalink / raw
To: gentoo-commits
commit: 0dcdf482cd292d53a4cb213c9d76e74dd310385e
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 3 14:38:40 2018 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Sep 3 14:39:53 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0dcdf482
Revert "media-video/vdr: cleanup old"
This reverts commit 99d096c75cc5a13e96a8a3438df6fd93412ce06a.
media-video/vdr-2* still required by media-plugins/vdr-pvr350.
media-video/vdr/Manifest | 3 +
media-video/vdr/files/vdr-2.0.6_gentoo.patch | 68 ++++
.../vdr/files/vdr-2.0.7_systemd_argsdir.patch | 438 +++++++++++++++++++++
.../files/vdr-2.0.7_systemd_argsdir_vanilla.patch | 438 +++++++++++++++++++++
media-video/vdr/metadata.xml | 9 +
media-video/vdr/vdr-2.0.6-r1.ebuild | 277 +++++++++++++
media-video/vdr/vdr-2.0.7.ebuild | 288 ++++++++++++++
7 files changed, 1521 insertions(+)
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index dac0f69a4e8..671820be372 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -1,2 +1,5 @@
+DIST extpng-vdr-2.0.6-gentoo-edition-v6.patch.bz2 69472 BLAKE2B 60669e9c20b2bd573eb05733bbf9548d2e643b36693be8b15a377b38470708a71b29e2a16baf7ed378132265f814ec9d35dae749ccf6ae204cd9beb787dc8f57 SHA512 f4ecb786ec5a026fa75fcf539518e80273bf43fc325c13a380c70eb85351910efa991b3ee71ca477e597bc2b4598a18620b6cf00fc02714acfcc4e6112d84b6c
DIST extpng-vdr-2.2.0-gentoo-edition-v1.patch.bz2 34664 BLAKE2B 81b68ebe0ef4588c3676f0b7a2c766d8d4d4f754a987b3be5868f3c6eff9158d4cea8e492ca81df535e637dbdc5baff638d1fafb4163e9d9a2d0125aba17e2e1 SHA512 16d6fbb8201f003dfe653b6a49424b794d7e697e27ad6f2383dbe17b76712ea5a3da88a676900b84d75ff7425bf3eb9084d60a89a4598758f482dc1f013f7b3e
+DIST vdr-2.0.6.tar.bz2 839575 BLAKE2B 40de46d8465b7008bc29c7e2c1c241d4114aa3d62aa6a0acd81636133c295cd87c2fc618e725885c98f47445220e897c23188373457a96b51cf832ca417c9842 SHA512 070ebbfb85478887088567872a71744305dbf9c75de8b095a8fe46d883b0b4fe140539caeb2243715f42793a45790a127542655f549f7ea3cb71c4f9912fa07d
+DIST vdr-2.0.7.tar.bz2 841511 BLAKE2B bde06dd038ea2ebfa8768742c02bc7046448ade29032a90130f721af1c4c5d2301ff52065a04c51b31f14250d8ae252d796d93e3012ea1057f2359b1ef9c327c SHA512 cba35f62162cd681179872915023890f492e95cc94d65aadd3cb4d03d7e3c7e2f197e7f35149cdf872169af35c2b841e1042e054f28164860b7cea8367793ce0
DIST vdr-2.2.0.tar.bz2 922708 BLAKE2B 975e07d6d4c5bd13ee92be5d6a1826d6404b0c59e20fa2e30689b185a61e02d54782ad528e6a4f15e0d36806b30bcf48aa336d63adb3604e78056ff318e0fd2c SHA512 183f58133915c6c0fe8ec2b88becbcb2a36418210e6dcf7931053d3771d727c3581593f9eb5c9693abf39e22e728f7b41c42079cd704610c3636ec05134ea93d
diff --git a/media-video/vdr/files/vdr-2.0.6_gentoo.patch b/media-video/vdr/files/vdr-2.0.6_gentoo.patch
new file mode 100644
index 00000000000..1641fc8e2ee
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.0.6_gentoo.patch
@@ -0,0 +1,68 @@
+diff -Naur vdr-2.0.6.orig/Makefile vdr-2.0.6/Makefile
+--- vdr-2.0.6.orig/Makefile 2014-09-22 22:17:23.000000000 +0200
++++ vdr-2.0.6/Makefile 2014-09-24 15:22:43.000000000 +0200
+@@ -109,7 +109,7 @@
+ VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
+ APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
+
+-all: vdr i18n plugins
++all: vdr i18n
+
+ # Implicit rules:
+
+@@ -162,7 +162,7 @@
+
+ PODIR = po
+ LOCALEDIR = locale
+-I18Npo = $(wildcard $(PODIR)/*.po)
++I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po))
+ I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+ I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+ I18Npot = $(PODIR)/vdr.pot
+@@ -185,7 +185,7 @@
+
+ install-i18n: i18n
+ @mkdir -p $(DESTDIR)$(LOCDIR)
+- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
++ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done)
+
+ # The 'include' directory (for plugins):
+
+@@ -247,7 +247,7 @@
+
+ # Install the files (note that 'install-pc' must be first!):
+
+-install: install-pc install-bin install-dirs install-conf install-doc install-plugins install-i18n install-includes
++install: install-pc install-bin install-dirs install-conf install-doc install-i18n install-includes
+
+ # VDR binary:
+
+@@ -259,11 +259,12 @@
+
+ install-dirs:
+ @mkdir -p $(DESTDIR)$(VIDEODIR)
+- @mkdir -p $(DESTDIR)$(CONFDIR)
+- @mkdir -p $(DESTDIR)$(CACHEDIR)
++# @mkdir -p $(DESTDIR)$(CONFDIR)
++# @mkdir -p $(DESTDIR)$(CACHEDIR)
+ @mkdir -p $(DESTDIR)$(RESDIR)
+
+ install-conf:
++ @mkdir -p $(DESTDIR)$(CONFDIR)
+ @cp -pn *.conf $(DESTDIR)$(CONFDIR)
+
+ # Documentation:
+@@ -290,8 +291,11 @@
+ # Includes:
+
+ install-includes: include-dir
+- @mkdir -p $(DESTDIR)$(INCDIR)
+- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
++# @mkdir -p $(DESTDIR)$(INCDIR)
++# @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
++ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
++ @cp -pLR include/vdr $(DESTDIR)$(INCDIR)
++ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr
+
+ # pkg-config file:
+
diff --git a/media-video/vdr/files/vdr-2.0.7_systemd_argsdir.patch b/media-video/vdr/files/vdr-2.0.7_systemd_argsdir.patch
new file mode 100644
index 00000000000..de9f4b90163
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.0.7_systemd_argsdir.patch
@@ -0,0 +1,438 @@
+diff -Naur vdr-2.0.7.orig/HISTORY vdr-2.0.7/HISTORY
+--- vdr-2.0.7.orig/HISTORY 2015-01-23 09:16:13.735620000 +0100
++++ vdr-2.0.7/HISTORY 2015-01-23 09:17:29.038614491 +0100
+@@ -7916,6 +7916,16 @@
+ - The APIVERSION has been increased to 2.0.6 due to the changes to pat.h, sdt.h and
+ the functional modification to cFont::CreateFont().
+
++2015-01-18: Version 2.0.6 + backport of systemd support from versions 2.1.6 and 2.1.7
++
++- Added support for systemd (thanks to Christopher Reimer). To activate this you
++ need to add "SDNOTIFY=1" to the 'make' call.
++
++2015-01-18: Version 2.0.6 + backport of reading command line arguments from files, from version 2.1$
++
++- VDR now reads command line options from *.conf files in /etc/vdr/conf.d (thanks
++ to Lars Hanisch). See vdr.1 and vdr.5 for details.
++
+ 2015-01-20: Version 2.0.7
+
+ - Fixed a possible division by zero in frame rate detection.
+diff -Naur vdr-2.0.7.orig/Make.config.template vdr-2.0.7/Make.config.template
+--- vdr-2.0.7.orig/Make.config.template 2015-01-23 09:16:13.736620000 +0100
++++ vdr-2.0.7/Make.config.template 2015-01-23 09:16:34.199618503 +0100
+@@ -38,6 +38,7 @@
+
+ #VIDEODIR = /srv/vdr/video
+ #CONFDIR = /var/lib/vdr
++#ARGSDIR = /etc/vdr/conf.d
+ #CACHEDIR = /var/cache/vdr
+
+ # Overrides for preset/legacy configurations:
+diff -Naur vdr-2.0.7.orig/Makefile vdr-2.0.7/Makefile
+--- vdr-2.0.7.orig/Makefile 2015-01-23 09:16:13.724620001 +0100
++++ vdr-2.0.7/Makefile 2015-01-23 09:17:58.588612330 +0100
+@@ -31,6 +31,7 @@
+ DESTDIR ?=
+ VIDEODIR ?= /srv/vdr/video
+ CONFDIR ?= /var/lib/vdr
++ARGSDIR ?= /etc/vdr/conf.d
+ CACHEDIR ?= /var/cache/vdr
+
+ PREFIX ?= /usr/local
+@@ -66,7 +67,7 @@
+
+ SILIB = $(LSIDIR)/libsi.a
+
+-OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
++OBJS = args.o audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
+ dvbplayer.o dvbspu.o dvbsubtitle.o eit.o eitscan.o epg.o filter.o font.o i18n.o interface.o keys.o\
+ lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o\
+ receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o\
+@@ -111,12 +112,18 @@
+ DEFINES += -DBIDI
+ LIBS += $(shell pkg-config --libs fribidi)
+ endif
++ifdef SDNOTIFY
++INCLUDES += $(shell pkg-config --cflags libsystemd-daemon)
++DEFINES += -DSDNOTIFY
++LIBS += $(shell pkg-config --libs libsystemd-daemon)
++endif
+
+ LIRC_DEVICE ?= /var/run/lirc/lircd
+
+ DEFINES += -DLIRC_DEVICE=\"$(LIRC_DEVICE)\"
+ DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
+ DEFINES += -DCONFDIR=\"$(CONFDIR)\"
++DEFINES += -DARGSDIR=\"$(ARGSDIR)\"
+ DEFINES += -DCACHEDIR=\"$(CACHEDIR)\"
+ DEFINES += -DRESDIR=\"$(RESDIR)\"
+ DEFINES += -DPLUGINDIR=\"$(LIBDIR)\"
+@@ -161,6 +168,7 @@
+ @echo "mandir=$(MANDIR)" >> $@
+ @echo "configdir=$(CONFDIR)" >> $@
+ @echo "videodir=$(VIDEODIR)" >> $@
++ @echo "argsdir=$(ARGSDIR)" >> $@
+ @echo "cachedir=$(CACHEDIR)" >> $@
+ @echo "resdir=$(RESDIR)" >> $@
+ @echo "libdir=$(LIBDIR)" >> $@
+@@ -278,6 +286,7 @@
+ install-dirs:
+ @mkdir -p $(DESTDIR)$(VIDEODIR)
+ # @mkdir -p $(DESTDIR)$(CONFDIR)
++ @mkdir -p $(DESTDIR)$(ARGSDIR)
+ # @mkdir -p $(DESTDIR)$(CACHEDIR)
+ @mkdir -p $(DESTDIR)$(RESDIR)
+
+diff -Naur vdr-2.0.7.orig/args.c vdr-2.0.7/args.c
+--- vdr-2.0.7.orig/args.c 1970-01-01 01:00:00.000000000 +0100
++++ vdr-2.0.7/args.c 2015-01-23 09:16:34.199618503 +0100
+@@ -0,0 +1,129 @@
++/*
++ * args.c: Read arguments from files
++ *
++ * See the main source file 'vdr.c' for copyright information and
++ * how to reach the author.
++ *
++ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
++ *
++ * $Id$
++ */
++
++#include "args.h"
++#include <unistd.h>
++
++cArgs::cArgs(const char *Argv0)
++{
++ argv0 = Argv0;
++ argc = 0;
++ argv = NULL;
++}
++
++cArgs::~cArgs(void)
++{
++ if (argv != NULL)
++ delete [] argv;
++}
++
++bool cArgs::AddArg(const char *s)
++{
++ if (inVdrSection)
++ args.Append(strdup(s));
++ else if (*lastArg == NULL)
++ return false;
++ else
++ lastArg = cString::sprintf("%s %s", *lastArg, s);
++ return true;
++}
++
++bool cArgs::ReadDirectory(const char *Directory)
++{
++ if (argv != NULL)
++ delete [] argv;
++ argc = 0;
++ argv = NULL;
++ args.Clear();
++ lastArg = NULL;
++ inVdrSection = false;
++ cFileNameList files(Directory, false);
++ if (files.Size() == 0)
++ return false;
++ for (int i = 0; i < files.Size(); i++) {
++ const char *fileName = files.At(i);
++ if (startswith(fileName, ".") || !endswith(fileName, ".conf"))
++ continue;
++ cString fullFileName = AddDirectory(Directory, fileName);
++ struct stat fs;
++ if ((access(*fullFileName, F_OK) != 0) || (stat(*fullFileName, &fs) != 0) || S_ISDIR(fs.st_mode))
++ continue;
++ bool ok = true;
++ int line = 0;
++ FILE *f = fopen(*fullFileName, "r");
++ if (f) {
++ char *s;
++ cReadLine ReadLine;
++ while ((s = ReadLine.Read(f)) != NULL) {
++ line++;
++ s = stripspace(skipspace(s));
++ if (!isempty(s) && (s[0] != '#')) {
++ if (startswith(s, "[") && endswith(s, "]")) {
++ s[strlen(s) - 1] = 0;
++ s++;
++ if (*lastArg) {
++ args.Append(strdup(*lastArg));
++ lastArg = NULL;
++ }
++ if (strcmp(s, "vdr") == 0)
++ inVdrSection = true;
++ else {
++ inVdrSection = false;
++ lastArg = cString::sprintf("--plugin=%s", s);
++ }
++ }
++ else {
++ if ((strlen(s) > 2) && (s[0] == '-') && (s[1] != '-')) { // short option, split at first space
++ char *p = strchr(s, ' ');
++ if (p == NULL) {
++ ok = AddArg(s);
++ if (!ok)
++ break;
++ }
++ else {
++ *p = 0;
++ p++;
++ ok = AddArg(s);
++ if (!ok)
++ break;
++ ok = AddArg(p);
++ if (!ok)
++ break;
++ }
++ }
++ else {
++ ok = AddArg(s);
++ if (!ok)
++ break;
++ }
++ }
++ }
++ }
++ fclose(f);
++ }
++ if (!ok) {
++ esyslog("ERROR: args file %s, line %d", *fullFileName, line);
++ return false;
++ }
++ }
++ if (*lastArg) {
++ args.Append(strdup(*lastArg));
++ lastArg = NULL;
++ }
++ argv = new char*[args.Size() + 1];
++ argv[0] = strdup(*argv0);
++ argc = 1;
++ for (int i = 0; i < args.Size(); i++) {
++ argv[argc] = args.At(i);
++ argc++;
++ }
++ return true;
++}
+diff -Naur vdr-2.0.7.orig/args.h vdr-2.0.7/args.h
+--- vdr-2.0.7.orig/args.h 1970-01-01 01:00:00.000000000 +0100
++++ vdr-2.0.7/args.h 2015-01-23 09:16:34.199618503 +0100
+@@ -0,0 +1,34 @@
++/*
++ * args.h: Read arguments from files
++ *
++ * See the main source file 'vdr.c' for copyright information and
++ * how to reach the author.
++ *
++ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
++ *
++ * $Id$
++ */
++
++#ifndef __ARGS_H
++#define __ARGS_H
++
++#include "tools.h"
++
++class cArgs {
++private:
++ cString argv0;
++ cStringList args;
++ cString lastArg;
++ bool inVdrSection;
++ int argc;
++ char **argv;
++ bool AddArg(const char *s);
++public:
++ cArgs(const char *Argv0);
++ ~cArgs(void);
++ bool ReadDirectory(const char *Directory);
++ int GetArgc(void) const { return argc; };
++ char **GetArgv(void) const { return argv; };
++ };
++
++#endif //__ARGS_H
+diff -Naur vdr-2.0.7.orig/interface.c vdr-2.0.7/interface.c
+--- vdr-2.0.7.orig/interface.c 2015-01-23 09:16:13.725620001 +0100
++++ vdr-2.0.7/interface.c 2015-01-23 09:16:34.199618503 +0100
+@@ -10,6 +10,9 @@
+ #include "interface.h"
+ #include <ctype.h>
+ #include <stdlib.h>
++#ifdef SDNOTIFY
++#include <systemd/sd-daemon.h>
++#endif
+ #include <unistd.h>
+ #include "i18n.h"
+ #include "status.h"
+@@ -159,6 +162,9 @@
+ bool known = Keys.KnowsRemote(Remote->Name());
+ dsyslog("remote control %s - %s", Remote->Name(), known ? "keys known" : "learning keys");
+ if (!known) {
++#ifdef SDNOTIFY
++ sd_notify(0, "READY=1\nSTATUS=Learning keys...");
++#endif
+ cSkinDisplayMenu *DisplayMenu = Skins.Current()->DisplayMenu();
+ DisplayMenu->SetMenuCategory(mcUnknown);
+ char Headline[256];
+diff -Naur vdr-2.0.7.orig/vdr.1 vdr-2.0.7/vdr.1
+--- vdr-2.0.7.orig/vdr.1 2015-01-23 09:16:13.730620000 +0100
++++ vdr-2.0.7/vdr.1 2015-01-23 09:16:34.200618503 +0100
+@@ -178,6 +178,10 @@
+ Read resource files from \fIdir\fR
+ (default is to read them from the config directory).
+ .TP
++.BI \-\-showargs[= dir ]
++Read command line arguments from \fIdir\fR (default is \fI/etc/vdr/conf.d\fR),
++display them to the console and exit.
++.TP
+ .BI \-s\ cmd ,\ \-\-shutdown= cmd
+ Call \fIcmd\fR to shutdown the computer. See the file \fIINSTALL\fR for more
+ information.
+@@ -213,6 +217,10 @@
+ .BI \-w\ sec ,\ \-\-watchdog= sec
+ Activate the watchdog timer with a timeout of \fIsec\fR seconds.
+ A value of \fB0\fR (default) disables the watchdog.
++.P
++If started without any options, vdr tries to read command line options
++from files named '*.conf' in the directory /etc/vdr/conf.d. Files are
++read in alphabetical order. See vdr(5) for details.
+ .SH SIGNALS
+ .TP
+ .B SIGINT, SIGTERM
+diff -Naur vdr-2.0.7.orig/vdr.5 vdr-2.0.7/vdr.5
+--- vdr-2.0.7.orig/vdr.5 2015-01-23 09:16:13.732620000 +0100
++++ vdr-2.0.7/vdr.5 2015-01-23 09:16:34.200618503 +0100
+@@ -895,6 +895,33 @@
+ just 16 bit wide. The internal representation in VDR allows for 32 bit to
+ be used, so that external tools can generate EPG data that is guaranteed
+ not to collide with the ids of existing data.
++.SS COMMANDLINE OPTIONS
++If started without any options, vdr tries to read any files in the directory
++/etc/vdr/conf.d with names that do not begin with a '.' and that end with '.conf'.
++These files are read in alphabetical order. The format of these files is
++
++# comment
++.br
++[name]
++.br
++-a
++.br
++-b 123
++.br
++--long
++.br
++--longarg=123
++.br
++
++Any lines that begin with '#' as the first non-whitespace character are considered
++comments and are ignored.
++A command line option file consists of one or more sections, indicated by '[name]',
++where 'name' is either the fixed word 'vdr' (if this section contains options for
++the main VDR program) or the name of the plugin this section applies to.
++Each option must be written on a separate line, including the leading '-' (for
++a short option) or '--' (for a long option). If the option has additional arguments,
++they have to be written on the same line as the option itself, separated from the
++option with a blank (short option) or equal sign (long option).
+ .SH SEE ALSO
+ .BR vdr (1)
+ .SH AUTHOR
+diff -Naur vdr-2.0.7.orig/vdr.c vdr-2.0.7/vdr.c
+--- vdr-2.0.7.orig/vdr.c 2015-01-23 09:16:13.732620000 +0100
++++ vdr-2.0.7/vdr.c 2015-01-23 09:16:34.200618503 +0100
+@@ -34,8 +34,12 @@
+ #include <stdlib.h>
+ #include <sys/capability.h>
+ #include <sys/prctl.h>
++#ifdef SDNOTIFY
++#include <systemd/sd-daemon.h>
++#endif
+ #include <termios.h>
+ #include <unistd.h>
++#include "args.h"
+ #include "audio.h"
+ #include "channels.h"
+ #include "config.h"
+@@ -192,6 +196,7 @@
+ #define DEFAULTWATCHDOG 0 // seconds
+ #define DEFAULTVIDEODIR VIDEODIR
+ #define DEFAULTCONFDIR dd(CONFDIR, VideoDirectory)
++#define DEFAULTARGSDIR dd(ARGSDIR, "/etc/vdr/conf.d")
+ #define DEFAULTCACHEDIR dd(CACHEDIR, VideoDirectory)
+ #define DEFAULTRESDIR dd(RESDIR, ConfigDirectory)
+ #define DEFAULTPLUGINDIR PLUGINDIR
+@@ -229,6 +234,15 @@
+ VdrUser = VDR_USER;
+ #endif
+
++ cArgs *Args = NULL;
++ if (argc == 1) {
++ Args = new cArgs(argv[0]);
++ if (Args->ReadDirectory(DEFAULTARGSDIR)) {
++ argc = Args->GetArgc();
++ argv = Args->GetArgv();
++ }
++ }
++
+ SetVideoDirectory(VideoDirectory);
+ cPluginManager PluginManager(DEFAULTPLUGINDIR);
+
+@@ -256,6 +270,7 @@
+ { "port", required_argument, NULL, 'p' },
+ { "record", required_argument, NULL, 'r' },
+ { "resdir", required_argument, NULL, 'r' | 0x100 },
++ { "showargs", optional_argument, NULL, 's' | 0x200 },
+ { "shutdown", required_argument, NULL, 's' },
+ { "split", no_argument, NULL, 's' | 0x100 },
+ { "terminal", required_argument, NULL, 't' },
+@@ -428,6 +443,19 @@
+ case 's' | 0x100:
+ Setup.SplitEditedFiles = 1;
+ break;
++ case 's' | 0x200: {
++ const char *ArgsDir = optarg ? optarg : DEFAULTARGSDIR;
++ cArgs Args(argv[0]);
++ if (!Args.ReadDirectory(ArgsDir)) {
++ fprintf(stderr, "vdr: can't read arguments from directory: %s\n", ArgsDir);
++ return 2;
++ }
++ int c = Args.GetArgc();
++ char **v = Args.GetArgv();
++ for (int i = 1; i < c; i++)
++ printf("%s\n", v[i]);
++ return 0;
++ }
+ case 't': Terminal = optarg;
+ if (access(Terminal, R_OK | W_OK) < 0) {
+ fprintf(stderr, "vdr: can't access terminal: %s\n", Terminal);
+@@ -541,6 +569,8 @@
+ " -s CMD, --shutdown=CMD call CMD to shutdown the computer\n"
+ " --split split edited files at the editing marks (only\n"
+ " useful in conjunction with --edit)\n"
++ " --showargs[=DIR] print the arguments read from DIR and exit\n"
++ " (default: %s)\n"
+ " -t TTY, --terminal=TTY controlling tty\n"
+ " -u USER, --user=USER run as user USER; only applicable if started as\n"
+ " root\n"
+@@ -563,6 +593,7 @@
+ DEFAULTLOCDIR,
+ DEFAULTSVDRPPORT,
+ DEFAULTRESDIR,
++ DEFAULTARGSDIR,
+ DEFAULTVIDEODIR,
+ DEFAULTWATCHDOG
+ );
+@@ -848,6 +879,10 @@
+ alarm(WatchdogTimeout); // Initial watchdog timer start
+ }
+
++#ifdef SDNOTIFY
++ sd_notify(0, "READY=1\nSTATUS=Ready");
++#endif
++
+ // Main program loop:
+
+ #define DELETE_MENU ((IsInfoMenu &= (Menu == NULL)), delete Menu, Menu = NULL)
diff --git a/media-video/vdr/files/vdr-2.0.7_systemd_argsdir_vanilla.patch b/media-video/vdr/files/vdr-2.0.7_systemd_argsdir_vanilla.patch
new file mode 100644
index 00000000000..f7bae16fdd4
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.0.7_systemd_argsdir_vanilla.patch
@@ -0,0 +1,438 @@
+diff -Naur vdr-2.0.7.orig/HISTORY vdr-2.0.7/HISTORY
+--- vdr-2.0.7.orig/HISTORY 2015-01-23 09:07:52.777656645 +0100
++++ vdr-2.0.7/HISTORY 2015-01-23 09:09:57.798647500 +0100
+@@ -7916,6 +7916,16 @@
+ - The APIVERSION has been increased to 2.0.6 due to the changes to pat.h, sdt.h and
+ the functional modification to cFont::CreateFont().
+
++2015-01-18: Version 2.0.6 + backport of systemd support from versions 2.1.6 and 2.1.7
++
++- Added support for systemd (thanks to Christopher Reimer). To activate this you
++ need to add "SDNOTIFY=1" to the 'make' call.
++
++2015-01-18: Version 2.0.6 + backport of reading command line arguments from files, from version 2.1$
++
++- VDR now reads command line options from *.conf files in /etc/vdr/conf.d (thanks
++ to Lars Hanisch). See vdr.1 and vdr.5 for details.
++
+ 2015-01-20: Version 2.0.7
+
+ - Fixed a possible division by zero in frame rate detection.
+diff -Naur vdr-2.0.7.orig/Make.config.template vdr-2.0.7/Make.config.template
+--- vdr-2.0.7.orig/Make.config.template 2015-01-23 09:07:52.765656646 +0100
++++ vdr-2.0.7/Make.config.template 2015-01-23 09:08:15.775654963 +0100
+@@ -38,6 +38,7 @@
+
+ #VIDEODIR = /srv/vdr/video
+ #CONFDIR = /var/lib/vdr
++#ARGSDIR = /etc/vdr/conf.d
+ #CACHEDIR = /var/cache/vdr
+
+ # Overrides for preset/legacy configurations:
+diff -Naur vdr-2.0.7.orig/Makefile vdr-2.0.7/Makefile
+--- vdr-2.0.7.orig/Makefile 2015-01-23 09:07:52.778656645 +0100
++++ vdr-2.0.7/Makefile 2015-01-23 09:11:11.158642134 +0100
+@@ -31,6 +31,7 @@
+ DESTDIR ?=
+ VIDEODIR ?= /srv/vdr/video
+ CONFDIR ?= /var/lib/vdr
++ARGSDIR ?= /etc/vdr/conf.d
+ CACHEDIR ?= /var/cache/vdr
+
+ PREFIX ?= /usr/local
+@@ -66,7 +67,7 @@
+
+ SILIB = $(LSIDIR)/libsi.a
+
+-OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
++OBJS = args.o audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o dvbci.o\
+ dvbplayer.o dvbspu.o dvbsubtitle.o eit.o eitscan.o epg.o filter.o font.o i18n.o interface.o keys.o\
+ lirc.o menu.o menuitems.o nit.o osdbase.o osd.o pat.o player.o plugin.o\
+ receiver.o recorder.o recording.o remote.o remux.o ringbuffer.o sdt.o sections.o shutdown.o\
+@@ -93,12 +94,18 @@
+ DEFINES += -DBIDI
+ LIBS += $(shell pkg-config --libs fribidi)
+ endif
++ifdef SDNOTIFY
++INCLUDES += $(shell pkg-config --cflags libsystemd-daemon)
++DEFINES += -DSDNOTIFY
++LIBS += $(shell pkg-config --libs libsystemd-daemon)
++endif
+
+ LIRC_DEVICE ?= /var/run/lirc/lircd
+
+ DEFINES += -DLIRC_DEVICE=\"$(LIRC_DEVICE)\"
+ DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
+ DEFINES += -DCONFDIR=\"$(CONFDIR)\"
++DEFINES += -DARGSDIR=\"$(ARGSDIR)\"
+ DEFINES += -DCACHEDIR=\"$(CACHEDIR)\"
+ DEFINES += -DRESDIR=\"$(RESDIR)\"
+ DEFINES += -DPLUGINDIR=\"$(LIBDIR)\"
+@@ -143,6 +150,7 @@
+ @echo "mandir=$(MANDIR)" >> $@
+ @echo "configdir=$(CONFDIR)" >> $@
+ @echo "videodir=$(VIDEODIR)" >> $@
++ @echo "argsdir=$(ARGSDIR)" >> $@
+ @echo "cachedir=$(CACHEDIR)" >> $@
+ @echo "resdir=$(RESDIR)" >> $@
+ @echo "libdir=$(LIBDIR)" >> $@
+@@ -260,6 +268,7 @@
+ install-dirs:
+ @mkdir -p $(DESTDIR)$(VIDEODIR)
+ # @mkdir -p $(DESTDIR)$(CONFDIR)
++ @mkdir -p $(DESTDIR)$(ARGSDIR)
+ # @mkdir -p $(DESTDIR)$(CACHEDIR)
+ @mkdir -p $(DESTDIR)$(RESDIR)
+
+diff -Naur vdr-2.0.7.orig/args.c vdr-2.0.7/args.c
+--- vdr-2.0.7.orig/args.c 1970-01-01 01:00:00.000000000 +0100
++++ vdr-2.0.7/args.c 2015-01-23 09:08:15.775654963 +0100
+@@ -0,0 +1,129 @@
++/*
++ * args.c: Read arguments from files
++ *
++ * See the main source file 'vdr.c' for copyright information and
++ * how to reach the author.
++ *
++ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
++ *
++ * $Id$
++ */
++
++#include "args.h"
++#include <unistd.h>
++
++cArgs::cArgs(const char *Argv0)
++{
++ argv0 = Argv0;
++ argc = 0;
++ argv = NULL;
++}
++
++cArgs::~cArgs(void)
++{
++ if (argv != NULL)
++ delete [] argv;
++}
++
++bool cArgs::AddArg(const char *s)
++{
++ if (inVdrSection)
++ args.Append(strdup(s));
++ else if (*lastArg == NULL)
++ return false;
++ else
++ lastArg = cString::sprintf("%s %s", *lastArg, s);
++ return true;
++}
++
++bool cArgs::ReadDirectory(const char *Directory)
++{
++ if (argv != NULL)
++ delete [] argv;
++ argc = 0;
++ argv = NULL;
++ args.Clear();
++ lastArg = NULL;
++ inVdrSection = false;
++ cFileNameList files(Directory, false);
++ if (files.Size() == 0)
++ return false;
++ for (int i = 0; i < files.Size(); i++) {
++ const char *fileName = files.At(i);
++ if (startswith(fileName, ".") || !endswith(fileName, ".conf"))
++ continue;
++ cString fullFileName = AddDirectory(Directory, fileName);
++ struct stat fs;
++ if ((access(*fullFileName, F_OK) != 0) || (stat(*fullFileName, &fs) != 0) || S_ISDIR(fs.st_mode))
++ continue;
++ bool ok = true;
++ int line = 0;
++ FILE *f = fopen(*fullFileName, "r");
++ if (f) {
++ char *s;
++ cReadLine ReadLine;
++ while ((s = ReadLine.Read(f)) != NULL) {
++ line++;
++ s = stripspace(skipspace(s));
++ if (!isempty(s) && (s[0] != '#')) {
++ if (startswith(s, "[") && endswith(s, "]")) {
++ s[strlen(s) - 1] = 0;
++ s++;
++ if (*lastArg) {
++ args.Append(strdup(*lastArg));
++ lastArg = NULL;
++ }
++ if (strcmp(s, "vdr") == 0)
++ inVdrSection = true;
++ else {
++ inVdrSection = false;
++ lastArg = cString::sprintf("--plugin=%s", s);
++ }
++ }
++ else {
++ if ((strlen(s) > 2) && (s[0] == '-') && (s[1] != '-')) { // short option, split at first space
++ char *p = strchr(s, ' ');
++ if (p == NULL) {
++ ok = AddArg(s);
++ if (!ok)
++ break;
++ }
++ else {
++ *p = 0;
++ p++;
++ ok = AddArg(s);
++ if (!ok)
++ break;
++ ok = AddArg(p);
++ if (!ok)
++ break;
++ }
++ }
++ else {
++ ok = AddArg(s);
++ if (!ok)
++ break;
++ }
++ }
++ }
++ }
++ fclose(f);
++ }
++ if (!ok) {
++ esyslog("ERROR: args file %s, line %d", *fullFileName, line);
++ return false;
++ }
++ }
++ if (*lastArg) {
++ args.Append(strdup(*lastArg));
++ lastArg = NULL;
++ }
++ argv = new char*[args.Size() + 1];
++ argv[0] = strdup(*argv0);
++ argc = 1;
++ for (int i = 0; i < args.Size(); i++) {
++ argv[argc] = args.At(i);
++ argc++;
++ }
++ return true;
++}
+diff -Naur vdr-2.0.7.orig/args.h vdr-2.0.7/args.h
+--- vdr-2.0.7.orig/args.h 1970-01-01 01:00:00.000000000 +0100
++++ vdr-2.0.7/args.h 2015-01-23 09:08:15.775654963 +0100
+@@ -0,0 +1,34 @@
++/*
++ * args.h: Read arguments from files
++ *
++ * See the main source file 'vdr.c' for copyright information and
++ * how to reach the author.
++ *
++ * Original version written by Lars Hanisch <dvb@flensrocker.de>.
++ *
++ * $Id$
++ */
++
++#ifndef __ARGS_H
++#define __ARGS_H
++
++#include "tools.h"
++
++class cArgs {
++private:
++ cString argv0;
++ cStringList args;
++ cString lastArg;
++ bool inVdrSection;
++ int argc;
++ char **argv;
++ bool AddArg(const char *s);
++public:
++ cArgs(const char *Argv0);
++ ~cArgs(void);
++ bool ReadDirectory(const char *Directory);
++ int GetArgc(void) const { return argc; };
++ char **GetArgv(void) const { return argv; };
++ };
++
++#endif //__ARGS_H
+diff -Naur vdr-2.0.7.orig/interface.c vdr-2.0.7/interface.c
+--- vdr-2.0.7.orig/interface.c 2015-01-23 09:07:52.765656646 +0100
++++ vdr-2.0.7/interface.c 2015-01-23 09:08:15.775654963 +0100
+@@ -10,6 +10,9 @@
+ #include "interface.h"
+ #include <ctype.h>
+ #include <stdlib.h>
++#ifdef SDNOTIFY
++#include <systemd/sd-daemon.h>
++#endif
+ #include <unistd.h>
+ #include "i18n.h"
+ #include "status.h"
+@@ -159,6 +162,9 @@
+ bool known = Keys.KnowsRemote(Remote->Name());
+ dsyslog("remote control %s - %s", Remote->Name(), known ? "keys known" : "learning keys");
+ if (!known) {
++#ifdef SDNOTIFY
++ sd_notify(0, "READY=1\nSTATUS=Learning keys...");
++#endif
+ cSkinDisplayMenu *DisplayMenu = Skins.Current()->DisplayMenu();
+ DisplayMenu->SetMenuCategory(mcUnknown);
+ char Headline[256];
+diff -Naur vdr-2.0.7.orig/vdr.1 vdr-2.0.7/vdr.1
+--- vdr-2.0.7.orig/vdr.1 2015-01-23 09:07:52.770656646 +0100
++++ vdr-2.0.7/vdr.1 2015-01-23 09:08:15.776654963 +0100
+@@ -178,6 +178,10 @@
+ Read resource files from \fIdir\fR
+ (default is to read them from the config directory).
+ .TP
++.BI \-\-showargs[= dir ]
++Read command line arguments from \fIdir\fR (default is \fI/etc/vdr/conf.d\fR),
++display them to the console and exit.
++.TP
+ .BI \-s\ cmd ,\ \-\-shutdown= cmd
+ Call \fIcmd\fR to shutdown the computer. See the file \fIINSTALL\fR for more
+ information.
+@@ -213,6 +217,10 @@
+ .BI \-w\ sec ,\ \-\-watchdog= sec
+ Activate the watchdog timer with a timeout of \fIsec\fR seconds.
+ A value of \fB0\fR (default) disables the watchdog.
++.P
++If started without any options, vdr tries to read command line options
++from files named '*.conf' in the directory /etc/vdr/conf.d. Files are
++read in alphabetical order. See vdr(5) for details.
+ .SH SIGNALS
+ .TP
+ .B SIGINT, SIGTERM
+diff -Naur vdr-2.0.7.orig/vdr.5 vdr-2.0.7/vdr.5
+--- vdr-2.0.7.orig/vdr.5 2015-01-23 09:07:52.772656646 +0100
++++ vdr-2.0.7/vdr.5 2015-01-23 09:08:15.776654963 +0100
+@@ -889,6 +889,33 @@
+ just 16 bit wide. The internal representation in VDR allows for 32 bit to
+ be used, so that external tools can generate EPG data that is guaranteed
+ not to collide with the ids of existing data.
++.SS COMMANDLINE OPTIONS
++If started without any options, vdr tries to read any files in the directory
++/etc/vdr/conf.d with names that do not begin with a '.' and that end with '.conf'.
++These files are read in alphabetical order. The format of these files is
++
++# comment
++.br
++[name]
++.br
++-a
++.br
++-b 123
++.br
++--long
++.br
++--longarg=123
++.br
++
++Any lines that begin with '#' as the first non-whitespace character are considered
++comments and are ignored.
++A command line option file consists of one or more sections, indicated by '[name]',
++where 'name' is either the fixed word 'vdr' (if this section contains options for
++the main VDR program) or the name of the plugin this section applies to.
++Each option must be written on a separate line, including the leading '-' (for
++a short option) or '--' (for a long option). If the option has additional arguments,
++they have to be written on the same line as the option itself, separated from the
++option with a blank (short option) or equal sign (long option).
+ .SH SEE ALSO
+ .BR vdr (1)
+ .SH AUTHOR
+diff -Naur vdr-2.0.7.orig/vdr.c vdr-2.0.7/vdr.c
+--- vdr-2.0.7.orig/vdr.c 2015-01-23 09:07:52.772656646 +0100
++++ vdr-2.0.7/vdr.c 2015-01-23 09:08:15.776654963 +0100
+@@ -34,8 +34,12 @@
+ #include <stdlib.h>
+ #include <sys/capability.h>
+ #include <sys/prctl.h>
++#ifdef SDNOTIFY
++#include <systemd/sd-daemon.h>
++#endif
+ #include <termios.h>
+ #include <unistd.h>
++#include "args.h"
+ #include "audio.h"
+ #include "channels.h"
+ #include "config.h"
+@@ -186,6 +190,7 @@
+ #define DEFAULTWATCHDOG 0 // seconds
+ #define DEFAULTVIDEODIR VIDEODIR
+ #define DEFAULTCONFDIR dd(CONFDIR, VideoDirectory)
++#define DEFAULTARGSDIR dd(ARGSDIR, "/etc/vdr/conf.d")
+ #define DEFAULTCACHEDIR dd(CACHEDIR, VideoDirectory)
+ #define DEFAULTRESDIR dd(RESDIR, ConfigDirectory)
+ #define DEFAULTPLUGINDIR PLUGINDIR
+@@ -223,6 +228,15 @@
+ VdrUser = VDR_USER;
+ #endif
+
++ cArgs *Args = NULL;
++ if (argc == 1) {
++ Args = new cArgs(argv[0]);
++ if (Args->ReadDirectory(DEFAULTARGSDIR)) {
++ argc = Args->GetArgc();
++ argv = Args->GetArgv();
++ }
++ }
++
+ SetVideoDirectory(VideoDirectory);
+ cPluginManager PluginManager(DEFAULTPLUGINDIR);
+
+@@ -250,6 +264,7 @@
+ { "port", required_argument, NULL, 'p' },
+ { "record", required_argument, NULL, 'r' },
+ { "resdir", required_argument, NULL, 'r' | 0x100 },
++ { "showargs", optional_argument, NULL, 's' | 0x200 },
+ { "shutdown", required_argument, NULL, 's' },
+ { "split", no_argument, NULL, 's' | 0x100 },
+ { "terminal", required_argument, NULL, 't' },
+@@ -422,6 +437,19 @@
+ case 's' | 0x100:
+ Setup.SplitEditedFiles = 1;
+ break;
++ case 's' | 0x200: {
++ const char *ArgsDir = optarg ? optarg : DEFAULTARGSDIR;
++ cArgs Args(argv[0]);
++ if (!Args.ReadDirectory(ArgsDir)) {
++ fprintf(stderr, "vdr: can't read arguments from directory: %s\n", ArgsDir);
++ return 2;
++ }
++ int c = Args.GetArgc();
++ char **v = Args.GetArgv();
++ for (int i = 1; i < c; i++)
++ printf("%s\n", v[i]);
++ return 0;
++ }
+ case 't': Terminal = optarg;
+ if (access(Terminal, R_OK | W_OK) < 0) {
+ fprintf(stderr, "vdr: can't access terminal: %s\n", Terminal);
+@@ -535,6 +563,8 @@
+ " -s CMD, --shutdown=CMD call CMD to shutdown the computer\n"
+ " --split split edited files at the editing marks (only\n"
+ " useful in conjunction with --edit)\n"
++ " --showargs[=DIR] print the arguments read from DIR and exit\n"
++ " (default: %s)\n"
+ " -t TTY, --terminal=TTY controlling tty\n"
+ " -u USER, --user=USER run as user USER; only applicable if started as\n"
+ " root\n"
+@@ -557,6 +587,7 @@
+ DEFAULTLOCDIR,
+ DEFAULTSVDRPPORT,
+ DEFAULTRESDIR,
++ DEFAULTARGSDIR,
+ DEFAULTVIDEODIR,
+ DEFAULTWATCHDOG
+ );
+@@ -837,6 +868,10 @@
+ alarm(WatchdogTimeout); // Initial watchdog timer start
+ }
+
++#ifdef SDNOTIFY
++ sd_notify(0, "READY=1\nSTATUS=Ready");
++#endif
++
+ // Main program loop:
+
+ #define DELETE_MENU ((IsInfoMenu &= (Menu == NULL)), delete Menu, Menu = NULL)
diff --git a/media-video/vdr/metadata.xml b/media-video/vdr/metadata.xml
index f9813be524f..62b1c32b1a8 100644
--- a/media-video/vdr/metadata.xml
+++ b/media-video/vdr/metadata.xml
@@ -8,16 +8,25 @@
<use>
<flag name="alternatechannel">Use alternate channel on record</flag>
<flag name="bidi">fribidi support, for languages, written from right to left</flag>
+ <flag name="ddepgentry">remove duplicate EPG entries</flag>
+ <flag name="dvlvidprefer">controls video-dir choice on recording</flag>
<flag name="graphtft">support for vdr-graphtft plugin up from version 0.1.7</flag>
<flag name="html">Install HTML documentation</flag>
+ <flag name="jumpplay">Enables automatic jumping over cut marks while watching a recording</flag>
+ <flag name="jumpingseconds">skip seconds in played records</flag>
<flag name="kbd">enable keyboard support as remote device</flag>
<flag name="mainmenuhooks">Allows to replace main menu entries by some special plugins (like epgsearch, extrecmenu, ...)</flag>
<flag name="menuorg">Enables support for the <pkg>media-plugins/vdr-menuorg</pkg></flag>
<flag name="menuselection">adds support for menu hotkeys of double digits</flag>
<flag name="naludump">Removes NALU fill data from h.264-Streams of TS files</flag>
+ <flag name="permashift">permanent timeshift by recording live TV on hard disk, need plugin <pkg>media-plugins/vdr-permashift</pkg></flag>
<flag name="permashift_v1">permanent timeshift by recording live TV on RAM, need plugin >=mediaplugins/vdr-permashift-1</flag>
<flag name="pinplugin">Support for <pkg>media-plugins/vdr-pin</pkg></flag>
<flag name="resumereset">rreset resume of EOF</flag>
+ <flag name="rotor">Enable support for plugin <pkg>media-plugins/vdr-rotor</pkg> for dish-positioner.</flag>
<flag name="ttxtsubs">support for <pkg>media-plugins/vdr-ttxtsubs</pkg></flag>
+ <flag name="vasarajanauloja">replacement for the liemikuutio patch, adds some nice must haves features</flag>
+ <flag name="wareagleicon">Replace original icon set in menu</flag>
+ <flag name="yaepg">Enables support for the vdr-yaepg plugin</flag>
</use>
</pkgmetadata>
diff --git a/media-video/vdr/vdr-2.0.6-r1.ebuild b/media-video/vdr/vdr-2.0.6-r1.ebuild
new file mode 100644
index 00000000000..63de150c12f
--- /dev/null
+++ b/media-video/vdr/vdr-2.0.6-r1.ebuild
@@ -0,0 +1,277 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+# Switches supported by extensions-patch
+EXT_PATCH_FLAGS="alternatechannel ddepgentry dvlvidprefer graphtft
+ jumpplay jumpingseconds mainmenuhooks menuorg naludump permashift permashift_v1
+ pinplugin rotor ttxtsubs vasarajanauloja wareagleicon yaepg"
+
+# names of the use-flags
+EXT_PATCH_FLAGS_RENAMED=""
+
+# names ext-patch uses internally, here only used for maintainer checks
+EXT_PATCH_FLAGS_RENAMED_EXT_NAME=""
+
+IUSE="bidi debug html vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
+
+MY_PV="${PV%_p*}"
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${MY_P}"
+
+EXT_P="extpng-${P}-gentoo-edition-v6"
+
+DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
+HOMEPAGE="http://www.tvdr.de/"
+SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
+ https://dev.gentoo.org/~hd_brummy/distfiles/${EXT_P}.patch.bz2"
+
+KEYWORDS="amd64 ~arm ~ppc x86"
+SLOT="0"
+LICENSE="GPL-2"
+
+REQUIRED_USE="
+ permashift? ( !permashift_v1 )
+ permashift_v1? ( !permashift )"
+
+COMMON_DEPEND="virtual/jpeg:*
+ sys-libs/libcap
+ >=media-libs/fontconfig-2.4.2
+ >=media-libs/freetype-2"
+
+DEPEND="${COMMON_DEPEND}
+ >=virtual/linuxtv-dvb-headers-5.3
+ sys-devel/gettext"
+
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ >=media-tv/gentoo-vdr-scripts-2.5_rc1
+ media-fonts/corefonts
+ bidi? ( dev-libs/fribidi )"
+
+CONF_DIR=/etc/vdr
+CAP_FILE=${S}/capabilities.sh
+CAPS="# Capabilities of the vdr-executable for use by startscript etc."
+
+pkg_setup() {
+ use debug && append-flags -g
+
+ PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
+
+ tc-export CC CXX AR
+}
+
+add_cap() {
+ local arg
+ for arg; do
+ CAPS="${CAPS}\n${arg}=1"
+ done
+}
+
+enable_patch() {
+ local arg ARG_UPPER
+ for arg; do
+ ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]')
+ echo "${ARG_UPPER} = 1" >> Make.config
+
+ # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
+ echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp
+ cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE
+ export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
+ done
+}
+
+extensions_add_make_conf()
+{
+ # copy all ifdef for extensions-patch to Make.config
+ sed -e '1,/need to touch the following:/d' \
+ -e '/need to touch the following/,/^$/d' \
+ Make.config.template >> Make.config
+}
+
+extensions_all_defines() {
+ # extract all possible settings for extensions-patch
+ sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
+ Make.config.template \
+ | sort \
+ | tr '[:upper:]' '[:lower:]'
+}
+
+lang_po() {
+ LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+}
+
+src_prepare() {
+ # apply maintainace-patches
+ ebegin "Changing paths for gentoo"
+
+ local DVBDIR=/usr/include
+ local i
+ for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
+ [[ -d ${i} ]] || continue
+ if [[ -f ${i}/linux/dvb/dmx.h ]]; then
+ einfo "Found DVB header files in ${i}"
+ DVBDIR=${i}
+ break
+ fi
+ done
+
+ # checking for s2api headers
+ local api_version
+ api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+ api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+
+ if [[ ${api_version:-0} -lt 5*3 ]]; then
+ eerror "DVB header files do not contain s2api support or too old for ${P}"
+ eerror "You cannot compile VDR against old dvb-header"
+ die "DVB headers too old"
+ fi
+
+ cat > Make.config <<-EOT
+ #
+ # Generated by ebuild ${PF}
+ #
+ PREFIX = /usr
+ DVBDIR = ${DVBDIR}
+ PLUGINLIBDIR = ${PLUGIN_LIBDIR}
+ CONFDIR = ${CONF_DIR}
+ VIDEODIR = /var/vdr/video
+ LOCDIR = \$(PREFIX)/share/locale
+ INCDIR = \$(PREFIX)/include
+
+ DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
+ INCLUDES += -I\$(DVBDIR)
+
+ # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
+ # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
+ LIBDIR = ${PLUGIN_LIBDIR}
+ PCDIR = /usr/$(get_libdir)/pkgconfig
+ EOT
+ eend 0
+
+ # support languages, written from right to left
+ BUILD_PARAMS+=" BIDI=$(usex bidi 1 0)"
+
+ epatch "${FILESDIR}/${PN}-2.0.6_gentoo.patch"
+
+ if ! use vanilla; then
+
+ # Now apply extensions patch
+ epatch "${WORKDIR}/${EXT_P}.patch"
+
+ # This allows us to start even if some plugin does not exist
+ # or is not loadable.
+ enable_patch PLUGINMISSING
+ enable_patch CHANNELBIND
+
+ if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
+ einfo "Doing maintainer checks:"
+
+ # we do not support these patches
+ # (or have them already hard enabled)
+ local IGNORE_PATCHES="pluginmissing channelbind"
+
+ extensions_all_defines > "${T}"/new.IUSE
+ echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
+ $IGNORE_PATCHES | \
+ tr ' ' '\n' |sort > "${T}"/old.IUSE
+ local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
+ if [[ -z ${DIFFS} ]]; then
+ einfo "EXT_PATCH_FLAGS is up to date."
+ else
+ ewarn "IUSE differences!"
+ local diff
+ for diff in $DIFFS; do
+ ewarn "$diff"
+ done
+ fi
+ fi
+
+ ebegin "Enabling selected patches"
+ local flag
+ for flag in $EXT_PATCH_FLAGS; do
+ use $flag && enable_patch ${flag}
+ done
+
+ eend 0
+
+ extensions_add_make_conf
+
+ # add defined use-flags compile options to vdr.pc
+ sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
+ -i Makefile
+
+ ebegin "Make depend"
+ emake .dependencies >/dev/null
+ eend $? "make depend failed"
+ fi
+
+ epatch_user
+
+ add_cap CAP_UTF8
+
+ add_cap CAP_IRCTRL_RUNTIME_PARAM \
+ CAP_VFAT_RUNTIME_PARAM \
+ CAP_CHUID \
+ CAP_SHUTDOWN_AUTO_RETRY
+
+ echo -e ${CAPS} > "${CAP_FILE}"
+
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
+
+ lang_po
+
+ einfo "\t Please set one of this values in your sytem make.conf"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
+
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
+ einfo "\t You will get only english text on OSD \n"
+ fi
+
+ strip-linguas ${LING_PO} en
+}
+
+src_install() {
+# # trick makefile not to create a videodir by supplying it with an existing
+# # directory
+ emake \
+ VIDEODIR="/" \
+ DESTDIR="${D}" install || die "emake install failed"
+
+ keepdir "${PLUGIN_LIBDIR}"
+
+ keepdir "${CONF_DIR}"/plugins
+ keepdir "${CONF_DIR}"/themes
+
+ if use html; then
+ dohtml *.html
+ fi
+
+ dodoc MANUAL INSTALL README* HISTORY CONTRIBUTORS
+
+ insinto /usr/share/vdr
+ doins "${CAP_FILE}"
+
+ if use alternatechannel; then
+ insinto /etc/vdr
+ doins "${FILESDIR}"/channel_alternative.conf
+ fi
+
+ chown -R vdr:vdr "${D}/${CONF_DIR}"
+}
+
+pkg_postinst() {
+ elog "It is a good idea to run vdrplugin-rebuild now."
+
+ elog "To get nice symbols in OSD we recommend to install"
+ elog "\t1. emerge media-fonts/vdrsymbols-ttf"
+ elog "\t2. select font VDRSymbolsSans in Setup"
+ elog ""
+ elog "To get an idea how to proceed now, have a look at our vdr-guide:"
+ elog "\thttps://wiki.gentoo.org/wiki/VDR"
+}
diff --git a/media-video/vdr/vdr-2.0.7.ebuild b/media-video/vdr/vdr-2.0.7.ebuild
new file mode 100644
index 00000000000..f5d9d5ed815
--- /dev/null
+++ b/media-video/vdr/vdr-2.0.7.ebuild
@@ -0,0 +1,288 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+# Switches supported by extensions-patch
+EXT_PATCH_FLAGS="alternatechannel ddepgentry dvlvidprefer graphtft
+ jumpplay jumpingseconds mainmenuhooks menuorg naludump permashift permashift_v1
+ pinplugin rotor ttxtsubs vasarajanauloja wareagleicon yaepg"
+
+# names of the use-flags
+EXT_PATCH_FLAGS_RENAMED=""
+
+# names ext-patch uses internally, here only used for maintainer checks
+EXT_PATCH_FLAGS_RENAMED_EXT_NAME=""
+
+IUSE="bidi debug html systemd vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
+
+MY_PV="${PV%_p*}"
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${MY_P}"
+
+EXT_P="extpng-${PN}-2.0.6-gentoo-edition-v6"
+
+DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
+HOMEPAGE="http://www.tvdr.de/"
+SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
+ https://dev.gentoo.org/~hd_brummy/distfiles/${EXT_P}.patch.bz2"
+
+KEYWORDS="~arm ~amd64 ~ppc ~x86"
+SLOT="0"
+LICENSE="GPL-2"
+
+REQUIRED_USE="
+ permashift? ( !permashift_v1 )
+ permashift_v1? ( !permashift )"
+
+COMMON_DEPEND="virtual/jpeg:*
+ sys-libs/libcap
+ >=media-libs/fontconfig-2.4.2
+ >=media-libs/freetype-2"
+
+DEPEND="${COMMON_DEPEND}
+ >=virtual/linuxtv-dvb-headers-5.3
+ sys-devel/gettext"
+
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ >=media-tv/gentoo-vdr-scripts-2.5
+ media-fonts/corefonts
+ bidi? ( dev-libs/fribidi )
+ systemd? ( sys-apps/systemd )"
+
+CONF_DIR=/etc/vdr
+CAP_FILE=${S}/capabilities.sh
+CAPS="# Capabilities of the vdr-executable for use by startscript etc."
+
+pkg_setup() {
+ use debug && append-flags -g
+
+ PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
+
+ tc-export CC CXX AR
+}
+
+add_cap() {
+ local arg
+ for arg; do
+ CAPS="${CAPS}\n${arg}=1"
+ done
+}
+
+enable_patch() {
+ local arg ARG_UPPER
+ for arg; do
+ ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]')
+ echo "${ARG_UPPER} = 1" >> Make.config
+
+ # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
+ echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp
+ cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE
+ export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
+ done
+}
+
+extensions_add_make_conf()
+{
+ # copy all ifdef for extensions-patch to Make.config
+ sed -e '1,/need to touch the following:/d' \
+ -e '/need to touch the following/,/^$/d' \
+ Make.config.template >> Make.config
+}
+
+extensions_all_defines() {
+ # extract all possible settings for extensions-patch
+ sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
+ Make.config.template \
+ | sort \
+ | tr '[:upper:]' '[:lower:]'
+}
+
+lang_po() {
+ LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+}
+
+src_prepare() {
+ # apply maintainace-patches
+ ebegin "Changing paths for gentoo"
+
+ local DVBDIR=/usr/include
+ local i
+ for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
+ [[ -d ${i} ]] || continue
+ if [[ -f ${i}/linux/dvb/dmx.h ]]; then
+ einfo "Found DVB header files in ${i}"
+ DVBDIR=${i}
+ break
+ fi
+ done
+
+ # checking for s2api headers
+ local api_version
+ api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+ api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+
+ if [[ ${api_version:-0} -lt 5*3 ]]; then
+ eerror "DVB header files do not contain s2api support or too old for ${P}"
+ eerror "You cannot compile VDR against old dvb-header"
+ die "DVB headers too old"
+ fi
+
+ cat > Make.config <<-EOT
+ #
+ # Generated by ebuild ${PF}
+ #
+ PREFIX = /usr
+ DVBDIR = ${DVBDIR}
+ PLUGINLIBDIR = ${PLUGIN_LIBDIR}
+ CONFDIR = ${CONF_DIR}
+ VIDEODIR = /var/vdr/video
+ LOCDIR = \$(PREFIX)/share/locale
+ INCDIR = \$(PREFIX)/include
+
+ DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
+ INCLUDES += -I\$(DVBDIR)
+
+ # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
+ # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
+ LIBDIR = ${PLUGIN_LIBDIR}
+ PCDIR = /usr/$(get_libdir)/pkgconfig
+ EOT
+ eend 0
+
+ # support languages, written from right to left
+ BUILD_PARAMS+=" BIDI=$(usex bidi 1 0)"
+
+ # systemd support
+ use systemd && BUILD_PARAMS+=" SDNOTIFY=$(usex systemd 1 0)"
+
+ if ! use vanilla; then
+
+ # Now apply extensions patch
+ epatch "${WORKDIR}/${EXT_P}.patch"
+
+ # This allows us to start even if some plugin does not exist
+ # or is not loadable.
+ enable_patch PLUGINMISSING
+ enable_patch CHANNELBIND
+
+ if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
+ einfo "Doing maintainer checks:"
+
+ # we do not support these patches
+ # (or have them already hard enabled)
+ local IGNORE_PATCHES="pluginmissing channelbind"
+
+ extensions_all_defines > "${T}"/new.IUSE
+ echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
+ $IGNORE_PATCHES | \
+ tr ' ' '\n' |sort > "${T}"/old.IUSE
+ local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
+ if [[ -z ${DIFFS} ]]; then
+ einfo "EXT_PATCH_FLAGS is up to date."
+ else
+ ewarn "IUSE differences!"
+ local diff
+ for diff in $DIFFS; do
+ ewarn "$diff"
+ done
+ fi
+ fi
+
+ ebegin "Enabling selected patches"
+ local flag
+ for flag in $EXT_PATCH_FLAGS; do
+ use $flag && enable_patch ${flag}
+ done
+
+ eend 0
+
+ extensions_add_make_conf
+
+ # add defined use-flags compile options to vdr.pc
+ sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
+ -i Makefile
+
+ ebegin "Make depend"
+ emake .dependencies >/dev/null
+ eend $? "make depend failed"
+ fi
+
+ epatch "${FILESDIR}/${PN}-2.0.6-r2_gentoo.patch"
+
+ # backport from vdr-2.1.7 for better systemd support
+ if use vanilla; then
+ epatch "${FILESDIR}/${P}_systemd_argsdir_vanilla.patch"
+ else
+ epatch "${FILESDIR}/${P}_systemd_argsdir.patch"
+ fi
+
+ epatch_user
+
+ add_cap CAP_UTF8
+
+ add_cap CAP_IRCTRL_RUNTIME_PARAM \
+ CAP_VFAT_RUNTIME_PARAM \
+ CAP_CHUID \
+ CAP_SHUTDOWN_AUTO_RETRY
+
+ echo -e ${CAPS} > "${CAP_FILE}"
+
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
+
+ lang_po
+
+ einfo "\t Please set one of this values in your sytem make.conf"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
+
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
+ einfo "\t You will get only english text on OSD \n"
+ fi
+
+ strip-linguas ${LING_PO} en
+}
+
+src_install() {
+# # trick makefile not to create a videodir by supplying it with an existing
+# # directory
+ emake \
+ VIDEODIR="/" \
+ DESTDIR="${D}" install || die "emake install failed"
+
+ keepdir "${PLUGIN_LIBDIR}"
+
+ # backup for plugins they don't be able to create this dir
+ keepdir "${CONF_DIR}"/plugins
+
+ if use html; then
+ dohtml *.html
+ fi
+
+ dodoc MANUAL INSTALL README* HISTORY CONTRIBUTORS
+
+ insinto /usr/share/vdr
+ doins "${CAP_FILE}"
+
+ if use alternatechannel; then
+ insinto /etc/vdr
+ doins "${FILESDIR}"/channel_alternative.conf
+ fi
+
+ chown -R vdr:vdr "${D}/${CONF_DIR}"
+}
+
+pkg_postinst() {
+ elog "It is a good idea to run vdrplugin-rebuild now."
+
+ elog "To get nice symbols in OSD we recommend to install"
+ elog "\t1. emerge media-fonts/vdrsymbols-ttf"
+ elog "\t2. select font VDRSymbolsSans in Setup"
+ elog ""
+ elog "To get an idea how to proceed now, have a look at our vdr-guide:"
+ elog "\thttps://wiki.gentoo.org/wiki/VDR"
+}
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2019-07-31 14:36 Andreas Sturmlechner
0 siblings, 0 replies; 11+ messages in thread
From: Andreas Sturmlechner @ 2019-07-31 14:36 UTC (permalink / raw
To: gentoo-commits
commit: 85b3527f9c3bddee3f2f3c0589ca1f994b28f2b9
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 31 14:33:24 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jul 31 14:36:14 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85b3527f
media-video/vdr: Restore 2.0.6-r1...
media-plugins/vdr-pvr350 requires >=media-video/vdr-2[yaepg]...
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
media-video/vdr/Manifest | 2 +
media-video/vdr/files/vdr-2.0.6_gentoo.patch | 68 +++++++
media-video/vdr/metadata.xml | 9 +
media-video/vdr/vdr-2.0.6-r1.ebuild | 277 +++++++++++++++++++++++++++
4 files changed, 356 insertions(+)
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index dac0f69a4e8..e9b20f623a1 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -1,2 +1,4 @@
+DIST extpng-vdr-2.0.6-gentoo-edition-v6.patch.bz2 69472 BLAKE2B 60669e9c20b2bd573eb05733bbf9548d2e643b36693be8b15a377b38470708a71b29e2a16baf7ed378132265f814ec9d35dae749ccf6ae204cd9beb787dc8f57 SHA512 f4ecb786ec5a026fa75fcf539518e80273bf43fc325c13a380c70eb85351910efa991b3ee71ca477e597bc2b4598a18620b6cf00fc02714acfcc4e6112d84b6c
DIST extpng-vdr-2.2.0-gentoo-edition-v1.patch.bz2 34664 BLAKE2B 81b68ebe0ef4588c3676f0b7a2c766d8d4d4f754a987b3be5868f3c6eff9158d4cea8e492ca81df535e637dbdc5baff638d1fafb4163e9d9a2d0125aba17e2e1 SHA512 16d6fbb8201f003dfe653b6a49424b794d7e697e27ad6f2383dbe17b76712ea5a3da88a676900b84d75ff7425bf3eb9084d60a89a4598758f482dc1f013f7b3e
+DIST vdr-2.0.6.tar.bz2 839575 BLAKE2B 40de46d8465b7008bc29c7e2c1c241d4114aa3d62aa6a0acd81636133c295cd87c2fc618e725885c98f47445220e897c23188373457a96b51cf832ca417c9842 SHA512 070ebbfb85478887088567872a71744305dbf9c75de8b095a8fe46d883b0b4fe140539caeb2243715f42793a45790a127542655f549f7ea3cb71c4f9912fa07d
DIST vdr-2.2.0.tar.bz2 922708 BLAKE2B 975e07d6d4c5bd13ee92be5d6a1826d6404b0c59e20fa2e30689b185a61e02d54782ad528e6a4f15e0d36806b30bcf48aa336d63adb3604e78056ff318e0fd2c SHA512 183f58133915c6c0fe8ec2b88becbcb2a36418210e6dcf7931053d3771d727c3581593f9eb5c9693abf39e22e728f7b41c42079cd704610c3636ec05134ea93d
diff --git a/media-video/vdr/files/vdr-2.0.6_gentoo.patch b/media-video/vdr/files/vdr-2.0.6_gentoo.patch
new file mode 100644
index 00000000000..1641fc8e2ee
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.0.6_gentoo.patch
@@ -0,0 +1,68 @@
+diff -Naur vdr-2.0.6.orig/Makefile vdr-2.0.6/Makefile
+--- vdr-2.0.6.orig/Makefile 2014-09-22 22:17:23.000000000 +0200
++++ vdr-2.0.6/Makefile 2014-09-24 15:22:43.000000000 +0200
+@@ -109,7 +109,7 @@
+ VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
+ APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
+
+-all: vdr i18n plugins
++all: vdr i18n
+
+ # Implicit rules:
+
+@@ -162,7 +162,7 @@
+
+ PODIR = po
+ LOCALEDIR = locale
+-I18Npo = $(wildcard $(PODIR)/*.po)
++I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po))
+ I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+ I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+ I18Npot = $(PODIR)/vdr.pot
+@@ -185,7 +185,7 @@
+
+ install-i18n: i18n
+ @mkdir -p $(DESTDIR)$(LOCDIR)
+- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
++ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done)
+
+ # The 'include' directory (for plugins):
+
+@@ -247,7 +247,7 @@
+
+ # Install the files (note that 'install-pc' must be first!):
+
+-install: install-pc install-bin install-dirs install-conf install-doc install-plugins install-i18n install-includes
++install: install-pc install-bin install-dirs install-conf install-doc install-i18n install-includes
+
+ # VDR binary:
+
+@@ -259,11 +259,12 @@
+
+ install-dirs:
+ @mkdir -p $(DESTDIR)$(VIDEODIR)
+- @mkdir -p $(DESTDIR)$(CONFDIR)
+- @mkdir -p $(DESTDIR)$(CACHEDIR)
++# @mkdir -p $(DESTDIR)$(CONFDIR)
++# @mkdir -p $(DESTDIR)$(CACHEDIR)
+ @mkdir -p $(DESTDIR)$(RESDIR)
+
+ install-conf:
++ @mkdir -p $(DESTDIR)$(CONFDIR)
+ @cp -pn *.conf $(DESTDIR)$(CONFDIR)
+
+ # Documentation:
+@@ -290,8 +291,11 @@
+ # Includes:
+
+ install-includes: include-dir
+- @mkdir -p $(DESTDIR)$(INCDIR)
+- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
++# @mkdir -p $(DESTDIR)$(INCDIR)
++# @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
++ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
++ @cp -pLR include/vdr $(DESTDIR)$(INCDIR)
++ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr
+
+ # pkg-config file:
+
diff --git a/media-video/vdr/metadata.xml b/media-video/vdr/metadata.xml
index f9813be524f..8ebb4b08a51 100644
--- a/media-video/vdr/metadata.xml
+++ b/media-video/vdr/metadata.xml
@@ -8,16 +8,25 @@
<use>
<flag name="alternatechannel">Use alternate channel on record</flag>
<flag name="bidi">fribidi support, for languages, written from right to left</flag>
+ <flag name="ddepgentry">remove duplicate EPG entries</flag>
+ <flag name="dvlvidprefer">controls video-dir choice on recording</flag>
<flag name="graphtft">support for vdr-graphtft plugin up from version 0.1.7</flag>
<flag name="html">Install HTML documentation</flag>
+ <flag name="jumpplay">Enables automatic jumping over cut marks while watching a recording</flag>
+ <flag name="jumpingseconds">skip seconds in played records</flag>
<flag name="kbd">enable keyboard support as remote device</flag>
<flag name="mainmenuhooks">Allows to replace main menu entries by some special plugins (like epgsearch, extrecmenu, ...)</flag>
<flag name="menuorg">Enables support for the <pkg>media-plugins/vdr-menuorg</pkg></flag>
<flag name="menuselection">adds support for menu hotkeys of double digits</flag>
<flag name="naludump">Removes NALU fill data from h.264-Streams of TS files</flag>
+ <flag name="permashift">permanent timeshift by recording live TV on hard disk, need plugin <pkg>media-plugins/vdr-permashift</pkg></flag>
<flag name="permashift_v1">permanent timeshift by recording live TV on RAM, need plugin >=mediaplugins/vdr-permashift-1</flag>
<flag name="pinplugin">Support for <pkg>media-plugins/vdr-pin</pkg></flag>
<flag name="resumereset">rreset resume of EOF</flag>
+ <flag name="rotor">Enable support for plugin vdr-rotor for dish-positioner.</flag>
<flag name="ttxtsubs">support for <pkg>media-plugins/vdr-ttxtsubs</pkg></flag>
+ <flag name="vasarajanauloja">replacement for the liemikuutio patch, adds some nice must haves features</flag>
+ <flag name="wareagleicon">Replace original icon set in menu</flag>
+ <flag name="yaepg">Enables support for the vdr-yaepg plugin</flag>
</use>
</pkgmetadata>
diff --git a/media-video/vdr/vdr-2.0.6-r1.ebuild b/media-video/vdr/vdr-2.0.6-r1.ebuild
new file mode 100644
index 00000000000..63de150c12f
--- /dev/null
+++ b/media-video/vdr/vdr-2.0.6-r1.ebuild
@@ -0,0 +1,277 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+# Switches supported by extensions-patch
+EXT_PATCH_FLAGS="alternatechannel ddepgentry dvlvidprefer graphtft
+ jumpplay jumpingseconds mainmenuhooks menuorg naludump permashift permashift_v1
+ pinplugin rotor ttxtsubs vasarajanauloja wareagleicon yaepg"
+
+# names of the use-flags
+EXT_PATCH_FLAGS_RENAMED=""
+
+# names ext-patch uses internally, here only used for maintainer checks
+EXT_PATCH_FLAGS_RENAMED_EXT_NAME=""
+
+IUSE="bidi debug html vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
+
+MY_PV="${PV%_p*}"
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${MY_P}"
+
+EXT_P="extpng-${P}-gentoo-edition-v6"
+
+DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
+HOMEPAGE="http://www.tvdr.de/"
+SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
+ https://dev.gentoo.org/~hd_brummy/distfiles/${EXT_P}.patch.bz2"
+
+KEYWORDS="amd64 ~arm ~ppc x86"
+SLOT="0"
+LICENSE="GPL-2"
+
+REQUIRED_USE="
+ permashift? ( !permashift_v1 )
+ permashift_v1? ( !permashift )"
+
+COMMON_DEPEND="virtual/jpeg:*
+ sys-libs/libcap
+ >=media-libs/fontconfig-2.4.2
+ >=media-libs/freetype-2"
+
+DEPEND="${COMMON_DEPEND}
+ >=virtual/linuxtv-dvb-headers-5.3
+ sys-devel/gettext"
+
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ >=media-tv/gentoo-vdr-scripts-2.5_rc1
+ media-fonts/corefonts
+ bidi? ( dev-libs/fribidi )"
+
+CONF_DIR=/etc/vdr
+CAP_FILE=${S}/capabilities.sh
+CAPS="# Capabilities of the vdr-executable for use by startscript etc."
+
+pkg_setup() {
+ use debug && append-flags -g
+
+ PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
+
+ tc-export CC CXX AR
+}
+
+add_cap() {
+ local arg
+ for arg; do
+ CAPS="${CAPS}\n${arg}=1"
+ done
+}
+
+enable_patch() {
+ local arg ARG_UPPER
+ for arg; do
+ ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]')
+ echo "${ARG_UPPER} = 1" >> Make.config
+
+ # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
+ echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp
+ cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE
+ export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
+ done
+}
+
+extensions_add_make_conf()
+{
+ # copy all ifdef for extensions-patch to Make.config
+ sed -e '1,/need to touch the following:/d' \
+ -e '/need to touch the following/,/^$/d' \
+ Make.config.template >> Make.config
+}
+
+extensions_all_defines() {
+ # extract all possible settings for extensions-patch
+ sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
+ Make.config.template \
+ | sort \
+ | tr '[:upper:]' '[:lower:]'
+}
+
+lang_po() {
+ LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+}
+
+src_prepare() {
+ # apply maintainace-patches
+ ebegin "Changing paths for gentoo"
+
+ local DVBDIR=/usr/include
+ local i
+ for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
+ [[ -d ${i} ]] || continue
+ if [[ -f ${i}/linux/dvb/dmx.h ]]; then
+ einfo "Found DVB header files in ${i}"
+ DVBDIR=${i}
+ break
+ fi
+ done
+
+ # checking for s2api headers
+ local api_version
+ api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+ api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+
+ if [[ ${api_version:-0} -lt 5*3 ]]; then
+ eerror "DVB header files do not contain s2api support or too old for ${P}"
+ eerror "You cannot compile VDR against old dvb-header"
+ die "DVB headers too old"
+ fi
+
+ cat > Make.config <<-EOT
+ #
+ # Generated by ebuild ${PF}
+ #
+ PREFIX = /usr
+ DVBDIR = ${DVBDIR}
+ PLUGINLIBDIR = ${PLUGIN_LIBDIR}
+ CONFDIR = ${CONF_DIR}
+ VIDEODIR = /var/vdr/video
+ LOCDIR = \$(PREFIX)/share/locale
+ INCDIR = \$(PREFIX)/include
+
+ DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
+ INCLUDES += -I\$(DVBDIR)
+
+ # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
+ # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
+ LIBDIR = ${PLUGIN_LIBDIR}
+ PCDIR = /usr/$(get_libdir)/pkgconfig
+ EOT
+ eend 0
+
+ # support languages, written from right to left
+ BUILD_PARAMS+=" BIDI=$(usex bidi 1 0)"
+
+ epatch "${FILESDIR}/${PN}-2.0.6_gentoo.patch"
+
+ if ! use vanilla; then
+
+ # Now apply extensions patch
+ epatch "${WORKDIR}/${EXT_P}.patch"
+
+ # This allows us to start even if some plugin does not exist
+ # or is not loadable.
+ enable_patch PLUGINMISSING
+ enable_patch CHANNELBIND
+
+ if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
+ einfo "Doing maintainer checks:"
+
+ # we do not support these patches
+ # (or have them already hard enabled)
+ local IGNORE_PATCHES="pluginmissing channelbind"
+
+ extensions_all_defines > "${T}"/new.IUSE
+ echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
+ $IGNORE_PATCHES | \
+ tr ' ' '\n' |sort > "${T}"/old.IUSE
+ local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
+ if [[ -z ${DIFFS} ]]; then
+ einfo "EXT_PATCH_FLAGS is up to date."
+ else
+ ewarn "IUSE differences!"
+ local diff
+ for diff in $DIFFS; do
+ ewarn "$diff"
+ done
+ fi
+ fi
+
+ ebegin "Enabling selected patches"
+ local flag
+ for flag in $EXT_PATCH_FLAGS; do
+ use $flag && enable_patch ${flag}
+ done
+
+ eend 0
+
+ extensions_add_make_conf
+
+ # add defined use-flags compile options to vdr.pc
+ sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
+ -i Makefile
+
+ ebegin "Make depend"
+ emake .dependencies >/dev/null
+ eend $? "make depend failed"
+ fi
+
+ epatch_user
+
+ add_cap CAP_UTF8
+
+ add_cap CAP_IRCTRL_RUNTIME_PARAM \
+ CAP_VFAT_RUNTIME_PARAM \
+ CAP_CHUID \
+ CAP_SHUTDOWN_AUTO_RETRY
+
+ echo -e ${CAPS} > "${CAP_FILE}"
+
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
+
+ lang_po
+
+ einfo "\t Please set one of this values in your sytem make.conf"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
+
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
+ einfo "\t You will get only english text on OSD \n"
+ fi
+
+ strip-linguas ${LING_PO} en
+}
+
+src_install() {
+# # trick makefile not to create a videodir by supplying it with an existing
+# # directory
+ emake \
+ VIDEODIR="/" \
+ DESTDIR="${D}" install || die "emake install failed"
+
+ keepdir "${PLUGIN_LIBDIR}"
+
+ keepdir "${CONF_DIR}"/plugins
+ keepdir "${CONF_DIR}"/themes
+
+ if use html; then
+ dohtml *.html
+ fi
+
+ dodoc MANUAL INSTALL README* HISTORY CONTRIBUTORS
+
+ insinto /usr/share/vdr
+ doins "${CAP_FILE}"
+
+ if use alternatechannel; then
+ insinto /etc/vdr
+ doins "${FILESDIR}"/channel_alternative.conf
+ fi
+
+ chown -R vdr:vdr "${D}/${CONF_DIR}"
+}
+
+pkg_postinst() {
+ elog "It is a good idea to run vdrplugin-rebuild now."
+
+ elog "To get nice symbols in OSD we recommend to install"
+ elog "\t1. emerge media-fonts/vdrsymbols-ttf"
+ elog "\t2. select font VDRSymbolsSans in Setup"
+ elog ""
+ elog "To get an idea how to proceed now, have a look at our vdr-guide:"
+ elog "\thttps://wiki.gentoo.org/wiki/VDR"
+}
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2019-12-02 15:19 Joonas Niilola
0 siblings, 0 replies; 11+ messages in thread
From: Joonas Niilola @ 2019-12-02 15:19 UTC (permalink / raw
To: gentoo-commits
commit: 0ad257c1fa1579b49a5e299307267a9bcf69ec73
Author: Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Fri Nov 8 19:59:12 2019 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Dec 2 15:19:28 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ad257c1
media-video/vdr: remove old ebuilds, fix QA issue
QA issue: USE flag 'permashift_v1' uses reserved underscore character
remove old ebuilds with USE flag 'permashift_v1':
vdr-2.0.6-r1
vdr-2.2.0-r3
Closes: https://bugs.gentoo.org/695066
Closes: https://bugs.gentoo.org/700366
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net>
Closes: https://github.com/gentoo/gentoo/pull/13773
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
media-video/vdr/Manifest | 2 -
media-video/vdr/files/vdr-2.0.6_gentoo.patch | 68 ------
media-video/vdr/metadata.xml | 9 -
media-video/vdr/vdr-2.0.6-r1.ebuild | 277 ------------------------
media-video/vdr/vdr-2.2.0-r3.ebuild | 303 ---------------------------
5 files changed, 659 deletions(-)
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index e9b20f623a1..dac0f69a4e8 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -1,4 +1,2 @@
-DIST extpng-vdr-2.0.6-gentoo-edition-v6.patch.bz2 69472 BLAKE2B 60669e9c20b2bd573eb05733bbf9548d2e643b36693be8b15a377b38470708a71b29e2a16baf7ed378132265f814ec9d35dae749ccf6ae204cd9beb787dc8f57 SHA512 f4ecb786ec5a026fa75fcf539518e80273bf43fc325c13a380c70eb85351910efa991b3ee71ca477e597bc2b4598a18620b6cf00fc02714acfcc4e6112d84b6c
DIST extpng-vdr-2.2.0-gentoo-edition-v1.patch.bz2 34664 BLAKE2B 81b68ebe0ef4588c3676f0b7a2c766d8d4d4f754a987b3be5868f3c6eff9158d4cea8e492ca81df535e637dbdc5baff638d1fafb4163e9d9a2d0125aba17e2e1 SHA512 16d6fbb8201f003dfe653b6a49424b794d7e697e27ad6f2383dbe17b76712ea5a3da88a676900b84d75ff7425bf3eb9084d60a89a4598758f482dc1f013f7b3e
-DIST vdr-2.0.6.tar.bz2 839575 BLAKE2B 40de46d8465b7008bc29c7e2c1c241d4114aa3d62aa6a0acd81636133c295cd87c2fc618e725885c98f47445220e897c23188373457a96b51cf832ca417c9842 SHA512 070ebbfb85478887088567872a71744305dbf9c75de8b095a8fe46d883b0b4fe140539caeb2243715f42793a45790a127542655f549f7ea3cb71c4f9912fa07d
DIST vdr-2.2.0.tar.bz2 922708 BLAKE2B 975e07d6d4c5bd13ee92be5d6a1826d6404b0c59e20fa2e30689b185a61e02d54782ad528e6a4f15e0d36806b30bcf48aa336d63adb3604e78056ff318e0fd2c SHA512 183f58133915c6c0fe8ec2b88becbcb2a36418210e6dcf7931053d3771d727c3581593f9eb5c9693abf39e22e728f7b41c42079cd704610c3636ec05134ea93d
diff --git a/media-video/vdr/files/vdr-2.0.6_gentoo.patch b/media-video/vdr/files/vdr-2.0.6_gentoo.patch
deleted file mode 100644
index 1641fc8e2ee..00000000000
--- a/media-video/vdr/files/vdr-2.0.6_gentoo.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff -Naur vdr-2.0.6.orig/Makefile vdr-2.0.6/Makefile
---- vdr-2.0.6.orig/Makefile 2014-09-22 22:17:23.000000000 +0200
-+++ vdr-2.0.6/Makefile 2014-09-24 15:22:43.000000000 +0200
-@@ -109,7 +109,7 @@
- VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
- APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
-
--all: vdr i18n plugins
-+all: vdr i18n
-
- # Implicit rules:
-
-@@ -162,7 +162,7 @@
-
- PODIR = po
- LOCALEDIR = locale
--I18Npo = $(wildcard $(PODIR)/*.po)
-+I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po))
- I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
- I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
- I18Npot = $(PODIR)/vdr.pot
-@@ -185,7 +185,7 @@
-
- install-i18n: i18n
- @mkdir -p $(DESTDIR)$(LOCDIR)
-- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
-+ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done)
-
- # The 'include' directory (for plugins):
-
-@@ -247,7 +247,7 @@
-
- # Install the files (note that 'install-pc' must be first!):
-
--install: install-pc install-bin install-dirs install-conf install-doc install-plugins install-i18n install-includes
-+install: install-pc install-bin install-dirs install-conf install-doc install-i18n install-includes
-
- # VDR binary:
-
-@@ -259,11 +259,12 @@
-
- install-dirs:
- @mkdir -p $(DESTDIR)$(VIDEODIR)
-- @mkdir -p $(DESTDIR)$(CONFDIR)
-- @mkdir -p $(DESTDIR)$(CACHEDIR)
-+# @mkdir -p $(DESTDIR)$(CONFDIR)
-+# @mkdir -p $(DESTDIR)$(CACHEDIR)
- @mkdir -p $(DESTDIR)$(RESDIR)
-
- install-conf:
-+ @mkdir -p $(DESTDIR)$(CONFDIR)
- @cp -pn *.conf $(DESTDIR)$(CONFDIR)
-
- # Documentation:
-@@ -290,8 +291,11 @@
- # Includes:
-
- install-includes: include-dir
-- @mkdir -p $(DESTDIR)$(INCDIR)
-- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+# @mkdir -p $(DESTDIR)$(INCDIR)
-+# @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
-+ @cp -pLR include/vdr $(DESTDIR)$(INCDIR)
-+ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr
-
- # pkg-config file:
-
diff --git a/media-video/vdr/metadata.xml b/media-video/vdr/metadata.xml
index 246bd87c200..84dcc17c309 100644
--- a/media-video/vdr/metadata.xml
+++ b/media-video/vdr/metadata.xml
@@ -16,25 +16,16 @@
<use>
<flag name="alternatechannel">Use alternate channel on record</flag>
<flag name="bidi">fribidi support, for languages, written from right to left</flag>
- <flag name="ddepgentry">remove duplicate EPG entries</flag>
- <flag name="dvlvidprefer">controls video-dir choice on recording</flag>
<flag name="graphtft">support for vdr-graphtft plugin up from version 0.1.7</flag>
<flag name="html">Install HTML documentation</flag>
- <flag name="jumpplay">Enables automatic jumping over cut marks while watching a recording</flag>
- <flag name="jumpingseconds">skip seconds in played records</flag>
<flag name="kbd">enable keyboard support as remote device</flag>
<flag name="mainmenuhooks">Allows to replace main menu entries by some special plugins (like epgsearch, extrecmenu, ...)</flag>
<flag name="menuorg">Enables support for the <pkg>media-plugins/vdr-menuorg</pkg></flag>
<flag name="menuselection">adds support for menu hotkeys of double digits</flag>
<flag name="naludump">Removes NALU fill data from h.264-Streams of TS files</flag>
<flag name="permashift">permanent timeshift by recording live TV into RAM, need plugin <pkg>media-plugins/vdr-permashift</pkg></flag>
- <flag name="permashift_v1">permanent timeshift by recording live TV into RAM, need plugin <pkg>media-plugins/vdr-permashift</pkg></flag>
<flag name="pinplugin">Support for <pkg>media-plugins/vdr-pin</pkg></flag>
<flag name="resumereset">rreset resume of EOF</flag>
- <flag name="rotor">Enable support for plugin vdr-rotor for dish-positioner.</flag>
<flag name="ttxtsubs">support for <pkg>media-plugins/vdr-ttxtsubs</pkg></flag>
- <flag name="vasarajanauloja">replacement for the liemikuutio patch, adds some nice must haves features</flag>
- <flag name="wareagleicon">Replace original icon set in menu</flag>
- <flag name="yaepg">Enables support for the vdr-yaepg plugin</flag>
</use>
</pkgmetadata>
diff --git a/media-video/vdr/vdr-2.0.6-r1.ebuild b/media-video/vdr/vdr-2.0.6-r1.ebuild
deleted file mode 100644
index 63de150c12f..00000000000
--- a/media-video/vdr/vdr-2.0.6-r1.ebuild
+++ /dev/null
@@ -1,277 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-# Switches supported by extensions-patch
-EXT_PATCH_FLAGS="alternatechannel ddepgentry dvlvidprefer graphtft
- jumpplay jumpingseconds mainmenuhooks menuorg naludump permashift permashift_v1
- pinplugin rotor ttxtsubs vasarajanauloja wareagleicon yaepg"
-
-# names of the use-flags
-EXT_PATCH_FLAGS_RENAMED=""
-
-# names ext-patch uses internally, here only used for maintainer checks
-EXT_PATCH_FLAGS_RENAMED_EXT_NAME=""
-
-IUSE="bidi debug html vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
-
-MY_PV="${PV%_p*}"
-MY_P="${PN}-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
-
-EXT_P="extpng-${P}-gentoo-edition-v6"
-
-DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
-HOMEPAGE="http://www.tvdr.de/"
-SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
- https://dev.gentoo.org/~hd_brummy/distfiles/${EXT_P}.patch.bz2"
-
-KEYWORDS="amd64 ~arm ~ppc x86"
-SLOT="0"
-LICENSE="GPL-2"
-
-REQUIRED_USE="
- permashift? ( !permashift_v1 )
- permashift_v1? ( !permashift )"
-
-COMMON_DEPEND="virtual/jpeg:*
- sys-libs/libcap
- >=media-libs/fontconfig-2.4.2
- >=media-libs/freetype-2"
-
-DEPEND="${COMMON_DEPEND}
- >=virtual/linuxtv-dvb-headers-5.3
- sys-devel/gettext"
-
-RDEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=media-tv/gentoo-vdr-scripts-2.5_rc1
- media-fonts/corefonts
- bidi? ( dev-libs/fribidi )"
-
-CONF_DIR=/etc/vdr
-CAP_FILE=${S}/capabilities.sh
-CAPS="# Capabilities of the vdr-executable for use by startscript etc."
-
-pkg_setup() {
- use debug && append-flags -g
-
- PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
-
- tc-export CC CXX AR
-}
-
-add_cap() {
- local arg
- for arg; do
- CAPS="${CAPS}\n${arg}=1"
- done
-}
-
-enable_patch() {
- local arg ARG_UPPER
- for arg; do
- ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]')
- echo "${ARG_UPPER} = 1" >> Make.config
-
- # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
- echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp
- cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE
- export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
- done
-}
-
-extensions_add_make_conf()
-{
- # copy all ifdef for extensions-patch to Make.config
- sed -e '1,/need to touch the following:/d' \
- -e '/need to touch the following/,/^$/d' \
- Make.config.template >> Make.config
-}
-
-extensions_all_defines() {
- # extract all possible settings for extensions-patch
- sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
- Make.config.template \
- | sort \
- | tr '[:upper:]' '[:lower:]'
-}
-
-lang_po() {
- LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
-}
-
-src_prepare() {
- # apply maintainace-patches
- ebegin "Changing paths for gentoo"
-
- local DVBDIR=/usr/include
- local i
- for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
- [[ -d ${i} ]] || continue
- if [[ -f ${i}/linux/dvb/dmx.h ]]; then
- einfo "Found DVB header files in ${i}"
- DVBDIR=${i}
- break
- fi
- done
-
- # checking for s2api headers
- local api_version
- api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
- api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
-
- if [[ ${api_version:-0} -lt 5*3 ]]; then
- eerror "DVB header files do not contain s2api support or too old for ${P}"
- eerror "You cannot compile VDR against old dvb-header"
- die "DVB headers too old"
- fi
-
- cat > Make.config <<-EOT
- #
- # Generated by ebuild ${PF}
- #
- PREFIX = /usr
- DVBDIR = ${DVBDIR}
- PLUGINLIBDIR = ${PLUGIN_LIBDIR}
- CONFDIR = ${CONF_DIR}
- VIDEODIR = /var/vdr/video
- LOCDIR = \$(PREFIX)/share/locale
- INCDIR = \$(PREFIX)/include
-
- DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
- INCLUDES += -I\$(DVBDIR)
-
- # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
- # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
- LIBDIR = ${PLUGIN_LIBDIR}
- PCDIR = /usr/$(get_libdir)/pkgconfig
- EOT
- eend 0
-
- # support languages, written from right to left
- BUILD_PARAMS+=" BIDI=$(usex bidi 1 0)"
-
- epatch "${FILESDIR}/${PN}-2.0.6_gentoo.patch"
-
- if ! use vanilla; then
-
- # Now apply extensions patch
- epatch "${WORKDIR}/${EXT_P}.patch"
-
- # This allows us to start even if some plugin does not exist
- # or is not loadable.
- enable_patch PLUGINMISSING
- enable_patch CHANNELBIND
-
- if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
- einfo "Doing maintainer checks:"
-
- # we do not support these patches
- # (or have them already hard enabled)
- local IGNORE_PATCHES="pluginmissing channelbind"
-
- extensions_all_defines > "${T}"/new.IUSE
- echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
- $IGNORE_PATCHES | \
- tr ' ' '\n' |sort > "${T}"/old.IUSE
- local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
- if [[ -z ${DIFFS} ]]; then
- einfo "EXT_PATCH_FLAGS is up to date."
- else
- ewarn "IUSE differences!"
- local diff
- for diff in $DIFFS; do
- ewarn "$diff"
- done
- fi
- fi
-
- ebegin "Enabling selected patches"
- local flag
- for flag in $EXT_PATCH_FLAGS; do
- use $flag && enable_patch ${flag}
- done
-
- eend 0
-
- extensions_add_make_conf
-
- # add defined use-flags compile options to vdr.pc
- sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
- -i Makefile
-
- ebegin "Make depend"
- emake .dependencies >/dev/null
- eend $? "make depend failed"
- fi
-
- epatch_user
-
- add_cap CAP_UTF8
-
- add_cap CAP_IRCTRL_RUNTIME_PARAM \
- CAP_VFAT_RUNTIME_PARAM \
- CAP_CHUID \
- CAP_SHUTDOWN_AUTO_RETRY
-
- echo -e ${CAPS} > "${CAP_FILE}"
-
- # LINGUAS support
- einfo "\n \t VDR supports the LINGUAS values"
-
- lang_po
-
- einfo "\t Please set one of this values in your sytem make.conf"
- einfo "\t LINGUAS=\"${LING_PO}\"\n"
-
- if [[ -z ${LINGUAS} ]]; then
- einfo "\n \t No values in LINGUAS="
- einfo "\t You will get only english text on OSD \n"
- fi
-
- strip-linguas ${LING_PO} en
-}
-
-src_install() {
-# # trick makefile not to create a videodir by supplying it with an existing
-# # directory
- emake \
- VIDEODIR="/" \
- DESTDIR="${D}" install || die "emake install failed"
-
- keepdir "${PLUGIN_LIBDIR}"
-
- keepdir "${CONF_DIR}"/plugins
- keepdir "${CONF_DIR}"/themes
-
- if use html; then
- dohtml *.html
- fi
-
- dodoc MANUAL INSTALL README* HISTORY CONTRIBUTORS
-
- insinto /usr/share/vdr
- doins "${CAP_FILE}"
-
- if use alternatechannel; then
- insinto /etc/vdr
- doins "${FILESDIR}"/channel_alternative.conf
- fi
-
- chown -R vdr:vdr "${D}/${CONF_DIR}"
-}
-
-pkg_postinst() {
- elog "It is a good idea to run vdrplugin-rebuild now."
-
- elog "To get nice symbols in OSD we recommend to install"
- elog "\t1. emerge media-fonts/vdrsymbols-ttf"
- elog "\t2. select font VDRSymbolsSans in Setup"
- elog ""
- elog "To get an idea how to proceed now, have a look at our vdr-guide:"
- elog "\thttps://wiki.gentoo.org/wiki/VDR"
-}
diff --git a/media-video/vdr/vdr-2.2.0-r3.ebuild b/media-video/vdr/vdr-2.2.0-r3.ebuild
deleted file mode 100644
index dfbfd553e10..00000000000
--- a/media-video/vdr/vdr-2.2.0-r3.ebuild
+++ /dev/null
@@ -1,303 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eutils flag-o-matic toolchain-funcs
-
-# Switches supported by extensions-patch
-EXT_PATCH_FLAGS="alternatechannel graphtft naludump permashift_v1 pinplugin
- mainmenuhooks menuorg menuselection resumereset ttxtsubs"
-
-# names of the use-flags
-EXT_PATCH_FLAGS_RENAMED=""
-
-# names ext-patch uses internally, here only used for maintainer checks
-EXT_PATCH_FLAGS_RENAMED_EXT_NAME="bidi no_kbd sdnotify"
-
-IUSE="bidi debug +kbd html systemd vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
-
-MY_PV="${PV%_p*}"
-MY_P="${PN}-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
-
-EXT_P="extpng-${P}-gentoo-edition-v1"
-
-DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
-HOMEPAGE="http://www.tvdr.de/"
-SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
- https://dev.gentoo.org/~hd_brummy/distfiles/${EXT_P}.patch.bz2"
-
-KEYWORDS="amd64 ~arm ~arm64 ~ppc x86"
-SLOT="0"
-LICENSE="GPL-2"
-
-COMMON_DEPEND="virtual/jpeg:*
- sys-libs/libcap
- >=media-libs/fontconfig-2.4.2
- >=media-libs/freetype-2"
-
-DEPEND="${COMMON_DEPEND}
- >=virtual/linuxtv-dvb-headers-5.3
- sys-devel/gettext"
-
-RDEPEND="${COMMON_DEPEND}
- dev-lang/perl
- >=media-tv/gentoo-vdr-scripts-2.7
- media-fonts/corefonts
- bidi? ( dev-libs/fribidi )
- systemd? ( sys-apps/systemd )"
-
-CONF_DIR=/etc/vdr
-CAP_FILE=${S}/capabilities.sh
-CAPS="# Capabilities of the vdr-executable for use by startscript etc."
-
-pkg_setup() {
-
- use debug && append-flags -g
-
- PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
-
- tc-export CC CXX AR
-}
-
-add_cap() {
- local arg
- for arg; do
- CAPS="${CAPS}\n${arg}=1"
- done
-}
-
-enable_patch() {
- local arg ARG_UPPER
- for arg; do
- ARG_UPPER=$(echo $arg|tr '[:lower:]' '[:upper:]')
- echo "${ARG_UPPER} = 1" >> Make.config
-
- # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
- echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp
- cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE
- export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
- done
-}
-
-extensions_add_make_conf()
-{
- # copy all ifdef for extensions-patch to Make.config
- sed -e '1,/need to touch the following:/d' \
- -e '/need to touch the following/,/^$/d' \
- Make.config.template >> Make.config
-}
-
-extensions_all_defines() {
- # extract all possible settings for extensions-patch
- sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
- Make.config.template \
- | sort \
- | tr '[:upper:]' '[:lower:]'
-}
-
-lang_po() {
- LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
-}
-
-src_configure() {
- # support languages, written from right to left
- export "BIDI=$(usex bidi 1 0)"
- # systemd notification support
- export "SDNOTIFY=$(usex systemd 1 0)"
- # with/without keyboard
- export "USE_KBD=$(usex kbd 1 0)"
-}
-
-src_prepare() {
- # apply maintainace-patches
- ebegin "Changing paths for gentoo"
-
- local DVBDIR=/usr/include
- local i
- for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
- [[ -d ${i} ]] || continue
- if [[ -f ${i}/linux/dvb/dmx.h ]]; then
- einfo "Found DVB header files in ${i}"
- DVBDIR=${i}
- break
- fi
- done
-
- # checking for s2api headers
- local api_version
- api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
- api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
-
- if [[ ${api_version:-0} -lt 5*3 ]]; then
- eerror "DVB header files do not contain s2api support or too old for ${P}"
- eerror "You cannot compile VDR against old dvb-header"
- die "DVB headers too old"
- fi
-
- cat > Make.config <<-EOT
- #
- # Generated by ebuild ${PF}
- #
- PREFIX = /usr
- DVBDIR = ${DVBDIR}
- PLUGINLIBDIR = ${PLUGIN_LIBDIR}
- CONFDIR = ${CONF_DIR}
- VIDEODIR = /var/vdr/video
- LOCDIR = \$(PREFIX)/share/locale
- INCDIR = \$(PREFIX)/include
-
- DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
- INCLUDES += -I\$(DVBDIR)
-
- # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
- # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
- LIBDIR = ${PLUGIN_LIBDIR}
- PCDIR = /usr/$(get_libdir)/pkgconfig
-
- EOT
- eend 0
-
- # wrt bug 586070
- if has_version ">=sys-apps/systemd-230"; then
- sed -e "s:libsystemd-daemon:libsystemd:g" -i Makefile || die "sed libsystemd failed"
- fi
-
- if ! use vanilla; then
-
- # Now apply extensions patch
- eapply "${WORKDIR}/${EXT_P}.patch"
-
- # This allows us to start even if some plugin does not exist
- # or is not loadable.
- enable_patch PLUGINMISSING
-
- if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
- einfo "Doing maintainer checks:"
-
- # we do not support these patches
- # (or have them already hard enabled)
- local IGNORE_PATCHES="pluginmissing"
-
- extensions_all_defines > "${T}"/new.IUSE
- echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
- $IGNORE_PATCHES | \
- tr ' ' '\n' |sort > "${T}"/old.IUSE
- local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
- if [[ -z ${DIFFS} ]]; then
- einfo "EXT_PATCH_FLAGS are up to date."
- else
- ewarn "IUSE differences!"
- local diff
- for diff in $DIFFS; do
- ewarn "$diff"
- done
- fi
- fi
-
- ebegin "Enabling selected patches"
- local flag
- for flag in $EXT_PATCH_FLAGS; do
- use $flag && enable_patch ${flag}
- done
-
- eend 0
-
- extensions_add_make_conf
-
- # add defined use-flags compile options to vdr.pc
- sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
- -i Makefile
-
- ebegin "Make depend"
- emake .dependencies >/dev/null
- eend $? "make depend failed"
-
- eapply "${FILESDIR}/${P}_gcc7extpng.patch"
- fi
-
- eapply "${FILESDIR}/${P}_gentoo.patch"
- eapply "${FILESDIR}/${P}_unsignedtosigned.patch"
- eapply "${FILESDIR}/${P}_glibc-2.24.patch"
- eapply "${FILESDIR}/${P}-jpeg-9c.patch"
-
- # fix some makefile issues
- sed -e "s:ifndef NO_KBD:ifeq (\$(USE_KBD),1):" \
- -e "s:ifdef BIDI:ifeq (\$(BIDI),1):" \
- -e "s:ifdef SDNOTIFY:ifeq (\$(SDNOTIFY),1):" \
- -i "${S}"/Makefile
-
- eapply_user
-
- add_cap CAP_UTF8
-
- add_cap CAP_IRCTRL_RUNTIME_PARAM \
- CAP_VFAT_RUNTIME_PARAM \
- CAP_CHUID \
- CAP_SHUTDOWN_AUTO_RETRY
-
- echo -e ${CAPS} > "${CAP_FILE}"
-
- # LINGUAS support
- einfo "\n \t VDR supports the LINGUAS values"
-
- lang_po
-
- einfo "\t Please set one of this values in your sytem make.conf"
- einfo "\t LINGUAS=\"${LING_PO}\"\n"
-
- if [[ -z ${LINGUAS} ]]; then
- einfo "\n \t No values in LINGUAS="
- einfo "\t You will get only english text on OSD \n"
- fi
-
- strip-linguas ${LING_PO} en
-}
-
-src_install() {
- # trick makefile not to create a videodir by supplying it with an existing
- # directory
- emake install \
- VIDEODIR="/" \
- DESTDIR="${D}" install
-
- keepdir "${PLUGIN_LIBDIR}"
-
- # backup for plugins they don't be able to create this dir
- keepdir "${CONF_DIR}"/plugins
-
- if use html; then
- local HTML_DOCS=( *.html )
- fi
-
- local DOCS=( MANUAL INSTALL README* HISTORY CONTRIBUTORS )
-
- einstalldocs
-
- insinto /usr/share/vdr
- doins "${CAP_FILE}"
-
- if use alternatechannel; then
- insinto /etc/vdr
- doins "${FILESDIR}"/channel_alternative.conf
- fi
-
- chown -R vdr:vdr "${D}/${CONF_DIR}"
-}
-
-pkg_postinst() {
-
- elog "\n\t---- 15 YEARS ANNIVERSARY EDITON ----\n"
- elog "\tA lot of thanks to Klaus Schmidinger"
- elog "\tfor this nice piece of Software...\n"
-
- elog "It is a good idea to run vdrplugin-rebuild now."
-
- elog "To get nice symbols in OSD we recommend to install"
- elog "\t1. emerge media-fonts/vdrsymbols-ttf"
- elog "\t2. select font VDRSymbolsSans in Setup"
- elog ""
- elog "To get an idea how to proceed now, have a look at our vdr-guide:"
- elog "\thttps://wiki.gentoo.org/wiki/VDR"
-}
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2020-02-10 20:46 Jörg Bornkessel
0 siblings, 0 replies; 11+ messages in thread
From: Jörg Bornkessel @ 2020-02-10 20:46 UTC (permalink / raw
To: gentoo-commits
commit: 9c0907498c287998bfb87e750264b114ecd22585
Author: Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 10 20:45:30 2020 +0000
Commit: Jörg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
CommitDate: Mon Feb 10 20:45:30 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c090749
media-video/vdr: compile fix for glibc-2.31
Replace obsolete stime() function with clock_settime()
Suggested-by: Manuel Reimer <manuel.reimer <AT> gmx.de>
Bug: https://bugs.gentoo.org/708802
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Joerg Bornkessel <hd_brummy <AT> gentoo.org>
media-video/vdr/files/vdr-2.4.1_glibc-2.31.patch | 20 +++
media-video/vdr/vdr-2.4.1-r1.ebuild | 202 +++++++++++++++++++++++
2 files changed, 222 insertions(+)
diff --git a/media-video/vdr/files/vdr-2.4.1_glibc-2.31.patch b/media-video/vdr/files/vdr-2.4.1_glibc-2.31.patch
new file mode 100644
index 00000000000..0db8c5064ac
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.4.1_glibc-2.31.patch
@@ -0,0 +1,20 @@
+Replace obsolete stime() function with clock_settime()
+bug 708802
+
+
+Suggested-by: Manuel Reimer <manuel.reimer@gmx.de>
+Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org> ( 2020 Feb 10 )
+diff -Naur vdr-2.4.1.orig/eit.c vdr-2.4.1/eit.c
+--- vdr-2.4.1.orig/eit.c 2020-02-10 21:25:03.594761113 +0100
++++ vdr-2.4.1/eit.c 2020-02-10 21:26:32.443761113 +0100
+@@ -391,7 +391,9 @@
+ if (abs(diff) > MAX_TIME_DIFF) {
+ mutex.Lock();
+ if (abs(diff) > MAX_ADJ_DIFF) {
+- if (stime(&dvbtim) == 0)
++ timespec ts = {};
++ ts.tv_sec = dvbtim;
++ if (clock_settime(CLOCK_REALTIME, &ts) == 0)
+ isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(dvbtim), dvbtim);
+ else
+ esyslog("ERROR while setting system time: %m");
diff --git a/media-video/vdr/vdr-2.4.1-r1.ebuild b/media-video/vdr/vdr-2.4.1-r1.ebuild
new file mode 100644
index 00000000000..dffe1a8bd52
--- /dev/null
+++ b/media-video/vdr/vdr-2.4.1-r1.ebuild
@@ -0,0 +1,202 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
+HOMEPAGE="http://www.tvdr.de/"
+SRC_URI="ftp://ftp.tvdr.de/vdr/${P}.tar.bz2
+ mainmenuhooks? ( http://vdr.websitec.de/download/${PN}/${P}/${P}_mainmenuhook-1.0.1.patch.bz2 )
+ menuorg? ( https://projects.vdr-developer.org/projects/plg-menuorg/repository/revisions/master/raw/vdr-patch/vdr-menuorg-2.3.x.diff )
+ naludump? ( http://www.udo-richter.de/vdr/files/vdr-2.1.5-naludump-0.1.diff )
+ pinplugin? ( http://vdr.websitec.de/download/${PN}/${P}/${P}_pinplugin.patch.bz2 )
+ ttxtsubs? ( http://vdr.websitec.de/download/${PN}/${P}/${PN}-2.4.0-ttxtsubs.patch.bz2 )"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump pinplugin systemd ttxtsubs verbose"
+
+COMMON_DEPEND="
+ virtual/jpeg:*
+ sys-libs/libcap
+ >=media-libs/fontconfig-2.4.2
+ >=media-libs/freetype-2"
+DEPEND="${COMMON_DEPEND}
+ >=virtual/linuxtv-dvb-headers-5.3"
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ media-tv/gentoo-vdr-scripts
+ media-fonts/corefonts
+ bidi? ( dev-libs/fribidi )
+ systemd? ( sys-apps/systemd )"
+BDEPEND="sys-devel/gettext"
+
+REQUIRED_USE="pinplugin? ( !mainmenuhooks )"
+
+CONF_DIR="/etc/vdr"
+CAP_FILE="${S}/capabilities.sh"
+CAPS="# Capabilities of the vdr-executable for use by startscript etc."
+
+pkg_setup() {
+ use debug && append-flags -g
+
+ PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
+
+ tc-export CC CXX AR
+}
+
+add_cap() {
+ local arg
+ for arg; do
+ CAPS="${CAPS}\n${arg}=1"
+ done
+}
+
+lang_po() {
+ LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+}
+
+src_configure() {
+ # support languages, written from right to left
+ export "BIDI=$(usex bidi 1 0)"
+ # systemd notification support
+ export "SDNOTIFY=$(usex systemd 1 0)"
+ # with/without keyboard
+ export "USE_KBD=$(usex keyboard 1 0)"
+ # detailed compile output for debug
+ export "VERBOSE=$(usex verbose 1 0)"
+}
+
+src_prepare() {
+ # apply maintenance-patches
+ ebegin "Changing paths for gentoo"
+
+ local DVBDIR=/usr/include
+ local i
+ for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
+ [[ -d ${i} ]] || continue
+ if [[ -f ${i}/linux/dvb/dmx.h ]]; then
+ einfo "Found DVB header files in ${i}"
+ DVBDIR=${i}
+ break
+ fi
+ done
+
+ # checking for s2api headers
+ local api_version
+ api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+ api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+
+ if [[ ${api_version:-0} -lt 5*3 ]]; then
+ eerror "DVB header files do not contain s2api support or too old for ${P}"
+ eerror "You cannot compile VDR against old dvb-header"
+ die "DVB headers too old"
+ fi
+
+ cat > Make.config <<-EOT || die "cannot write to Make.config"
+ #
+ # Generated by ebuild ${PF}
+ #
+ PREFIX = /usr
+ DVBDIR = ${DVBDIR}
+ PLUGINLIBDIR = ${PLUGIN_LIBDIR}
+ CONFDIR = ${CONF_DIR}
+ ARGSDIR = \$(CONFDIR)/conf.d
+ VIDEODIR = /var/vdr/video
+ LOCDIR = \$(PREFIX)/share/locale
+ INCDIR = \$(PREFIX)/include
+
+ DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
+ INCLUDES += -I\$(DVBDIR)
+
+ # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
+ # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
+ LIBDIR = ${PLUGIN_LIBDIR}
+ PCDIR = /usr/$(get_libdir)/pkgconfig
+
+ EOT
+ eend 0
+
+ eapply "${FILESDIR}/${P}_gentoo.patch"
+ eapply "${FILESDIR}/vdr-2.2.0-jpeg-9c.patch"
+ use demoplugins || eapply "${FILESDIR}/vdr-2.4_remove_plugins.patch"
+ eapply "${FILESDIR}/${P}_makefile-variables.patch"
+ eapply "${FILESDIR}/${P}_glibc-2.31.patch"
+
+ # works
+ use naludump && eapply "${DISTDIR}/${PN}-2.1.5-naludump-0.1.diff"
+# # request to upstream for new patch
+# use permashift && eapply "${DISTDIR}/vdr-2.3-patch-for-permashift.diff"
+ #pinplugin works
+ use pinplugin && eapply "${WORKDIR}/${P}_pinplugin.patch"
+ # ttxtsubs works
+ use ttxtsubs && eapply "${WORKDIR}/${PN}-2.4.0-ttxtsubs.patch"
+ # menuorg works
+ use menuorg && eapply "${DISTDIR}/vdr-menuorg-2.3.x.diff"
+ # mainmenuhooks, works
+ use mainmenuhooks && eapply "${WORKDIR}/${P}_mainmenuhook-1.0.1.patch"
+
+ add_cap CAP_UTF8 \
+ CAP_IRCTRL_RUNTIME_PARAM \
+ CAP_VFAT_RUNTIME_PARAM \
+ CAP_CHUID \
+ CAP_SHUTDOWN_AUTO_RETRY
+
+ echo -e ${CAPS} > "${CAP_FILE}" || die "cannot write to CAP_FILE"
+
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
+
+ lang_po
+
+ einfo "\t Please set one of this values in your sytem make.conf"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
+
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
+ einfo "\t You will get only english text on OSD \n"
+ fi
+
+ strip-linguas ${LING_PO} en
+
+ default
+}
+
+src_install() {
+ # trick the makefile to not create a VIDEODIR by supplying it with an
+ # existing directory
+ emake VIDEODIR="/" DESTDIR="${ED}" install
+
+ keepdir "${PLUGIN_LIBDIR}"
+
+ # backup for plugins they don't be able to create this dir
+ keepdir "${CONF_DIR}/plugins"
+
+ if use html; then
+ local HTML_DOCS=( *.html )
+ fi
+ local DOCS=( MANUAL INSTALL README* HISTORY CONTRIBUTORS UPDATE-2* )
+ einstalldocs
+
+ insinto /usr/share/vdr
+ doins "${CAP_FILE}"
+
+ fowners vdr:vdr "${CONF_DIR}" -R
+}
+
+pkg_postinst() {
+ elog "Please read the /usr/share/doc/${PF}/UPDATE-2.4"
+ elog "for major changes in this version\n"
+
+ elog "It is a good idea to run vdrplugin-rebuild now.\n"
+
+ elog "To get nice symbols in OSD we recommend to install"
+ elog "\t1. emerge media-fonts/vdrsymbols-ttf"
+ elog "\t2. select font VDRSymbolsSans in Setup\n"
+
+ elog "To get an idea how to proceed now, have a look at our vdr-guide:"
+ elog "\thttps://wiki.gentoo.org/wiki/VDR"
+}
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2020-02-24 12:17 Jörg Bornkessel
0 siblings, 0 replies; 11+ messages in thread
From: Jörg Bornkessel @ 2020-02-24 12:17 UTC (permalink / raw
To: gentoo-commits
commit: 0ea9c7cd02a332ab43041695be0e778bc0887ef7
Author: Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 24 12:16:30 2020 +0000
Commit: Jörg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
CommitDate: Mon Feb 24 12:17:05 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ea9c7cd
media-video/vdr: glibc-2.31 compilefix for vdr-2.2.0
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Joerg Bornkessel <hd_brummy <AT> gentoo.org>
media-video/vdr/files/vdr-2.2.0_glibc-2.31.patch | 19 ++
media-video/vdr/vdr-2.2.0-r6.ebuild | 302 +++++++++++++++++++++++
2 files changed, 321 insertions(+)
diff --git a/media-video/vdr/files/vdr-2.2.0_glibc-2.31.patch b/media-video/vdr/files/vdr-2.2.0_glibc-2.31.patch
new file mode 100644
index 00000000000..9c23c9f25be
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.2.0_glibc-2.31.patch
@@ -0,0 +1,19 @@
+Replace obsolete stime() function with clock_settime()
+bug 708802
+
+Suggested-by: Manuel Reimer <manuel.reimer@gmx.de>
+Signed-off-by: Joerg Bornkessel <hd_brummy@gentoo.org> ( 2020 Feb 24 )
+diff -Naur vdr-2.2.0.orig/eit.c vdr-2.2.0/eit.c
+--- vdr-2.2.0.orig/eit.c 2020-02-24 13:05:49.451790460 +0100
++++ vdr-2.2.0/eit.c 2020-02-24 13:07:00.719790460 +0100
+@@ -343,7 +343,9 @@
+ if (abs(diff) > MAX_TIME_DIFF) {
+ mutex.Lock();
+ if (abs(diff) > MAX_ADJ_DIFF) {
+- if (stime(&dvbtim) == 0)
++ timespec ts = {};
++ ts.tv_sec = dvbtim;
++ if (clock_settime(CLOCK_REALTIME, &ts) == 0)
+ isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(dvbtim), dvbtim);
+ else
+ esyslog("ERROR while setting system time: %m");
diff --git a/media-video/vdr/vdr-2.2.0-r6.ebuild b/media-video/vdr/vdr-2.2.0-r6.ebuild
new file mode 100644
index 00000000000..fc7a7754d30
--- /dev/null
+++ b/media-video/vdr/vdr-2.2.0-r6.ebuild
@@ -0,0 +1,302 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils flag-o-matic toolchain-funcs
+
+# Switches supported by extensions-patch
+EXT_PATCH_FLAGS="alternatechannel graphtft naludump permashift pinplugin
+ mainmenuhooks menuorg menuselection resumereset ttxtsubs"
+
+# names of the use-flags
+EXT_PATCH_FLAGS_RENAMED=""
+
+# names ext-patch uses internally, here only used for maintainer checks
+EXT_PATCH_FLAGS_RENAMED_EXT_NAME="bidi no_kbd sdnotify"
+
+MY_PV="${PV%_p*}"
+MY_P="${PN}-${MY_PV}"
+S="${WORKDIR}/${MY_P}"
+
+EXT_P="extpng-${P}-gentoo-edition-v1"
+
+DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
+HOMEPAGE="http://www.tvdr.de/"
+SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
+ mirror://gentoo/${EXT_P}.patch.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="bidi debug keyboard html systemd vanilla ${EXT_PATCH_FLAGS} ${EXT_PATCH_FLAGS_RENAMED}"
+
+COMMON_DEPEND="
+ virtual/jpeg:*
+ sys-libs/libcap
+ >=media-libs/fontconfig-2.4.2
+ >=media-libs/freetype-2"
+DEPEND="${COMMON_DEPEND}
+ >=virtual/linuxtv-dvb-headers-5.3"
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ >=media-tv/gentoo-vdr-scripts-2.7
+ media-fonts/corefonts
+ bidi? ( dev-libs/fribidi )
+ systemd? ( sys-apps/systemd )"
+BDEPEND="sys-devel/gettext"
+
+CONF_DIR="/etc/vdr"
+CAP_FILE="${S}/capabilities.sh"
+CAPS="# Capabilities of the vdr-executable for use by startscript etc."
+
+pkg_setup() {
+ use debug && append-flags -g
+
+ PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
+
+ tc-export CC CXX AR
+}
+
+add_cap() {
+ local arg
+ for arg; do
+ CAPS="${CAPS}\n${arg}=1"
+ done
+}
+
+enable_patch() {
+ local arg ARG_UPPER
+ for arg; do
+ ARG_UPPER=$(echo $arg | tr '[:lower:]' '[:upper:]')
+ echo "${ARG_UPPER} = 1" >> Make.config || die "cannot write to Make.config"
+
+ # codesnippet to bring the extpng defines into the vdr.pc CXXFLAGS CFLAGS
+ echo "-DUSE_${ARG_UPPER}" >> "${T}"/defines.tmp || die "cannot write to defines.tmp"
+ cat "${T}"/defines.tmp | tr \\\012 ' ' > "${T}"/defines.IUSE || die "cannot write to defines.tmp"
+ export DEFINES_IUSE=$( cat ${T}/defines.IUSE )
+ done
+}
+
+extensions_add_make_conf()
+{
+ # copy all ifdef for extensions-patch to Make.config
+ sed -e '1,/need to touch the following:/d' \
+ -e '/need to touch the following/,/^$/d' \
+ Make.config.template >> Make.config || die "cannot write to Make.config"
+}
+
+extensions_all_defines() {
+ # extract all possible settings for extensions-patch
+ sed -e '/^#\?[A-Z].*= 1/!d' -e 's/^#\?//' -e 's/ .*//' \
+ Make.config.template \
+ | sort \
+ | tr '[:upper:]' '[:lower:]' || die "error in function extensions_all_defines"
+}
+
+lang_po() {
+ LING_PO=$( ls ${S}/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+}
+
+src_configure() {
+ # support languages, written from right to left
+ export "BIDI=$(usex bidi 1 0)"
+ # systemd notification support
+ export "SDNOTIFY=$(usex systemd 1 0)"
+ # with/without keyboard
+ export "USE_KBD=$(usex keyboard 1 0)"
+}
+
+src_prepare() {
+ # apply maintenance-patches
+ ebegin "Changing paths for gentoo"
+
+ local DVBDIR="/usr/include"
+ local i
+ for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
+ [[ -d ${i} ]] || continue
+ if [[ -f ${i}/linux/dvb/dmx.h ]]; then
+ einfo "Found DVB header files in ${i}"
+ DVBDIR="${i}"
+ break
+ fi
+ done
+
+ # checking for s2api headers
+ local api_version
+ api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+ api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+
+ if [[ ${api_version:-0} -lt 5*3 ]]; then
+ eerror "DVB header files do not contain s2api support or too old for ${P}"
+ eerror "You cannot compile VDR against old dvb-header"
+ die "DVB headers too old"
+ fi
+
+ cat > Make.config <<-EOT || die "cannot write to Make.config"
+ #
+ # Generated by ebuild ${PF}
+ #
+ PREFIX = /usr
+ DVBDIR = ${DVBDIR}
+ PLUGINLIBDIR = ${PLUGIN_LIBDIR}
+ CONFDIR = ${CONF_DIR}
+ VIDEODIR = /var/vdr/video
+ LOCDIR = \$(PREFIX)/share/locale
+ INCDIR = \$(PREFIX)/include
+
+ DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
+ INCLUDES += -I\$(DVBDIR)
+
+ # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
+ # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
+ LIBDIR = ${PLUGIN_LIBDIR}
+ PCDIR = /usr/$(get_libdir)/pkgconfig
+
+ EOT
+ eend 0
+
+ # wrt bug 586070
+ if has_version ">=sys-apps/systemd-230"; then
+ sed -e "s:libsystemd-daemon:libsystemd:g" -i Makefile || die "sed libsystemd failed"
+ fi
+
+ if ! use vanilla; then
+
+ # Now apply extensions patch
+ eapply "${WORKDIR}/${EXT_P}.patch"
+ sed -e 's/PERMASHIFT_V1/PERMASHIFT/g' -i "${S}"/*.[ch] "${S}"/Make.config* || die "sed failed"
+
+ # This allows us to start even if some plugin does not exist
+ # or is not loadable.
+ enable_patch PLUGINMISSING
+
+ if [[ -n ${VDR_MAINTAINER_MODE} ]]; then
+ einfo "Doing maintainer checks:"
+
+ # we do not support these patches
+ # (or have them already hard enabled)
+ local IGNORE_PATCHES="pluginmissing"
+
+ extensions_all_defines > "${T}"/new.IUSE || die "cannot write to new.IUSE"
+ echo $EXT_PATCH_FLAGS $EXT_PATCH_FLAGS_RENAMED_EXT_NAME \
+ $IGNORE_PATCHES | \
+ tr ' ' '\n' |sort > "${T}"/old.IUSE || die "cannot write to old.IUSE"
+ local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]')
+ if [[ -z ${DIFFS} ]]; then
+ einfo "EXT_PATCH_FLAGS are up to date."
+ else
+ ewarn "IUSE differences!"
+ local diff
+ for diff in $DIFFS; do
+ ewarn "$diff"
+ done
+ fi
+ fi
+
+ ebegin "Enabling selected patches"
+ local flag
+ for flag in $EXT_PATCH_FLAGS; do
+ use $flag && enable_patch ${flag}
+ done
+
+ eend 0
+
+ extensions_add_make_conf
+
+ # add defined use-flags compile options to vdr.pc
+ sed -e "s:\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR):\$(CDEFINES) \$(CINCLUDES) \$(HDRDIR) \$(DEFINES_IUSE):" \
+ -i Makefile || die "sed fails on Makefile"
+
+ ebegin "Make depend"
+ emake .dependencies >/dev/null
+ eend $? "make depend failed"
+
+ eapply "${FILESDIR}/${P}_gcc7extpng.patch"
+ fi
+
+ eapply "${FILESDIR}/${P}_gentoo.patch"
+ eapply "${FILESDIR}/${P}_unsignedtosigned.patch"
+ eapply "${FILESDIR}/${P}_glibc-2.24.patch"
+ eapply "${FILESDIR}/${P}-jpeg-9c.patch"
+ eapply "${FILESDIR}/${P}_glibc-2.31.patch"
+
+ # fix some makefile issues
+ sed -e "s:ifndef NO_KBD:ifeq (\$(USE_KBD),1):" \
+ -e "s:ifdef BIDI:ifeq (\$(BIDI),1):" \
+ -e "s:ifdef SDNOTIFY:ifeq (\$(SDNOTIFY),1):" \
+ -i "${S}"/Makefile || die "sed fails on Makefile"
+
+ eapply_user
+
+ add_cap CAP_UTF8
+
+ add_cap CAP_IRCTRL_RUNTIME_PARAM \
+ CAP_VFAT_RUNTIME_PARAM \
+ CAP_CHUID \
+ CAP_SHUTDOWN_AUTO_RETRY
+
+ echo -e ${CAPS} > "${CAP_FILE}"
+
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
+
+ lang_po
+
+ einfo "\t Please set one of this values in your sytem make.conf"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
+
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
+ einfo "\t You will get only english text on OSD \n"
+ fi
+
+ strip-linguas ${LING_PO} en
+}
+
+src_install() {
+ # trick makefile not to create a videodir by supplying it with an existing
+ # directory
+ emake install \
+ VIDEODIR="/" \
+ DESTDIR="${ED}" install
+
+ keepdir "${PLUGIN_LIBDIR}"
+
+ # backup for plugins they don't be able to create this dir
+ keepdir "${CONF_DIR}"/plugins
+
+ if use html; then
+ local HTML_DOCS=( *.html )
+ fi
+
+ local DOCS=( MANUAL INSTALL README* HISTORY CONTRIBUTORS )
+
+ einstalldocs
+
+ insinto /usr/share/vdr
+ doins "${CAP_FILE}"
+
+ if use alternatechannel; then
+ insinto /etc/vdr
+ doins "${FILESDIR}"/channel_alternative.conf
+ fi
+
+ chown -R vdr:vdr "${ED}/${CONF_DIR}" || die "chown failed"
+}
+
+pkg_postinst() {
+
+ elog "\n\t---- 15 YEARS ANNIVERSARY EDITON ----\n"
+ elog "\tA lot of thanks to Klaus Schmidinger"
+ elog "\tfor this nice piece of Software...\n"
+
+ elog "It is a good idea to run vdrplugin-rebuild now."
+
+ elog "To get nice symbols in OSD we recommend to install"
+ elog "\t1. emerge media-fonts/vdrsymbols-ttf"
+ elog "\t2. select font VDRSymbolsSans in Setup"
+ elog ""
+ elog "To get an idea how to proceed now, have a look at our vdr-guide:"
+ elog "\thttps://wiki.gentoo.org/wiki/VDR"
+}
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2021-02-16 16:43 Jörg Bornkessel
0 siblings, 0 replies; 11+ messages in thread
From: Jörg Bornkessel @ 2021-02-16 16:43 UTC (permalink / raw
To: gentoo-commits
commit: 114bdbd155023cbcd3532d8b1d9239e091153fed
Author: Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 16 16:42:14 2021 +0000
Commit: Jörg Bornkessel <hd_brummy <AT> gentoo <DOT> org>
CommitDate: Tue Feb 16 16:43:39 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=114bdbd1
media-video/vdr: readded use-flag pinplugin, permashift; bug fixes
-use-flag pinplugin, permashift readded
-fixed clang/LLVM compile
thx to Martin.Dummer to point this out
-fixed segfault in ttxtsubs patch
thx to Christian Kunkel to report this
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Joerg Bornkessel <hd_brummy <AT> gentoo.org>
media-video/vdr/Manifest | 4 +++-
media-video/vdr/files/vdr-2.4.6_clang.patch | 20 ++++++++++++++++++++
.../vdr/{vdr-2.4.6.ebuild => vdr-2.4.6-r1.ebuild} | 22 +++++++++++++---------
3 files changed, 36 insertions(+), 10 deletions(-)
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index 43de58b6f2e..7611c3c1c5a 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -2,10 +2,12 @@ DIST extpng-vdr-2.2.0-gentoo-edition-v1.patch.bz2 34664 BLAKE2B 81b68ebe0ef4588c
DIST vdr-2.1.5-naludump-0.1.diff 21548 BLAKE2B f193d982d072bbba2261d7dabd82e27795b2e4d8d18ae4486d8c559e7325b87f5902def7bb313e98585331144af62597f6f025f44ca142187e724516bc32c175 SHA512 d9188d5bfcf0588c22dc526fc1082253a1b505b322ccfbe676b8b2c12d4471af7b605924bcea85e879c9606d5e2cecdf6a6e8819cd9b8d877e5bb9f62b91251f
DIST vdr-2.2.0.tar.bz2 922708 BLAKE2B 975e07d6d4c5bd13ee92be5d6a1826d6404b0c59e20fa2e30689b185a61e02d54782ad528e6a4f15e0d36806b30bcf48aa336d63adb3604e78056ff318e0fd2c SHA512 183f58133915c6c0fe8ec2b88becbcb2a36418210e6dcf7931053d3771d727c3581593f9eb5c9693abf39e22e728f7b41c42079cd704610c3636ec05134ea93d
DIST vdr-2.4-patch-for-permashift.diff 20424 BLAKE2B 426139bd890e50e491d0061111445d988468441c6bf2f489d35b2b0e290c064ac87e8989cdd9a05e2befd0488300a0d4faa017ab9901152003c6b0f066cce5de SHA512 f21bd6d7b883354c254e1c92d730449dad6eac8ebdd2a593c907a962c2bf3a74859d66e1418984da5b62892d7b7d170282956f15af11d7a788bc759506454ba8
+DIST vdr-2.4-patch-for-permashift.diff.bz2 5298 BLAKE2B ebd00ba1c66783f97f5a6cc757cc9be6d937bd460f46b1880eec8b86ead1a5673a25ab64b733b8030e1c9a94123af28a5d6383905da265c67b2a945ba2c06c33 SHA512 3ba1968d2710061627e2a3b320e24ffeb08be6d8a7e71ed0c6732ebe6ed02d25f3a8afff524a6185ad0025d187ed9c7b259a9fb63dcf0c91e3fd2a079b5ef9d3
DIST vdr-2.4.0-ttxtsubs.patch.bz2 16721 BLAKE2B d5c3da713cd82ed8c3baccd1336d283404ebf1099116e76776c26a41ac193aa88bcb5bc2aaa8409a6d40e61c122bbc8ac0d67cb6ff8f83b0dbaea392101643b9 SHA512 99f2cab268d3f6af11607333a35583e5802f90636712e0429eb89eb66ccea7b1fb16a0d3ed2ff266e6f87c338bf77f97028a372eef5e6116b27220a5670a6d31
DIST vdr-2.4.1.tar.bz2 940623 BLAKE2B 6fa7858e1c0fc25d3332d20347b30515276fc2b54905f32109dfa7f59e4e0c8a83687be405fac063a673c89d77e191f62162b1bd0ed6ee179d32a27f73076fb3 SHA512 b851ebf626de1a6aea11ee9c0cd87d78ebebdc34128925d2027a7030db1262064edb8818566a87ce22d37a9bd2b4f0b4ff1aad8dd251061d9ff972ffe0cf022d
DIST vdr-2.4.1_mainmenuhook-1.0.1.patch.bz2 1463 BLAKE2B 2be3597a273a92d02be0d072e3d74b39275cbbe17d22e570f416d42c46b53f43209498e569142a2cc357e5f7176d2454cb2a86d0822b29cca913eab2ae9cc27f SHA512 9d3eb501fa06ff5b03361ef65c8ddeeba5f37493cc0edc2d4f54e200e48e17607957fa95bd1540f028bc9a98ad6f42b4d38cf79e9ce971de36bed30def108759
DIST vdr-2.4.1_pinplugin.patch.bz2 8641 BLAKE2B 339bb23ed0f505087bdbbefb192824d5def37bb00c4d5dc300f545c7951f11504115d058c157d1964f5f32e483e668675e13254465b5acce76cfdcf07faae216 SHA512 f402fa51314ad6c34439f71b7cb81e1ca51e0fa3b120a1fdaee119c2dd1b13174db2e666bf5e6204aa28e4acef8f6bd6e3ab8324793c3484eafb16dc8cf808d5
DIST vdr-2.4.6.tar.bz2 951272 BLAKE2B 52e92eb7e5fdc9bb9209cbef61f8db47e2e9a4750c75bc5b4f88069f95e54faac6b1af5b4c77a6a53990d8f083b6ff8ddeb33418386081c128617217129374fd SHA512 bed8b7740a97b681cf4273c01b6ce80046c1e5914c06d12cffc46fdca615331d0e97771ec09697cf72897583fcf272d83b6bf188ef476715cd0c0c5fd4c5e9d4
-DIST vdr-2.4.6_ttxtsubs.patch.bz2 14964 BLAKE2B b07e26077fe5af02df00b3580031615390ba6b3ea1c5a6e9c91f5e6d1964da7114e0ad939a9e4de640a97f5a887c45f6c8b5793a4da9341c7c238993a997c87c SHA512 cd60496b4a8a2dbed209dcf6645c0a6886091c5d5fca791a5ff3ec9fdf7f6c3f2c9a99976636aa985257b9baef10439e75f844f58f3f0a25d5ebcd361ec552ae
+DIST vdr-2.4.6_pinplugin.patch.bz2 5176 BLAKE2B 142ad6551b8e37d223acf86f8c2f511cf2cb3664b5ff968bac5e44420c56bf5fdb974360df574141c424cd7a4b1e1489c4a504207420af10f722a77e6d2bad2f SHA512 d5c7263b908302ebf88a5e5ddcb658f56ee92656b40797fd48af1ff9852454adc1d1672cc97411e7744cc31a56f4d0f51df5ece102c21b2aa25d87e3c3c8fe12
+DIST vdr-2.4.6_ttxtsubs_v2.patch.bz2 51971 BLAKE2B e4915314e8f659df1c3e0ff631fd0c3dcec89053ff727fd28400dc6eecc49c1d4743a9bedaf3b11fce03fc6082309d4b4658d00a5b01aa5cbe8686e05412f882 SHA512 14c7b4397ba65e0ff9a5fb0705872f1cb6f1cdd1752b14f83f260540da25b5957632900232f83904c3d4fd6759e537c85bda2cce61455729eab3050a96441548
DIST vdr-menuorg-2.3.x.diff 8852 BLAKE2B 19b98d51a69f52ecda5500f51ef1741a8397953b20c490055eab0393da5f56ff9598c3e1e8ed8b915f5877e08deeb9ba7a9ef8d9356ad3a1fa12e3778869174a SHA512 7b41c3a529858a4953a57f21619ea01864e140cc1755ee0b03caf1c4de41e80c3f805653502bc8d39d02a4dfcddf720acd4a8c8bd91f4871eef31d86e8e915c0
diff --git a/media-video/vdr/files/vdr-2.4.6_clang.patch b/media-video/vdr/files/vdr-2.4.6_clang.patch
new file mode 100644
index 00000000000..095bd18ae20
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.4.6_clang.patch
@@ -0,0 +1,20 @@
+compiling with CC="clang" CXX="clang++" we get the message
+
+ svdrp.c:76:3: error: no matching member function for call to 'Set'
+ Set(INADDR_ANY, 0);
+ ^~~
+
+this patch fixes it
+
+Signed-off-by: Martin Dummer <martin.dummer@gmx.net> ( 2020/02/15 )
+--- a/svdrp.c 2021-02-14 00:00:30.417157252 +0100
++++ b/svdrp.c 2021-02-14 00:00:55.636995544 +0100
+@@ -73,7 +73,7 @@
+
+ cIpAddress::cIpAddress(void)
+ {
+- Set(INADDR_ANY, 0);
++ Set((const char *)INADDR_ANY, 0);
+ }
+
+ cIpAddress::cIpAddress(const char *Address, int Port)
diff --git a/media-video/vdr/vdr-2.4.6.ebuild b/media-video/vdr/vdr-2.4.6-r1.ebuild
similarity index 89%
rename from media-video/vdr/vdr-2.4.6.ebuild
rename to media-video/vdr/vdr-2.4.6-r1.ebuild
index b8ba1b702c6..d7ea137b4c6 100644
--- a/media-video/vdr/vdr-2.4.6.ebuild
+++ b/media-video/vdr/vdr-2.4.6-r1.ebuild
@@ -11,13 +11,15 @@ SRC_URI="ftp://ftp.tvdr.de/vdr/${P}.tar.bz2
mainmenuhooks? ( http://vdr.websitec.de/download/${PN}/${PN}-2.4.1/${PN}-2.4.1_mainmenuhook-1.0.1.patch.bz2 )
menuorg? ( https://projects.vdr-developer.org/projects/plg-menuorg/repository/revisions/master/raw/vdr-patch/vdr-menuorg-2.3.x.diff )
naludump? ( http://www.udo-richter.de/vdr/files/vdr-2.1.5-naludump-0.1.diff )
- ttxtsubs? ( http://vdr.websitec.de/download/${PN}/${P}/${P}_ttxtsubs.patch.bz2 )"
+ pinplugin? ( http://vdr.websitec.de/download/${PN}/${P}/${P}_pinplugin.patch.bz2 )
+ ttxtsubs? ( http://vdr.websitec.de/download/${PN}/${P}/${P}_ttxtsubs_v2.patch.bz2 )
+ permashift? ( http://vdr.websitec.de/download/${PN}/${P}/vdr-2.4-patch-for-permashift.diff.bz2 )"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
-IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump systemd ttxtsubs verbose"
-# use-flag permashift, pinplugin tmp droped
+IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump permashift pinplugin systemd ttxtsubs verbose"
+
COMMON_DEPEND="
virtual/jpeg:*
sys-libs/libcap
@@ -33,9 +35,8 @@ RDEPEND="${COMMON_DEPEND}
systemd? ( sys-apps/systemd )"
BDEPEND="sys-devel/gettext"
-# permashift, pinplugin tmp droped
-#REQUIRED_USE="pinplugin? ( !mainmenuhooks )"
-# permashift? ( !naludump !pinplugin )"
+REQUIRED_USE="pinplugin? ( !mainmenuhooks )
+ permashift? ( !naludump !pinplugin )"
CONF_DIR="/etc/vdr"
CAP_FILE="${S}/capabilities.sh"
@@ -132,10 +133,13 @@ src_prepare() {
use demoplugins || eapply "${FILESDIR}/vdr-2.4_remove_plugins.patch"
eapply "${FILESDIR}/${P}_makefile-variables.patch"
+ # fix clang/LLVM compile
+ eapply "${FILESDIR}/${P}_clang.patch"
+
use naludump && eapply "${DISTDIR}/${PN}-2.1.5-naludump-0.1.diff"
-# tmp droped, use permashift && eapply "${DISTDIR}/${PN}-2.4-patch-for-permashift.diff"
-# tmp droped, use pinplugin && eapply "${WORKDIR}/${PN}-2.4.1_pinplugin.patch"
- use ttxtsubs && eapply "${WORKDIR}/${P}_ttxtsubs.patch"
+ use permashift && eapply "${WORKDIR}/${PN}-2.4-patch-for-permashift.diff"
+ use pinplugin && eapply "${WORKDIR}/${P}_pinplugin.patch"
+ use ttxtsubs && eapply "${WORKDIR}/${P}_ttxtsubs_v2.patch"
use menuorg && eapply "${DISTDIR}/vdr-menuorg-2.3.x.diff"
use mainmenuhooks && eapply "${WORKDIR}/${PN}-2.4.1_mainmenuhook-1.0.1.patch"
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2024-02-15 13:17 Joonas Niilola
0 siblings, 0 replies; 11+ messages in thread
From: Joonas Niilola @ 2024-02-15 13:17 UTC (permalink / raw
To: gentoo-commits
commit: 22722eb0ac588c80aeb57cdfba8e27ca3b6f02b9
Author: Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Sun Jan 28 19:01:42 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Feb 15 13:17:10 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22722eb0
media-video/vdr: add 2.6.6
Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net>
Closes: https://github.com/gentoo/gentoo/pull/35056
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
media-video/vdr/Manifest | 2 +
media-video/vdr/files/vdr-2.6.6_gentoo.patch | 60 ++++++++
media-video/vdr/vdr-2.6.6.ebuild | 199 +++++++++++++++++++++++++++
3 files changed, 261 insertions(+)
diff --git a/media-video/vdr/Manifest b/media-video/vdr/Manifest
index 2fb16dc8acda..bddcc07e66bd 100644
--- a/media-video/vdr/Manifest
+++ b/media-video/vdr/Manifest
@@ -2,4 +2,6 @@ DIST extpng-vdr-2.2.0-gentoo-edition-v1.patch.bz2 34664 BLAKE2B 81b68ebe0ef4588c
DIST vdr-2.2.0.tar.bz2 922708 BLAKE2B 975e07d6d4c5bd13ee92be5d6a1826d6404b0c59e20fa2e30689b185a61e02d54782ad528e6a4f15e0d36806b30bcf48aa336d63adb3604e78056ff318e0fd2c SHA512 183f58133915c6c0fe8ec2b88becbcb2a36418210e6dcf7931053d3771d727c3581593f9eb5c9693abf39e22e728f7b41c42079cd704610c3636ec05134ea93d
DIST vdr-2.6.4.tbz2 944257 BLAKE2B 09f2867d84ad6ee722e37cd3f77160ba4d976c25e46394a50ecd53b22da2269a3988e5aaf07eb741aaf0c957e9a001b15767b61eb6b1169206b4434d3885dc2f SHA512 2e69b67c82dd9dd1473c8776524b3888944957d4c6d7cf8f7713de4935819853dc481f04a87936bba8b1f56d9f3d8018f0820a3b1505bec2fceea6863e5d3776
DIST vdr-2.6.4_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
+DIST vdr-2.6.6.tbz2 946758 BLAKE2B 22ad6d0d4048347ff16a48ad137900f32dda7adfc7fb54bb1501f14cfc426185f942ffa4997de1e0318ca8c6b67a7dfc48d49b30bfda9367d7337b2d601544fc SHA512 4e798d3e39be0e851ec2e7f7cc563b070c3aa9438165a6aab8fcfc1cee5d7255cdc7dd4f6d4c4c84be770223491a9660bb41874e7b4d1ae504bbb16fe11f2a71
+DIST vdr-2.6.6_ttxtsubs_v2.patch 40549 BLAKE2B 525c05b72fa957372cc1ef91428428f664f42d92eebc06fd0b179afbe99e4ecc4919c69cef000cc15c8340c9a2506d38cbf755fd6665cde1708ce17d4320a35f SHA512 590c43e63818de8be9637cb3b32bf3399b82a181ca151d67e2341232669619020ab78ba9934da3a9c58cdb3bac56fc2a332a5838a92ee0851e42c3707726eb49
DIST vdr-menuorg-2.3.x.diff 8852 BLAKE2B 19b98d51a69f52ecda5500f51ef1741a8397953b20c490055eab0393da5f56ff9598c3e1e8ed8b915f5877e08deeb9ba7a9ef8d9356ad3a1fa12e3778869174a SHA512 7b41c3a529858a4953a57f21619ea01864e140cc1755ee0b03caf1c4de41e80c3f805653502bc8d39d02a4dfcddf720acd4a8c8bd91f4871eef31d86e8e915c0
diff --git a/media-video/vdr/files/vdr-2.6.6_gentoo.patch b/media-video/vdr/files/vdr-2.6.6_gentoo.patch
new file mode 100644
index 000000000000..0fcf4c3de943
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.6.6_gentoo.patch
@@ -0,0 +1,60 @@
+diff -Naur a/Makefile b/Makefile
+--- a/Makefile 2024-01-25 09:44:48.000000000 +0100
++++ b/Makefile 2024-01-28 19:35:17.020243042 +0100
+@@ -193,7 +193,7 @@
+
+ PODIR = po
+ LOCALEDIR = locale
+-I18Npo = $(wildcard $(PODIR)/*.po)
++I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po))
+ I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+ I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+ I18Npot = $(PODIR)/vdr.pot
+@@ -220,7 +220,7 @@
+
+ install-i18n: i18n
+ @mkdir -p $(DESTDIR)$(LOCDIR)
+- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR)
++ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done)
+
+ # The 'include' directory (for plugins):
+
+@@ -294,12 +294,11 @@
+
+ install-dirs:
+ @mkdir -p $(DESTDIR)$(VIDEODIR)
+- @mkdir -p $(DESTDIR)$(CONFDIR)
+ @mkdir -p $(DESTDIR)$(ARGSDIR)
+- @mkdir -p $(DESTDIR)$(CACHEDIR)
+ @mkdir -p $(DESTDIR)$(RESDIR)
+
+ install-conf: install-dirs
++ @mkdir -p $(DESTDIR)$(CONFDIR)
+ # 'cp -n' may be broken, so let's do it the hard way
+ @for i in *.conf; do\
+ if ! [ -e $(DESTDIR)$(CONFDIR)/$$i ] ; then\
+@@ -312,9 +311,9 @@
+ install-doc:
+ @mkdir -p $(DESTDIR)$(MANDIR)/man1
+ @mkdir -p $(DESTDIR)$(MANDIR)/man5
+- @gzip -c vdr.1 > $(DESTDIR)$(MANDIR)/man1/vdr.1.gz
+- @gzip -c vdr.5 > $(DESTDIR)$(MANDIR)/man5/vdr.5.gz
+- @gzip -c svdrpsend.1 > $(DESTDIR)$(MANDIR)/man1/svdrpsend.1.gz
++ @cp vdr.1 $(DESTDIR)$(MANDIR)/man1/
++ @cp vdr.5 $(DESTDIR)$(MANDIR)/man5/
++ @cp svdrpsend.1 $(DESTDIR)$(MANDIR)/man1/
+
+ # Plugins:
+
+@@ -331,8 +330,9 @@
+ # Includes:
+
+ install-includes: include-dir
+- @mkdir -p $(DESTDIR)$(INCDIR)
+- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
++ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi
++ @cp -pLR include/vdr $(DESTDIR)$(INCDIR)
++ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr
+
+ # pkg-config file:
+
diff --git a/media-video/vdr/vdr-2.6.6.ebuild b/media-video/vdr/vdr-2.6.6.ebuild
new file mode 100644
index 000000000000..5a5ed1d5cd51
--- /dev/null
+++ b/media-video/vdr/vdr-2.6.6.ebuild
@@ -0,0 +1,199 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic strip-linguas toolchain-funcs user-info
+
+DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DVB"
+HOMEPAGE="http://www.tvdr.de/"
+SRC_URI="http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/${PV};sf=tbz2 -> ${P}.tbz2
+ menuorg? ( https://github.com/vdr-projects/vdr-plugin-menuorg/raw/master/vdr-patch/vdr-menuorg-2.3.x.diff )
+ ttxtsubs? ( https://md11.it.cx/download/${PN}/${P}_ttxtsubs_v2.patch )"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86"
+IUSE="bidi debug demoplugins html keyboard mainmenuhooks menuorg naludump permashift pinplugin systemd ttxtsubs verbose"
+
+COMMON_DEPEND="
+ acct-group/vdr
+ acct-user/vdr
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libjpeg-turbo:=
+ sys-libs/libcap"
+DEPEND="${COMMON_DEPEND}
+ >=virtual/linuxtv-dvb-headers-5.3"
+RDEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ media-tv/gentoo-vdr-scripts
+ media-fonts/corefonts
+ bidi? ( dev-libs/fribidi )
+ systemd? ( sys-apps/systemd )"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+REQUIRED_USE="permashift? ( !naludump !pinplugin )"
+
+CONF_DIR="/etc/vdr"
+CAP_FILE="${S}/capabilities.sh"
+CAPS="# Capabilities of the vdr-executable for use by startscript etc."
+
+pkg_setup() {
+ use debug && append-flags -g
+
+ PLUGIN_LIBDIR="/usr/$(get_libdir)/vdr/plugins"
+ VIDEO_DIR="$(egethome vdr)/video"
+
+ tc-export CC CXX AR
+}
+
+add_cap() {
+ local arg
+ for arg; do
+ CAPS="${CAPS}\n${arg}=1"
+ done
+}
+
+lang_po() {
+ LING_PO=$( ls "${S}"/po | sed -e "s:.po::g" | cut -d_ -f1 | tr \\\012 ' ' )
+}
+
+src_prepare() {
+ # apply maintenance-patches
+ ebegin "Changing paths for gentoo"
+
+ local DVBDIR=/usr/include
+ local i
+ for i in ${DVB_HEADER_PATH} /usr/include/v4l-dvb-hg /usr/include; do
+ [[ -d ${i} ]] || continue
+ if [[ -f ${i}/linux/dvb/dmx.h ]]; then
+ einfo "Found DVB header files in ${i}"
+ DVBDIR=${i}
+ break
+ fi
+ done
+
+ # checking for s2api headers
+ local api_version
+ api_version=$(awk -F' ' '/define DVB_API_VERSION / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+ api_version=${api_version}*$(awk -F' ' '/define DVB_API_VERSION_MINOR / {print $3}' "${DVBDIR}"/linux/dvb/version.h)
+
+ if [[ ${api_version:-0} -lt 5*3 ]]; then
+ eerror "DVB header files do not contain s2api support or too old for ${P}"
+ eerror "You cannot compile VDR against old dvb-header"
+ die "DVB headers too old"
+ fi
+
+ cat > Make.config <<-EOT || die "cannot write to Make.config"
+ #
+ # Generated by ebuild ${PF}
+ #
+ PREFIX = /usr
+ DVBDIR = ${DVBDIR}
+ PLUGINLIBDIR = ${PLUGIN_LIBDIR}
+ CONFDIR = ${CONF_DIR}
+ ARGSDIR = \$(CONFDIR)/conf.d
+ VIDEODIR = ${VIDEO_DIR}
+ LOCDIR = \$(PREFIX)/share/locale
+ INCDIR = \$(PREFIX)/include
+
+ DEFINES += -DCONFDIR=\"\$(CONFDIR)\"
+ INCLUDES += -I\$(DVBDIR)
+
+ # >=vdr-1.7.36-r1; parameter only used for compiletime on vdr
+ # PLUGINLIBDIR (plugin Makefile old) = LIBDIR (plugin Makefile new)
+ LIBDIR = ${PLUGIN_LIBDIR}
+ PCDIR = /usr/$(get_libdir)/pkgconfig
+
+ EOT
+ eend 0
+
+ eapply "${FILESDIR}/${P}_gentoo.patch"
+ use demoplugins || eapply "${FILESDIR}/vdr-2.4_remove_plugins.patch"
+ eapply "${FILESDIR}/${PN}-2.4.6_makefile-variables.patch"
+
+ # fix clang/LLVM compile
+ eapply "${FILESDIR}/${PN}-2.4.6_clang.patch"
+
+ use naludump && eapply "${FILESDIR}/${PN}-2.6.1_naludump.patch"
+ use permashift && eapply "${FILESDIR}/${PN}-2.6.1-patch-for-permashift.patch"
+ use pinplugin && eapply "${FILESDIR}/${PN}-2.6.1_pinplugin.patch"
+ use ttxtsubs && eapply "${DISTDIR}/${P}_ttxtsubs_v2.patch"
+ use menuorg && eapply "${DISTDIR}/vdr-menuorg-2.3.x.diff"
+ use mainmenuhooks && eapply "${FILESDIR}/${PN}-2.4.1_mainmenuhook-1.0.1.patch"
+
+ add_cap CAP_UTF8 \
+ CAP_IRCTRL_RUNTIME_PARAM \
+ CAP_VFAT_RUNTIME_PARAM \
+ CAP_CHUID \
+ CAP_SHUTDOWN_AUTO_RETRY
+
+ echo -e ${CAPS} > "${CAP_FILE}" || die "cannot write to CAP_FILE"
+
+ # LINGUAS support
+ einfo "\n \t VDR supports the LINGUAS values"
+
+ lang_po
+
+ einfo "\t Please set one of this values in your sytem make.conf"
+ einfo "\t LINGUAS=\"${LING_PO}\"\n"
+
+ if [[ -z ${LINGUAS} ]]; then
+ einfo "\n \t No values in LINGUAS="
+ einfo "\t You will get only english text on OSD \n"
+ fi
+
+ strip-linguas ${LING_PO} en
+
+ default
+}
+
+src_configure() {
+ # support languages, written from right to left
+ export "BIDI=$(usex bidi 1 0)"
+ # systemd notification support
+ export "SDNOTIFY=$(usex systemd 1 0)"
+ # with/without keyboard
+ export "USE_KBD=$(usex keyboard 1 0)"
+ # detailed compile output for debug
+ export "VERBOSE=$(usex verbose 1 0)"
+}
+
+src_install() {
+ # trick the makefile to not create a VIDEODIR by supplying it with an
+ # existing directory
+ emake VIDEODIR="/" DESTDIR="${ED}" install
+
+ keepdir "${PLUGIN_LIBDIR}"
+
+ # backup for plugins they don't be able to create this dir
+ keepdir "${CONF_DIR}/plugins"
+
+ if use html; then
+ local HTML_DOCS=( *.html )
+ fi
+ local DOCS=( MANUAL INSTALL README* HISTORY CONTRIBUTORS UPDATE-2* )
+ einstalldocs
+
+ insinto /usr/share/vdr
+ doins "${CAP_FILE}"
+
+ fowners vdr:vdr "${CONF_DIR}" -R
+}
+
+pkg_postinst() {
+ elog "Please read the /usr/share/doc/${PF}/UPDATE-2.4"
+ elog "for major changes in this version\n"
+
+ elog "It is a good idea to run vdrplugin-rebuild now.\n"
+
+ elog "To get nice symbols in OSD we recommend to install"
+ elog "\t1. emerge media-fonts/vdrsymbols-ttf"
+ elog "\t2. select font VDRSymbolsSans in Setup\n"
+
+ elog "To get an idea how to proceed now, have a look at our vdr-guide:"
+ elog "\thttps://wiki.gentoo.org/wiki/VDR"
+}
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2024-06-22 19:13 Conrad Kostecki
0 siblings, 0 replies; 11+ messages in thread
From: Conrad Kostecki @ 2024-06-22 19:13 UTC (permalink / raw
To: gentoo-commits
commit: c58b6d3116f3c25b7350cc5a6c1336f6ac81613b
Author: Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Tue Jun 18 20:55:41 2024 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sat Jun 22 19:09:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c58b6d31
media-video/vdr-2.6.7: fix USE=pinplugin
Closes: https://bugs.gentoo.org/933483
Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net>
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
media-video/vdr/files/vdr-2.6.7_pinplugin.patch | 447 ++++++++++++++++++++++++
media-video/vdr/vdr-2.6.7.ebuild | 2 +-
2 files changed, 448 insertions(+), 1 deletion(-)
diff --git a/media-video/vdr/files/vdr-2.6.7_pinplugin.patch b/media-video/vdr/files/vdr-2.6.7_pinplugin.patch
new file mode 100644
index 000000000000..281a3e2dbf5f
--- /dev/null
+++ b/media-video/vdr/files/vdr-2.6.7_pinplugin.patch
@@ -0,0 +1,447 @@
+original vdr-pinplugin_vdr-2.3.1.diff
+rebased for media-video/vdr-2.6.7
+
+Signed-off-by: Christian Kunkel <ch.kunkel@gmx.de> ( 2021 Feb 12 )
+Reviewed-by: Martin Dummer <martin.dummer@gmx.net> ( 2024-06-18 )
+diff -Naur vdr-2.6.7.orig/Makefile vdr-2.6.7/Makefile
+--- vdr-2.6.7.orig/Makefile 2024-06-18 22:37:59.172119452 +0200
++++ vdr-2.6.7/Makefile 2024-06-18 22:38:53.723925736 +0200
+@@ -356,7 +356,7 @@
+ clean:
+ @$(MAKE) --no-print-directory -C $(LSIDIR) clean
+ @-rm -f $(OBJS) $(DEPFILE) vdr vdr.pc core* *~
+- @-rm -rf $(LOCALEDIR) $(PODIR)/*.mo $(PODIR)/*.pot
++ @-rm -rf $(LOCALEDIR) $(PODIR)/*~ $(PODIR)/*.mo $(PODIR)/*.pot
+ @-rm -rf include
+ @-rm -rf srcdoc
+ CLEAN: clean
+diff -Naur vdr-2.6.7.orig/device.c vdr-2.6.7/device.c
+--- vdr-2.6.7.orig/device.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/device.c 2024-06-18 22:38:53.727925721 +0200
+@@ -847,6 +847,7 @@
+ const cChannel *Channel;
+ while ((Channel = Channels->GetByNumber(n, Direction)) != NULL) {
+ // try only channels which are currently available
++ if (!cStatus::MsgChannelProtected(0, Channel)) // PIN PATCH
+ if (GetDevice(Channel, LIVEPRIORITY, true, true))
+ break;
+ n = Channel->Number() + Direction;
+@@ -868,6 +869,12 @@
+
+ eSetChannelResult cDevice::SetChannel(const cChannel *Channel, bool LiveView)
+ {
++ // I hope 'LiveView = false' indicates a channel switch for recording, // PIN PATCH
++ // I really don't know, but it works ... // PIN PATCH
++
++ if (LiveView && cStatus::MsgChannelProtected(this, Channel)) // PIN PATCH
++ return scrNotAvailable; // PIN PATCH
++
+ cMutexLock MutexLock(&mutexChannel); // to avoid a race between SVDRP CHAN and HasProgramme()
+ cStatus::MsgChannelSwitch(this, 0, LiveView);
+
+diff -Naur vdr-2.6.7.orig/menu.c vdr-2.6.7/menu.c
+--- vdr-2.6.7.orig/menu.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/menu.c 2024-06-18 22:38:53.727925721 +0200
+@@ -1035,6 +1035,18 @@
+ Add(new cMenuEditBitItem( tr("VPS"), &data.flags, tfVps));
+ Add(new cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY));
+ Add(new cMenuEditIntItem( tr("Lifetime"), &data.lifetime, 0, MAXLIFETIME));
++
++ // PIN PATCH
++ if (cOsd::pinValid || !data.fskProtection) Add(new cMenuEditBoolItem(tr("Childlock"),&data.fskProtection));
++ else {
++ char* buf = 0;
++ int res = 0;
++ res = asprintf(&buf, "%s\t%s", tr("Childlock"), data.fskProtection ? tr("yes") : tr("no"));
++ if (res < 0) ; // memory problems :o
++ Add(new cOsdItem(buf));
++ free(buf);
++ }
++
+ Add(file = new cMenuEditStrItem( tr("File"), data.file, sizeof(data.file)));
+ SetFirstDayItem();
+ SetPatternItem(true);
+@@ -3129,7 +3141,8 @@
+ }
+ }
+ }
+- if (*Item->Text() && !LastDir) {
++ if (*Item->Text() && !LastDir
++ && (!cStatus::MsgReplayProtected(Item->Recording(), Item->Name(), base, Item->IsDirectory(), true))) { // PIN PATCH
+ Add(Item);
+ LastItem = Item;
+ if (Item->IsDirectory())
+@@ -3200,6 +3213,9 @@
+ {
+ cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
+ if (ri) {
++ if (cStatus::MsgReplayProtected(ri->Recording(), ri->Name(), base,
++ ri->IsDirectory()) == true) // PIN PATCH
++ return osContinue;
+ if (ri->IsDirectory())
+ Open();
+ else {
+@@ -4515,28 +4531,32 @@
+
+ // Basic menu items:
+
+- Add(new cOsdItem(hk(tr("Schedule")), osSchedule));
+- Add(new cOsdItem(hk(tr("Channels")), osChannels));
+- Add(new cOsdItem(hk(tr("Timers")), osTimers));
+- Add(new cOsdItem(hk(tr("Recordings")), osRecordings));
++ // PIN PATCH
++ if (!cStatus::MsgMenuItemProtected("Schedule", true)) Add(new cOsdItem(hk(tr("Schedule")), osSchedule));
++ if (!cStatus::MsgMenuItemProtected("Channels", true)) Add(new cOsdItem(hk(tr("Channels")), osChannels));
++ if (!cStatus::MsgMenuItemProtected("Timers", true)) Add(new cOsdItem(hk(tr("Timers")), osTimers));
++ if (!cStatus::MsgMenuItemProtected("Recordings", true)) Add(new cOsdItem(hk(tr("Recordings")), osRecordings));
+
+ // Plugins:
+
+ for (int i = 0; ; i++) {
+ cPlugin *p = cPluginManager::GetPlugin(i);
+ if (p) {
++ if (!cStatus::MsgPluginProtected(p, true)) { // PIN PATCH
+ const char *item = p->MainMenuEntry();
+ if (item)
+ Add(new cMenuPluginItem(hk(item), i));
+ }
++ }
+ else
+ break;
+ }
+
+ // More basic menu items:
+
+- Add(new cOsdItem(hk(tr("Setup")), osSetup));
++ if (!cStatus::MsgMenuItemProtected("Setup", true)) Add(new cOsdItem(hk(tr("Setup")), osSetup)); // PIN PATCH
+ if (Commands.Count())
++ if (!cStatus::MsgMenuItemProtected("Commands", true)) // PIN PATCH
+ Add(new cOsdItem(hk(tr("Commands")), osCommands));
+
+ Update(true);
+@@ -4609,6 +4629,14 @@
+ eOSState state = cOsdMenu::ProcessKey(Key);
+ HadSubMenu |= HasSubMenu();
+
++ // > PIN PATCH
++ cOsdItem* item = Get(Current());
++
++ if (item && item->Text() && state != osContinue && state != osUnknown && state != osBack)
++ if (cStatus::MsgMenuItemProtected(item->Text()))
++ return osContinue;
++ // PIN PATCH <
++
+ switch (state) {
+ case osSchedule: return AddSubMenu(new cMenuSchedule);
+ case osChannels: return AddSubMenu(new cMenuChannels);
+@@ -4633,6 +4661,7 @@
+ if (item) {
+ cPlugin *p = cPluginManager::GetPlugin(item->PluginIndex());
+ if (p) {
++ if (!cStatus::MsgPluginProtected(p)) { // PIN PATCH
+ cOsdObject *menu = p->MainMenuAction();
+ if (menu) {
+ if (menu->IsMenu())
+@@ -4644,6 +4673,7 @@
+ }
+ }
+ }
++ }
+ state = osEnd;
+ }
+ break;
+@@ -4823,6 +4853,7 @@
+ Channel = Direction > 0 ? Channels->Next(Channel) : Channels->Prev(Channel);
+ if (!Channel && Setup.ChannelsWrap)
+ Channel = Direction > 0 ? Channels->First() : Channels->Last();
++ if (!cStatus::MsgChannelProtected(0, Channel)) // PIN PATCH
+ if (Channel && !Channel->GroupSep() && cDevice::GetDevice(Channel, LIVEPRIORITY, true, true))
+ return Channel;
+ }
+@@ -5500,6 +5531,7 @@
+ for (int i = 0; i < MAXRECORDCONTROLS; i++) {
+ if (!RecordControls[i]) {
+ RecordControls[i] = new cRecordControl(device, Timers, Timer, Pause);
++ cStatus::MsgRecordingFile(RecordControls[i]->FileName()); // PIN PATCH
+ return RecordControls[i]->Process(time(NULL));
+ }
+ }
+diff -Naur vdr-2.6.7.orig/osd.c vdr-2.6.7/osd.c
+--- vdr-2.6.7.orig/osd.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/osd.c 2024-06-18 22:38:53.731925707 +0200
+@@ -1907,6 +1907,7 @@
+ cSize cOsd::maxPixmapSize(INT_MAX, INT_MAX);
+ cVector<cOsd *> cOsd::Osds;
+ cMutex cOsd::mutex;
++bool cOsd::pinValid = false; // PIN PATCH
+
+ cOsd::cOsd(int Left, int Top, uint Level)
+ {
+diff -Naur vdr-2.6.7.orig/osd.h vdr-2.6.7/osd.h
+--- vdr-2.6.7.orig/osd.h 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/osd.h 2024-06-18 22:38:53.731925707 +0200
+@@ -994,6 +994,7 @@
+ ///<
+ ///< If a plugin uses a derived cPixmap implementation, it needs to use that
+ ///< type instead of cPixmapMemory.
++ static bool pinValid; // PIN PATCH
+ };
+
+ #define MAXOSDIMAGES 64
+diff -Naur vdr-2.6.7.orig/status.c vdr-2.6.7/status.c
+--- vdr-2.6.7.orig/status.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/status.c 2024-06-18 22:38:53.731925707 +0200
+@@ -136,3 +136,55 @@
+ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
+ sm->OsdProgramme(PresentTime, PresentTitle, PresentSubtitle, FollowingTime, FollowingTitle, FollowingSubtitle);
+ }
++
++bool cStatus::MsgChannelProtected(const cDevice* Device, const cChannel* Channel) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->ChannelProtected(Device, Channel) == true)
++ return true;
++
++ return false;
++}
++
++bool cStatus::MsgReplayProtected(const cRecording* Recording, const char* Name,
++ const char* Base, bool isDirectory, int menuView) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->ReplayProtected(Recording, Name, Base, isDirectory, menuView) == true)
++ return true;
++ return false;
++}
++
++void cStatus::MsgRecordingFile(const char* FileName)
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) // PIN PATCH
++ sm->RecordingFile(FileName);
++}
++
++void cStatus::MsgTimerCreation(cTimer* Timer, const cEvent *Event)
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm)) // PIN PATCH
++ sm->TimerCreation(Timer, Event);
++}
++
++bool cStatus::MsgPluginProtected(cPlugin* Plugin, int menuView) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->PluginProtected(Plugin, menuView) == true)
++ return true;
++ return false;
++}
++
++void cStatus::MsgUserAction(const eKeys key) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ sm->UserAction(key);
++}
++
++bool cStatus::MsgMenuItemProtected(const char* Name, int menuView) // PIN PATCH
++{
++ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
++ if (sm->MenuItemProtected(Name, menuView) == true)
++ return true;
++ return false;
++}
+diff -Naur vdr-2.6.7.orig/status.h vdr-2.6.7/status.h
+--- vdr-2.6.7.orig/status.h 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/status.h 2024-06-18 22:38:53.731925707 +0200
+@@ -14,6 +14,7 @@
+ #include "device.h"
+ #include "player.h"
+ #include "tools.h"
++#include "plugin.h"
+
+ // Several member functions of the following classes are called with a pointer to
+ // an object from a global list (cTimer, cChannel, cRecording or cEvent). In these
+@@ -99,6 +100,22 @@
+ // The OSD displays the single line Text with the current channel information.
+ virtual void OsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle) {}
+ // The OSD displays the given programme information.
++ virtual bool ChannelProtected(const cDevice *Device, const cChannel* Channel) { return false; } // PIN PATCH
++ // Checks if a channel is protected.
++ virtual bool ReplayProtected(const cRecording* Recording, const char* Name,
++ const char* Base, bool isDirectory, int menuView = false) { return false; } // PIN PATCH
++ // Checks if a recording is protected.
++ virtual void RecordingFile(const char* FileName) {} // PIN PATCH
++ // The given DVB device has started recording to FileName. FileName is the name of the
++ // recording directory
++ virtual void TimerCreation(cTimer* Timer, const cEvent *Event) {} // PIN PATCH
++ // The given timer is created
++ virtual bool PluginProtected(cPlugin* Plugin, int menuView = false) { return false; } // PIN PATCH
++ // Checks if a plugin is protected.
++ virtual void UserAction(const eKeys key) {} // PIN PATCH
++ // report user action
++ virtual bool MenuItemProtected(const char* Name, int menuView = false) { return false; } // PIN PATCH
++
+ public:
+ cStatus(void);
+ virtual ~cStatus();
+@@ -122,6 +139,14 @@
+ static void MsgOsdTextItem(const char *Text, bool Scroll = false);
+ static void MsgOsdChannel(const char *Text);
+ static void MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle);
++ static bool MsgChannelProtected(const cDevice* Device, const cChannel* Channel); // PIN PATCH
++ static bool MsgReplayProtected(const cRecording* Recording, const char* Name,
++ const char* Base, bool isDirectory, int menuView = false); // PIN PATCH
++ static void MsgRecordingFile(const char* FileName); // PIN PATCH
++ static void MsgTimerCreation(cTimer* Timer, const cEvent *Event); // PIN PATCH
++ static bool MsgPluginProtected(cPlugin* Plugin, int menuView = false); // PIN PATCH
++ static void MsgUserAction(const eKeys key); // PIN PATCH
++ static bool MsgMenuItemProtected(const char* Name, int menuView = false); // PIN PATCH
+ };
+
+ #endif //__STATUS_H
+diff -Naur vdr-2.6.7.orig/timers.c vdr-2.6.7/timers.c
+--- vdr-2.6.7.orig/timers.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/timers.c 2024-06-18 22:41:36.147349313 +0200
+@@ -85,6 +85,7 @@
+ stop -= 2400;
+ priority = Pause ? Setup.PausePriority : Setup.DefaultPriority;
+ lifetime = Pause ? Setup.PauseLifetime : Setup.DefaultLifetime;
++ fskProtection = 0; // PIN PATCH
+ if (Instant && channel)
+ snprintf(file, sizeof(file), "%s%s", Setup.MarkInstantRecord ? "@" : "", *Setup.NameInstantRecord ? Setup.NameInstantRecord : channel->Name());
+ }
+@@ -218,11 +219,13 @@
+ stop -= 2400;
+ priority = PatternTimer ? PatternTimer->Priority() : Setup.DefaultPriority;
+ lifetime = PatternTimer ? PatternTimer->Lifetime() : Setup.DefaultLifetime;
++ fskProtection = 0; // PIN PATCH
+ if (!FileName)
+ FileName = Event->Title();
+ if (!isempty(FileName))
+ Utf8Strn0Cpy(file, FileName, sizeof(file));
+ SetEvent(Event);
++ cStatus::MsgTimerCreation(this, Event); // PIN PATCH
+ }
+
+ cTimer::cTimer(const cTimer &Timer)
+@@ -261,6 +264,7 @@
+ stop = Timer.stop;
+ priority = Timer.priority;
+ lifetime = Timer.lifetime;
++ fskProtection = Timer.fskProtection; // PIN PATCH
+ vpsNotRunning = 0;
+ vpsActive = false;
+ strncpy(pattern, Timer.pattern, sizeof(pattern));
+@@ -492,6 +496,7 @@
+ result = false;
+ }
+ }
++ fskProtection = aux && strstr(aux, "<pin-plugin><protected>yes</protected></pin-plugin>"); // PIN PATCH
+ free(channelbuffer);
+ free(daybuffer);
+ free(filebuffer);
+@@ -1069,6 +1074,36 @@
+ Matches(); // refresh start and end time
+ }
+
++void cTimer::SetFskProtection(int aFlag) // PIN PATCH
++{
++ char* p;
++ char* tmp = 0;
++ int res = 0;
++
++ fskProtection = aFlag;
++
++ if (fskProtection && (!aux || !strstr(aux, "<pin-plugin><protected>yes</protected></pin-plugin>")))
++ {
++ // add protection info to aux
++
++ if (aux) { tmp = strdup(aux); free(aux); }
++ res = asprintf(&aux, "%s<pin-plugin><protected>yes</protected></pin-plugin>", tmp ? tmp : "");
++ }
++ else if (!fskProtection && aux && (p = strstr(aux, "<pin-plugin><protected>yes</protected></pin-plugin>")))
++ {
++ // remove protection info from aux
++
++ res = asprintf(&tmp, "%.*s%s", (int)(p-aux), aux, p+strlen("<pin-plugin><protected>yes</protected></pin-plugin>"));
++ free(aux);
++ aux = strdup(tmp);
++ }
++
++ if (res < 0) ; // memory problems :o
++
++ if (tmp)
++ free(tmp);
++}
++
+ // --- cTimers ---------------------------------------------------------------
+
+ cTimers cTimers::timers;
+diff -Naur vdr-2.6.7.orig/timers.h vdr-2.6.7/timers.h
+--- vdr-2.6.7.orig/timers.h 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/timers.h 2024-06-18 22:38:53.731925707 +0200
+@@ -47,6 +47,7 @@
+ int start; ///< the start and stop time of this timer as given by the user,
+ int stop; ///< in the form hhmm, with hh (00..23) and mm (00..59) added as hh*100+mm
+ int priority;
++ int fskProtection; // PIN PATCH
+ int lifetime;
+ mutable char pattern[NAME_MAX * 2 + 1]; // same size as 'file', to be able to initially fill 'pattern' with 'file' in the 'Edit timer' menu
+ mutable char file[NAME_MAX * 2 + 1]; // *2 to be able to hold 'title' and 'episode', which can each be up to 255 characters long
+@@ -72,6 +73,7 @@
+ int Start(void) const { return start; }
+ int Stop(void) const { return stop; }
+ int Priority(void) const { return priority; }
++ int FskProtection(void) const { return fskProtection; } // PIN PATCH
+ int Lifetime(void) const { return lifetime; }
+ const char *Pattern(void) const { return pattern; }
+ const char *File(void) const { return file; }
+@@ -122,6 +124,7 @@
+ void SetRemote(const char *Remote);
+ void SetDeferred(int Seconds);
+ void SetFlags(uint Flags);
++ void SetFskProtection(int aFlag); // PIN PATCH
+ void ClrFlags(uint Flags);
+ void InvFlags(uint Flags);
+ bool HasFlags(uint Flags) const;
+diff -Naur vdr-2.6.7.orig/vdr.c vdr-2.6.7/vdr.c
+--- vdr-2.6.7.orig/vdr.c 2024-04-02 09:05:33.000000000 +0200
++++ vdr-2.6.7/vdr.c 2024-06-18 22:38:53.735925694 +0200
+@@ -72,6 +72,7 @@
+ #include "tools.h"
+ #include "transfer.h"
+ #include "videodir.h"
++#include "status.h" // PIN PATCH
+
+ #define MINCHANNELWAIT 10 // seconds to wait between failed channel switchings
+ #define ACTIVITYTIMEOUT 60 // seconds before starting housekeeping
+@@ -1217,6 +1218,7 @@
+ if (!Menu)
+ Interact = Control = cControl::Control(ControlMutexLock);
+ if (ISREALKEY(key)) {
++ cStatus::MsgUserAction(key); // PIN PATCH
+ EITScanner.Activity();
+ // Cancel shutdown countdown:
+ if (ShutdownHandler.countdown)
+@@ -1289,10 +1291,12 @@
+ Control->Hide();
+ cPlugin *plugin = cPluginManager::GetPlugin(PluginName);
+ if (plugin) {
++ if (!cStatus::MsgPluginProtected(plugin)) { // PIN PATCH
+ Menu = plugin->MainMenuAction();
+ if (Menu)
+ Menu->Show();
+ }
++ }
+ else
+ esyslog("ERROR: unknown plugin '%s'", PluginName);
+ }
+@@ -1512,9 +1516,11 @@
+ case kPlay:
+ if (cReplayControl::LastReplayed()) {
+ Control = NULL;
++ if (cStatus::MsgReplayProtected(0, cReplayControl::LastReplayed(), 0, false) == false) { // PIN PATCH
+ cControl::Shutdown();
+ cControl::Launch(new cReplayControl);
+ }
++ }
+ else
+ DirectMainFunction(osRecordings); // no last viewed recording, so enter the Recordings menu
+ break;
diff --git a/media-video/vdr/vdr-2.6.7.ebuild b/media-video/vdr/vdr-2.6.7.ebuild
index d9ec76a88b84..40b47d8d5566 100644
--- a/media-video/vdr/vdr-2.6.7.ebuild
+++ b/media-video/vdr/vdr-2.6.7.ebuild
@@ -120,7 +120,7 @@ src_prepare() {
use naludump && eapply "${FILESDIR}/${PN}-2.6.1_naludump.patch"
use permashift && eapply "${FILESDIR}/${PN}-2.6.1-patch-for-permashift.patch"
- use pinplugin && eapply "${FILESDIR}/${PN}-2.6.1_pinplugin.patch"
+ use pinplugin && eapply "${FILESDIR}/${P}_pinplugin.patch"
use ttxtsubs && eapply "${DISTDIR}/${P}_ttxtsubs_v2.patch"
use menuorg && eapply "${DISTDIR}/vdr-menuorg-2.3.x.diff"
use mainmenuhooks && eapply "${FILESDIR}/${PN}-2.4.1_mainmenuhook-1.0.1.patch"
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/
@ 2024-06-22 19:13 Conrad Kostecki
0 siblings, 0 replies; 11+ messages in thread
From: Conrad Kostecki @ 2024-06-22 19:13 UTC (permalink / raw
To: gentoo-commits
commit: ba86a6cfd537b1f9d6b1b9cb65fd1126cbc658c4
Author: Martin Dummer <martin.dummer <AT> gmx <DOT> net>
AuthorDate: Thu Jun 20 17:03:33 2024 +0000
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sat Jun 22 19:09:49 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba86a6cf
media-video/vdr-2.2.0-r7: fix clang compile error
fix pkgcheck issue
Closes: https://bugs.gentoo.org/919117
Signed-off-by: Martin Dummer <martin.dummer <AT> gmx.net>
Closes: https://github.com/gentoo/gentoo/pull/37210
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>
media-video/vdr/files/vdr-2.2.0_gentoo.patch | 11 +++++++++++
media-video/vdr/vdr-2.2.0-r7.ebuild | 2 +-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/media-video/vdr/files/vdr-2.2.0_gentoo.patch b/media-video/vdr/files/vdr-2.2.0_gentoo.patch
index 70066f5b0c86..9fba406f39fb 100644
--- a/media-video/vdr/files/vdr-2.2.0_gentoo.patch
+++ b/media-video/vdr/files/vdr-2.2.0_gentoo.patch
@@ -1,5 +1,16 @@
--- a/Makefile
+++ b/Makefile
+@@ -54,8 +54,8 @@
+
+ # Mandatory compiler flags:
+
+-CFLAGS += -fPIC
+-CXXFLAGS += -fPIC
++CFLAGS += -fPIC -std=c++14
++CXXFLAGS += -fPIC -std=c++14
+
+ # Common include files:
+
@@ -124,7 +124,7 @@
VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h)
diff --git a/media-video/vdr/vdr-2.2.0-r7.ebuild b/media-video/vdr/vdr-2.2.0-r7.ebuild
index 1f82375d5508..89490df1119d 100644
--- a/media-video/vdr/vdr-2.2.0-r7.ebuild
+++ b/media-video/vdr/vdr-2.2.0-r7.ebuild
@@ -17,7 +17,6 @@ EXT_PATCH_FLAGS_RENAMED_EXT_NAME="bidi no_kbd sdnotify"
MY_PV="${PV%_p*}"
MY_P="${PN}-${MY_PV}"
-S="${WORKDIR}/${MY_P}"
EXT_P="extpng-${P}-gentoo-edition-v1"
@@ -25,6 +24,7 @@ DESCRIPTION="Video Disk Recorder - turns a pc into a powerful set top box for DV
HOMEPAGE="http://www.tvdr.de/"
SRC_URI="ftp://ftp.tvdr.de/vdr/${MY_P}.tar.bz2
mirror://gentoo/${EXT_P}.patch.bz2"
+S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2+"
SLOT="0"
^ permalink raw reply related [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-06-22 19:13 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-15 15:06 [gentoo-commits] repo/gentoo:master commit in: media-video/vdr/files/, media-video/vdr/ Joerg Bornkessel
-- strict thread matches above, loose matches on Subject: below --
2018-09-02 21:32 Joerg Bornkessel
2018-09-03 14:40 Thomas Deutschmann
2019-07-31 14:36 Andreas Sturmlechner
2019-12-02 15:19 Joonas Niilola
2020-02-10 20:46 Jörg Bornkessel
2020-02-24 12:17 Jörg Bornkessel
2021-02-16 16:43 Jörg Bornkessel
2024-02-15 13:17 Joonas Niilola
2024-06-22 19:13 Conrad Kostecki
2024-06-22 19:13 Conrad Kostecki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox