From 88433aaa0fd404bc41b13a1cecc3d04c916571ec Mon Sep 17 00:00:00 2001 From: David Guglielmi Date: Sat, 12 Dec 2015 14:40:26 +0100 Subject: [PATCH] - media-sound/mixxx: fix segfault when USE=-shoutcast --- media-sound/mixxx/Manifest | 3 +- ...rc1-prevent-null-networkstreamworker.patch | 54 +++++++++++++++++++ media-sound/mixxx/mixxx-2.0.0_rc1.ebuild | 5 +- 3 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 media-sound/mixxx/files/mixxx-2.0.0_rc1-prevent-null-networkstreamworker.patch diff --git a/media-sound/mixxx/Manifest b/media-sound/mixxx/Manifest index ef0da50..8ea6eab 100644 --- a/media-sound/mixxx/Manifest +++ b/media-sound/mixxx/Manifest @@ -3,9 +3,10 @@ AUX mixxx-1.12.0_beta1-use-cpp-built-in-types.patch 944 SHA256 69e1e1af26f0893ea AUX mixxx-1.12.9999-docs.patch 445 SHA256 9250ab6b2368ad03b8c54d767fda1d23cd826340189cf8989a3156b76b375411 SHA512 cad756af2cfc90433b20d0a867aed9b85ee822691c5c8adc97de6943273823a769d8e6d4912a71f00bbead2cd96cff91cc12fb2fb8de547bf76dabd74372490e WHIRLPOOL 91b48e4577ff127065bbcae34d945613029850b43831209cc1b1f9c2d1da7fc3c02c9fa96dd958fe85f934749bcbace1b2c6c3c358306dc6d6ea91935337a327 AUX mixxx-1.12.9999-system-libs.patch 5879 SHA256 daca3a3662ecf4fedffdc610199d36f5ca24ba22cd1f7d82dd264b9762081a5b SHA512 44e71b5e02a32fa2f533dc07d4d320d18fe112e7e1342db594e49080ec987ae389b696f5f7ed17cb3b101789916936367b88a6aa0fd755b8d0e7028741c46bc2 WHIRLPOOL f810b7254de4421eebc28c12e7255d3b05f95e93758d51c8bd992fd9d4152537448eebaeaf7703f15d032e139276503ccae360a49c8766395988b67729b345d1 AUX mixxx-2.0.0_rc1-docs.patch 445 SHA256 9250ab6b2368ad03b8c54d767fda1d23cd826340189cf8989a3156b76b375411 SHA512 cad756af2cfc90433b20d0a867aed9b85ee822691c5c8adc97de6943273823a769d8e6d4912a71f00bbead2cd96cff91cc12fb2fb8de547bf76dabd74372490e WHIRLPOOL 91b48e4577ff127065bbcae34d945613029850b43831209cc1b1f9c2d1da7fc3c02c9fa96dd958fe85f934749bcbace1b2c6c3c358306dc6d6ea91935337a327 +AUX mixxx-2.0.0_rc1-prevent-null-networkstreamworker.patch 1958 SHA256 5255b05521e7337586aafa9c20401d7a244f488f2e239dc757afc9e2f2ce9801 SHA512 f9dfba6e2ab6ad475d4ad195be01e60a960ebeb7bf3c4b3e9a90377cfa5dc683182b6d9ba72e8f657eb3e0d5fc26270ca9b391ded770e43b63ae54dda5f8f775 WHIRLPOOL ded9bea39c21fdaeda3c5eb367c1186697e6dbe6eba7c582964b76c76e175f132712d1a8b03505394593b4b8b4674eec59047c07219e64ce7b6567d5bd2c3956 AUX mixxx-2.0.0_rc1-system-libs.patch 5879 SHA256 daca3a3662ecf4fedffdc610199d36f5ca24ba22cd1f7d82dd264b9762081a5b SHA512 44e71b5e02a32fa2f533dc07d4d320d18fe112e7e1342db594e49080ec987ae389b696f5f7ed17cb3b101789916936367b88a6aa0fd755b8d0e7028741c46bc2 WHIRLPOOL f810b7254de4421eebc28c12e7255d3b05f95e93758d51c8bd992fd9d4152537448eebaeaf7703f15d032e139276503ccae360a49c8766395988b67729b345d1 DIST mixxx-1.12.0_beta1.tar.gz 24780154 SHA256 1204b04044b090b297c2863118dde4f2962d557f9bf606b1069efe824e18616f SHA512 1fe6ca8c876b2a33c3e0a329ddf53856e037f2e8e6574dae86c46a364cf604f124d0f8e2f5abd150307c4baeeeb7cf9c516d681989d2f7cf54c421ce7ddb76bb WHIRLPOOL e4e970e301509d36d555d07b317828f81734509f739bebeac174007048a800910eecd546c8e1beacb2baec7a96220a35012abdde4703b7c67e497843d915bb53 DIST mixxx-2.0.0_rc1.tar.gz 25148494 SHA256 00d8de512e21ea1787676392df935e698eba5c21599703eb6ff16a5ef9527352 SHA512 dc46a0a27d48ca0f4319590dcacffd548051f8f9619b6e775b09efff7ef5795cfae62d83ae9daecede11c197640617f41f5f5fce2c997c33048f9e59ac4a58a9 WHIRLPOOL c258e753ef212f4b78618f39abc6fcce6e9e181359f6a0156a476eea6b857f1220ede1a99b7dda6f3b4865c35420f083e6742fdfc52a9cf31efd222ab8afd437 EBUILD mixxx-1.12.0_beta1.ebuild 2967 SHA256 f3f6f0ace4be8d81bc845a0f6b14863b87f6ea646591e9074603c955d8d696cd SHA512 dba6f02ea2f9e314e1a323a3130448daddd0301f1387691b737a5cdc2363d50b5471360a5e2982e9ace2c8f237ecfa793c46405c6998edb1618afe38deb5602a WHIRLPOOL 1d2468c49cccc84b03c705672a33dcf5ff33fe5755908ca99a6a2eaf534c39550cdad50cfcb9cfe93dbb2fe9ebdc2e108baa39dd1b2498d366024ba810d661e0 EBUILD mixxx-1.12.9999.ebuild 2679 SHA256 cbc078e3536fb0a3b1ce02fa478b99aaafb2ffd666c8cbe38ff99333fdd4f7fc SHA512 485cfde679e9501a2f7a1467bf76ed9c1ba408fdc40e6ec8f55517f41ae7d970255a25954b5a992c7eb3b5fab8b1a69d195cead73726190b104618d8cc7d6202 WHIRLPOOL 4ea86a7690d5cb0ec9334f51d05cea0bf317e0f7e1589fc2ea348d2ba8b49682820024328db3031372d075cc5eb15de0b2f4e7b6835cbba876ed78a30a6a2e44 -EBUILD mixxx-2.0.0_rc1.ebuild 2744 SHA256 f158ed3cda4fbf3839147f0cadcdbcd67e6235444064925d9b2b452dbba5a66b SHA512 4c9423af1637db1109577ef790f76cf70083c045e7976e0a00f1358128c5965d74abc0248d4149f2510feb5e877953ea2ed95d0d6511f4c76a17e47c90806f00 WHIRLPOOL cd71f1f202c71edba3cbd35da2a9be27d3280408fc6559f1652e8cc867429e86721da3bd3075fe6ee9ce49186b9db7f6dadadf0ab6b38123e3664aa36e1d083e +EBUILD mixxx-2.0.0_rc1.ebuild 2788 SHA256 d4f403ac78289ce25e8dbbedf5de355134361fd83075ee19ac7e99a7d7d78c59 SHA512 5e6ff81c6e3b6971c9d8e739a7cc455ef547a9aa69d183e08ba165b7d9a0c213d71c16a2f378b316267f964f78d6865e1a2e113e876b1f2ff4ce8416c304664d WHIRLPOOL 1b91f783ae32f0cf5bad32f15f42bed349de738e6f95cb201aede4baa4c8d363c721c2610b3f5dfa1c393f5f316402f3f37504d679a2b30c60f240e763f1a92c diff --git a/media-sound/mixxx/files/mixxx-2.0.0_rc1-prevent-null-networkstreamworker.patch b/media-sound/mixxx/files/mixxx-2.0.0_rc1-prevent-null-networkstreamworker.patch new file mode 100644 index 0000000..765340f --- /dev/null +++ b/media-sound/mixxx/files/mixxx-2.0.0_rc1-prevent-null-networkstreamworker.patch @@ -0,0 +1,54 @@ +From 6aeea5f8ec42c6d99cd5610d24673978c5e80a28 Mon Sep 17 00:00:00 2001 +From: RJ Ryan +Date: Sat, 5 Dec 2015 17:32:06 -0800 +Subject: [PATCH] Add protection against null NetworkStreamWorker in + EngineNetworkStream. Fixes segfault on startup when built with broadcasting + disabled. + +--- + src/engine/sidechain/enginenetworkstream.cpp | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/src/engine/sidechain/enginenetworkstream.cpp b/src/engine/sidechain/enginenetworkstream.cpp +index 1b5b11e..88734b4 100644 +--- a/src/engine/sidechain/enginenetworkstream.cpp ++++ b/src/engine/sidechain/enginenetworkstream.cpp +@@ -92,6 +92,9 @@ int EngineNetworkStream::getReadExpected() { + } + + void EngineNetworkStream::write(const CSAMPLE* buffer, int frames) { ++ if (m_pWorker.isNull()) { ++ return; ++ } + + //qDebug() << "EngineNetworkStream::write()" << frames; + if (!m_pWorker->threadWaiting()) { +@@ -119,6 +122,9 @@ void EngineNetworkStream::write(const CSAMPLE* buffer, int frames) { + } + + void EngineNetworkStream::writeSilence(int frames) { ++ if (m_pWorker.isNull()) { ++ return; ++ } + //qDebug() << "EngineNetworkStream::writeSilence()" << frames; + if (!m_pWorker->threadWaiting()) { + // no thread waiting, so we can advance the stream without +@@ -152,6 +158,9 @@ void EngineNetworkStream::writeSilence(int frames) { + } + + void EngineNetworkStream::scheduleWorker() { ++ if (m_pWorker.isNull()) { ++ return; ++ } + if (m_pOutputFifo->readAvailable() + >= m_numOutputChannels * kNetworkLatencyFrames) { + m_pWorker->outputAvailable(); +@@ -237,5 +246,7 @@ qint64 EngineNetworkStream::getNetworkTimeUs() { + + void EngineNetworkStream::addWorker(QSharedPointer pWorker) { + m_pWorker = pWorker; +- m_pWorker->setOutputFifo(m_pOutputFifo); ++ if (m_pWorker) { ++ m_pWorker->setOutputFifo(m_pOutputFifo); ++ } + } diff --git a/media-sound/mixxx/mixxx-2.0.0_rc1.ebuild b/media-sound/mixxx/mixxx-2.0.0_rc1.ebuild index 869b382..6e8f1cc 100644 --- a/media-sound/mixxx/mixxx-2.0.0_rc1.ebuild +++ b/media-sound/mixxx/mixxx-2.0.0_rc1.ebuild @@ -72,8 +72,9 @@ DEPEND="${RDEPEND} S="${WORKDIR}/${PN}-release-${PV/_/-}" src_prepare() { - epatch "${FILESDIR}"/${PN}-2.0.0_rc1-system-libs.patch - epatch "${FILESDIR}"/${PN}-2.0.0_rc1-docs.patch + epatch "${FILESDIR}"/${P}-system-libs.patch + epatch "${FILESDIR}"/${P}-docs.patch + epatch "${FILESDIR}"/${P}-prevent-null-networkstreamworker.patch # use multilib compatible directory for plugins sed -i -e "/unix_lib_path =/s/'lib'/'$(get_libdir)'/" src/SConscript || die