1 |
commit: 83a666612b950d27baf88c9de51e33dbd1f8ea67 |
2 |
Author: Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Jul 15 15:05:47 2018 +0000 |
4 |
Commit: Joerg Bornkessel <hd_brummy <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Jul 15 15:05:47 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83a66661 |
7 |
|
8 |
media-video/vdr: fix gcc-7.2 issue, wrt bug 638348; cleanup |
9 |
|
10 |
Package-Manager: Portage-2.3.41, Repoman-2.3.9 |
11 |
|
12 |
media-video/vdr/files/vdr-2.0.6-r2_gentoo.patch | 73 -------------- |
13 |
.../vdr/files/vdr-2.2.0_unsignedtosigned.patch | 112 +++++++++++++++++++++ |
14 |
.../{vdr-2.2.0-r2.ebuild => vdr-2.2.0-r3.ebuild} | 24 +++-- |
15 |
3 files changed, 125 insertions(+), 84 deletions(-) |
16 |
|
17 |
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 |
18 |
deleted file mode 100644 |
19 |
index 516bb7b7254..00000000000 |
20 |
--- a/media-video/vdr/files/vdr-2.0.6-r2_gentoo.patch |
21 |
+++ /dev/null |
22 |
@@ -1,73 +0,0 @@ |
23 |
-disabled plugin install from vdr source, we dont support this way |
24 |
-patch to support LINGUAS variable |
25 |
-fixed install on multicore cpu, creating CONFDIR on later time |
26 |
-install libsi includes in own dir |
27 |
-Signed-of-by: Joerg Bornkessel <hd_brummy@g.o> 20/Jan/2015 |
28 |
-diff -Naur vdr-2.0.6.orig/Makefile vdr-2.0.6/Makefile |
29 |
---- vdr-2.0.6.orig/Makefile 2014-09-22 22:17:23.000000000 +0200 |
30 |
-+++ vdr-2.0.6/Makefile 2014-09-24 15:22:43.000000000 +0200 |
31 |
-@@ -109,7 +109,7 @@ |
32 |
- VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h) |
33 |
- APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' config.h) |
34 |
- |
35 |
--all: vdr i18n plugins |
36 |
-+all: vdr i18n |
37 |
- |
38 |
- # Implicit rules: |
39 |
- |
40 |
-@@ -162,7 +162,7 @@ |
41 |
- |
42 |
- PODIR = po |
43 |
- LOCALEDIR = locale |
44 |
--I18Npo = $(wildcard $(PODIR)/*.po) |
45 |
-+I18Npo = $(foreach dir,$(LINGUAS),$(wildcard $(PODIR)/$(dir)*.po)) |
46 |
- I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) |
47 |
- I18Nmsgs = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr.mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) |
48 |
- I18Npot = $(PODIR)/vdr.pot |
49 |
-@@ -185,7 +185,7 @@ |
50 |
- |
51 |
- install-i18n: i18n |
52 |
- @mkdir -p $(DESTDIR)$(LOCDIR) |
53 |
-- cp -r $(LOCALEDIR)/* $(DESTDIR)$(LOCDIR) |
54 |
-+ @(cd $(LOCALEDIR); for linguas in $(LINGUAS); do [ "$$linguas" = "en" ] && continue; cp -r --parents $$linguas* $(DESTDIR)$(LOCDIR); done) |
55 |
- |
56 |
- # The 'include' directory (for plugins): |
57 |
- |
58 |
-@@ -247,7 +247,7 @@ |
59 |
- |
60 |
- # Install the files (note that 'install-pc' must be first!): |
61 |
- |
62 |
--install: install-pc install-bin install-dirs install-conf install-doc install-plugins install-i18n install-includes |
63 |
-+install: install-pc install-bin install-dirs install-conf install-doc install-i18n install-includes |
64 |
- |
65 |
- # VDR binary: |
66 |
- |
67 |
-@@ -259,11 +259,12 @@ |
68 |
- |
69 |
- install-dirs: |
70 |
- @mkdir -p $(DESTDIR)$(VIDEODIR) |
71 |
-- @mkdir -p $(DESTDIR)$(CONFDIR) |
72 |
-- @mkdir -p $(DESTDIR)$(CACHEDIR) |
73 |
-+# @mkdir -p $(DESTDIR)$(CONFDIR) |
74 |
-+# @mkdir -p $(DESTDIR)$(CACHEDIR) |
75 |
- @mkdir -p $(DESTDIR)$(RESDIR) |
76 |
- |
77 |
- install-conf: |
78 |
-+ @mkdir -p $(DESTDIR)$(CONFDIR) |
79 |
- @cp -pn *.conf $(DESTDIR)$(CONFDIR) |
80 |
- |
81 |
- # Documentation: |
82 |
-@@ -290,8 +291,11 @@ |
83 |
- # Includes: |
84 |
- |
85 |
- install-includes: include-dir |
86 |
-- @mkdir -p $(DESTDIR)$(INCDIR) |
87 |
-- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR) |
88 |
-+# @mkdir -p $(DESTDIR)$(INCDIR) |
89 |
-+# @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR) |
90 |
-+ @mkdir -p $(DESTDIR)$(INCDIR)/vdr $(DESTDIR)$(INCDIR)/vdr/libsi |
91 |
-+ @cp -pLR include/vdr $(DESTDIR)$(INCDIR) |
92 |
-+ @cp -pLR include/libsi Make.config $(DESTDIR)$(INCDIR)/vdr |
93 |
- |
94 |
- # pkg-config file: |
95 |
- |
96 |
|
97 |
diff --git a/media-video/vdr/files/vdr-2.2.0_unsignedtosigned.patch b/media-video/vdr/files/vdr-2.2.0_unsignedtosigned.patch |
98 |
new file mode 100644 |
99 |
index 00000000000..dd04abe1e2e |
100 |
--- /dev/null |
101 |
+++ b/media-video/vdr/files/vdr-2.2.0_unsignedtosigned.patch |
102 |
@@ -0,0 +1,112 @@ |
103 |
+compile fix for gcc-7.2 |
104 |
+this will only attache the core vdr, not the extpatch-ng |
105 |
+https://www.linuxtv.org/pipermail/vdr/2017-March/029229.html |
106 |
+ |
107 |
+Signed-of by: Joerg Bornkessel <hd_brummy@g.o> (2018/07/15) |
108 |
+diff -Naur vdr-2.2.0.orig/diseqc.c vdr-2.2.0/diseqc.c |
109 |
+--- vdr-2.2.0.orig/diseqc.c 2018-07-15 15:59:17.000000000 +0200 |
110 |
++++ vdr-2.2.0/diseqc.c 2018-07-15 16:04:00.000000000 +0200 |
111 |
+@@ -253,10 +253,10 @@ |
112 |
+ return result; |
113 |
+ } |
114 |
+ |
115 |
+-uint cDiseqc::SetScrFrequency(uint SatFrequency, const cScr *Scr, uint8_t *Codes) const |
116 |
++int cDiseqc::SetScrFrequency(int SatFrequency, const cScr *Scr, uint8_t *Codes) const |
117 |
+ { |
118 |
+ if ((Codes[0] & 0xF0) == 0x70 ) { // EN50607 aka JESS |
119 |
+- uint t = SatFrequency == 0 ? 0 : (SatFrequency - 100); |
120 |
++ int t = SatFrequency == 0 ? 0 : (SatFrequency - 100); |
121 |
+ if (t < 2048 && Scr->Channel() >= 0 && Scr->Channel() < 32) { |
122 |
+ Codes[1] = t >> 8 | Scr->Channel() << 3; |
123 |
+ Codes[2] = t; |
124 |
+@@ -266,7 +266,7 @@ |
125 |
+ } |
126 |
+ } |
127 |
+ else { // EN50494 aka Unicable |
128 |
+- uint t = SatFrequency == 0 ? 0 : (SatFrequency + Scr->UserBand() + 2) / 4 - 350; // '+ 2' together with '/ 4' results in rounding! |
129 |
++ int t = SatFrequency == 0 ? 0 : (SatFrequency + Scr->UserBand() + 2) / 4 - 350; // '+ 2' together with '/ 4' results in rounding! |
130 |
+ if (t < 1024 && Scr->Channel() >= 0 && Scr->Channel() < 8) { |
131 |
+ Codes[3] = t >> 8 | (t == 0 ? 0 : scrBank << 2) | Scr->Channel() << 5; |
132 |
+ Codes[4] = t; |
133 |
+@@ -399,7 +399,7 @@ |
134 |
+ return NULL; |
135 |
+ } |
136 |
+ |
137 |
+-cDiseqc::eDiseqcActions cDiseqc::Execute(const char **CurrentAction, uchar *Codes, uint8_t *MaxCodes, const cScr *Scr, uint *Frequency) const |
138 |
++cDiseqc::eDiseqcActions cDiseqc::Execute(const char **CurrentAction, uchar *Codes, uint8_t *MaxCodes, const cScr *Scr, int *Frequency) const |
139 |
+ { |
140 |
+ if (!*CurrentAction) |
141 |
+ *CurrentAction = commands; |
142 |
+diff -Naur vdr-2.2.0.orig/diseqc.h vdr-2.2.0/diseqc.h |
143 |
+--- vdr-2.2.0.orig/diseqc.h 2018-07-15 15:59:17.000000000 +0200 |
144 |
++++ vdr-2.2.0/diseqc.h 2018-07-15 16:02:11.000000000 +0200 |
145 |
+@@ -86,7 +86,7 @@ |
146 |
+ mutable int scrBank; |
147 |
+ char *commands; |
148 |
+ bool parsing; |
149 |
+- uint SetScrFrequency(uint SatFrequency, const cScr *Scr, uint8_t *Codes) const; |
150 |
++ int SetScrFrequency(int SatFrequency, const cScr *Scr, uint8_t *Codes) const; |
151 |
+ int SetScrPin(const cScr *Scr, uint8_t *Codes) const; |
152 |
+ const char *Wait(const char *s) const; |
153 |
+ const char *GetPosition(const char *s) const; |
154 |
+@@ -96,7 +96,7 @@ |
155 |
+ cDiseqc(void); |
156 |
+ ~cDiseqc(); |
157 |
+ bool Parse(const char *s); |
158 |
+- eDiseqcActions Execute(const char **CurrentAction, uchar *Codes, uint8_t *MaxCodes, const cScr *Scr, uint *Frequency) const; |
159 |
++ eDiseqcActions Execute(const char **CurrentAction, uchar *Codes, uint8_t *MaxCodes, const cScr *Scr, int *Frequency) const; |
160 |
+ ///< Parses the DiSEqC commands and returns the appropriate action code |
161 |
+ ///< with every call. CurrentAction must be the address of a character pointer, |
162 |
+ ///< which is initialized to NULL. This pointer is used internally while parsing |
163 |
+diff -Naur vdr-2.2.0.orig/dvbdevice.c vdr-2.2.0/dvbdevice.c |
164 |
+--- vdr-2.2.0.orig/dvbdevice.c 2018-07-15 15:59:17.000000000 +0200 |
165 |
++++ vdr-2.2.0/dvbdevice.c 2018-07-15 16:02:11.000000000 +0200 |
166 |
+@@ -329,7 +329,7 @@ |
167 |
+ void ClearEventQueue(void) const; |
168 |
+ bool GetFrontendStatus(fe_status_t &Status) const; |
169 |
+ cPositioner *GetPositioner(void); |
170 |
+- void ExecuteDiseqc(const cDiseqc *Diseqc, unsigned int *Frequency); |
171 |
++ void ExecuteDiseqc(const cDiseqc *Diseqc, int *Frequency); |
172 |
+ void ResetToneAndVoltage(void); |
173 |
+ bool SetFrontend(void); |
174 |
+ virtual void Action(void); |
175 |
+@@ -696,7 +696,7 @@ |
176 |
+ return positioner; |
177 |
+ } |
178 |
+ |
179 |
+-void cDvbTuner::ExecuteDiseqc(const cDiseqc *Diseqc, unsigned int *Frequency) |
180 |
++void cDvbTuner::ExecuteDiseqc(const cDiseqc *Diseqc, int *Frequency) |
181 |
+ { |
182 |
+ if (!lnbPowerTurnedOn) { |
183 |
+ CHECK(ioctl(fd_frontend, FE_SET_VOLTAGE, SEC_VOLTAGE_13)); // must explicitly turn on LNB power |
184 |
+@@ -806,7 +806,7 @@ |
185 |
+ |
186 |
+ SETCMD(DTV_DELIVERY_SYSTEM, frontendType); |
187 |
+ if (frontendType == SYS_DVBS || frontendType == SYS_DVBS2) { |
188 |
+- unsigned int frequency = channel.Frequency(); |
189 |
++ int frequency = channel.Frequency(); |
190 |
+ if (Setup.DiSEqC) { |
191 |
+ if (const cDiseqc *diseqc = Diseqcs.Get(device->CardIndex() + 1, channel.Source(), frequency, dtp.Polarization(), &scr)) { |
192 |
+ frequency -= diseqc->Lof(); |
193 |
+@@ -829,7 +829,7 @@ |
194 |
+ } |
195 |
+ else { |
196 |
+ int tone = SEC_TONE_OFF; |
197 |
+- if (frequency < (unsigned int)Setup.LnbSLOF) { |
198 |
++ if (frequency < Setup.LnbSLOF) { |
199 |
+ frequency -= Setup.LnbFrequLo; |
200 |
+ tone = SEC_TONE_OFF; |
201 |
+ } |
202 |
+diff -Naur vdr-2.2.0.orig/remux.c vdr-2.2.0/remux.c |
203 |
+--- vdr-2.2.0.orig/remux.c 2018-07-15 15:59:17.000000000 +0200 |
204 |
++++ vdr-2.2.0/remux.c 2018-07-15 16:02:11.000000000 +0200 |
205 |
+@@ -1654,7 +1654,7 @@ |
206 |
+ Div += parser->IFrameTemporalReferenceOffset(); |
207 |
+ if (Div <= 0) |
208 |
+ Div = 1; |
209 |
+- uint32_t Delta = ptsValues[0] / Div; |
210 |
++ int Delta = ptsValues[0] / Div; |
211 |
+ // determine frame info: |
212 |
+ if (isVideo) { |
213 |
+ if (abs(Delta - 3600) <= 1) |
214 |
+diff -Naur vdr-2.2.0.orig/remux.c.orig vdr-2.2.0/remux.c.orig |
215 |
|
216 |
diff --git a/media-video/vdr/vdr-2.2.0-r2.ebuild b/media-video/vdr/vdr-2.2.0-r3.ebuild |
217 |
similarity index 93% |
218 |
rename from media-video/vdr/vdr-2.2.0-r2.ebuild |
219 |
rename to media-video/vdr/vdr-2.2.0-r3.ebuild |
220 |
index 6062fc62c64..2b4a137a165 100644 |
221 |
--- a/media-video/vdr/vdr-2.2.0-r2.ebuild |
222 |
+++ b/media-video/vdr/vdr-2.2.0-r3.ebuild |
223 |
@@ -1,9 +1,9 @@ |
224 |
# Copyright 1999-2018 Gentoo Foundation |
225 |
# Distributed under the terms of the GNU General Public License v2 |
226 |
|
227 |
-EAPI=6 |
228 |
+EAPI=7 |
229 |
|
230 |
-inherit flag-o-matic toolchain-funcs |
231 |
+inherit eutils flag-o-matic toolchain-funcs |
232 |
|
233 |
# Switches supported by extensions-patch |
234 |
EXT_PATCH_FLAGS="alternatechannel graphtft naludump permashift_v1 pinplugin |
235 |
@@ -186,7 +186,7 @@ src_prepare() { |
236 |
tr ' ' '\n' |sort > "${T}"/old.IUSE |
237 |
local DIFFS=$(diff -u "${T}"/old.IUSE "${T}"/new.IUSE|grep '^[+-][^+-]') |
238 |
if [[ -z ${DIFFS} ]]; then |
239 |
- einfo "EXT_PATCH_FLAGS is up to date." |
240 |
+ einfo "EXT_PATCH_FLAGS are up to date." |
241 |
else |
242 |
ewarn "IUSE differences!" |
243 |
local diff |
244 |
@@ -215,7 +215,9 @@ src_prepare() { |
245 |
eend $? "make depend failed" |
246 |
fi |
247 |
|
248 |
- eapply "${FILESDIR}/${P}-r2_gentoo.patch" |
249 |
+ eapply "${FILESDIR}/${P}_gentoo.patch" |
250 |
+ #gcc-7.2, this will fix only the core vdr, not the extpatch |
251 |
+ eapply "${FILESDIR}/${P}_unsignedtosigned.patch" |
252 |
|
253 |
# fix some makefile issues |
254 |
sed -e "s:ifndef NO_KBD:ifeq (\$(USE_KBD),1):" \ |
255 |
@@ -234,16 +236,16 @@ src_prepare() { |
256 |
|
257 |
echo -e ${CAPS} > "${CAP_FILE}" |
258 |
|
259 |
- # L10N support |
260 |
- einfo "\n \t VDR supports the L10N values" |
261 |
+ # LINGUAS support |
262 |
+ einfo "\n \t VDR supports the LINGUAS values" |
263 |
|
264 |
lang_po |
265 |
|
266 |
einfo "\t Please set one of this values in your sytem make.conf" |
267 |
- einfo "\t L10N=\"${LING_PO}\"\n" |
268 |
+ einfo "\t LINGUAS=\"${LING_PO}\"\n" |
269 |
|
270 |
- if [[ -z ${L10N} ]]; then |
271 |
- einfo "\n \t No values in L10N=" |
272 |
+ if [[ -z ${LINGUAS} ]]; then |
273 |
+ einfo "\n \t No values in LINGUAS=" |
274 |
einfo "\t You will get only english text on OSD \n" |
275 |
fi |
276 |
|
277 |
@@ -255,7 +257,7 @@ src_install() { |
278 |
# directory |
279 |
emake install \ |
280 |
VIDEODIR="/" \ |
281 |
- DESTDIR="${D}" install || die "emake install failed" |
282 |
+ DESTDIR="${D%/}" install || die "emake install failed" |
283 |
|
284 |
keepdir "${PLUGIN_LIBDIR}" |
285 |
|
286 |
@@ -278,7 +280,7 @@ src_install() { |
287 |
doins "${FILESDIR}"/channel_alternative.conf |
288 |
fi |
289 |
|
290 |
- chown -R vdr:vdr "${D}/${CONF_DIR}" |
291 |
+ chown -R vdr:vdr "${D%/}/${CONF_DIR}" |
292 |
} |
293 |
|
294 |
pkg_postinst() { |