guix/gnu/packages/patches/pipewire-0.2.7-fno-common.patch
Sarah Morgensen 48bd27863f
gnu: pipewire: Fix build with GCC 10.
* gnu/packages/patches/pipewire-0.2.7-fno-common.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/linux.scm (pipewire)[source]: Use it.

Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2021-09-05 11:01:45 +02:00

51 lines
1.4 KiB
Diff

Fixes 'multiple definition errors' when building with GCC 10+
From: https://bugs.gentoo.org/710796
Originally from: https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a62e41e
and https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/7a976c7
--- a/spa/plugins/bluez5/a2dp-codecs.h
+++ b/spa/plugins/bluez5/a2dp-codecs.h
@@ -284,15 +284,15 @@
}
}
-const a2dp_sbc_t bluez_a2dp_sbc;
+extern const a2dp_sbc_t bluez_a2dp_sbc;
#if ENABLE_MP3
-const a2dp_mpeg_t bluez_a2dp_mpeg;
+extern const a2dp_mpeg_t bluez_a2dp_mpeg;
#endif
#if ENABLE_AAC
-const a2dp_aac_t bluez_a2dp_aac;
+extern const a2dp_aac_t bluez_a2dp_aac;
#endif
#if ENABLE_APTX
-const a2dp_aptx_t bluez_a2dp_aptx;
+extern const a2dp_aptx_t bluez_a2dp_aptx;
#endif
#endif
--- a/spa/plugins/bluez5/bluez5-monitor.c
+++ b/spa/plugins/bluez5/bluez5-monitor.c
@@ -75,7 +75,7 @@
struct spa_list transport_list;
};
-struct spa_handle_factory spa_a2dp_sink_factory;
+extern struct spa_handle_factory spa_a2dp_sink_factory;
static void fill_item(struct spa_bt_monitor *this, struct spa_bt_transport *transport,
struct spa_pod **result, struct spa_pod_builder *builder)
--- a/spa/plugins/bluez5/meson.build
+++ b/spa/plugins/bluez5/meson.build
@@ -1,7 +1,8 @@
bluez5_sources = ['plugin.c',
'a2dp-sink.c',
- 'bluez5-monitor.c']
+ 'a2dp-codecs.c',
+ 'bluez5-monitor.c']
bluez5lib = shared_library('spa-bluez5',
bluez5_sources,