summaryrefslogtreecommitdiff
path: root/media-tv
diff options
context:
space:
mode:
Diffstat (limited to 'media-tv')
-rw-r--r--media-tv/Manifest.gzbin3937 -> 3934 bytes
-rw-r--r--media-tv/gtk-v4l/Manifest2
-rw-r--r--media-tv/gtk-v4l/metadata.xml2
-rw-r--r--media-tv/kodi/Manifest2
-rw-r--r--media-tv/kodi/kodi-9999.ebuild2
-rw-r--r--media-tv/mythtv/Manifest8
-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
-rw-r--r--media-tv/mythtv/metadata.xml75
-rw-r--r--media-tv/mythtv/mythtv-30.0_p20190808.ebuild420
-rw-r--r--media-tv/xmltv/Manifest4
-rw-r--r--media-tv/xmltv/metadata.xml38
-rw-r--r--media-tv/xmltv/xmltv-0.5.70.ebuild78
15 files changed, 958 insertions, 108 deletions
diff --git a/media-tv/Manifest.gz b/media-tv/Manifest.gz
index d1313f9a43a7..e6ec50598d2c 100644
--- a/media-tv/Manifest.gz
+++ b/media-tv/Manifest.gz
Binary files differ
diff --git a/media-tv/gtk-v4l/Manifest b/media-tv/gtk-v4l/Manifest
index 7100109bc02f..a4d51baf46c2 100644
--- a/media-tv/gtk-v4l/Manifest
+++ b/media-tv/gtk-v4l/Manifest
@@ -1,4 +1,4 @@
AUX gtk-v4l-0.4-device-remove-source-on-finalize.patch 1850 BLAKE2B 534955aab1ddecd3586ae472c3b6bcc2fd48da2a796bd2bedd93b430865b015c8519e616e890dff4064ecbe10c4e163aec79ff36aa428f1de4b436bda04123b0 SHA512 2fea2369c1f2084a71f4f934c870f14b08ddf61fa0ed50fb9de9c8250b431519cf38470d404d8428e667c958c9a1b2a674fc71177f508d85a1b7468b881a2d3c
DIST gtk-v4l-0.4.tar.gz 328732 BLAKE2B b9040bb4be35d21998226e776f6844da12d75b4db51c8191ee658d9ef5701b27f8b400914eea07a39bb2ed0855f34a59c547bf412031c033212b9966fa1fe97e SHA512 ed0e1245d9b1cfce6612c91dacd09f26850a9420088d7de172c4bd582b70f4427820940e6cf98a831493edfe52d20fb02d6b2d62b695a24127097f50963df321
EBUILD gtk-v4l-0.4.ebuild 806 BLAKE2B 25ed080f64b8180a4d87f64de82ea54357c4f81a1806ea6ca9300ad5794fe2a4921c57abff824fab7b17185f81f38543793b27ebb3b5b5afb29b275f2b620925 SHA512 02f2d08a85b127dc279d8e4659d66522fc4c61ddc9c8688bf82560978a9dc2cb40e7ddda4e9764ca933308a4e75ec5583e7e8604c790a0d2a3a666dbd148dbec
-MISC metadata.xml 165 BLAKE2B ed7e2ebe9f71491aa6163627bdb6606e798b98ca85c053b50442182a245074a9e09b290835e7c8fb4a10e4e8227c16ec306fd16f337cb66904095d864e698e8b SHA512 bebe508b4e0a7ca4a046f9befd3d7ddb702756024756a5f0d9fb5ace5fe3f5a98f9d42afda4597b7d1338607b8d43e41c8fcd6d20d31da3ebad2b420edd2cb59
+MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33
diff --git a/media-tv/gtk-v4l/metadata.xml b/media-tv/gtk-v4l/metadata.xml
index 58f638b2ac3e..7a38bb900964 100644
--- a/media-tv/gtk-v4l/metadata.xml
+++ b/media-tv/gtk-v4l/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!--maintainer-needed-->
+ <!-- maintainer-needed -->
</pkgmetadata>
diff --git a/media-tv/kodi/Manifest b/media-tv/kodi/Manifest
index eb9aa659da46..151d5767dd24 100644
--- a/media-tv/kodi/Manifest
+++ b/media-tv/kodi/Manifest
@@ -7,5 +7,5 @@ DIST libdvdnav-6.0.0-Leia-Alpha-3.tar.gz 137942 BLAKE2B 7573434a0ae8e8ccabf48173
DIST libdvdread-6.0.0-Leia-Alpha-3.tar.gz 130649 BLAKE2B 0c206acdaf0776841ab792c74e023af07d9539eb72e03ae164382a31ed950f60e5e15f1d055979d28f1398924471b294d11f064b11b8373353b3962a3777ff3c SHA512 b3419ba0a1a2dd70f1bb6236afdfe1c6e88c9ad4264198b289e3bba9375e077cecf7f89848c7b09debaa445327f3507101f3d157e692f7a7163b2bb52643e1e7
EBUILD kodi-18.3-r1.ebuild 9615 BLAKE2B 9b507cab8dcf05014fa2c35af477afeca13c9c09e699da7af7d199974f603ebe900e59f25f7f7cf5443d1a8cc1d1dbc871f21509eefa826c237042d2270872cd SHA512 d53a257d5552965e26ee3e9037dbb58ec1661c8a5964160822d14fc63c736d6304e3622369378ba1888c587241c75e4fbbb7345a7082047bf59d2e315aaa1cb1
EBUILD kodi-18.4.ebuild 9447 BLAKE2B c7b046a250efdc94f21e184cc598eae63385f7a2f9c1c6284c7f99ef35c63805dbf57cdad3868f46a32268ad185e843bf43f89e3993cc38fb2b13d90ff722af5 SHA512 90a84232549ef0fc88a4259aa75d891079d3c83c1fe82aaa645740b3922257a77721d23a8a7a70bff281d89409964dd0862abd474347944987f4a5b51e0a7330
-EBUILD kodi-9999.ebuild 9399 BLAKE2B 44916f93ffc75a2276996fef6b2fd375401dd6c50ff0a67f2b679f290feec1df53c68a27c8d83fc9c77c997e5794e926a8a64f2003bbb05ecb1220d37b3be5b2 SHA512 73e174629854fc2568ecbf6b53253a05109d3d300903c434f0a7d74ed4ccebb0824ad894112dcfa13eabe5328dcb3c17ab8d6a39080a96d97742785bf13fe7b9
+EBUILD kodi-9999.ebuild 9398 BLAKE2B 624a3e4ced7929e817d13d532426716c8a3913125850e66f9ec7db5c5cb1bc04af2ecd828515ffcab15794c701ce08b867cc816cc24e53a9574f30ed301f0bc1 SHA512 74ae9ffa4ab5521b3802cf23b1765cb3bd38ce86802c99bb8020eaeb4604af37b728a1589865c8533752c9969bdb657c219c820f24770e2e30b5e186e98af92a
MISC metadata.xml 1720 BLAKE2B 3158b87065286649496de2edf821c37042cafe7e729f7ba31c571ade72cf8f9fbce218485ac721ad896fa5ef751becfd2f3b4ce1645e97b4db673ec879884834 SHA512 f8d52358276ad8c2eb23632451f025ac45f799fa392bd59fcfd4417d9e9e76cf9ce066ac50cd8ee563319d7f2248b28c45fee3059a4e069ebb862e41d230b1da
diff --git a/media-tv/kodi/kodi-9999.ebuild b/media-tv/kodi/kodi-9999.ebuild
index a894cf36c9dd..b408b49df3d2 100644
--- a/media-tv/kodi/kodi-9999.ebuild
+++ b/media-tv/kodi/kodi-9999.ebuild
@@ -65,7 +65,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
dev-db/sqlite
dev-libs/expat
>=dev-libs/flatbuffers-1.11.0
- >=dev-libs/fribidi-0.19.7
+ >=dev-libs/fribidi-1.0.5
cec? ( >=dev-libs/libcec-4.0[raspberry-pi?] )
dev-libs/libpcre[cxx]
>=dev-libs/libinput-1.10.5
diff --git a/media-tv/mythtv/Manifest b/media-tv/mythtv/Manifest
index ab76b1172ce6..20dd3985630f 100644
--- a/media-tv/mythtv/Manifest
+++ b/media-tv/mythtv/Manifest
@@ -5,8 +5,14 @@ AUX mythbackend.service-28 2689 BLAKE2B 1141975d442d5308700d05710030114cc4c42887
AUX mythfrontend.conf 474 BLAKE2B d81e2e91bb4a8afef746268ec832129ac6b02c27d0e7414a912a04ac2edec69ca59367d24fa8d80d5f6c8d6b0f462cb022d4307070a267e970405a9cf0448d64 SHA512 8b3967f5e7d719fefe50b8868dc1b974c3f6337335e7e65799ddb331abe07df0fadb4cb619758fefeaa0c4d0d1dac6f00e0982736cab5acac993bdaced0051c2
AUX mythfrontend.wrapper 794 BLAKE2B f4f8cf24665f75d38d932551534c14d3d93673384719cd494abc77a308bbc1c5842965c39540ff6bdfe5fed660594acd9f9e2767fba8fa7c782ba525eb287d33 SHA512 d69676d3b981c76988bbe60277f74028668c851db7db3c37a60ecc95ae18d9f77cd38511fcd3deb95d1f87bf659d7b0bcd7f1dd469801950d28f7b3f6f6947e3
AUX mythtv-29.1-exiv2-0.27.1.patch 572 BLAKE2B 0c1cb5173d453ece343273584823c0d5b3efb4f1f8b860254131eafb973911ef521e638ae5ab39c161052e68a86a0f4152c055ae5a07a0bb9fe8a837dec7a716 SHA512 367719aa51480680bb3cbd49721d6d0782f2d0d4d13a739a8cd9c9ccffdd0d8f82c4f7f88935555d749d5af7b005b95c9e1d44bb6e23bc0e70e8bc3f9d1b5d70
+AUX mythtv-30.0_p20190808-Fix_Dereferencing_type-punned_pointer.patch 1913 BLAKE2B b5ea6ec46961ded89331b041434a5bcb861bac632475611986e1fd1db9b186392249a770f634a7a4a97847f9b36fbabd3a1edc5447068a79fcee41131908ef55 SHA512 51d66f7044e15adad7bad94dac89eaeb6bc8c42d793c57565c48061359ec4486ca754471a64bee0dc36d5da0346a462488ad24c2cb7a74b82d22acf8103a3c64
+AUX mythtv-30.0_p20190808-Fix_unitialized_variables.patch 659 BLAKE2B ff947ef9e669cb47c2e7ec9081963e855596843ca0da9e248e3ec0c2111a50dd1fd1b38f700b0c31d7281959e05219c1548ec6b631347e22583b96b083fe5715 SHA512 e92bd3b13a0ded212d10423063c228fffc24fad6401d8ee371cd766f73e23832b6cdc7e46d729362b4d1ba8ce4704cb7d4a841ad7a0560a297e7e5b8b3944aa6
+AUX mythtv-30.0_p20190808-cast_constants_to_short.patch 24201 BLAKE2B d76e519666914f6c9a510fb0aec493e361e857f51e56bd7d120657f350b0bf5da329a89eb58c9789f8f030c6d08bfe0171750690b76d8c2add807942aa686d59 SHA512 c2724ad248222ac4190412cf68e54ee0b265fdde128996e68a2e178e6debe0180c23f9c7d1878466f9a5689fab8172370c6b31c90aa9a096fb5919ec6e8960fe
+AUX mythtv-30.0_p20190808-respect_LDFLAGS.patch 334 BLAKE2B 1e0ab12773e49fb349aa0b1c243f8d740ec9783e845307ded5763cf7872e090fbe19d74506e5dbea346c099a84fa395ac4c63dc45a03d20a04372b62bb39e3c1 SHA512 90cf1d4809df7859e611502590cbb1c2bdaea23e6f0a47351042be6287e2b5030ef0645e22f722bec5a029701fd3c2227c5dfb3509a2322b56a1aef60bcb2c33
AUX mythtv.logrotate.d-r4 235 BLAKE2B 4f6df360f5191aaf4a2b55bd3edc7bc4aab92c46dbd7b7bc1295371b7ef451056f902d92e3209654463850d2cbca579c60d25c1f9065ac80ce3e57fa1fe8e661 SHA512 8dd8936599acabfa55ad7efb870de431e03cb86c3c96156c2c0eee6675962dcc527391260f2ba66e3d54c1d41373001ef25c9d2421e83940c686d14b5f29fff7
AUX xinitrc-r1 234 BLAKE2B 0227ea065f1c43e1b2f1583bcbc798db76e9a08d345bbd8ed8837a6ba424b187c814e3ff0d7690d2d9f7a7617f4fbcce20df926e43bc6e89aec3e352aab6de8f SHA512 885adfe395fe553f6d5cf518856be7be9a6bf6073888f8e055271ed7c3d9ad85a162e9e9ff95a68e54047948ac280796c69ef55d0b4e549eb0beabbf0fec1188
DIST mythtv-29.1-r1.tar.gz 105657217 BLAKE2B 9d42464b0c75c2d3a359b528e3f7917cfb281f48451167afc6517caa9702da44fce2d48566fd902ec08af35117232113b4d499e2c9a3cf2ad2634d91cf532ca7 SHA512 0eadc37661d9fa93a63c0f425cd43d43533889b0afcea1478b2645e083ba6c96eebf2eec088db1ed6f0a0727c03b7c90c0c18b83c194d630dda3bac45bca5d87
+DIST mythtv-30.0_p20190808.tar.gz 101208060 BLAKE2B af8966dd6353fc514c9a95083f28e8b7b19f16e1bd5a4f7590a946c306bf16a09f0028c76da975e423136834f8f06d7f2a570b43957ef4ae5e42ee241b579f0a SHA512 c02371c0b2162556e40a560a0fd9cb121f46f2ccedbc2ca74cd03aa9caf2b7ea4bbaa09ae6320eb782f932190f449e7fdd274a6d6ba9676e5fd9b7f5432632a2
EBUILD mythtv-29.1-r1.ebuild 10359 BLAKE2B ee8b0c0f0b25caef4577620d6374032d70c1bf4371cfe4979c48c22833c4c61acf7adf9da1e455e548ac3cf2cb23c1070c8d8e70f7566bebc8a062e9c1f05cac SHA512 21e86109e648b74e636c590ff73d3245ea4306bbafaaa8129185701a4cbf13e6eeb7389ca7a83ddb32be847b99464d0b8368561beb2d85a2891f5e0c8f2d2c1a
-MISC metadata.xml 2986 BLAKE2B 8bfeb791c20052690820b02f03859a72e1de4ccba6303eee36d05bfee3b04ac204f5dc6ebd24741b39868a0e0b8fcf7875fcfb5aaaf8d855bb06be9a0d03df98 SHA512 a57d539f1f083bb69aaa0e85622862408e5afbc1eb27bfdf13b319b8104909971698ad7f51cc8978b9f5e5e4ab9e9d73b7907c61d65aba7c21867da7bfb36084
+EBUILD mythtv-30.0_p20190808.ebuild 11365 BLAKE2B a42be279dc1d4927fd0d9f618ddd3f5858fad4aafed73b776c6a987502ada9bff4da704b69f85fe844ed97e132d58fae18c82ea21bb129cc916817dfc92c7d76 SHA512 6e04c36152dcb6b538080d01cf8bf0864e9c02482c06565a95245bc60aa34c5065d62bf365ee97351442d18b604211e0ef6bfc85f5259f0cbb1396f0c4655a66
+MISC metadata.xml 2312 BLAKE2B 854ba3cb41be09b8fa70e7d7334214fd20712bf687590f8d74f337fa329868691dca33cea6944ea684ee15fad2c5e0553e8e36cccb1022d7b8e379aa2f589a5d SHA512 0dec95d5dd0477b2e91a7b19355d2ef2a1f92b6e774c2683f930f3b47d2ad93aa23e511f37a73a61ac1e9b5ba2364d93948f01f93e645f1197e11bce6fac56a7
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
+
diff --git a/media-tv/mythtv/metadata.xml b/media-tv/mythtv/metadata.xml
index 2c054c79fe69..f6172ecf9665 100644
--- a/media-tv/mythtv/metadata.xml
+++ b/media-tv/mythtv/metadata.xml
@@ -1,52 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>thebitpit@earthlink.net</email>
+ <name>Wilson Michaels</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<use>
- <flag name="alsa">Allows MythTV to directly output sound to ALSA devices,
- this is needed if you are using ALSA dmix or SPDIF. Note, you will have
- to physically type your device into the MythTV configuration since it
- will only give you /dev/dsp devices in the drop down.</flag>
- <flag name="altivec">Builds ffmpeg's codec libraries with altivec
- support.</flag>
- <flag name="autostart">Uses a custom autostart configuration gleaned from
- experience with MythTV since its early versions and discussed with
- other MythTV maintainers and users. Does not rely on KDE being installed
- like most methods do.</flag>
- <flag name="bluray">Pulls in libbluray for BluRay support.</flag>
- <flag name="cec">Allows you to control CEC enabled TVs via HDMI. Currently
- requires a USB based CEC -&gt; HDMI injector between your TV and video
- card since no graphics drivers support CEC natively.</flag>
- <flag name="crystalhd">Allows you to utilize a Broadcom CrystalHD hardware
- based video decoder to improve the performance of video decode.</flag>
- <flag name="debug">Instructs Qt to use the 'debug' target instead of
- 'release' target. If your MythTV is crashing or you need a backtrace,
- you need to compile it with this option otherwise the debugging data is
- useless.</flag>
- <flag name="egl">Support EGL video output.</flag>
+ <flag name="alsa">Allows MythTV to directly output sound to ALSA devices</flag>
+ <flag name="asi">Support for DVEO ASI recorder</flag>
+ <flag name="autostart">Use a custom autostart configuration</flag>
+ <flag name="bluray">Use the system libbluray for BluRay support</flag>
+ <flag name="cec">Allows control of CEC enabled TVs via HDMI</flag>
+ <flag name="ceton">Ceton InfiniTV 4 a CableCARD-enabled tuner support</flag>
+ <flag name="crystalhd">Broadcom CrystalHD hardware support</flag>
+ <flag name="debug">Instructs Qt to use the 'debug' target</flag>
+ <flag name="egl">EGL video output support</flag>
<flag name="fftw">Support visualizations via <pkg>sci-libs/fftw</pkg></flag>
+ <flag name="hdhomerun">Silicondust USA Inc.network-attached tuner support</flag>
+ <flag name="hdpvr">Hauppauge HD-PVR?</flag>
<flag name="hls">HTTP Live Streaming support</flag>
- <flag name="ieee1394">Allows MythTV to communicate and use Firewire enabled
- Cable boxes. These are typically found in the United States, where such
- support is required by law. This will also install Firewire test
- programs and external channel changers if the internal changer does not
- work.</flag>
- <flag name="jack">Allows MythTV to use JACK as your sound output device. You
- will have to manually configure the path to your JACK settings.</flag>
- <flag name="lcd">Tells MythTV that you have an instance of
- <pkg>app-misc/lcdproc</pkg> configured on your machine and it should
- output information such as current time, show name, episode name, etc to
- that LCD.</flag>
- <flag name="lirc">Adds LIRC support directly to MythTV allowing for built in
- control via a LIRC device.</flag>
- <flag name="mythlogserver">Enable support for syslog and file logging. Not
- used with systemd.</flag>
- <flag name="perl">Builds the perl bindings for MythTV. Allows you to write
- scripts in Perl to control your MythTV setup or communicate with
- it.</flag>
- <flag name="wrapper">Use Ubuntu mythtfrontend wrapper.</flag>
- <flag name="xmltv">Pulls in the <pkg>media-tv/xmltv</pkg> TV listing
- grabbers for users not using Schedules Direct.</flag>
+ <flag name="ieee1394">Firewire enabled Cable boxe support</flag>
+ <flag name="ivtv">Support kernel driver for the iTVC15 family of MPEG codecs</flag>
+ <flag name="jack">Allows MythTV to use JACK as your sound output device</flag>
+ <flag name="java">BD-J support for Blu-ray discs</flag>
+ <flag name="lcd">Enable use of <pkg>app-misc/lcdproc</pkg> data display</flag>
+ <flag name="lirc">LIRC remote control device support</flag>
+ <flag name="mythlogserver">Enable support for syslog and file logging</flag>
+ <flag name="perl">Build the perl bindings for MythTV</flag>
+ <flag name="vbox">V@Box Communications network-attached tuner devices support</flag>
+ <flag name="vpx">Enable VP8/VP9 support for <pkg>media-libs/libvpx</pkg></flag>
+ <flag name="wrapper">Use Ubuntu mythtfrontend wrapper</flag>
+ <flag name="x265">Enable h265 encoding using x265</flag>
+ <flag name="xmltv">Support <pkg>media-tv/xmltv</pkg> TV listing - not used by Schedules Direct]</flag>
</use>
<upstream>
<remote-id type="github">MythTV/mythtv</remote-id>
diff --git a/media-tv/mythtv/mythtv-30.0_p20190808.ebuild b/media-tv/mythtv/mythtv-30.0_p20190808.ebuild
new file mode 100644
index 000000000000..1e8752cdcda3
--- /dev/null
+++ b/media-tv/mythtv/mythtv-30.0_p20190808.ebuild
@@ -0,0 +1,420 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+
+BACKPORTS="5cde0578d84926171b20c8f7e95a101e9b0b9457" # August 8, 2019
+
+MY_P=${P%_p*}
+MY_PV=${PV%_p*}
+
+inherit eutils flag-o-matic python-single-r1 qmake-utils readme.gentoo-r1 systemd vcs-snapshot
+
+MYTHTV_BRANCH="fixes/${P%.*}"
+
+DESCRIPTION="Open Source DVR and media center hub"
+HOMEPAGE="https://www.mythtv.org"
+SRC_URI="https://github.com/MythTV/mythtv/archive/${BACKPORTS}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+KEYWORDS="~amd64 ~x86"
+SLOT="0/${PV}"
+
+IUSE_INPUT_DEVICES="input_devices_joystick"
+IUSE_VIDEO_CAPTURE_DEVICES="v4l ivtv ieee1394 hdpvr hdhomerun vbox ceton"
+IUSE="alsa altivec asi autostart bluray cdda cdr cec crystalhd debug dvd dvb egl exif fftw jack java
+ +lame lcd libass lirc +opengl oss perl pulseaudio python raw systemd vaapi vdpau vpx
+ +wrapper x264 x265 +xml xmltv +xvid +X zeroconf
+ ${IUSE_INPUT_DEVICES} ${IUSE_VIDEO_CAPTURE_DEVICES}"
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+ bluray? ( xml )
+ cdr? ( cdda )
+"
+
+# Some of the QA tests fail -- fix in next revision
+RESTRICT="test"
+
+COMMON="
+ acct-user/mythtv
+ dev-libs/glib:2
+ dev-libs/lzo
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ opengl? ( dev-qt/qtopengl:5 )
+ dev-qt/qtscript:5
+ dev-qt/qtsql:5[mysql]
+ dev-qt/qtwebkit:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ media-gfx/exiv2:=
+ media-libs/freetype:2
+ media-libs/libsamplerate
+ media-libs/taglib
+ lame? ( >=media-sound/lame-3.93.1 )
+ sys-libs/zlib
+ virtual/mysql
+ opengl? ( virtual/opengl )
+ X? (
+ x11-libs/libX11:=
+ x11-libs/libXext:=
+ x11-libs/libXinerama:=
+ x11-libs/libXrandr:=
+ x11-libs/libXv:=
+ x11-libs/libXxf86vm:=
+ x11-misc/wmctrl:=
+ )
+ alsa? ( >=media-libs/alsa-lib-1.0.24 )
+ bluray? (
+ media-libs/libbluray:=
+ dev-libs/libcdio:=
+ sys-fs/udisks:2
+ )
+ cec? ( dev-libs/libcec )
+ dvd? (
+ dev-libs/libcdio:=
+ sys-fs/udisks:2
+ )
+ egl? ( media-libs/mesa[egl] )
+ fftw? ( sci-libs/fftw:3.0=[threads] )
+ hdhomerun? ( media-libs/libhdhomerun )
+ ieee1394? (
+ >=media-libs/libiec61883-1.0.0
+ >=sys-libs/libavc1394-0.5.3
+ >=sys-libs/libraw1394-1.2.0
+ )
+ jack? ( media-sound/jack-audio-connection-kit )
+ lcd? ( app-misc/lcdproc )
+ libass? ( >=media-libs/libass-0.9.11:= )
+ lirc? ( app-misc/lirc )
+ perl? (
+ >=dev-perl/libwww-perl-5
+ dev-perl/DBD-mysql
+ dev-perl/HTTP-Message
+ dev-perl/IO-Socket-INET6
+ dev-perl/LWP-Protocol-https
+ dev-perl/Net-UPnP
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ python? (
+ ${PYTHON_DEPS}
+ dev-python/lxml
+ dev-python/mysql-python
+ dev-python/urlgrabber
+ dev-python/future
+ dev-python/requests-cache
+ )
+ systemd? ( sys-apps/systemd:= )
+ vaapi? ( x11-libs/libva:=[opengl] )
+ vdpau? ( x11-libs/libvdpau )
+ vpx? ( media-libs/libvpx:= )
+ x264? ( >=media-libs/x264-0.0.20111220:= )
+ x265? ( media-libs/x265 )
+ xml? ( >=dev-libs/libxml2-2.6.0 )
+ xvid? ( >=media-libs/xvid-1.1.0 )
+ zeroconf? (
+ dev-libs/openssl:0=
+ net-dns/avahi[mdnsresponder-compat]
+ )
+"
+RDEPEND="${COMMON}
+ media-fonts/corefonts
+ media-fonts/dejavu
+ media-fonts/liberation-fonts
+ x11-apps/xinit
+ autostart? (
+ net-dialup/mingetty
+ x11-apps/xset
+ x11-wm/evilwm
+ )
+ dvd? ( media-libs/libdvdcss )
+ xmltv? ( >=media-tv/xmltv-0.5.43 )
+"
+DEPEND="
+ ${COMMON}
+ dev-lang/yasm
+ x11-base/xorg-proto
+"
+
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${P}-respect_LDFLAGS.patch"
+ "${FILESDIR}/${P}-cast_constants_to_short.patch"
+ "${FILESDIR}/${P}-Fix_Dereferencing_type-punned_pointer.patch"
+ "${FILESDIR}/${P}-Fix_unitialized_variables.patch"
+)
+
+# mythtv and mythplugins are separate builds in the github mythtv project
+S="${WORKDIR}/${PF}/mythtv"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Creating mythtv MySQL user and mythconverg database if it does not
+already exist. You will be prompted for your MySQL root password.
+
+Mythtv is updated to use correct FHS/Gentoo policy paths.
+Updating mythtv installations may report:
+ * mythtv is in use, cannot update home
+ * There was an error when attempting to update the home directory for mythtv
+ * Please update it manually on your system (as root):
+ * usermod -d "/var/lib/mythtv" "mythtv"
+This can be ignored. The previous default was "/home/mythtv".
+Use caution if you change the home directory.
+
+To have this machine operate as recording host for MythTV,
+mythbackend must be running. Run the following:
+rc-update add mythbackend default
+
+Your recordings folder must be owned 'mythtv'. e.g.
+chown -R mythtv /var/lib/mythtv
+
+Want mythfrontend to start automatically?
+Set USE=autostart. Details can be found at:
+https://dev.gentoo.org/~cardoe/mythtv/autostart.html
+
+Note that the systemd unit now restarts by default and logs
+to journald via the console at the notice verbosity.
+"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ # The acct-user/mythtv package creates/manages the user 'mythtv'
+}
+
+src_prepare() {
+ default
+
+ # Perl bits need to go into vender_perl and not site_perl
+ sed -e "s:pure_install:pure_install INSTALLDIRS=vendor:" \
+ -i "${S}"/bindings/perl/Makefile || die "Cannot convert site_perl to vendor_perl!"
+
+ # Fix up the version info since we are using the fixes/${PV} branch
+ echo "SOURCE_VERSION=\"v${MY_PV}\"" > "${S}"/VERSION
+ echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/VERSION
+ echo "SOURCE_VERSION=\"${BACKPORTS}\"" > "${S}"/EXPORTED_VERSION
+ echo "BRANCH=\"${MYTHTV_BRANCH}\"" >> "${S}"/EXPORTED_VERSION
+
+ echo "setting.extra -= -ldconfig" >> "${S}"/programs/mythfrontend/mythfrontend.pro
+}
+
+src_configure() {
+ local -a myconf
+
+ # Setup paths
+ myconf+=(--prefix="${EPREFIX}"/usr)
+ myconf+=(--libdir="${EPREFIX}"/usr/$(get_libdir))
+ myconf+=(--libdir-name=$(get_libdir))
+ myconf+=(--mandir="${EPREFIX}"/usr/share/man)
+
+ if use debug; then
+ myconf+=(--compile-type=debug)
+ myconf+=(--disable-stripping) # FIXME: does not disable for all files, only for some
+ myconf+=(--enable-valgrind) # disables timeouts for valgrind memory debugging
+ else
+ myconf+=(--compile-type=release)
+ fi
+
+ # Build boosters
+ has ccache "${FEATURES}" || myconf+=(--disable-ccache)
+ has distcc "${FEATURES}" || myconf+=(--disable-distcc)
+
+ # CPU settings
+ # Mythtv's configure is borrowed from ffmpeg,
+ # Bug #172723
+ # Try to get cpu type based on CFLAGS.
+ # We need to do this so that features of that CPU will be better used
+ # If they contain an unknown CPU it will not hurt since ffmpeg's configure
+ # will just ignore it.
+ for i in $(get-flag march) $(get-flag mcpu) $(get-flag mtune) ; do
+ [ "${i}" = "native" ] && i="host" # bug #273421
+ myconf+=(--cpu="${i}")
+ break
+ done
+ myconf+=($(use_enable altivec))
+
+ # Sound Output Support
+ myconf+=(
+ $(use_enable oss audio-oss)
+ $(use_enable alsa audio-alsa)
+ $(use_enable jack audio-jack)
+ $(use_enable pulseaudio audio-pulseoutput)
+ )
+
+ # Input Support
+ myconf+=(
+ $(use_enable lirc)
+ $(use_enable input_devices_joystick joystick-menu)
+ $(use_enable cec libcec)
+ $(use_enable ieee1394 firewire)
+ $(use_enable hdhomerun)
+ $(use_enable vbox)
+ $(use_enable ceton)
+ $(use_enable v4l v4l2)
+ $(use_enable ivtv)
+ $(use_enable hdpvr)
+ $(use_enable dvb)
+ $(use_enable asi)
+ )
+
+ # Video Output Support
+ myconf+=(
+ $(use_enable X x11)
+ $(use_enable X xnvctrl)
+ $(use_enable X xrandr)
+ $(use_enable X xv)
+ )
+
+ # Hardware accellerators
+ myconf+=(
+ $(use_enable vdpau)
+ $(use_enable crystalhd)
+ $(use_enable vaapi)
+ $(use_enable vaapi vaapi2)
+ $(use_enable opengl opengl-video)
+ $(use_enable opengl opengl-themepainter)
+ $(use_enable libass)
+ )
+
+ # System tools
+ myconf+=(
+ $(use_enable systemd systemd_notify)
+ $(use_enable systemd systemd_journal)
+ $(use_enable xml libxml2)
+ $(use_enable zeroconf libdns-sd)
+ )
+
+ # Bindings
+ if use perl && use python; then
+ myconf+=(--with-bindings=perl,python)
+ elif use perl; then
+ myconf+=(--without-bindings=python)
+ myconf+=(--with-bindings=perl)
+ elif use python; then
+ myconf+=(--without-bindings=perl)
+ myconf+=(--with-bindings=python)
+ else
+ myconf+=(--without-bindings=perl,python)
+ fi
+ use python && myconf+=(--python="${EPYTHON}")
+ myconf+=($(use_enable java bdjava))
+
+ # External codec library options (used for mythffmpeg and streaming transcode)
+ # lame is required for some broadcasts for silence detection of commercials
+ # default enable in IUSE with +lame
+ myconf+=(
+ $(use_enable lame libmp3lame)
+ $(use_enable xvid libxvid)
+ $(use_enable x264 libx264)
+ $(use_enable x265 libx265)
+ $(use_enable vpx libvpx)
+ )
+
+ # Clean up DSO load times and other compiler bits
+ myconf+=(--enable-symbol-visibility)
+ myconf+=(--enable-pic)
+
+ if tc-is-cross-compiler ; then
+ myconf+=(--enable-cross-compile --arch=$(tc-arch-kernel))
+ myconf+=(--cross-prefix="${CHOST}"-)
+ fi
+
+ myconf+=($(use_enable bluray libbluray_external))
+
+ einfo "Running ./configure ${myconf[@]} - THIS MAY TAKE A WHILE."
+ ./configure \
+ --cc="$(tc-getCC)" \
+ --cxx="$(tc-getCXX)" \
+ --ar="$(tc-getAR)" \
+ --extra-cflags="${CFLAGS}" \
+ --extra-cxxflags="${CXXFLAGS}" \
+ --extra-ldflags="${LDFLAGS}" \
+ --qmake=$(qt5_get_bindir)/qmake \
+ "${myconf[@]}"
+}
+
+src_install() {
+ emake STRIP="true" INSTALL_ROOT="${D}" install
+ dodoc AUTHORS UPGRADING README
+ readme.gentoo_create_doc
+
+ insinto /usr/share/mythtv/database
+ doins database/*
+
+ newinitd "${FILESDIR}"/mythbackend.init-r2 mythbackend
+ newconfd "${FILESDIR}"/mythbackend.conf-r1 mythbackend
+ if use systemd; then
+ systemd_newunit "${FILESDIR}"/mythbackend.service-28 mythbackend.service
+ fi
+
+ dodoc keys.txt
+
+ keepdir /etc/mythtv
+ fowners -R mythtv /etc/mythtv
+ keepdir /var/log/mythtv
+ fowners -R mythtv /var/log/mythtv
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/mythtv.logrotate.d-r4 mythtv
+
+ insinto /usr/share/mythtv/contrib
+ # Ensure we don't install scripts needing the perl bindings (bug #516968)
+ use perl || find contrib/ -name '*.pl' -exec rm -f {} \;
+ # Ensure we don't install scripts needing the python bindings (bug #516968)
+ use python || find contrib/ -name '*.py' -exec rm -f {} \;
+ doins -r contrib/*
+
+ # Install our mythfrontend wrapper which is similar to Mythbuntu's
+ if use wrapper; then
+ mv "${ED}/usr/bin/mythfrontend" "${ED}/usr/bin/mythfrontend.real" || die "Failed to install mythfrontend.real"
+ newbin "${FILESDIR}"/mythfrontend.wrapper mythfrontend
+ newconfd "${FILESDIR}"/mythfrontend.conf mythfrontend
+ fi
+
+ if use autostart; then
+ local mythtv_homedir="$( egethome mythtv )"
+
+ echo CONFIG_PROTECT="\"${mythtv_homedir}\"" > "${T}"/95mythtv
+ doenvd "${T}"/95mythtv
+
+ insinto "${mythtv_homedir}"
+ newins "${FILESDIR}"/bash_profile .bash_profile
+ newins "${FILESDIR}"/xinitrc-r1 .xinitrc
+ fi
+
+ # Make Python files executable
+ find "${ED}/usr/share/mythtv" -type f -name '*.py' | while read file; do
+ if [[ ! "${file##*/}" = "__init__.py" ]]; then
+ chmod a+x "${file}" || die "Failed to make python file $(basename ${file}) executable"
+ fi
+ done
+
+ # Ensure that Python scripts are executed by Python 2
+ python_fix_shebang "${ED}/usr/share/mythtv"
+
+ # Make shell & perl scripts executable
+ find "${ED}" -type f -name '*.sh' -o -type f -name '*.pl' | \
+ while read file; do
+ chmod a+x "${file}" || die
+ done
+}
+
+pkg_preinst() {
+ export CONFIG_PROTECT="${CONFIG_PROTECT} ${EROOT}$( egethome mythtv )"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
+
+pkg_info() {
+ return
+}
+
+pkg_config() {
+ "${EROOT}"/usr/bin/mysql -u root -p < "${EROOT}"/usr/share/mythtv/database/mc.sql
+}
diff --git a/media-tv/xmltv/Manifest b/media-tv/xmltv/Manifest
index b2fd2ddfcb22..f92b2a7d1186 100644
--- a/media-tv/xmltv/Manifest
+++ b/media-tv/xmltv/Manifest
@@ -1,3 +1,3 @@
DIST xmltv-0.5.70.tar.bz2 1274164 BLAKE2B 4a6cbf6bc2f8f113a91fc579afbfc69fc04aec020d386182f6fd78f9f8c18821d0dc09077cccb1ad30e6f0583f958210fbf717d356f1e47dcf785e5a85864dc4 SHA512 36dd497dc20d296ca984ad0a1ca19f471c97cac7bfe7c5d4baeaae7faea565c36103bea10e7a7ae813c1cfc35c7ac376299edd2bf01c4c5da981cb5cca13317c
-EBUILD xmltv-0.5.70.ebuild 5268 BLAKE2B f08901b76bca3199e163e3c68493271b7969e65e1b238205255c7646093738a7c873ee251ff0d8d09e622e242899ce72a793b22e94e5e91f990aa209c3ad435d SHA512 d3ef25035c6b4bf8323578c089bcd7abaaad6138470e15afb82c9423ff3272e706b78b6381ad7e18795c6f7c4b59654ac1d8ec33229554ae8cd0980ed4f29661
-MISC metadata.xml 2086 BLAKE2B 95ac2c882571d789911d751d7e1770e1aeca175a3fba6387ca432189a31369b245c6a92dbfeaf995a5c21387b99238d2eae6517fc965f40afc77439edf6e737c SHA512 c6ab124a269b53533ac9c3e1f9bd7edfce41a6ccdc46666b24389d390297c01d734579f629f35ca836f80a7976beafe02192a6ec02ee92a01702b77161744402
+EBUILD xmltv-0.5.70.ebuild 5268 BLAKE2B 46bed06ca83a46fbd2833eadfc549411578b390258fbeb1a10438e6de47cc7a2475c996c23aa9ffea7a04ea48948067546024bc52a183bc91ad0e2383cde85b6 SHA512 c0a326722ffe4b180a5c81627556a80213fbf3c8da80083145089f464c10983fe8f22db0e6f2632f2284b1763e1a05dbdfec07acbe137b559ea7d593dd0a657e
+MISC metadata.xml 2086 BLAKE2B fa818d29c7e94a4e7a7cf7c3ea14dfcb9276ba3f904f942ac4bdcf862dfbf9f079c848ba5079bf5b2aeaf45a16601ca4aaa13a3cab92b9c93989b64fe0c8d54b SHA512 4b8631c51d9f9bf42ca77abcef7a9ef78b0794f2d893f722b50c37efd415a953e3310d270536407bf61708f9a699d7ad02ac0377971b2faabcd23d5b7d0d958d
diff --git a/media-tv/xmltv/metadata.xml b/media-tv/xmltv/metadata.xml
index 8dd395986c76..c1cc93bee800 100644
--- a/media-tv/xmltv/metadata.xml
+++ b/media-tv/xmltv/metadata.xml
@@ -4,35 +4,35 @@
<!-- maintainer-needed -->
<use>
<flag name="ar">Argentina tv listing grabber</flag>
- <flag name="ch_search">Grabber for Switzerland</flag>
+ <flag name="ch-search">Grabber for Switzerland</flag>
<flag name="dk">Denmark tv listing grabber</flag>
<flag name="dtvla">Latin America digital tv listing grabber</flag>
- <flag name="es_laguiatv">Spain alternative grabber</flag>
- <flag name="eu_dotmedia">Grabber for Europe (xmltv.se / dotmedia)</flag>
- <flag name="eu_epg">EPG grabber for some European countries.</flag>
+ <flag name="es-laguiatv">Spain alternative grabber</flag>
+ <flag name="eu-dotmedia">Grabber for Europe (xmltv.se / dotmedia)</flag>
+ <flag name="eu-epg">EPG grabber for some European countries.</flag>
<flag name="fi">Finland tv listing grabber</flag>
- <flag name="fi_sv">Grabber for Finland (Swedish)</flag>
+ <flag name="fi-sv">Grabber for Finland (Swedish)</flag>
<flag name="fr">France tv listing grabber</flag>
- <flag name="fr_kazer">France (Kazer) tv listing grabber</flag>
+ <flag name="fr-kazer">France (Kazer) tv listing grabber</flag>
<flag name="huro">Hungarian tv listing grabber</flag>
<flag name="il">Israel tv listing grabber</flag>
<flag name="is">Iceland tv listing grabber</flag>
<flag name="it">Italy tv listing grabber</flag>
- <flag name="na_dd">North America tv listing grabber</flag>
- <flag name="na_dtv">North America Direct TV grabber</flag>
- <flag name="na_tvmedia">Grabber for North America (TVMedia)</flag>
+ <flag name="na-dd">North America tv listing grabber</flag>
+ <flag name="na-dtv">North America Direct TV grabber</flag>
+ <flag name="na-tvmedia">Grabber for North America (TVMedia)</flag>
<flag name="nl">Netherlands tv listing grabber</flag>
- <flag name="no_gf">Norway Gfeed tv listing grabber</flag>
- <flag name="pt_meo">Grabber for Portugal (MEO)</flag>
- <flag name="se_swedb">Sweden tv listing grabber</flag>
- <flag name="se_tvzon">Sweden (tvzon.se) tv listing grabber</flag>
+ <flag name="no-gf">Norway Gfeed tv listing grabber</flag>
+ <flag name="pt-meo">Grabber for Portugal (MEO)</flag>
+ <flag name="se-swedb">Sweden tv listing grabber</flag>
+ <flag name="se-tvzon">Sweden (tvzon.se) tv listing grabber</flag>
<flag name="tr">Turkey (Digiturk) tv listing grabber</flag>
- <flag name="tv_check">enable GUI checking</flag>
- <flag name="tv_combiner">enable grabbers combiner</flag>
- <flag name="tv_pick_cgi">enable CGI support</flag>
- <flag name="uk_bleb">Britain tv listing grabber</flag>
- <flag name="uk_tvguide">UK and Ireland tv listing grabber using TV Guide website</flag>
- <flag name="zz_sdjson">Grabber for schedulesDirect.org SD-JSON service (many countries)</flag>
+ <flag name="tv-check">enable GUI checking</flag>
+ <flag name="tv-combiner">enable grabbers combiner</flag>
+ <flag name="tv-pick-cgi">enable CGI support</flag>
+ <flag name="uk-bleb">Britain tv listing grabber</flag>
+ <flag name="uk-tvguide">UK and Ireland tv listing grabber using TV Guide website</flag>
+ <flag name="zz-sdjson">Grabber for schedulesDirect.org SD-JSON service (many countries)</flag>
</use>
<upstream>
<remote-id type="sourceforge">xmltv</remote-id>
diff --git a/media-tv/xmltv/xmltv-0.5.70.ebuild b/media-tv/xmltv/xmltv-0.5.70.ebuild
index 7fc96583801c..091804e0e7b9 100644
--- a/media-tv/xmltv/xmltv-0.5.70.ebuild
+++ b/media-tv/xmltv/xmltv-0.5.70.ebuild
@@ -13,9 +13,9 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~ppc x86 ~x86-linux"
-IUSE="ar ch_search dk dtvla es_laguiatv eu_dotmedia eu_epg fi fi_sv
-fr fr_kazer huro il is it na_dd na_dtv na_tvmedia nl no_gf pt_meo se_swedb
-se_tvzon tr uk_bleb uk_tvguide tv_check tv_combiner tv_pick_cgi zz_sdjson"
+IUSE="ar ch-search dk dtvla es-laguiatv eu-dotmedia eu-epg fi fi-sv
+fr fr-kazer huro il is it na-dd na-dtv na-tvmedia nl no-gf pt-meo se-swedb
+se-tvzon tr uk-bleb uk-tvguide tv-check tv-combiner tv-pick-cgi zz-sdjson"
RDEPEND=">=dev-perl/libwww-perl-5.65
>=dev-perl/XML-Parser-2.34
@@ -36,30 +36,30 @@ RDEPEND=">=dev-perl/libwww-perl-5.65
"
DEPEND="${RDEPEND}
ar? ( dev-perl/HTML-Tree >=dev-perl/HTML-Parser-3.34 dev-perl/HTTP-Cookies dev-perl/TimeDate )
- ch_search? ( dev-perl/HTML-Tree >=dev-perl/HTML-Parser-3.34 )
+ ch-search? ( dev-perl/HTML-Tree >=dev-perl/HTML-Parser-3.34 )
dk? ( dev-perl/JSON dev-perl/IO-stringy dev-perl/DateTime )
dtvla? ( dev-perl/HTML-Tree dev-perl/HTTP-Cookies dev-perl/TimeDate )
- es_laguiatv? ( dev-perl/HTML-Tree )
- eu_dotmedia? ( dev-perl/XML-LibXML dev-perl/IO-stringy dev-perl/HTTP-Cache-Transparent )
- eu_epg? ( dev-perl/Archive-Zip dev-perl/DateTime-Format-Strptime >=dev-perl/HTML-Parser-3.34 dev-perl/IO-stringy )
+ es-laguiatv? ( dev-perl/HTML-Tree )
+ eu-dotmedia? ( dev-perl/XML-LibXML dev-perl/IO-stringy dev-perl/HTTP-Cache-Transparent )
+ eu-epg? ( dev-perl/Archive-Zip dev-perl/DateTime-Format-Strptime >=dev-perl/HTML-Parser-3.34 dev-perl/IO-stringy )
fi? ( dev-perl/HTML-Tree )
- fi_sv? ( dev-perl/IO-stringy dev-perl/HTML-Tree dev-perl/DateTime )
+ fi-sv? ( dev-perl/IO-stringy dev-perl/HTML-Tree dev-perl/DateTime )
fr? ( dev-perl/DateTime-TimeZone dev-perl/HTML-Tree dev-perl/DateTime >=dev-perl/HTML-Parser-3.34 )
huro? ( dev-perl/HTML-Tree )
is? ( dev-perl/XML-DOM dev-perl/XML-LibXSLT )
- na_dd? ( dev-perl/SOAP-Lite )
- na_dtv? ( >=dev-perl/HTML-Parser-3.34 dev-perl/DateTime dev-perl/HTTP-Cookies )
- na_tvmedia? ( dev-perl/XML-LibXML )
+ na-dd? ( dev-perl/SOAP-Lite )
+ na-dtv? ( >=dev-perl/HTML-Parser-3.34 dev-perl/DateTime dev-perl/HTTP-Cookies )
+ na-tvmedia? ( dev-perl/XML-LibXML )
nl? ( dev-perl/HTTP-Cache-Transparent dev-perl/HTML-Tree dev-perl/DateTime >=dev-perl/HTML-Parser-3.34 dev-perl/TimeDate )
- pt_meo? ( dev-perl/XML-LibXML dev-perl/DateTime )
- se_swedb? ( dev-perl/XML-LibXML dev-perl/IO-stringy dev-perl/HTTP-Cache-Transparent )
- se_tvzon? ( dev-perl/XML-LibXML dev-perl/IO-stringy dev-perl/HTTP-Cache-Transparent )
+ pt-meo? ( dev-perl/XML-LibXML dev-perl/DateTime )
+ se-swedb? ( dev-perl/XML-LibXML dev-perl/IO-stringy dev-perl/HTTP-Cache-Transparent )
+ se-tvzon? ( dev-perl/XML-LibXML dev-perl/IO-stringy dev-perl/HTTP-Cache-Transparent )
tr? ( dev-perl/URI dev-perl/HTTP-Cache-Transparent dev-perl/DateTime dev-perl/HTTP-Cookies dev-perl/TimeDate )
- uk_bleb? ( dev-perl/IO-stringy dev-perl/Archive-Zip )
- uk_tvguide? ( dev-perl/HTML-Tree dev-perl/URI dev-perl/HTTP-Cache-Transparent dev-perl/DateTime dev-perl/TimeDate )
- zz_sdjson? ( dev-perl/DateTime-Format-ISO8601 virtual/perl-Digest-SHA dev-perl/JSON dev-perl/List-MoreUtils dev-perl/libwww-perl virtual/perl-Storable dev-perl/Try-Tiny )
- tv_check? ( dev-perl/Tk dev-perl/Tk-TableMatrix )
- tv_combiner? ( dev-perl/XML-LibXML )
+ uk-bleb? ( dev-perl/IO-stringy dev-perl/Archive-Zip )
+ uk-tvguide? ( dev-perl/HTML-Tree dev-perl/URI dev-perl/HTTP-Cache-Transparent dev-perl/DateTime dev-perl/TimeDate )
+ zz-sdjson? ( dev-perl/DateTime-Format-ISO8601 virtual/perl-Digest-SHA dev-perl/JSON dev-perl/List-MoreUtils dev-perl/libwww-perl virtual/perl-Storable dev-perl/Try-Tiny )
+ tv-check? ( dev-perl/Tk dev-perl/Tk-TableMatrix )
+ tv-combiner? ( dev-perl/XML-LibXML )
"
PREFIX="/usr"
@@ -88,25 +88,25 @@ src_configure() {
# Enable Agentina
usex ar
# Enable Switzerland Search
- usex ch_search
+ usex ch-search
# Enable Denmark
usex dk
# Enable Latin America
usex dtvla
# Enable Spain
- usex es_laguiatv
+ usex es-laguiatv
# Enable EU xmltv.se
- usex eu_dotmedia
+ usex eu-dotmedia
# Enable EU epgdata.com
- usex eu_epg
+ usex eu-epg
# Enable Finland
usex fi
# Enable Swedish listings in Finland
- usex fi_sv
+ usex fi-sv
# Enable France
usex fr
# Enable France EPG from kazer.org
- usex fr_kazer
+ usex fr-kazer
# Enable Hungary and Romania
usex huro
# Enable Israel
@@ -118,35 +118,35 @@ src_configure() {
# Enable Italy from DVB-S stream
echo "no" # missing Linux::DVB
# Enable North America using DataDirect
- usex na_dd
+ usex na-dd
# Enable North America from directv.com
- usex na_dtv
+ usex na-dtv
# Enable North America XMLTVListings.com
- usex na_tvmedia
+ usex na-tvmedia
# Enable Netherlands
usex nl
# Enable Portugal EPG from sappo.pt
- usex pt_meo
+ usex pt-meo
# Enable Sweden
- usex se_swedb
+ usex se-swedb
# Enable Sweeden Alternative
- usex se_tvzon
+ usex se-tvzon
# Enable Turkey
usex tr
# Enable UK fast alternative grabber
- usex uk_bleb
+ usex uk-bleb
# Enable UK/Ireland TV Guide
- usex uk_tvguide
+ usex uk-tvguide
# Enable Schedules Direct JSON
- usex zz_sdjson
+ usex zz-sdjson
# Enable Schedules Direct JSON (SQLite version)
echo "no" # TODO
# Enable GUI checking.
- usex tv_check
+ usex tv-check
# Enable combiner
- usex tv_combiner
+ usex tv-combiner
# Enable CGI support
- usex tv_pick_cgi
+ usex tv-pick-cgi
}
pm_echovar=`make_config`
@@ -169,13 +169,13 @@ src_install() {
sed -e "s:${D}::g" -i "${i}" || die
done
- if use tv_pick_cgi; then
+ if use tv-pick-cgi; then
dobin choose/tv_pick/tv_pick_cgi
fi
}
pkg_postinst() {
- if use tv_pick_cgi; then
+ if use tv-pick-cgi; then
elog "To use tv_pick_cgi, please link it from /usr/bin/tv_pick_cgi"
elog "to where the ScriptAlias directive is configured."
fi