me
/
guix
Archived
1
0
Fork 0

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
Sarah Morgensen 2021-09-04 22:43:29 -07:00 committed by Guillaume Le Vaillant
parent cdb63b192c
commit 48bd27863f
No known key found for this signature in database
GPG Key ID: 6BE8208ADF21FE3F
3 changed files with 55 additions and 1 deletions

View File

@ -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 \

View File

@ -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")))

View File

@ -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,