summaryrefslogtreecommitdiff
path: root/media-sound
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-16 18:48:52 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-16 18:48:52 +0000
commitf265f17242b04ae036b4dc174fa95401d895dbc5 (patch)
tree8daa848087a673b8bf5dad576b0a08048d551da7 /media-sound
parentd08ea43e9ada434f42f4be8e115b67ab22ce38af (diff)
gentoo auto-resync : 16:03:2024 - 18:48:51
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/Manifest.gzbin57735 -> 57741 bytes
-rw-r--r--media-sound/pulseaudio-daemon/Manifest4
-rw-r--r--media-sound/pulseaudio-daemon/files/pulseaudio-16.1-add-more-standard-samplerates.patch35
-rw-r--r--media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-memblock-alignment.patch122
-rw-r--r--media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-resampler-oversized-memblock.patch55
-rw-r--r--media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-uac2-broken-avoid-resampling.patch382
-rw-r--r--media-sound/spek/Manifest4
-rw-r--r--media-sound/spek/spek-0.8.5-r1.ebuild4
-rw-r--r--media-sound/spek/spek-0.8.5.ebuild4
-rw-r--r--media-sound/upmpdcli/Manifest2
-rw-r--r--media-sound/upmpdcli/upmpdcli-1.8.9.ebuild71
11 files changed, 79 insertions, 604 deletions
diff --git a/media-sound/Manifest.gz b/media-sound/Manifest.gz
index 3266367f01a8..e0b890ba1911 100644
--- a/media-sound/Manifest.gz
+++ b/media-sound/Manifest.gz
Binary files differ
diff --git a/media-sound/pulseaudio-daemon/Manifest b/media-sound/pulseaudio-daemon/Manifest
index fdf34542b613..743a6e669878 100644
--- a/media-sound/pulseaudio-daemon/Manifest
+++ b/media-sound/pulseaudio-daemon/Manifest
@@ -1,9 +1,5 @@
AUX enable-autospawn.conf 65 BLAKE2B 47e57076b19000ca3c57f0368e453198131c41a5a9c2d0cc8632f0a7ed4e5c992cf93e3c7651c4f3b59ceaf177d4d811bd6774676a2b005ec12259e56d99b4d2 SHA512 61f90b0d19e807a672bd39d190c1102db0b8c46284cf09d4a19b4b96d566633e56a60d21a3a1374e447e8e06496a3aef56bf5ae574337c081e7cf18842458e59
AUX pulseaudio-16.0-optional-module-console-kit.patch 3077 BLAKE2B 3b8abc67478f6c8848a24788bdceeb5bce868bf5214a092c3abbd39a3102679e4b390e56231de0559c8389730a2a75ba21bf4d9f9d942792589c6db66d6eb04d SHA512 bec1a747593d9130bb8cfb05b0894e467c953264879f2a856a420b07ee688640ec2279c136daa825b21e0e7e3bfc3aa1e333487a776d1c7ffb9a6d0293a0502b
-AUX pulseaudio-16.1-add-more-standard-samplerates.patch 1422 BLAKE2B 2e7ec0ee8560d80414550b0fe1eb8bfa0e1c9d90668dbb6366f0b23e651f6723fcd65a87ba16caba33b632919b39742cbc6b630f2a5a86952333606858b75a29 SHA512 534862debdac1aa091cedcd8058f7b0ef1cafc5c5f9bc72a96fc065b04b4809a6aed2f119fa71bfcd9ac9011d6809901972006efb908353f8baa16621024a657
-AUX pulseaudio-16.1-fix-memblock-alignment.patch 5531 BLAKE2B 419fdd5fde012455421e5020bc00105685e65b87c972eb50676f4f5e6a58a8d0fa574c0e3d946c15ce4a6ec42e9465913e3a60742784939d85d298bc1bbdf610 SHA512 e7b948a0eee82162fb2fbb8a679e1fcedd91a8525c3528e98c990aa33370a33345dfe7fa02a529a2d4e484ce011c882e0458edd9113e20c2a652a8bb8815d175
-AUX pulseaudio-16.1-fix-resampler-oversized-memblock.patch 2698 BLAKE2B 1543bed3fd24a7d574ff2415f63c5e8495c0af0e95085a4c4b598d9fbcda25f6338b8a9bbbda6c9d29e42e1ffe77b2456d05b16b55386c557978427a9e0b5a8a SHA512 72ba1c128f5b5c5b665569fddd31995bdf099b152ce928f3177d2267735968b26b6a2e3cfa90e01f377f910eaa8eaf2d7dbded9ad443ca863fcfa0929cd548af
-AUX pulseaudio-16.1-fix-uac2-broken-avoid-resampling.patch 16883 BLAKE2B 013b3124b7c37ef63c823a2069f799047be2d07e4d2b78f78e1b5bb0041d26dccf9fc09269e9cf8b51da0802a9a33e6aad10cd1bb8c8c1580bf12579582ae446 SHA512 a615c02aa2c4c9bcdd186b9b340e3f4f49d00925cb702df8b698cfb00e7ef6bacc97165ae0e21d67befdc47f770eed2acaa39598deb9eccbf89355fa60e12d0f
AUX pulseaudio-16.1-module-combine-sink-load-crash.patch 1052 BLAKE2B 09fa471cb40a83bd1969795ed8f7f3b1418efb99e1d79e6135785d4e54f0ebcb44813cf584067f4462b800e18661a508a120521e606687e2a49836020eb0ccf3 SHA512 3817f5267fd8287a7be4004189432601128c10c592fe54e4bdbdbb1a6ddd2fadede82dab047ea6693ef81cb04280e1fa4968d883ce7e03c2646145488f36d52a
AUX pulseaudio-16.1-module-combine-sink-unload-crash.patch 802 BLAKE2B 4c82bf606bb6b7123d53dac093044e9d74328f7eef616ad2da4a2c37e7dca3223e2ecc1bafd7dfc4b363c5bff20dd915a5f328236389b6dae37a74688fe886e0 SHA512 4cb64be8a41e16cf854d992416bdc25b327ab8adc706e091e20fc6bf35c7161ed798b611db2060a14af5974a987f10931f9086b45bb0b95cd82010ce952e0c80
AUX pulseaudio-16.1-move-qpaeq-to-daemon.patch 1029 BLAKE2B f7695aff795d0b0828d95eaba7b059492f33315a3086fb6cfd63e7de011c0416a5ca56e26932ac7c6ee3784dc63ad0b5918bedcf23bc1d8d3fbdfb8df72c78d1 SHA512 0ba164221dca646728ea7ecbb26fa8d00b65cb45e4dc71a0298e80349548dd1adca2142b26dba138618b27f71c955186d255a45b1be790d8b9da43d60817daa4
diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-add-more-standard-samplerates.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-add-more-standard-samplerates.patch
deleted file mode 100644
index e1ea200c4c4c..000000000000
--- a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-add-more-standard-samplerates.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-commit 86c5fbab5778685e19b5a4a9b8eb04ca90dff780
-Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
-Date: Sun Feb 5 19:49:10 2023 +0300
-
- alsa-util: Add more standard sample rates.
-
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/776>
-
-diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
-index 9f35cb20f..fd30f18bd 100644
---- a/src/modules/alsa/alsa-util.c
-+++ b/src/modules/alsa/alsa-util.c
-@@ -1430,7 +1430,8 @@ unsigned int *pa_alsa_get_supported_rates(snd_pcm_t *pcm, unsigned int fallback_
- 32000, 44100, 48000,
- 64000, 88200, 96000,
- 128000, 176400, 192000,
-- 384000 };
-+ 352800, 384000,
-+ 705600, 768000 };
- bool supported[PA_ELEMENTSOF(all_rates)] = { false, };
- snd_pcm_hw_params_t *hwparams;
- unsigned int i, j, n, *rates = NULL;
-diff --git a/src/pulse/sample.h b/src/pulse/sample.h
-index 35346a865..65c0c5d6b 100644
---- a/src/pulse/sample.h
-+++ b/src/pulse/sample.h
-@@ -128,7 +128,7 @@ PA_C_DECL_BEGIN
- #define PA_CHANNELS_MAX 32U
-
- /** Maximum allowed sample rate */
--#define PA_RATE_MAX (48000U*8U)
-+#define PA_RATE_MAX (48000U*16U)
-
- /** Sample format */
- typedef enum pa_sample_format {
diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-memblock-alignment.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-memblock-alignment.patch
deleted file mode 100644
index b05e530ac89d..000000000000
--- a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-memblock-alignment.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-commit 300db779224625144d6279d230c2daa857c967d8
-Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
-Date: Thu Feb 9 13:28:29 2023 +0300
-
- pstream: Pass frame size to keep split memblock parts aligned
-
- `pa_pstream_send_memblock()` would split incoming memblock into parts not
- exceeding maximum pool block size.
-
- To make sure split parts of memblock are still frame-aligned add new `align` arg
- to `pa_pstream_send_memblock`, find out required alignment from stream sample
- format and pass it there. Bump default alignment to 256 which is good up to
- 32bit 64ch frames.
-
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/780>
-
-diff --git a/src/modules/module-tunnel.c b/src/modules/module-tunnel.c
-index 61f427bd3..ab094ba4e 100644
---- a/src/modules/module-tunnel.c
-+++ b/src/modules/module-tunnel.c
-@@ -676,7 +676,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse
- * IO thread context where the rest of the messages are
- * dispatched. Yeah, ugly, but I am a lazy bastard. */
-
-- pa_pstream_send_memblock(u->pstream, u->channel, 0, PA_SEEK_RELATIVE, chunk);
-+ pa_pstream_send_memblock(u->pstream, u->channel, 0, PA_SEEK_RELATIVE, chunk, pa_frame_size(&u->sink->sample_spec));
-
- u->receive_counter += chunk->length;
-
-diff --git a/src/pulse/stream.c b/src/pulse/stream.c
-index 0aa627396..3585b27e8 100644
---- a/src/pulse/stream.c
-+++ b/src/pulse/stream.c
-@@ -1535,7 +1535,7 @@ int pa_stream_write_ext_free(
- s->write_memblock = NULL;
- s->write_data = NULL;
-
-- pa_pstream_send_memblock(s->context->pstream, s->channel, offset, seek, &chunk);
-+ pa_pstream_send_memblock(s->context->pstream, s->channel, offset, seek, &chunk, pa_frame_size(&s->sample_spec));
- pa_memblock_unref(chunk.memblock);
-
- } else {
-@@ -1569,7 +1569,7 @@ int pa_stream_write_ext_free(
- pa_memblock_release(chunk.memblock);
- }
-
-- pa_pstream_send_memblock(s->context->pstream, s->channel, t_offset, t_seek, &chunk);
-+ pa_pstream_send_memblock(s->context->pstream, s->channel, t_offset, t_seek, &chunk, pa_frame_size(&s->sample_spec));
-
- t_offset = 0;
- t_seek = PA_SEEK_RELATIVE;
-diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
-index 672182fbc..1342dee10 100644
---- a/src/pulsecore/protocol-native.c
-+++ b/src/pulsecore/protocol-native.c
-@@ -1260,7 +1260,7 @@ static void native_connection_send_memblock(pa_native_connection *c) {
- if (schunk.length > r->buffer_attr.fragsize)
- schunk.length = r->buffer_attr.fragsize;
-
-- pa_pstream_send_memblock(c->pstream, r->index, 0, PA_SEEK_RELATIVE, &schunk);
-+ pa_pstream_send_memblock(c->pstream, r->index, 0, PA_SEEK_RELATIVE, &schunk, pa_memblockq_get_base(r->memblockq));
-
- pa_memblockq_drop(r->memblockq, schunk.length);
- pa_memblock_unref(schunk.memblock);
-@@ -2535,7 +2535,7 @@ static void setup_srbchannel(pa_native_connection *c, pa_mem_type_t shm_type) {
- mc.memblock = srbt.memblock;
- mc.index = 0;
- mc.length = pa_memblock_get_length(srbt.memblock);
-- pa_pstream_send_memblock(c->pstream, 0, 0, 0, &mc);
-+ pa_pstream_send_memblock(c->pstream, 0, 0, 0, &mc, 0);
-
- c->srbpending = srb;
- return;
-diff --git a/src/pulsecore/pstream.c b/src/pulsecore/pstream.c
-index 7147b776a..ff62f464b 100644
---- a/src/pulsecore/pstream.c
-+++ b/src/pulsecore/pstream.c
-@@ -82,6 +82,10 @@ typedef uint32_t pa_pstream_descriptor[PA_PSTREAM_DESCRIPTOR_MAX];
- */
- #define FRAME_SIZE_MAX_ALLOW (1024*1024*16)
-
-+/* Default memblock alignment used with pa_pstream_send_memblock()
-+ */
-+#define DEFAULT_PSTREAM_MEMBLOCK_ALIGN (256)
-+
- PA_STATIC_FLIST_DECLARE(items, 0, pa_xfree);
-
- struct item_info {
-@@ -475,7 +479,7 @@ void pa_pstream_send_packet(pa_pstream*p, pa_packet *packet, pa_cmsg_ancil_data
- p->mainloop->defer_enable(p->defer_event, 1);
- }
-
--void pa_pstream_send_memblock(pa_pstream*p, uint32_t channel, int64_t offset, pa_seek_mode_t seek_mode, const pa_memchunk *chunk) {
-+void pa_pstream_send_memblock(pa_pstream*p, uint32_t channel, int64_t offset, pa_seek_mode_t seek_mode, const pa_memchunk *chunk, size_t align) {
- size_t length, idx;
- size_t bsm;
-
-@@ -492,6 +496,11 @@ void pa_pstream_send_memblock(pa_pstream*p, uint32_t channel, int64_t offset, pa
-
- bsm = pa_mempool_block_size_max(p->mempool);
-
-+ if (align == 0)
-+ align = DEFAULT_PSTREAM_MEMBLOCK_ALIGN;
-+
-+ bsm = (bsm / align) * align;
-+
- while (length > 0) {
- struct item_info *i;
- size_t n;
-diff --git a/src/pulsecore/pstream.h b/src/pulsecore/pstream.h
-index 2bff270ad..88bdca4cc 100644
---- a/src/pulsecore/pstream.h
-+++ b/src/pulsecore/pstream.h
-@@ -51,7 +51,7 @@ void pa_pstream_unlink(pa_pstream *p);
- int pa_pstream_attach_memfd_shmid(pa_pstream *p, unsigned shm_id, int memfd_fd);
-
- void pa_pstream_send_packet(pa_pstream*p, pa_packet *packet, pa_cmsg_ancil_data *ancil_data);
--void pa_pstream_send_memblock(pa_pstream*p, uint32_t channel, int64_t offset, pa_seek_mode_t seek, const pa_memchunk *chunk);
-+void pa_pstream_send_memblock(pa_pstream*p, uint32_t channel, int64_t offset, pa_seek_mode_t seek, const pa_memchunk *chunk, size_t align);
- void pa_pstream_send_release(pa_pstream *p, uint32_t block_id);
- void pa_pstream_send_revoke(pa_pstream *p, uint32_t block_id);
-
diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-resampler-oversized-memblock.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-resampler-oversized-memblock.patch
deleted file mode 100644
index bd3d39d0af82..000000000000
--- a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-resampler-oversized-memblock.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-commit 1cfa7378236b3cf9daf3be09d3227b92df69cc53
-Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
-Date: Wed Feb 8 03:24:59 2023 +0300
-
- resampler: Fix oversized memblock pushed from resampler
-
- The assumption that the format enum is ordered by size is not valid for quite
- some time, since 24bit formats were appended to format enum later than 32bit
- formats. This causes resampler to produce properly aligned memblock of size
- larger than maximum mempool block size if input format is 24bit and output
- format is 32bit.
-
- Oversized block is getting split by `pa_pstream_send_memblock()` into parts of
- size not exceeding maximum mempool block size. This usually works well but for
- 32ch 32bit 48000Hz stream the frame alignment is 128 bytes and maximum mempool
- block size value is multiple of 64 but not 128 bytes, therefore resulting parts
- are misaligned.
-
- On receiving side this causes extra allocation of 128 byte chunk while `mcalign`
- helper reassembles properly aligned frame out of second block of misaligned
- size. While first and second properly aligned frames are retrieved successfully
- from `mcalign` helper, third retrieved frame would end up with properly aligned
- size but misaligned memblock index (in this example, that would be 64 bytes.)
- Attempt to push a chunk with misaligned memblock index causes assertion failure
-
- Assertion 'uchunk->index % bq->base == 0' failed at memblockq.c:289,
- function pa_memblockq_push(). Aborting.
-
- Fix oversized block issue by checking proper size of format instead of enum
- value.
-
- Fixes: a67c21f09 ("merge 'lennart' branch back into trunk.")
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/778>
-
-diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c
-index b035f67ed..ba18c92c4 100644
---- a/src/pulsecore/resampler.c
-+++ b/src/pulsecore/resampler.c
-@@ -613,9 +613,13 @@ size_t pa_resampler_max_block_size(pa_resampler *r) {
- * conversion */
- max_ss.channels = (uint8_t) (PA_MAX(r->i_ss.channels, r->o_ss.channels));
-
-- /* We silently assume that the format enum is ordered by size */
-- max_ss.format = PA_MAX(r->i_ss.format, r->o_ss.format);
-- max_ss.format = PA_MAX(max_ss.format, r->work_format);
-+ max_ss.format = r->i_ss.format;
-+
-+ if (pa_sample_size_of_format(max_ss.format) < pa_sample_size_of_format(r->o_ss.format))
-+ max_ss.format = r->o_ss.format;
-+
-+ if (pa_sample_size_of_format(max_ss.format) < pa_sample_size_of_format(r->work_format))
-+ max_ss.format = r->work_format;
-
- max_ss.rate = PA_MAX(r->i_ss.rate, r->o_ss.rate);
-
diff --git a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-uac2-broken-avoid-resampling.patch b/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-uac2-broken-avoid-resampling.patch
deleted file mode 100644
index a260ced351a5..000000000000
--- a/media-sound/pulseaudio-daemon/files/pulseaudio-16.1-fix-uac2-broken-avoid-resampling.patch
+++ /dev/null
@@ -1,382 +0,0 @@
-commit aed52c507f345d0b5c4cd2b1d2c58dae2d904b53
-Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
-Date: Wed Feb 22 01:19:24 2023 +0300
-
- alsa-util: Perform format and rate detection before setting HW params
-
- Perform detection of supported sample format and rates just after device is
- opened, before `snd_pcm_hw_params()` is called for the first time. This fixes a
- problem where device restricts available sample rates after HW params are set
- preventing sample rate detection (seen with UAC2 devices and kernel 6.1.9)
-
- Bug: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1414
- Bug: https://github.com/alsa-project/alsa-lib/issues/119
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/782>
-
-diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
-index 49c39687c..c272e392b 100644
---- a/src/modules/alsa/alsa-mixer.c
-+++ b/src/modules/alsa/alsa-mixer.c
-@@ -5074,7 +5074,7 @@ static snd_pcm_t* mapping_open_pcm(pa_alsa_mapping *m,
- handle = pa_alsa_open_by_template(
- m->device_strings, dev_id, NULL, &try_ss,
- &try_map, mode, &try_period_size,
-- &try_buffer_size, 0, NULL, NULL, exact_channels);
-+ &try_buffer_size, 0, NULL, NULL, NULL, NULL, exact_channels);
- if (handle && !exact_channels && m->channel_map.channels != try_map.channels) {
- char buf[PA_CHANNEL_MAP_SNPRINT_MAX];
- pa_log_debug("Channel map for mapping '%s' permanently changed to '%s'", m->name,
-diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
-index b249df680..ca22f195f 100644
---- a/src/modules/alsa/alsa-sink.c
-+++ b/src/modules/alsa/alsa-sink.c
-@@ -2527,7 +2527,9 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
- &ss, &map,
- SND_PCM_STREAM_PLAYBACK,
- &period_frames, &buffer_frames, tsched_frames,
-- &b, &d, mapping)))
-+ &b, &d,
-+ &u->supported_formats, &u->supported_rates,
-+ mapping)))
- goto fail;
-
- } else if ((dev_id = pa_modargs_get_value(ma, "device_id", NULL))) {
-@@ -2541,7 +2543,9 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
- &ss, &map,
- SND_PCM_STREAM_PLAYBACK,
- &period_frames, &buffer_frames, tsched_frames,
-- &b, &d, profile_set, &mapping)))
-+ &b, &d,
-+ &u->supported_formats, &u->supported_rates,
-+ profile_set, &mapping)))
- goto fail;
-
- } else {
-@@ -2552,7 +2556,9 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
- &ss, &map,
- SND_PCM_STREAM_PLAYBACK,
- &period_frames, &buffer_frames, tsched_frames,
-- &b, &d, false)))
-+ &b, &d,
-+ &u->supported_formats, &u->supported_rates,
-+ false)))
- goto fail;
- }
-
-@@ -2598,13 +2604,11 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
-
- u->verified_sample_spec = ss;
-
-- u->supported_formats = pa_alsa_get_supported_formats(u->pcm_handle, ss.format);
- if (!u->supported_formats) {
- pa_log_error("Failed to find any supported sample formats.");
- goto fail;
- }
-
-- u->supported_rates = pa_alsa_get_supported_rates(u->pcm_handle, ss.rate);
- if (!u->supported_rates) {
- pa_log_error("Failed to find any supported sample rates.");
- goto fail;
-diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
-index ef8b12c32..d88c47f1f 100644
---- a/src/modules/alsa/alsa-source.c
-+++ b/src/modules/alsa/alsa-source.c
-@@ -2218,7 +2218,7 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
- &ss, &map,
- SND_PCM_STREAM_CAPTURE,
- &period_frames, &buffer_frames, tsched_frames,
-- &b, &d, mapping)))
-+ &b, &d, &u->supported_formats, &u->supported_rates, mapping)))
- goto fail;
-
- } else if ((dev_id = pa_modargs_get_value(ma, "device_id", NULL))) {
-@@ -2232,7 +2232,7 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
- &ss, &map,
- SND_PCM_STREAM_CAPTURE,
- &period_frames, &buffer_frames, tsched_frames,
-- &b, &d, profile_set, &mapping)))
-+ &b, &d, &u->supported_formats, &u->supported_rates, profile_set, &mapping)))
- goto fail;
-
- } else {
-@@ -2243,7 +2243,7 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
- &ss, &map,
- SND_PCM_STREAM_CAPTURE,
- &period_frames, &buffer_frames, tsched_frames,
-- &b, &d, false)))
-+ &b, &d, &u->supported_formats, &u->supported_rates, false)))
- goto fail;
- }
-
-@@ -2279,13 +2279,11 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
-
- u->verified_sample_spec = ss;
-
-- u->supported_formats = pa_alsa_get_supported_formats(u->pcm_handle, ss.format);
- if (!u->supported_formats) {
- pa_log_error("Failed to find any supported sample formats.");
- goto fail;
- }
-
-- u->supported_rates = pa_alsa_get_supported_rates(u->pcm_handle, ss.rate);
- if (!u->supported_rates) {
- pa_log_error("Failed to find any supported sample rates.");
- goto fail;
-diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c
-index e75756f53..744e7aae1 100644
---- a/src/modules/alsa/alsa-ucm.c
-+++ b/src/modules/alsa/alsa-ucm.c
-@@ -2026,7 +2026,7 @@ static snd_pcm_t* mapping_open_pcm(pa_alsa_ucm_config *ucm, pa_alsa_mapping *m,
- try_buffer_size = ucm->core->default_n_fragments * try_period_size;
-
- pcm = pa_alsa_open_by_device_string(m->device_strings[0], NULL, &try_ss,
-- &try_map, mode, &try_period_size, &try_buffer_size, 0, NULL, NULL, exact_channels);
-+ &try_map, mode, &try_period_size, &try_buffer_size, 0, NULL, NULL, NULL, NULL, exact_channels);
-
- if (pcm) {
- if (!exact_channels)
-diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
-index fd30f18bd..b631c870c 100644
---- a/src/modules/alsa/alsa-util.c
-+++ b/src/modules/alsa/alsa-util.c
-@@ -523,6 +523,8 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto(
- snd_pcm_uframes_t tsched_size,
- bool *use_mmap,
- bool *use_tsched,
-+ pa_sample_format_t **query_supported_formats,
-+ unsigned int **query_supported_rates,
- pa_alsa_profile_set *ps,
- pa_alsa_mapping **mapping) {
-
-@@ -561,6 +563,8 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto(
- tsched_size,
- use_mmap,
- use_tsched,
-+ query_supported_formats,
-+ query_supported_rates,
- m);
-
- if (pcm_handle) {
-@@ -588,6 +592,8 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto(
- tsched_size,
- use_mmap,
- use_tsched,
-+ query_supported_formats,
-+ query_supported_rates,
- m);
-
- if (pcm_handle) {
-@@ -612,6 +618,8 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto(
- tsched_size,
- use_mmap,
- use_tsched,
-+ query_supported_formats,
-+ query_supported_rates,
- false);
- pa_xfree(d);
-
-@@ -632,6 +640,8 @@ snd_pcm_t *pa_alsa_open_by_device_id_mapping(
- snd_pcm_uframes_t tsched_size,
- bool *use_mmap,
- bool *use_tsched,
-+ pa_sample_format_t **query_supported_formats,
-+ unsigned int **query_supported_rates,
- pa_alsa_mapping *m) {
-
- snd_pcm_t *pcm_handle;
-@@ -661,6 +671,8 @@ snd_pcm_t *pa_alsa_open_by_device_id_mapping(
- tsched_size,
- use_mmap,
- use_tsched,
-+ query_supported_formats,
-+ query_supported_rates,
- pa_channel_map_valid(&m->channel_map) /* Query the channel count if we don't know what we want */);
-
- if (!pcm_handle)
-@@ -684,6 +696,8 @@ snd_pcm_t *pa_alsa_open_by_device_string(
- snd_pcm_uframes_t tsched_size,
- bool *use_mmap,
- bool *use_tsched,
-+ pa_sample_format_t **query_supported_formats,
-+ unsigned int **query_supported_rates,
- bool require_exact_channel_number) {
-
- int err;
-@@ -711,6 +725,12 @@ snd_pcm_t *pa_alsa_open_by_device_string(
-
- pa_log_debug("Managed to open %s", d);
-
-+ if (query_supported_formats)
-+ *query_supported_formats = pa_alsa_get_supported_formats(pcm_handle, ss->format);
-+
-+ if (query_supported_rates)
-+ *query_supported_rates = pa_alsa_get_supported_rates(pcm_handle, ss->rate);
-+
- if ((err = pa_alsa_set_hw_params(
- pcm_handle,
- ss,
-@@ -784,6 +804,8 @@ snd_pcm_t *pa_alsa_open_by_template(
- snd_pcm_uframes_t tsched_size,
- bool *use_mmap,
- bool *use_tsched,
-+ pa_sample_format_t **query_supported_formats,
-+ unsigned int **query_supported_rates,
- bool require_exact_channel_number) {
-
- snd_pcm_t *pcm_handle;
-@@ -805,6 +827,8 @@ snd_pcm_t *pa_alsa_open_by_template(
- tsched_size,
- use_mmap,
- use_tsched,
-+ query_supported_formats,
-+ query_supported_rates,
- require_exact_channel_number);
-
- pa_xfree(d);
-diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h
-index 2eed3eac3..c65801104 100644
---- a/src/modules/alsa/alsa-util.h
-+++ b/src/modules/alsa/alsa-util.h
-@@ -67,6 +67,8 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto(
- snd_pcm_uframes_t tsched_size,
- bool *use_mmap, /* modified at return */
- bool *use_tsched, /* modified at return */
-+ pa_sample_format_t **query_supported_formats, /* modified at return */
-+ unsigned int **query_supported_rates, /* modified at return */
- pa_alsa_profile_set *ps,
- pa_alsa_mapping **mapping); /* modified at return */
-
-@@ -82,6 +84,8 @@ snd_pcm_t *pa_alsa_open_by_device_id_mapping(
- snd_pcm_uframes_t tsched_size,
- bool *use_mmap, /* modified at return */
- bool *use_tsched, /* modified at return */
-+ pa_sample_format_t **query_supported_formats, /* modified at return */
-+ unsigned int **query_supported_rates, /* modified at return */
- pa_alsa_mapping *mapping);
-
- /* Opens the explicit ALSA device */
-@@ -96,6 +100,8 @@ snd_pcm_t *pa_alsa_open_by_device_string(
- snd_pcm_uframes_t tsched_size,
- bool *use_mmap, /* modified at return */
- bool *use_tsched, /* modified at return */
-+ pa_sample_format_t **query_supported_formats, /* modified at return */
-+ unsigned int **query_supported_rates, /* modified at return */
- bool require_exact_channel_number);
-
- /* Opens the explicit ALSA device with a fallback list */
-@@ -111,6 +117,8 @@ snd_pcm_t *pa_alsa_open_by_template(
- snd_pcm_uframes_t tsched_size,
- bool *use_mmap, /* modified at return */
- bool *use_tsched, /* modified at return */
-+ pa_sample_format_t **query_supported_formats, /* modified at return */
-+ unsigned int **query_supported_rates, /* modified at return */
- bool require_exact_channel_number);
-
- void pa_alsa_dump(pa_log_level_t level, snd_pcm_t *pcm);
-commit 5ab2b9cb0e32190c3ea12b0f4cb7533d7340bbf1
-Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com>
-Date: Wed Feb 22 01:50:22 2023 +0300
-
- alsa-util: Fix pa_alsa_get_supported_formats fallback.
-
- Looks like original intention was to scan over sample formats supported by PA,
- but code does the scan by list of alsa formats. Reverse the map and adjust
- fallback case which now can use the same map.
-
- Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/782>
-
-diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
-index b631c870c..d3c092f52 100644
---- a/src/modules/alsa/alsa-util.c
-+++ b/src/modules/alsa/alsa-util.c
-@@ -1502,35 +1502,35 @@ unsigned int *pa_alsa_get_supported_rates(snd_pcm_t *pcm, unsigned int fallback_
- }
-
- pa_sample_format_t *pa_alsa_get_supported_formats(snd_pcm_t *pcm, pa_sample_format_t fallback_format) {
-- static const snd_pcm_format_t format_trans_to_pa[] = {
-- [SND_PCM_FORMAT_U8] = PA_SAMPLE_U8,
-- [SND_PCM_FORMAT_A_LAW] = PA_SAMPLE_ALAW,
-- [SND_PCM_FORMAT_MU_LAW] = PA_SAMPLE_ULAW,
-- [SND_PCM_FORMAT_S16_LE] = PA_SAMPLE_S16LE,
-- [SND_PCM_FORMAT_S16_BE] = PA_SAMPLE_S16BE,
-- [SND_PCM_FORMAT_FLOAT_LE] = PA_SAMPLE_FLOAT32LE,
-- [SND_PCM_FORMAT_FLOAT_BE] = PA_SAMPLE_FLOAT32BE,
-- [SND_PCM_FORMAT_S32_LE] = PA_SAMPLE_S32LE,
-- [SND_PCM_FORMAT_S32_BE] = PA_SAMPLE_S32BE,
-- [SND_PCM_FORMAT_S24_3LE] = PA_SAMPLE_S24LE,
-- [SND_PCM_FORMAT_S24_3BE] = PA_SAMPLE_S24BE,
-- [SND_PCM_FORMAT_S24_LE] = PA_SAMPLE_S24_32LE,
-- [SND_PCM_FORMAT_S24_BE] = PA_SAMPLE_S24_32BE,
-+ static const snd_pcm_format_t format_trans_to_pcm[] = {
-+ [PA_SAMPLE_U8] = SND_PCM_FORMAT_U8,
-+ [PA_SAMPLE_ALAW] = SND_PCM_FORMAT_A_LAW,
-+ [PA_SAMPLE_ULAW] = SND_PCM_FORMAT_MU_LAW,
-+ [PA_SAMPLE_S16LE] = SND_PCM_FORMAT_S16_LE,
-+ [PA_SAMPLE_S16BE] = SND_PCM_FORMAT_S16_BE,
-+ [PA_SAMPLE_FLOAT32LE] = SND_PCM_FORMAT_FLOAT_LE,
-+ [PA_SAMPLE_FLOAT32BE] = SND_PCM_FORMAT_FLOAT_BE,
-+ [PA_SAMPLE_S32LE] = SND_PCM_FORMAT_S32_LE,
-+ [PA_SAMPLE_S32BE] = SND_PCM_FORMAT_S32_BE,
-+ [PA_SAMPLE_S24LE] = SND_PCM_FORMAT_S24_3LE,
-+ [PA_SAMPLE_S24BE] = SND_PCM_FORMAT_S24_3BE,
-+ [PA_SAMPLE_S24_32LE] = SND_PCM_FORMAT_S24_LE,
-+ [PA_SAMPLE_S24_32BE] = SND_PCM_FORMAT_S24_BE,
- };
-- static const snd_pcm_format_t all_formats[] = {
-- SND_PCM_FORMAT_U8,
-- SND_PCM_FORMAT_A_LAW,
-- SND_PCM_FORMAT_MU_LAW,
-- SND_PCM_FORMAT_S16_LE,
-- SND_PCM_FORMAT_S16_BE,
-- SND_PCM_FORMAT_FLOAT_LE,
-- SND_PCM_FORMAT_FLOAT_BE,
-- SND_PCM_FORMAT_S32_LE,
-- SND_PCM_FORMAT_S32_BE,
-- SND_PCM_FORMAT_S24_3LE,
-- SND_PCM_FORMAT_S24_3BE,
-- SND_PCM_FORMAT_S24_LE,
-- SND_PCM_FORMAT_S24_BE,
-+ static const pa_sample_format_t all_formats[] = {
-+ PA_SAMPLE_U8,
-+ PA_SAMPLE_ALAW,
-+ PA_SAMPLE_ULAW,
-+ PA_SAMPLE_S16LE,
-+ PA_SAMPLE_S16BE,
-+ PA_SAMPLE_FLOAT32LE,
-+ PA_SAMPLE_FLOAT32BE,
-+ PA_SAMPLE_S32LE,
-+ PA_SAMPLE_S32BE,
-+ PA_SAMPLE_S24LE,
-+ PA_SAMPLE_S24BE,
-+ PA_SAMPLE_S24_32LE,
-+ PA_SAMPLE_S24_32BE,
- };
- bool supported[PA_ELEMENTSOF(all_formats)] = {
- false,
-@@ -1548,7 +1548,7 @@ pa_sample_format_t *pa_alsa_get_supported_formats(snd_pcm_t *pcm, pa_sample_form
- }
-
- for (i = 0, n = 0; i < PA_ELEMENTSOF(all_formats); i++) {
-- if (snd_pcm_hw_params_test_format(pcm, hwparams, all_formats[i]) == 0) {
-+ if (snd_pcm_hw_params_test_format(pcm, hwparams, format_trans_to_pcm[all_formats[i]]) == 0) {
- supported[i] = true;
- n++;
- }
-@@ -1559,7 +1559,7 @@ pa_sample_format_t *pa_alsa_get_supported_formats(snd_pcm_t *pcm, pa_sample_form
-
- for (i = 0, j = 0; i < PA_ELEMENTSOF(all_formats); i++) {
- if (supported[i])
-- formats[j++] = format_trans_to_pa[all_formats[i]];
-+ formats[j++] = all_formats[i];
- }
-
- formats[j] = PA_SAMPLE_MAX;
-@@ -1567,7 +1567,7 @@ pa_sample_format_t *pa_alsa_get_supported_formats(snd_pcm_t *pcm, pa_sample_form
- formats = pa_xnew(pa_sample_format_t, 2);
-
- formats[0] = fallback_format;
-- if ((ret = snd_pcm_hw_params_set_format(pcm, hwparams, format_trans_to_pa[formats[0]])) < 0) {
-+ if ((ret = snd_pcm_hw_params_set_format(pcm, hwparams, format_trans_to_pcm[formats[0]])) < 0) {
- pa_log_debug("snd_pcm_hw_params_set_format() failed: %s", pa_alsa_strerror(ret));
- pa_xfree(formats);
- return NULL;
diff --git a/media-sound/spek/Manifest b/media-sound/spek/Manifest
index f69287a54bb0..650bebd8314d 100644
--- a/media-sound/spek/Manifest
+++ b/media-sound/spek/Manifest
@@ -4,6 +4,6 @@ AUX 02_ftbfs-gcc13.patch 304 BLAKE2B 021f51fae89596aafb2b9e2085fedd9eaf013f8a448
AUX 03_metainfo.patch 2908 BLAKE2B 5dd973c3e42c13ecbcf39347efa2916a3d8b3583f39c4c6982102c43177b6271ef60b6acc69a2e052a5860963af17bcadeb9fe880b005c278874bf5d8c0eef5f SHA512 de573e457cf90948543db18053a5b02286166b88b55f9456436d796578d8a2aa84d022db980dd82bf936757dc38f86b9f7b67b9c37b1f2d94b934183ae96b001
AUX spek-0.8.4-disable-updates.patch 300 BLAKE2B 47a8035f2a3acc4bb3ff1163b8fa67af9812a5faf971f368e2ed1bb833dede9c659800228168512dfc6e6aa96487f780ac2ecb200c4baac581fd1621203954b6 SHA512 3d9c8c436606d9ad4275e5e9c1e8f8a32f6609a6b44e8bb7717ac9909e00fcebd9a601ba24c2082d473dbfa7bcdde995f89bd7af2e83c5a2e52b318fb70b77df
DIST spek-0.8.5.tar.xz 430464 BLAKE2B 54c977cc38f8162ec7fe45fe9eca023a9bdd2c1b42c0ad80dcf07c15ab93b416f58b499a3e8a9b9bb2ed16143deb899ce1c4fed2eba6b0e78eeab8b23a3326e7 SHA512 25f72c9372b142183ab34c47f1d7d6e62b9316d94b31aacff5d3ca007be030f4848a385be1bbb98f285aba010804fd429a7e099e597c30861347f5b8ed50d5b1
-EBUILD spek-0.8.5-r1.ebuild 811 BLAKE2B a944417e12f3b7f61da266190d7ec398d073b2cafee8bb63683ed9a06e97bbd90183cbed27a372db92793184f082cfb1e99c4be0128b57b6e2819d8b7ac8578f SHA512 75341d7a493b0ce6b5352c25d21f0832c7e34cf510ccbfe19be990d78c7c1b1807486201d801bd028689cab2894cb2a81a5a8581185f9af0159a1479fbf77456
-EBUILD spek-0.8.5.ebuild 636 BLAKE2B bb2796afc46a73c7d063941bac919e45e2a2e2b1c0752cd3517f4b3e87867eef534c47b6075d79f6a8d5371f53dd0a751bdd1ab14dacee1defb16a32ea36dd8a SHA512 f0dbe6a3a7b353b3e653eaa7d60c47bb2c3c2fe8e24265d24fac124ad540491429d5d2c279baceb8ee680996513e17f92b3ab75c02048503884fb4521271d86e
+EBUILD spek-0.8.5-r1.ebuild 812 BLAKE2B c2355eecdd5d8c478fcbb6b0ee4355a0fa76cdf2391941ebe7d2e541be9fcd551fea8b049138f2c89972be7ede2a098784a8d9a47246058c1ebef8d037221c6d SHA512 b33eb9c5fdfada01dce753d8c447bddab837bc1edbec97a48f62b058e06bfdae8e076c84aead1b10d3e58b918b82544aaeab9f9f8d3d3bfea9246136044475b3
+EBUILD spek-0.8.5.ebuild 637 BLAKE2B ca8f792f71c4bf942179ab54fd61e57adf605adc2a8ab9604b06de7647bcb49248cdc7f57ff69285764b81b411733bae3fc0e3f4a01dc590cae868d48d99a8fa SHA512 0fd3f061f22509852a745d367fd63b6705d4fb96e5f2703048960fe06abf52f3a4274c40fff7500b52c7afdf71605afc7a3897f20419b95ebf9a0b1af348f5fb
MISC metadata.xml 294 BLAKE2B 231c116c29552dc02373f839d0c41fc6937d307ac169be8fb4ed7303990deb8a1b6f64d6f9613065136a4204115b885b6a0ef289e6f4265b498c59b2c1e0b4d1 SHA512 da1c3f55330bfe6e15bcefc458d9d73898e9d231efaac7b2ea1dc0cde97ca18e436c347f4742870bf2b8dd900477486c5132f78132398901de42bf90803bcf2d
diff --git a/media-sound/spek/spek-0.8.5-r1.ebuild b/media-sound/spek/spek-0.8.5-r1.ebuild
index f40e5769fa0b..953b1a51bb29 100644
--- a/media-sound/spek/spek-0.8.5-r1.ebuild
+++ b/media-sound/spek/spek-0.8.5-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ WX_GTK_VER="3.2-gtk3"
inherit autotools wxwidgets xdg
DESCRIPTION="Analyse your audio files by showing their spectrogram"
-HOMEPAGE="http://spek.cc/"
+HOMEPAGE="https://spek.cc/"
SRC_URI="https://github.com/alexkay/spek/releases/download/v${PV}/${P}.tar.xz"
LICENSE="GPL-3"
diff --git a/media-sound/spek/spek-0.8.5.ebuild b/media-sound/spek/spek-0.8.5.ebuild
index fa0bd400115a..dc8f88f83699 100644
--- a/media-sound/spek/spek-0.8.5.ebuild
+++ b/media-sound/spek/spek-0.8.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ WX_GTK_VER="3.0-gtk3"
inherit wxwidgets xdg
DESCRIPTION="Analyse your audio files by showing their spectrogram"
-HOMEPAGE="http://spek.cc/"
+HOMEPAGE="https://spek.cc/"
SRC_URI="https://github.com/alexkay/spek/releases/download/v${PV}/${P}.tar.xz"
LICENSE="GPL-3"
diff --git a/media-sound/upmpdcli/Manifest b/media-sound/upmpdcli/Manifest
index a4c363e5f536..cb0eae80a23c 100644
--- a/media-sound/upmpdcli/Manifest
+++ b/media-sound/upmpdcli/Manifest
@@ -3,5 +3,7 @@ AUX makefile.patch 957 BLAKE2B 82046ca5e88f093f322f7872d6987c17b9fd5f14d6d82e2ff
AUX upmpdcli.confd 26 BLAKE2B 840eb6e9353266f3669c00dda2a317a6146780180ff0998641dd258806b8dce0a1c49caca570c2ce1fac97e0bf3a347536c147f1a38092ae745bddd728128a01 SHA512 3dd82c12d66aac4be69a98cf25098fdb9c377c4ad0559d07f99cfb4599b6454a6880486053091d55e30b45ac8d877cfa544b1f3dc617d11c32c058767ae6a64f
AUX upmpdcli.initd 387 BLAKE2B 1cf2ab80c9447041b2b1d1a921c164a6c0436204909c4857db798ed9930d3c1f6e5957a4382cfa884e9fa296ac8d72cc5e3d4d8025234251b665fb5d85efc12f SHA512 fcbefe70aecd05f4fea6427734933344cd1f537fd187c14f05d809f8cf8bb720241aeddc526e9c5497f76e5e7cdcf14798a160b4e4303d1482b53b646dd2b03f
DIST upmpdcli-1.8.1.tar.gz 629467 BLAKE2B dcc5f719721711e8b1ab53c8a163aa1230f01358fea54aad4e4fc7bc9e1f1442c31328f16637606fc06bebdff012c581a16f843885e2675949f2cb92a6ce6444 SHA512 35c1cc3ac215d783253b93f88a50fef2caa2d9ac541240fe58398ae062f02c4934c7b832f0159c7e542284496af59f91a59a2cfe3a0d5e2152dd40e7dec1aed7
+DIST upmpdcli-1.8.9.tar.gz 658086 BLAKE2B 61aa8752f7c2611fd27be5c8114630f9be00f84d27ad2ccbb32320cf7ba00c0dc5a983222de50f9bc361c6a695634c0c0d6896d355bc90bb26637f35bc4432be SHA512 f7fc474d91076acfe1d1482db6ea3e9a4a15612cfdef854e11721673f5822f1d2adf1b353b39bdbfbb6cbf869f4b6e8b6995c78e11555cd03c44140f4104b087
EBUILD upmpdcli-1.8.1.ebuild 1467 BLAKE2B 2bbf6ad25733c7900590b196bdce7d5b00f96b388eb0d66c6b4f837d13f6f2b3341c20a81cb7505203dafdaa4cee79f1cda60a0010af61b613feacc555aedd70 SHA512 207224eab7f187817874961a1aa2807161c7dbac2f672f1fa463ecbf896b3deafae884aa942beaea9ce674dcfd6ad652ab267b96549c7f71dcae25ed7fbb797d
+EBUILD upmpdcli-1.8.9.ebuild 1469 BLAKE2B 3c0dcb342df10da1ab37b4cc581e855161aeeee3267d04ca2b681fce0365934b569199b46c3c1d9ed82e60a867f67ba9425010406db6bacdf4bb8c66b817271d SHA512 edbd2a2e55ab3f1dd354da6249e168c5d4fca186e2dd1c3c5dff17adbd9d783464950a41f2fd5326e6bf58026b27de805facf2e60fc375c1db9c49c9c3c31c9f
MISC metadata.xml 324 BLAKE2B 53acf2369d1e3957218ea3634ed2fe10034b9d74109af9df7acfcf29a37697ade6488aefc5df3503754833b0f6dc5df777feb945355f633fa6e1a3ade8b13adf SHA512 871929dc11894dc91b3257a5e9e8f5164e3f5e1af0dce2cc7571dd106cc70bd777562bb56913ca45f3bf1cf0316938f7f2c0a8386bdcf408c0f834385db4d45d
diff --git a/media-sound/upmpdcli/upmpdcli-1.8.9.ebuild b/media-sound/upmpdcli/upmpdcli-1.8.9.ebuild
new file mode 100644
index 000000000000..620cb2f7e971
--- /dev/null
+++ b/media-sound/upmpdcli/upmpdcli-1.8.9.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools systemd
+
+DESCRIPTION="UPnP Media Renderer front-end for MPD, the Music Player Daemon"
+HOMEPAGE="https://www.lesbonscomptes.com/upmpdcli/index.html"
+
+SRC_URI="https://www.lesbonscomptes.com/upmpdcli/downloads/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="thirdparty"
+
+DEPEND="
+ dev-libs/jsoncpp
+ media-libs/libmpdclient
+ net-libs/libmicrohttpd:=
+ net-libs/libupnpp
+"
+RDEPEND="
+ ${DEPEND}
+ acct-group/upmpdcli
+ acct-user/upmpdcli
+ app-misc/recoll
+ thirdparty? ( dev-python/requests )
+"
+
+PATCHES=(
+ "${FILESDIR}"/makefile.patch
+ "${FILESDIR}"/configure.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+
+ eautoconf
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ --disable-dependency-tracking \
+ --disable-silent-rules \
+ "--docdir=/usr/share/doc/${P}" \
+ "--htmldir=/usr/share/doc/${P}/html" \
+ --libdir=/usr/lib64 \
+ || die "Configure failed"
+
+}
+
+src_install() {
+ default
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ systemd_dounit systemd/upmpdcli.service
+}
+
+pkg_postinst() {
+ einfo
+ einfo "This package no longer assumes that upmpdcli is driving an"
+ einfo "mpd instance on the same host (https://bugs.gentoo.org/670130)."
+ einfo "Probably it is though, so be sure your mpd is built with"
+ einfo "USE=curl."
+}