[PATCH core-updates-frozen] gnu: pipewire: Fix build with GCC 10.

  • Done
  • quality assurance status badge
Details
2 participants
  • Guillaume Le Vaillant
  • Sarah Morgensen
Owner
unassigned
Submitted by
Sarah Morgensen
Severity
normal
S
S
Sarah Morgensen wrote on 5 Sep 2021 07:43
(address . guix-patches@gnu.org)
34b45d8ddb1f73d27008c7e94eb5bc24b0238b59.1630820433.git.iskarian@mgsn.dev
* 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.
---
Builds for me on x86_64, but I didn't test dependents. It's the patch
Gentoo used before they dropped 0.2, though, so we should be good.

--
Sarah

gnu/local.mk | 1 +
gnu/packages/linux.scm | 4 +-
.../patches/pipewire-0.2.7-fno-common.patch | 51 +++++++++++++++++++
3 files changed, 55 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/pipewire-0.2.7-fno-common.patch

Toggle diff (95 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index bb22e29caa..23dcdccc6c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 63f0e4108c..a8830850d2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -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")))
diff --git a/gnu/packages/patches/pipewire-0.2.7-fno-common.patch b/gnu/packages/patches/pipewire-0.2.7-fno-common.patch
new file mode 100644
index 0000000000..f7d9b25932
--- /dev/null
+++ b/gnu/packages/patches/pipewire-0.2.7-fno-common.patch
@@ -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,

base-commit: 68dd6d809398297dc2ebef522186c9b9f2566739
--
2.32.0
G
G
Guillaume Le Vaillant wrote on 5 Sep 2021 11:14
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)(address . 50396-done@debbugs.gnu.org)
87bl572xke.fsf@kitej
Patch pushed as 48bd27863ff5d6445dd393294fc6aec1f93a0d6a.
Thanks.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYTSKkQ8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j9lCQD9FZXtnZsW5cTuIvBaZff4YOlmapoJsMA3e1Ux
M/W+ShoA/0AgXfDr7iNO+NIMkxcnHXVXhaJpaCgZfW3pQyZuXDZD
=mPdP
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 50396@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 50396
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch