summaryrefslogtreecommitdiff
path: root/media-tv/mythtv/files
diff options
context:
space:
mode:
Diffstat (limited to 'media-tv/mythtv/files')
-rw-r--r--media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_Dereferencing_type-punned_pointer.patch34
-rw-r--r--media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_unitialized_variables.patch22
-rw-r--r--media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch365
-rw-r--r--media-tv/mythtv/files/mythtv-30.0_p20190808-respect_LDFLAGS.patch14
4 files changed, 435 insertions, 0 deletions
diff --git a/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_Dereferencing_type-punned_pointer.patch b/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_Dereferencing_type-punned_pointer.patch
new file mode 100644
index 000000000000..bc0751c887c3
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_Dereferencing_type-punned_pointer.patch
@@ -0,0 +1,34 @@
+--- a/libs/libmythfreemheg/Programs.cpp
++++ b/libs/libmythfreemheg/Programs.cpp
+@@ -232,7 +232,10 @@ void MHResidentProgram::CallProgram(bool fIsFork, const MHObjectRef &success, co
+ for (int i = 0; i < format.Size(); i++)
+ {
+ unsigned char ch = format.GetAt(i);
+- char buffer[5]; // Largest text is 4 chars for a year + null terminator
++ // Largest text is 4 chars for a year + null terminator
++ // But... adding a constant to the value might be 5 chars + null terminator
++ // Using 6 gets rid of compiler warning
++ char buffer[6];
+
+ if (ch == '%')
+ {
+@@ -249,16 +252,16 @@ void MHResidentProgram::CallProgram(bool fIsFork, const MHObjectRef &success, co
+ switch (ch)
+ {
+ case 'Y':
+- sprintf(buffer, "%04d", timeStr->tm_year + 1900);
++ sprintf(buffer, "%04d", (unsigned short)(timeStr->tm_year + 1900));
+ break;
+ case 'y':
+ sprintf(buffer, "%02d", timeStr->tm_year % 100);
+ break;
+ case 'X':
+- sprintf(buffer, "%02d", timeStr->tm_mon + 1);
++ sprintf(buffer, "%02d", (unsigned short)(timeStr->tm_mon + 1));
+ break;
+ case 'x':
+- sprintf(buffer, "%1d", timeStr->tm_mon + 1);
++ sprintf(buffer, "%1d", (unsigned short)(timeStr->tm_mon + 1));
+ break;
+ case 'D':
+ sprintf(buffer, "%02d", timeStr->tm_mday);
diff --git a/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_unitialized_variables.patch b/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_unitialized_variables.patch
new file mode 100644
index 000000000000..db296242515c
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-30.0_p20190808-Fix_unitialized_variables.patch
@@ -0,0 +1,22 @@
+--- a/libs/libmythtv/eitfixup.cpp
++++ b/libs/libmythtv/eitfixup.cpp
+@@ -842,7 +842,7 @@ void EITFixUp::SetUKSubtitle(DBEventEIT &event) const
+ void EITFixUp::FixUK(DBEventEIT &event) const
+ {
+ int position1;
+- int position2;
++ int position2 = 0;
+ QString strFull;
+
+ bool isMovie = event.m_category.startsWith("Movie",Qt::CaseInsensitive) ||
+--- a/libs/libmythui/mythuitext.cpp
++++ b/libs/libmythui/mythuitext.cpp
+@@ -1058,7 +1058,7 @@ int MythUIText::MoveCursor(int lines)
+ int lineCount = 0;
+ int currPos = 0;
+ int layoutStartPos = 0;
+- int xPos;
++ int xPos = 0;
+
+ for (int x = 0; x < m_Layouts.count(); x++)
+ {
diff --git a/media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch b/media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch
new file mode 100644
index 000000000000..572f4e2b7574
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-30.0_p20190808-cast_constants_to_short.patch
@@ -0,0 +1,365 @@
+--- a/libs/libmyth/test/test_audioutils/test_audioutils.h
++++ b/libs/libmyth/test/test_audioutils/test_audioutils.h
+@@ -204,42 +204,48 @@ class TestAudioUtils: public QObject
+ arrays1[i] = j;
+ }
+
+- uint32_t pattern = 0xbcbcbcbc;
+- arrays2[offsetshort-4] = *(short*)&pattern;
+- arrays2[offsetshort-3] = *(short*)&pattern;
+- arrays2[offsetshort-2] = *(short*)&pattern;
+- arrays2[offsetshort-1] = *(short*)&pattern;
+- arrayf[offsetfloat-4] = *(float*)&pattern;
+- arrayf[offsetfloat-3] = *(float*)&pattern;
+- arrayf[offsetfloat-2] = *(float*)&pattern;
+- arrayf[offsetfloat-1] = *(float*)&pattern;
+- arrays2[SAMPLES+offsetshort+0] = *(short*)&pattern;
+- arrays2[SAMPLES+offsetshort+1] = *(short*)&pattern;
+- arrays2[SAMPLES+offsetshort+2] = *(short*)&pattern;
+- arrays2[SAMPLES+offsetshort+3] = *(short*)&pattern;
+- arrayf[SAMPLES+offsetfloat+0] = *(float*)&pattern;
+- arrayf[SAMPLES+offsetfloat+1] = *(float*)&pattern;
+- arrayf[SAMPLES+offsetfloat+2] = *(float*)&pattern;
+- arrayf[SAMPLES+offsetfloat+3] = *(float*)&pattern;
++ const union
++ {
++ uint32_t pattern;
++ short shortpattern;
++ float floatpattern;
++ } pattern = { .pattern = 0xbcbcbcbc };
++
++ arrays2[offsetshort-4] = *&pattern.shortpattern;
++ arrays2[offsetshort-3] = *&pattern.shortpattern;
++ arrays2[offsetshort-2] = *&pattern.shortpattern;
++ arrays2[offsetshort-1] = *&pattern.shortpattern;
++ arrayf[offsetfloat-4] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-3] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-2] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-1] = *(float*)&pattern.floatpattern;
++ arrays2[SAMPLES+offsetshort+0] = *&pattern.shortpattern;
++ arrays2[SAMPLES+offsetshort+1] = *&pattern.shortpattern;
++ arrays2[SAMPLES+offsetshort+2] = *&pattern.shortpattern;
++ arrays2[SAMPLES+offsetshort+3] = *&pattern.shortpattern;
++ arrayf[SAMPLES+offsetfloat+0] = *(float*)&pattern.floatpattern;
++ arrayf[SAMPLES+offsetfloat+1] = *(float*)&pattern.floatpattern;
++ arrayf[SAMPLES+offsetfloat+2] = *(float*)&pattern.floatpattern;
++ arrayf[SAMPLES+offsetfloat+3] = *(float*)&pattern.floatpattern;
+
+ // sanity tests
+ QCOMPARE(SAMPLES*2, SAMPLES * ISIZEOF(arrays1[0]));
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-4],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-3],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-2],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-1],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*(short*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-4],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-3],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-2],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-1],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*&pattern.shortpattern);
+ QCOMPARE(arrayf+4,&arrayf[4]);
+ QCOMPARE(arrays2+4,&arrays2[4]);
+
+@@ -248,22 +254,22 @@ class TestAudioUtils: public QObject
+ int val2 = AudioOutputUtil::fromFloat(FORMAT_S16, arrays2+offsetshort, arrayf+offsetfloat, SAMPLES * ISIZEOF(float));
+ QCOMPARE(val2, SAMPLES * ISIZEOF(short));
+
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-4],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-3],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-2],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[offsetshort-1],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*(short*)&pattern);
+- QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*(short*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SAMPLES+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-4],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-3],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-2],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[offsetshort-1],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+0],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+1],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+2],*&pattern.shortpattern);
++ QCOMPARE(*(short*)&arrays2[SAMPLES+offsetshort+3],*&pattern.shortpattern);
+
+ av_free(arrays1);
+ av_free(arrays2);
+@@ -505,42 +511,48 @@ class TestAudioUtils: public QObject
+ arrays1[i] = j;
+ }
+
+- uint32_t pattern = 0xbcbcbcbc;
+- arrays2[offsetuchar-4] = *(uchar*)&pattern;
+- arrays2[offsetuchar-3] = *(uchar*)&pattern;
+- arrays2[offsetuchar-2] = *(uchar*)&pattern;
+- arrays2[offsetuchar-1] = *(uchar*)&pattern;
+- arrayf[offsetfloat-4] = *(float*)&pattern;
+- arrayf[offsetfloat-3] = *(float*)&pattern;
+- arrayf[offsetfloat-2] = *(float*)&pattern;
+- arrayf[offsetfloat-1] = *(float*)&pattern;
+- arrays2[SIZEARRAY+offsetuchar+0] = *(uchar*)&pattern;
+- arrays2[SIZEARRAY+offsetuchar+1] = *(uchar*)&pattern;
+- arrays2[SIZEARRAY+offsetuchar+2] = *(uchar*)&pattern;
+- arrays2[SIZEARRAY+offsetuchar+3] = *(uchar*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern;
++ const union
++ {
++ uint32_t pattern;
++ uchar ucharpattern;
++ float floatpattern;
++ } pattern = { .pattern = 0xbcbcbcbc };
++
++ arrays2[offsetuchar-4] = *(uchar*)&pattern.ucharpattern;
++ arrays2[offsetuchar-3] = *(uchar*)&pattern.ucharpattern;
++ arrays2[offsetuchar-2] = *(uchar*)&pattern.ucharpattern;
++ arrays2[offsetuchar-1] = *(uchar*)&pattern.ucharpattern;
++ arrayf[offsetfloat-4] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-3] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-2] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-1] = *(float*)&pattern.floatpattern;
++ arrays2[SIZEARRAY+offsetuchar+0] = *(uchar*)&pattern.ucharpattern;
++ arrays2[SIZEARRAY+offsetuchar+1] = *(uchar*)&pattern.ucharpattern;
++ arrays2[SIZEARRAY+offsetuchar+2] = *(uchar*)&pattern.ucharpattern;
++ arrays2[SIZEARRAY+offsetuchar+3] = *(uchar*)&pattern.ucharpattern;
++ arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern.floatpattern;
+
+ // sanity tests
+ QCOMPARE(SIZEARRAY*1, SIZEARRAY * ISIZEOF(arrays1[0]));
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern.ucharpattern);
+ QCOMPARE(arrayf+4,&arrayf[4]);
+ QCOMPARE(arrays2+4,&arrays2[4]);
+
+@@ -549,22 +561,22 @@ class TestAudioUtils: public QObject
+ int val2 = AudioOutputUtil::fromFloat(FORMAT_U8, arrays2+offsetuchar, arrayf+offsetfloat, SIZEARRAY * ISIZEOF(float));
+ QCOMPARE(val2, SIZEARRAY * ISIZEOF(uchar));
+
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern);
+- QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-4],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-3],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-2],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[offsetuchar-1],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+0],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+1],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+2],*(uchar*)&pattern.ucharpattern);
++ QCOMPARE(*(uchar*)&arrays2[SIZEARRAY+offsetuchar+3],*(uchar*)&pattern.ucharpattern);
+
+ av_free(arrays1);
+ av_free(arrays2);
+@@ -686,42 +698,48 @@ class TestAudioUtils: public QObject
+ arrays1[i] = j;
+ }
+
+- uint32_t pattern = 0xbcbcbcbc;
+- arrays2[offsetint32_t-4] = *(int32_t*)&pattern;
+- arrays2[offsetint32_t-3] = *(int32_t*)&pattern;
+- arrays2[offsetint32_t-2] = *(int32_t*)&pattern;
+- arrays2[offsetint32_t-1] = *(int32_t*)&pattern;
+- arrayf[offsetfloat-4] = *(float*)&pattern;
+- arrayf[offsetfloat-3] = *(float*)&pattern;
+- arrayf[offsetfloat-2] = *(float*)&pattern;
+- arrayf[offsetfloat-1] = *(float*)&pattern;
+- arrays2[SIZEARRAY+offsetint32_t+0] = *(int32_t*)&pattern;
+- arrays2[SIZEARRAY+offsetint32_t+1] = *(int32_t*)&pattern;
+- arrays2[SIZEARRAY+offsetint32_t+2] = *(int32_t*)&pattern;
+- arrays2[SIZEARRAY+offsetint32_t+3] = *(int32_t*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern;
+- arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern;
++ const union
++ {
++ uint32_t pattern;
++ int32_t int32pattern;
++ float floatpattern;
++ } pattern = { .pattern = 0xbcbcbcbc };
++
++ arrays2[offsetint32_t-4] = *(int32_t*)&pattern.int32pattern;
++ arrays2[offsetint32_t-3] = *(int32_t*)&pattern.int32pattern;
++ arrays2[offsetint32_t-2] = *(int32_t*)&pattern.int32pattern;
++ arrays2[offsetint32_t-1] = *(int32_t*)&pattern.int32pattern;
++ arrayf[offsetfloat-4] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-3] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-2] = *(float*)&pattern.floatpattern;
++ arrayf[offsetfloat-1] = *(float*)&pattern.floatpattern;
++ arrays2[SIZEARRAY+offsetint32_t+0] = *(int32_t*)&pattern.int32pattern;
++ arrays2[SIZEARRAY+offsetint32_t+1] = *(int32_t*)&pattern.int32pattern;
++ arrays2[SIZEARRAY+offsetint32_t+2] = *(int32_t*)&pattern.int32pattern;
++ arrays2[SIZEARRAY+offsetint32_t+3] = *(int32_t*)&pattern.int32pattern;
++ arrayf[SIZEARRAY+offsetfloat+0] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+1] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+2] = *(float*)&pattern.floatpattern;
++ arrayf[SIZEARRAY+offsetfloat+3] = *(float*)&pattern.floatpattern;
+
+ // sanity tests
+ QCOMPARE(SIZEARRAY*4, SIZEARRAY * ISIZEOF(arrays1[0]));
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern.int32pattern);
+ QCOMPARE(arrayf+4,&arrayf[4]);
+ QCOMPARE(arrays2+4,&arrays2[4]);
+
+@@ -730,22 +748,22 @@ class TestAudioUtils: public QObject
+ int val2 = AudioOutputUtil::fromFloat(FORMAT_S32, arrays2+offsetint32_t, arrayf+offsetfloat, SIZEARRAY * ISIZEOF(float));
+ QCOMPARE(val2, SIZEARRAY * ISIZEOF(int32_t));
+
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],pattern);
+- QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern);
+- QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-4],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[offsetfloat-1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+0],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+1],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+2],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(uint32_t*)&arrayf[SIZEARRAY+offsetfloat+3],*(uint32_t*)&pattern.pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-4],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-3],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-2],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[offsetint32_t-1],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+0],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+1],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+2],*(int32_t*)&pattern.int32pattern);
++ QCOMPARE(*(int32_t*)&arrays2[SIZEARRAY+offsetint32_t+3],*(int32_t*)&pattern.int32pattern);
+
+ av_free(arrays1);
+ av_free(arrays2);
diff --git a/media-tv/mythtv/files/mythtv-30.0_p20190808-respect_LDFLAGS.patch b/media-tv/mythtv/files/mythtv-30.0_p20190808-respect_LDFLAGS.patch
new file mode 100644
index 000000000000..8bfc2796cffe
--- /dev/null
+++ b/media-tv/mythtv/files/mythtv-30.0_p20190808-respect_LDFLAGS.patch
@@ -0,0 +1,14 @@
+--- a/configure
++++ b/configure
+@@ -7919,9 +7919,9 @@ EOF
+ #echo "endif # FFMPEG_CONFIG_MAK" >> $TMPMAK
+
+ # Should be done on all platforms, but for the time being limit it to mac only
+-if enabled darwin; then
++#if enabled darwin; then
+ echo "QMAKE_LFLAGS+=\"$LDFLAGS\"" >> $TMPMAK
+-fi
++#fi
+
+ cp_if_changed $TMPH $MYTH_CONFIG_H
+