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>master
parent
cdb63b192c
commit
48bd27863f
|
@ -1567,6 +1567,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/pinball-system-ltdl.patch \
|
||||
%D%/packages/patches/pingus-boost-headers.patch \
|
||||
%D%/packages/patches/pingus-sdl-libs-config.patch \
|
||||
%D%/packages/patches/pipewire-0.2.7-fno-common.patch \
|
||||
%D%/packages/patches/pixman-CVE-2016-5296.patch \
|
||||
%D%/packages/patches/pjproject-correct-the-cflags-field.patch \
|
||||
%D%/packages/patches/pjproject-fix-pkg-config-ldflags.patch \
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -7845,7 +7846,8 @@ types and interfaces and translates so that the X server can use them.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))))
|
||||
"1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))
|
||||
(patches (search-patches "pipewire-0.2.7-fno-common.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("-Dsystemd=false")))
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
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,
|
Reference in New Issue