summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornkessel <hd_brummy@gentoo.org>2018-07-15 17:05:47 +0200
committerJoerg Bornkessel <hd_brummy@gentoo.org>2018-07-15 17:05:47 +0200
commit83a666612b950d27baf88c9de51e33dbd1f8ea67 (patch)
treefaa0c6a83006453c9ac01eb5c2c68403cc27f849
parentprofiles: Drop obsolete media-libs/opencolorio[pdf] p.use.mask (diff)
downloadgentoo-83a66661.tar.gz
gentoo-83a66661.tar.bz2
gentoo-83a66661.zip
media-video/vdr: fix gcc-7.2 issue, wrt bug 638348; cleanup
Package-Manager: Portage-2.3.41, Repoman-2.3.9
-rw-r--r--media-video/vdr/files/vdr-2.0.6-r2_gentoo.patch73
-rw-r--r--media-video/vdr/files/vdr-2.2.0_unsignedtosigned.patch112
-rw-r--r--media-video/vdr/vdr-2.2.0-r3.ebuild (renamed from media-video/vdr/vdr-2.2.0-r2.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 516bb7b7254f..000000000000
--- 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 000000000000..dd04abe1e2e8
--- /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
index 6062fc62c64a..2b4a137a165a 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() {