1 |
commit: 6050e61b3963b7e7e084ba5e7d1622d939488169 |
2 |
Author: Gerion Entrup <gerion.entrup <AT> flump <DOT> de> |
3 |
AuthorDate: Thu Sep 6 12:50:40 2018 +0000 |
4 |
Commit: gerion <gerion.entrup <AT> flump <DOT> de> |
5 |
CommitDate: Thu Sep 6 12:50:40 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/user/gerislay.git/commit/?id=6050e61b |
7 |
|
8 |
media-sound/mumble: drop, jack is supported upstream now |
9 |
|
10 |
media-sound/mumble/Manifest | 6 - |
11 |
.../files/mumble-1.2.4-speech-dispatcher.patch | 49 --- |
12 |
media-sound/mumble/files/mumble-1.2.8-gcc49.patch | 26 -- |
13 |
media-sound/mumble/files/mumble-jack-support.patch | 455 --------------------- |
14 |
media-sound/mumble/metadata.xml | 18 - |
15 |
media-sound/mumble/mumble-1.2.19-r1.ebuild | 129 ------ |
16 |
6 files changed, 683 deletions(-) |
17 |
|
18 |
diff --git a/media-sound/mumble/Manifest b/media-sound/mumble/Manifest |
19 |
deleted file mode 100644 |
20 |
index 12fa58a..0000000 |
21 |
--- a/media-sound/mumble/Manifest |
22 |
+++ /dev/null |
23 |
@@ -1,6 +0,0 @@ |
24 |
-AUX mumble-1.2.4-speech-dispatcher.patch 1289 SHA256 d9443303de024e2efb4c0969121f46b2ebbc45351ab5ab52181ac291aa7a4265 SHA512 32b83ba846fbda3529c222df2cf6fa0f615dabdd7e211051119fb9ed53bdc3e8e11aaa1b132bbdfcedffd72b1e19666aaf083799f7ebbbf60f536a9f9a0c6a2a WHIRLPOOL a1696342523dca02ea2c136239e9dbcc6066d4de7cbf195b4a288459b2886e93abb893ff85fad11e4afd21702ad8775002e9487a5068c315fa0b2a0269a07ee5 |
25 |
-AUX mumble-1.2.8-gcc49.patch 722 SHA256 c2aeeb7bfd1b2e2da1a4859f36a078fc89ae29012793ce8a121cf333f420cc88 SHA512 ede8f591291dab6877cd1bbb5fe6b56991df297ae56b2ca1b537abb2b03e15fc273ca26a143a8049c4f7eaba8beab92b23293d1241e015c19b5d03ebc451ec03 WHIRLPOOL 102db5d413d6b031ffe79f3f83fd449c944e64af101fa145efff83cd9501a0e9a82439c08c09c845f1a4657c0543a06c8840dc68f026368ef10d37c44e0ec378 |
26 |
-AUX mumble-jack-support.patch 16257 SHA256 86119fa9e9bbdf3da9aa44c0c99cb2a899d53f07a9e0b27080e24c67402bc143 SHA512 451084ff79b4b19f4895ea357e0da8db65405dd90a6965d7c4d12539b86dd2032de054482a0602a130cc1aa8b7b14b9d78cb466ec2696d085dfbc1a0daa5c825 WHIRLPOOL 127b344667a0ddafc3e234306527cbc6ca7161653f8c380190a0fb68a0fce19ce9303ad77da3442d9e32842dcf6199fc16caae982039a388373f892ec3569609 |
27 |
-DIST mumble-1.2.19.tar.gz 3210865 SHA256 f047fb707ad93948b0bc913ec0a89cd5480d87e840c4ff2519608fc8a2dac0e8 SHA512 f91111194a899149b500a94afcf7cc5b9691c7ce8669f07fca2c66adbb3916ddb863bf703d04fb8387133fb75f3c8edb52974d1acf3febfafa1f73da19946de4 WHIRLPOOL 6cf6ab5768946dea78d96dbc7bab0875ecfdee5fb7282f3752a8573f95fabc50c0c38712f79920883b3593ec0be62895c62045ee45b44cb4327a719a98a15990 |
28 |
-EBUILD mumble-1.2.19-r1.ebuild 3211 SHA256 fcc2751b7de2498b2853fc8e2dcb56831da9a2d618cda92319788400c4a3dc59 SHA512 f309f3fdc8e67ef2f5547f8571ffee0d69ad0dae287b2afac02b6c35fbf0cde463aba534e5c73bd8eb7c089ac68240c0e2d78f8e99f34a27ee27f9f2ed208943 WHIRLPOOL e8677dcf45ae80adb1ba5850dee1c21e6246e02c58839fb3130e33ad3974f0d7cd4b0247efc7c5097aa0a9e8e1483862dc6ed859b9313c9cefd9872b62f8f8f4 |
29 |
-MISC metadata.xml 666 SHA256 6f982f7d4c44637364d2cd80417499b06c40a3f4ef2dd54ed3dcbe97ee04c084 SHA512 c9cd557297af63d195a20c1b913758ea6c4433373f55561b1dc06fc3053a949495e2a19542b43affb0c799e4ff9747410cd0a260568e9365a529aa6943910fb9 WHIRLPOOL 6471d3abcfacfca331f84bbbd423dd6eaa70ed1c41229001d96766176aec79da6aaaf07ff25c63e4264f92b2c022dc9c34c349ab29232eb5ff9457e315afdd8e |
30 |
|
31 |
diff --git a/media-sound/mumble/files/mumble-1.2.4-speech-dispatcher.patch b/media-sound/mumble/files/mumble-1.2.4-speech-dispatcher.patch |
32 |
deleted file mode 100644 |
33 |
index 3a2c216..0000000 |
34 |
--- a/media-sound/mumble/files/mumble-1.2.4-speech-dispatcher.patch |
35 |
+++ /dev/null |
36 |
@@ -1,49 +0,0 @@ |
37 |
-From 22d18212acec9e97231a13a6dc02a0c451df9b89 Mon Sep 17 00:00:00 2001 |
38 |
-From: Mikkel Krautz <mikkel@××××××.dk> |
39 |
-Date: Thu, 6 Jun 2013 22:17:31 +0200 |
40 |
-Subject: [PATCH] mumble.pro: add speech-dispatcher 0.8 compatibiltiy. |
41 |
- |
42 |
-Based on initial patch by Timo Gurr <timo.gurr@×××××.com> |
43 |
---- |
44 |
- src/mumble/TextToSpeech_unix.cpp | 6 +++++- |
45 |
- src/mumble/mumble.pro | 7 ++++++- |
46 |
- 2 files changed, 11 insertions(+), 2 deletions(-) |
47 |
- |
48 |
-diff --git a/src/mumble/TextToSpeech_unix.cpp b/src/mumble/TextToSpeech_unix.cpp |
49 |
-index d0fbb82..6443c07 100644 |
50 |
---- a/src/mumble/TextToSpeech_unix.cpp |
51 |
-+++ b/src/mumble/TextToSpeech_unix.cpp |
52 |
-@@ -33,7 +33,11 @@ |
53 |
- #include "TextToSpeech.h" |
54 |
- |
55 |
- #ifdef USE_SPEECHD |
56 |
--#include <libspeechd.h> |
57 |
-+# ifdef USE_SPEECHD_PKGCONFIG |
58 |
-+# include <speech-dispatcher/libspeechd.h> |
59 |
-+# else |
60 |
-+# include <libspeechd.h> |
61 |
-+# endif |
62 |
- #endif |
63 |
- |
64 |
- #include "Global.h" |
65 |
-diff --git a/src/mumble/mumble.pro b/src/mumble/mumble.pro |
66 |
-index 04f5a36..ff3c02f 100644 |
67 |
---- a/src/mumble/mumble.pro |
68 |
-+++ b/src/mumble/mumble.pro |
69 |
-@@ -279,7 +279,12 @@ dbus { |
70 |
- |
71 |
- speechd { |
72 |
- DEFINES *= USE_SPEECHD |
73 |
-- LIBS *= -lspeechd |
74 |
-+ system(pkg-config --atleast-version=0.8 speech-dispatcher) { |
75 |
-+ DEFINES *= USE_SPEECHD_PKGCONFIG |
76 |
-+ PKGCONFIG *= speech-dispatcher |
77 |
-+ } else { |
78 |
-+ LIBS *= -lspeechd |
79 |
-+ } |
80 |
- } |
81 |
- |
82 |
- directsound { |
83 |
--- |
84 |
-1.8.1.6 |
85 |
- |
86 |
|
87 |
diff --git a/media-sound/mumble/files/mumble-1.2.8-gcc49.patch b/media-sound/mumble/files/mumble-1.2.8-gcc49.patch |
88 |
deleted file mode 100644 |
89 |
index cecb3d3..0000000 |
90 |
--- a/media-sound/mumble/files/mumble-1.2.8-gcc49.patch |
91 |
+++ /dev/null |
92 |
@@ -1,26 +0,0 @@ |
93 |
-https://bugs.gentoo.org/532180 |
94 |
- |
95 |
-Avoid "jump to label crosses initialization" error. |
96 |
- |
97 |
- Move variable "buffer" into the while loop to avoid a compile error |
98 |
- with g++ 4.9.0. |
99 |
- |
100 |
- Although earlier compiler versions did accept the code, jumping into the |
101 |
- scope of an variable length array is not allowed: |
102 |
- http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Variable-Length.html |
103 |
- |
104 |
- |
105 |
---- a/src/mumble/OSS.cpp |
106 |
-+++ b/src/mumble/OSS.cpp |
107 |
-@@ -243,9 +243,9 @@ void OSSInput::run() { |
108 |
- eMicFormat = SampleShort; |
109 |
- initializeMixer(); |
110 |
- |
111 |
-- short buffer[iMicLength]; |
112 |
-- |
113 |
- while (bRunning) { |
114 |
-+ short buffer[iMicLength]; |
115 |
-+ |
116 |
- int len = static_cast<int>(iMicLength * iMicChannels * sizeof(short)); |
117 |
- ssize_t l = read(fd, buffer, len); |
118 |
- if (l != len) { |
119 |
|
120 |
diff --git a/media-sound/mumble/files/mumble-jack-support.patch b/media-sound/mumble/files/mumble-jack-support.patch |
121 |
deleted file mode 100644 |
122 |
index 840d924..0000000 |
123 |
--- a/media-sound/mumble/files/mumble-jack-support.patch |
124 |
+++ /dev/null |
125 |
@@ -1,455 +0,0 @@ |
126 |
-diff -U 3 -H -d -r -N -- mumble-1.2.2.orig/src/mumble/JackAudio.cpp mumble-1.2.2/src/mumble/JackAudio.cpp |
127 |
---- mumble-1.2.2.orig/src/mumble/JackAudio.cpp 1970-01-01 01:00:00.000000000 +0100 |
128 |
-+++ mumble-1.2.2/src/mumble/JackAudio.cpp 2011-01-26 06:02:00.000000000 +0000 |
129 |
-@@ -0,0 +1,314 @@ |
130 |
-+/* Copyright (C) 2011, Benjamin Jemlich <pcgod@×××××××××××××××××.net> |
131 |
-+ Copyright (C) 2011, Filipe Coelho <falktx@×××××.com> |
132 |
-+ |
133 |
-+ All rights reserved. |
134 |
-+ |
135 |
-+ Redistribution and use in source and binary forms, with or without |
136 |
-+ modification, are permitted provided that the following conditions |
137 |
-+ are met: |
138 |
-+ |
139 |
-+ - Redistributions of source code must retain the above copyright notice, |
140 |
-+ this list of conditions and the following disclaimer. |
141 |
-+ - Redistributions in binary form must reproduce the above copyright notice, |
142 |
-+ this list of conditions and the following disclaimer in the documentation |
143 |
-+ and/or other materials provided with the distribution. |
144 |
-+ - Neither the name of the Mumble Developers nor the names of its |
145 |
-+ contributors may be used to endorse or promote products derived from this |
146 |
-+ software without specific prior written permission. |
147 |
-+ |
148 |
-+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
149 |
-+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
150 |
-+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
151 |
-+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR |
152 |
-+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
153 |
-+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
154 |
-+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
155 |
-+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
156 |
-+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
157 |
-+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
158 |
-+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
159 |
-+*/ |
160 |
-+ |
161 |
-+#include "JackAudio.h" |
162 |
-+#include "User.h" |
163 |
-+#include "Global.h" |
164 |
-+#include "MainWindow.h" |
165 |
-+#include "Timer.h" |
166 |
-+ |
167 |
-+#include <cstring> |
168 |
-+ |
169 |
-+static JackAudioSystem *jasys = NULL; |
170 |
-+ |
171 |
-+class JackAudioInputRegistrar : public AudioInputRegistrar { |
172 |
-+ public: |
173 |
-+ JackAudioInputRegistrar(); |
174 |
-+ virtual AudioInput *create(); |
175 |
-+ virtual const QList<audioDevice> getDeviceChoices(); |
176 |
-+ virtual void setDeviceChoice(const QVariant &, Settings &); |
177 |
-+ virtual bool canEcho(const QString &) const; |
178 |
-+}; |
179 |
-+ |
180 |
-+class JackAudioOutputRegistrar : public AudioOutputRegistrar { |
181 |
-+ public: |
182 |
-+ JackAudioOutputRegistrar(); |
183 |
-+ virtual AudioOutput *create(); |
184 |
-+ virtual const QList<audioDevice> getDeviceChoices(); |
185 |
-+ virtual void setDeviceChoice(const QVariant &, Settings &); |
186 |
-+}; |
187 |
-+ |
188 |
-+class JackAudioInit : public DeferInit { |
189 |
-+ public: |
190 |
-+ JackAudioInputRegistrar *airJackAudio; |
191 |
-+ JackAudioOutputRegistrar *aorJackAudio; |
192 |
-+ void initialize() { |
193 |
-+ jasys = new JackAudioSystem(); |
194 |
-+ jasys->init_jack(); |
195 |
-+ jasys->qmWait.lock(); |
196 |
-+ jasys->qwcWait.wait(&jasys->qmWait, 1000); |
197 |
-+ jasys->qmWait.unlock(); |
198 |
-+ if (jasys->bJackIsGood) { |
199 |
-+ airJackAudio = new JackAudioInputRegistrar(); |
200 |
-+ aorJackAudio = new JackAudioOutputRegistrar(); |
201 |
-+ } else { |
202 |
-+ airJackAudio = NULL; |
203 |
-+ aorJackAudio = NULL; |
204 |
-+ delete jasys; |
205 |
-+ jasys = NULL; |
206 |
-+ } |
207 |
-+ }; |
208 |
-+ void destroy() { |
209 |
-+ if (airJackAudio) |
210 |
-+ delete airJackAudio; |
211 |
-+ if (aorJackAudio) |
212 |
-+ delete aorJackAudio; |
213 |
-+ if (jasys) { |
214 |
-+ jasys->close_jack(); |
215 |
-+ delete jasys; |
216 |
-+ jasys = NULL; |
217 |
-+ } |
218 |
-+ }; |
219 |
-+}; |
220 |
-+ |
221 |
-+static JackAudioInit jackinit; //unused |
222 |
-+ |
223 |
-+JackAudioSystem::JackAudioSystem() { |
224 |
-+ bJackIsGood = false; |
225 |
-+ iSampleRate = 0; |
226 |
-+} |
227 |
-+ |
228 |
-+JackAudioSystem::~JackAudioSystem() { |
229 |
-+} |
230 |
-+ |
231 |
-+void JackAudioSystem::init_jack() |
232 |
-+{ |
233 |
-+ client = jack_client_open("mumble", JackNullOption, 0); |
234 |
-+ |
235 |
-+ if (client) { |
236 |
-+ in_port = jack_port_register(client, "input", JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput, 0); |
237 |
-+ out_port = jack_port_register(client, "output", JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0); |
238 |
-+ jack_set_process_callback(client, process_callback, this); |
239 |
-+ jack_set_sample_rate_callback(client, srate_callback, this); |
240 |
-+ jack_on_shutdown(client, shutdown_callback, this); |
241 |
-+ |
242 |
-+ iSampleRate = jack_get_sample_rate(client); |
243 |
-+ |
244 |
-+ if (jack_activate(client) || in_port == NULL || out_port == NULL) { |
245 |
-+ client = NULL; |
246 |
-+ return; |
247 |
-+ } |
248 |
-+ |
249 |
-+ int port_flags; |
250 |
-+ unsigned i = -1; |
251 |
-+ const char** ports = jack_get_ports(client, 0, 0, JackPortIsPhysical); |
252 |
-+ |
253 |
-+ if (ports) { |
254 |
-+ while (ports[++i]) |
255 |
-+ { |
256 |
-+ jack_port_t* port = jack_port_by_name(client, ports[i]); |
257 |
-+ port_flags = jack_port_flags(port); |
258 |
-+ |
259 |
-+ if (port_flags & (JackPortIsPhysical|JackPortIsOutput) && strstr(jack_port_type(port), "audio")) { |
260 |
-+ jack_connect(client, ports[i], jack_port_name(in_port)); |
261 |
-+ } |
262 |
-+ if (port_flags & (JackPortIsPhysical|JackPortIsInput) && strstr(jack_port_type(port), "audio")) { |
263 |
-+ jack_connect(client, jack_port_name(out_port), ports[i]); |
264 |
-+ } |
265 |
-+ } |
266 |
-+ } |
267 |
-+ |
268 |
-+ jack_free(ports); |
269 |
-+ |
270 |
-+ // If we made it this far, then everything is okay |
271 |
-+ qhInput.insert(QString(), tr("Hardware Ports")); |
272 |
-+ qhOutput.insert(QString(), tr("Hardware Ports")); |
273 |
-+ bJackIsGood = true; |
274 |
-+ |
275 |
-+ } else { |
276 |
-+ bJackIsGood = false; |
277 |
-+ client = NULL; |
278 |
-+ } |
279 |
-+} |
280 |
-+ |
281 |
-+void JackAudioSystem::close_jack() |
282 |
-+{ |
283 |
-+ if (client) { |
284 |
-+ jack_deactivate(client); |
285 |
-+ jack_client_close(client); |
286 |
-+ client = NULL; |
287 |
-+ } |
288 |
-+} |
289 |
-+ |
290 |
-+int JackAudioSystem::process_callback(jack_nframes_t nframes, void *arg) |
291 |
-+{ |
292 |
-+ JackAudioSystem *jas = (JackAudioSystem*)arg; |
293 |
-+ |
294 |
-+ if (jas && jas->bJackIsGood) { |
295 |
-+ AudioInputPtr ai = g.ai; |
296 |
-+ AudioOutputPtr ao = g.ao; |
297 |
-+ JackAudioInput *jai = (JackAudioInput*)(ai.get()); |
298 |
-+ JackAudioOutput *jao = (JackAudioOutput*)(ao.get()); |
299 |
-+ |
300 |
-+ if (jai && jai->bRunning && jai->iMicChannels > 0 && !jai->isFinished()) { |
301 |
-+ void* input = jack_port_get_buffer(jas->in_port, nframes); |
302 |
-+ if ((float*)input != 0) |
303 |
-+ jai->addMic(input, nframes); |
304 |
-+ } |
305 |
-+ |
306 |
-+ if (jao && jao->bRunning && jao->iChannels > 0 && !jao->isFinished()) { |
307 |
-+ jack_default_audio_sample_t* output = (jack_default_audio_sample_t*)jack_port_get_buffer(jas->out_port, nframes); |
308 |
-+ memset(output, 0, sizeof(jack_default_audio_sample_t)*nframes); //TEST |
309 |
-+ jao->mix(output, nframes); |
310 |
-+ } |
311 |
-+ } |
312 |
-+ |
313 |
-+ return 0; |
314 |
-+} |
315 |
-+ |
316 |
-+int JackAudioSystem::srate_callback(jack_nframes_t frames, void *arg) |
317 |
-+{ |
318 |
-+ JackAudioSystem *jas = (JackAudioSystem*)arg; |
319 |
-+ jas->iSampleRate = frames; |
320 |
-+ return 0; |
321 |
-+} |
322 |
-+ |
323 |
-+void JackAudioSystem::shutdown_callback(void *arg) |
324 |
-+{ |
325 |
-+ JackAudioSystem *jas = (JackAudioSystem*)arg; |
326 |
-+ jas->bJackIsGood = false; |
327 |
-+} |
328 |
-+ |
329 |
-+JackAudioInputRegistrar::JackAudioInputRegistrar() : AudioInputRegistrar(QLatin1String("JACK"), 10) { |
330 |
-+} |
331 |
-+ |
332 |
-+AudioInput *JackAudioInputRegistrar::create() { |
333 |
-+ return new JackAudioInput(); |
334 |
-+} |
335 |
-+ |
336 |
-+const QList<audioDevice> JackAudioInputRegistrar::getDeviceChoices() { |
337 |
-+ QList<audioDevice> qlReturn; |
338 |
-+ |
339 |
-+ QStringList qlInputDevs = jasys->qhInput.keys(); |
340 |
-+ qSort(qlInputDevs); |
341 |
-+ |
342 |
-+ foreach(const QString &dev, qlInputDevs) { |
343 |
-+ qlReturn << audioDevice(jasys->qhInput.value(dev), dev); |
344 |
-+ } |
345 |
-+ |
346 |
-+ return qlReturn; |
347 |
-+} |
348 |
-+ |
349 |
-+void JackAudioInputRegistrar::setDeviceChoice(const QVariant &choice, Settings &s) { |
350 |
-+ Q_UNUSED(choice); |
351 |
-+ Q_UNUSED(s); |
352 |
-+} |
353 |
-+ |
354 |
-+bool JackAudioInputRegistrar::canEcho(const QString &osys) const { |
355 |
-+ Q_UNUSED(osys); |
356 |
-+ return false; |
357 |
-+} |
358 |
-+ |
359 |
-+JackAudioOutputRegistrar::JackAudioOutputRegistrar() : AudioOutputRegistrar(QLatin1String("JACK"), 10) { |
360 |
-+} |
361 |
-+ |
362 |
-+AudioOutput *JackAudioOutputRegistrar::create() { |
363 |
-+ return new JackAudioOutput(); |
364 |
-+} |
365 |
-+ |
366 |
-+const QList<audioDevice> JackAudioOutputRegistrar::getDeviceChoices() { |
367 |
-+ QList<audioDevice> qlReturn; |
368 |
-+ |
369 |
-+ QStringList qlOutputDevs = jasys->qhOutput.keys(); |
370 |
-+ qSort(qlOutputDevs); |
371 |
-+ |
372 |
-+ foreach(const QString &dev, qlOutputDevs) { |
373 |
-+ qlReturn << audioDevice(jasys->qhOutput.value(dev), dev); |
374 |
-+ } |
375 |
-+ |
376 |
-+ return qlReturn; |
377 |
-+} |
378 |
-+ |
379 |
-+void JackAudioOutputRegistrar::setDeviceChoice(const QVariant &choice, Settings &s) { |
380 |
-+ Q_UNUSED(choice); |
381 |
-+ Q_UNUSED(s); |
382 |
-+} |
383 |
-+ |
384 |
-+JackAudioInput::JackAudioInput() { |
385 |
-+ bRunning = true; |
386 |
-+ iMicChannels = 0; |
387 |
-+}; |
388 |
-+ |
389 |
-+JackAudioInput::~JackAudioInput() { |
390 |
-+ bRunning = false; |
391 |
-+ iMicChannels = 0; |
392 |
-+ qmMutex.lock(); |
393 |
-+ qwcWait.wakeAll(); |
394 |
-+ qmMutex.unlock(); |
395 |
-+ wait(); |
396 |
-+} |
397 |
-+ |
398 |
-+void JackAudioInput::run() { |
399 |
-+ if (jasys && jasys->bJackIsGood) { |
400 |
-+ iMicFreq = jasys->iSampleRate; |
401 |
-+ iMicChannels = 1; |
402 |
-+ eMicFormat = SampleFloat; |
403 |
-+ initializeMixer(); |
404 |
-+ } |
405 |
-+ |
406 |
-+ qmMutex.lock(); |
407 |
-+ while (bRunning) |
408 |
-+ qwcWait.wait(&qmMutex); |
409 |
-+ qmMutex.unlock(); |
410 |
-+} |
411 |
-+ |
412 |
-+JackAudioOutput::JackAudioOutput() { |
413 |
-+ bRunning = true; |
414 |
-+ iChannels = 0; |
415 |
-+} |
416 |
-+ |
417 |
-+JackAudioOutput::~JackAudioOutput() { |
418 |
-+ bRunning = false; |
419 |
-+ iChannels = 0; |
420 |
-+ qmMutex.lock(); |
421 |
-+ qwcWait.wakeAll(); |
422 |
-+ qmMutex.unlock(); |
423 |
-+ wait(); |
424 |
-+} |
425 |
-+ |
426 |
-+void JackAudioOutput::run() { |
427 |
-+ if (jasys && jasys->bJackIsGood) { |
428 |
-+ unsigned int chanmasks[32]; |
429 |
-+ |
430 |
-+ chanmasks[0] = SPEAKER_FRONT_LEFT; |
431 |
-+ chanmasks[1] = SPEAKER_FRONT_RIGHT; |
432 |
-+ |
433 |
-+ eSampleFormat = SampleFloat; |
434 |
-+ iMixerFreq = jasys->iSampleRate; |
435 |
-+ iChannels = 1; |
436 |
-+ initializeMixer(chanmasks); |
437 |
-+ } |
438 |
-+ |
439 |
-+ qmMutex.lock(); |
440 |
-+ while (bRunning) |
441 |
-+ qwcWait.wait(&qmMutex); |
442 |
-+ qmMutex.unlock(); |
443 |
-+} |
444 |
-diff -U 3 -H -d -r -N -- mumble-1.2.2.orig/src/mumble/JackAudio.h mumble-1.2.2/src/mumble/JackAudio.h |
445 |
---- mumble-1.2.2.orig/src/mumble/JackAudio.h 1970-01-01 01:00:00.000000000 +0100 |
446 |
-+++ mumble-1.2.2/src/mumble/JackAudio.h 2011-01-26 06:03:58.000000000 +0000 |
447 |
-@@ -0,0 +1,98 @@ |
448 |
-+/* Copyright (C) 2011, Benjamin Jemlich <pcgod@×××××××××××××××××.net> |
449 |
-+ Copyright (C) 2011, Filipe Coelho <falktx@×××××.com> |
450 |
-+ |
451 |
-+ All rights reserved. |
452 |
-+ |
453 |
-+ Redistribution and use in source and binary forms, with or without |
454 |
-+ modification, are permitted provided that the following conditions |
455 |
-+ are met: |
456 |
-+ |
457 |
-+ - Redistributions of source code must retain the above copyright notice, |
458 |
-+ this list of conditions and the following disclaimer. |
459 |
-+ - Redistributions in binary form must reproduce the above copyright notice, |
460 |
-+ this list of conditions and the following disclaimer in the documentation |
461 |
-+ and/or other materials provided with the distribution. |
462 |
-+ - Neither the name of the Mumble Developers nor the names of its |
463 |
-+ contributors may be used to endorse or promote products derived from this |
464 |
-+ software without specific prior written permission. |
465 |
-+ |
466 |
-+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
467 |
-+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
468 |
-+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
469 |
-+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR |
470 |
-+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
471 |
-+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
472 |
-+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
473 |
-+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
474 |
-+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
475 |
-+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
476 |
-+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
477 |
-+*/ |
478 |
-+ |
479 |
-+#ifndef _JACKAUDIO_H |
480 |
-+#define _JACKAUDIO_H |
481 |
-+ |
482 |
-+#include "AudioInput.h" |
483 |
-+#include "AudioOutput.h" |
484 |
-+#include <jack/jack.h> |
485 |
-+#include <QWaitCondition> |
486 |
-+ |
487 |
-+class JackAudioOutput; |
488 |
-+class JackAudioInput; |
489 |
-+ |
490 |
-+class JackAudioSystem : public QObject { |
491 |
-+ private: |
492 |
-+ Q_OBJECT |
493 |
-+ Q_DISABLE_COPY(JackAudioSystem) |
494 |
-+ protected: |
495 |
-+ jack_client_t* client; |
496 |
-+ jack_port_t* in_port; |
497 |
-+ jack_port_t* out_port; |
498 |
-+ |
499 |
-+ static int process_callback(jack_nframes_t nframes, void *arg); |
500 |
-+ static int srate_callback(jack_nframes_t frames, void *arg); |
501 |
-+ static void shutdown_callback(void *arg); |
502 |
-+ public: |
503 |
-+ QHash<QString, QString> qhInput; |
504 |
-+ QHash<QString, QString> qhOutput; |
505 |
-+ bool bJackIsGood; |
506 |
-+ int iSampleRate; |
507 |
-+ QMutex qmWait; |
508 |
-+ QWaitCondition qwcWait; |
509 |
-+ |
510 |
-+ void init_jack(); |
511 |
-+ void close_jack(); |
512 |
-+ |
513 |
-+ JackAudioSystem(); |
514 |
-+ ~JackAudioSystem(); |
515 |
-+}; |
516 |
-+ |
517 |
-+class JackAudioInput : public AudioInput { |
518 |
-+ friend class JackAudioSystem; |
519 |
-+ private: |
520 |
-+ Q_OBJECT |
521 |
-+ Q_DISABLE_COPY(JackAudioInput) |
522 |
-+ protected: |
523 |
-+ QMutex qmMutex; |
524 |
-+ QWaitCondition qwcWait; |
525 |
-+ public: |
526 |
-+ JackAudioInput(); |
527 |
-+ ~JackAudioInput(); |
528 |
-+ void run(); |
529 |
-+}; |
530 |
-+ |
531 |
-+class JackAudioOutput : public AudioOutput { |
532 |
-+ friend class JackAudioSystem; |
533 |
-+ private: |
534 |
-+ Q_OBJECT |
535 |
-+ Q_DISABLE_COPY(JackAudioOutput) |
536 |
-+ protected: |
537 |
-+ QMutex qmMutex; |
538 |
-+ QWaitCondition qwcWait; |
539 |
-+ public: |
540 |
-+ JackAudioOutput(); |
541 |
-+ ~JackAudioOutput(); |
542 |
-+ void run(); |
543 |
-+}; |
544 |
-+ |
545 |
-+#endif |
546 |
-diff -U 3 -H -d -r -N -- mumble-1.2.2.orig/src/mumble/mumble.pro mumble-1.2.2/src/mumble/mumble.pro |
547 |
---- mumble-1.2.2.orig/src/mumble/mumble.pro 2010-02-09 16:34:51.000000000 +0000 |
548 |
-+++ mumble-1.2.2/src/mumble/mumble.pro 2011-01-26 01:45:55.000000000 +0000 |
549 |
-@@ -93,11 +93,17 @@ |
550 |
- unix { |
551 |
- HAVE_PULSEAUDIO=$$system(pkg-config --modversion --silence-errors libpulse) |
552 |
- HAVE_PORTAUDIO=$$system(pkg-config --modversion --silence-errors portaudio-2.0) |
553 |
-+ HAVE_JACKAUDIO=$$system(pkg-config --modversion --silence-errors jack) |
554 |
- |
555 |
- !isEmpty(HAVE_PORTAUDIO):!CONFIG(no-portaudio) { |
556 |
- CONFIG *= portaudio |
557 |
- } |
558 |
- |
559 |
-+ !isEmpty(HAVE_JACKAUDIO):!CONFIG(no-jackaudio) { |
560 |
-+ CONFIG -= portaudio |
561 |
-+ CONFIG *= jackaudio |
562 |
-+ } |
563 |
-+ |
564 |
- !isEmpty(HAVE_PULSEAUDIO):!CONFIG(no-pulseaudio) { |
565 |
- CONFIG -= portaudio |
566 |
- CONFIG *= pulseaudio |
567 |
-@@ -110,6 +116,13 @@ |
568 |
- QMAKE_CXXFLAGS_DEBUG *= -I../../speex/include -I../../speexbuild |
569 |
- } |
570 |
- |
571 |
-+ jackaudio { |
572 |
-+ DEFINES *= USE_JACKAUDIO |
573 |
-+ PKGCONFIG *= jack |
574 |
-+ HEADERS *= JackAudio.h |
575 |
-+ SOURCES *= JackAudio.cpp |
576 |
-+ } |
577 |
-+ |
578 |
- CONFIG *= link_pkgconfig |
579 |
- |
580 |
- PKGCONFIG *= openssl sndfile |
581 |
|
582 |
diff --git a/media-sound/mumble/metadata.xml b/media-sound/mumble/metadata.xml |
583 |
deleted file mode 100644 |
584 |
index e455ad4..0000000 |
585 |
--- a/media-sound/mumble/metadata.xml |
586 |
+++ /dev/null |
587 |
@@ -1,18 +0,0 @@ |
588 |
-<?xml version="1.0" encoding="UTF-8"?> |
589 |
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
590 |
-<pkgmetadata> |
591 |
- <maintainer type="person"> |
592 |
- <email>polynomial-c@g.o</email> |
593 |
- <name>Lars Wendler</name> |
594 |
- </maintainer> |
595 |
- <longdescription lang="en"> |
596 |
-Mumble is an open source, low-latency, high quality voice chat software primarily intended for use while gaming. |
597 |
- </longdescription> |
598 |
- <use> |
599 |
- <flag name="g15">Enable support for the Logitech G15 LCD (and compatible devices).</flag> |
600 |
- <flag name="speech">Enable text-to-speech support in Mumble.</flag> |
601 |
- </use> |
602 |
- <upstream> |
603 |
- <remote-id type="sourceforge">mumble</remote-id> |
604 |
- </upstream> |
605 |
-</pkgmetadata> |
606 |
|
607 |
diff --git a/media-sound/mumble/mumble-1.2.19-r1.ebuild b/media-sound/mumble/mumble-1.2.19-r1.ebuild |
608 |
deleted file mode 100644 |
609 |
index 43d6f63..0000000 |
610 |
--- a/media-sound/mumble/mumble-1.2.19-r1.ebuild |
611 |
+++ /dev/null |
612 |
@@ -1,129 +0,0 @@ |
613 |
-# Copyright 1999-2017 Gentoo Foundation |
614 |
-# Distributed under the terms of the GNU General Public License v2 |
615 |
- |
616 |
-EAPI=6 |
617 |
- |
618 |
-inherit eutils multilib qmake-utils |
619 |
- |
620 |
-MY_P="${PN}-${PV/_/~}" |
621 |
- |
622 |
-DESCRIPTION="Mumble is an open source, low-latency, high quality voice chat software" |
623 |
-HOMEPAGE="https://wiki.mumble.info" |
624 |
-SRC_URI="https://mumble.info/snapshot/${MY_P}.tar.gz" |
625 |
- |
626 |
-LICENSE="BSD MIT" |
627 |
-SLOT="0" |
628 |
-KEYWORDS="~amd64 ~arm64 ~x86" |
629 |
-IUSE="+alsa +dbus debug g15 jack libressl oss pch portaudio pulseaudio speech zeroconf" |
630 |
- |
631 |
-RDEPEND=">=dev-libs/boost-1.41.0 |
632 |
- !libressl? ( >=dev-libs/openssl-1.0.0b:0 ) |
633 |
- libressl? ( dev-libs/libressl ) |
634 |
- >=dev-libs/protobuf-2.2.0:= |
635 |
- >=media-libs/libsndfile-1.0.20[-minimal] |
636 |
- >=media-libs/opus-1.0.1 |
637 |
- || ( |
638 |
- ( |
639 |
- >=media-libs/speex-1.2.0 |
640 |
- media-libs/speexdsp |
641 |
- ) |
642 |
- <media-libs/speex-1.2.0 |
643 |
- ) |
644 |
- sys-apps/lsb-release |
645 |
- x11-libs/libX11 |
646 |
- x11-libs/libXi |
647 |
- dev-qt/qtcore:4[ssl] |
648 |
- dev-qt/qtgui:4 |
649 |
- dev-qt/qtopengl:4 |
650 |
- dev-qt/qtsql:4[sqlite] |
651 |
- dev-qt/qtsvg:4 |
652 |
- dev-qt/qtxmlpatterns:4 |
653 |
- x11-proto/inputproto |
654 |
- alsa? ( media-libs/alsa-lib ) |
655 |
- dbus? ( dev-qt/qtdbus:4 ) |
656 |
- g15? ( app-misc/g15daemon ) |
657 |
- jack? ( virtual/jack ) |
658 |
- portaudio? ( media-libs/portaudio ) |
659 |
- pulseaudio? ( media-sound/pulseaudio ) |
660 |
- speech? ( app-accessibility/speech-dispatcher ) |
661 |
- zeroconf? ( net-dns/avahi[mdnsresponder-compat] )" |
662 |
-DEPEND="${RDEPEND} |
663 |
- virtual/pkgconfig" |
664 |
- |
665 |
-S="${WORKDIR}/${MY_P}" |
666 |
- |
667 |
-src_prepare() { |
668 |
- epatch "${FILESDIR}"/${PN}-1.2.4-speech-dispatcher.patch |
669 |
- use jack && epatch "${FILESDIR}"/${PN}-jack-support.patch |
670 |
- eapply_user |
671 |
-} |
672 |
- |
673 |
-src_configure() { |
674 |
- local conf_add |
675 |
- |
676 |
- if has_version '<=sys-devel/gcc-4.2'; then |
677 |
- conf_add="${conf_add} no-pch" |
678 |
- else |
679 |
- use pch || conf_add="${conf_add} no-pch" |
680 |
- fi |
681 |
- |
682 |
- use alsa || conf_add="${conf_add} no-alsa" |
683 |
- use dbus || conf_add="${conf_add} no-dbus" |
684 |
- use debug && conf_add="${conf_add} symbols debug" || conf_add="${conf_add} release" |
685 |
- use g15 || conf_add="${conf_add} no-g15" |
686 |
- use oss || conf_add="${conf_add} no-oss" |
687 |
- use portaudio || conf_add="${conf_add} no-portaudio" |
688 |
- use pulseaudio || conf_add="${conf_add} no-pulseaudio" |
689 |
- use speech || conf_add="${conf_add} no-speechd" |
690 |
- use zeroconf || conf_add="${conf_add} no-bonjour" |
691 |
- |
692 |
- eqmake4 "${S}/main.pro" -recursive \ |
693 |
- CONFIG+="${conf_add} \ |
694 |
- bundled-celt \ |
695 |
- no-bundled-opus \ |
696 |
- no-bundled-speex \ |
697 |
- no-embed-qt-translations \ |
698 |
- no-server \ |
699 |
- no-update" \ |
700 |
- DEFINES+="PLUGIN_PATH=/usr/$(get_libdir)/mumble" |
701 |
-} |
702 |
- |
703 |
-src_install() { |
704 |
- newdoc README.Linux README |
705 |
- dodoc CHANGES |
706 |
- |
707 |
- local dir |
708 |
- if use debug; then |
709 |
- dir=debug |
710 |
- else |
711 |
- dir=release |
712 |
- fi |
713 |
- |
714 |
- dobin "${dir}"/mumble |
715 |
- dobin scripts/mumble-overlay |
716 |
- |
717 |
- insinto /usr/share/services |
718 |
- doins scripts/mumble.protocol |
719 |
- |
720 |
- domenu scripts/mumble.desktop |
721 |
- |
722 |
- insinto /usr/share/icons/hicolor/scalable/apps |
723 |
- doins icons/mumble.svg |
724 |
- |
725 |
- doman man/mumble-overlay.1 |
726 |
- doman man/mumble.1 |
727 |
- |
728 |
- insopts -o root -g root -m 0755 |
729 |
- insinto "/usr/$(get_libdir)/mumble" |
730 |
- doins "${dir}"/libmumble.so.${PV} |
731 |
- dosym libmumble.so.${PV} /usr/$(get_libdir)/mumble/libmumble.so.1 |
732 |
- doins "${dir}"/libcelt0.so.0.{7,11}.0 |
733 |
- doins "${dir}"/plugins/lib*.so* |
734 |
-} |
735 |
- |
736 |
-pkg_postinst() { |
737 |
- echo |
738 |
- elog "Visit http://mumble.sourceforge.net/ for futher configuration instructions." |
739 |
- elog "Run mumble-overlay to start the OpenGL overlay (after starting mumble)." |
740 |
- echo |
741 |
-} |