public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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 &gt;=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 &gt;=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 &gt;=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