diff options
author | Sarah Morgensen <iskarian@mgsn.dev> | 2021-09-04 22:43:29 -0700 |
---|---|---|
committer | Guillaume Le Vaillant <glv@posteo.net> | 2021-09-05 11:01:45 +0200 |
commit | 48bd27863ff5d6445dd393294fc6aec1f93a0d6a (patch) | |
tree | 8575197f6691d74b0b387c65385a20b3386b289f | |
parent | cdb63b192c0756e2cfbe2cf4336ea3670409df57 (diff) |
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>
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 4 | ||||
-rw-r--r-- | gnu/packages/patches/pipewire-0.2.7-fno-common.patch | 51 |
3 files changed, 55 insertions, 1 deletions
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, |