diff mbox series

[bug#50392,core-updates-frozen] gnu: libappindicator: Fix build for GCC 10.

Message ID 8c337fd0c6a03ad07942a4aa1388e859c9b43af1.1630815574.git.iskarian@mgsn.dev
State Accepted
Headers show
Series [bug#50392,core-updates-frozen] gnu: libappindicator: Fix build for GCC 10. | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Sarah Morgensen Sept. 5, 2021, 4:36 a.m. UTC
* gnu/packages/freedesktop.scm (libappindicator): Add snippet to prevent
declaring _PyGObject_API twice.
---
I'm not entirely sure this is the correct fix (I have no expertise with
pygobject), but after reading pygobject.h it's my best guess.

(I'm not sure if adding -fcommon to CFLAGS would cause issues with
dependents not using -fcommon, since this is a library.)

I've tested this to build on x86_64.

 gnu/packages/freedesktop.scm | 8 ++++++++
 1 file changed, 8 insertions(+)


base-commit: 68dd6d809398297dc2ebef522186c9b9f2566739

Comments

Guillaume Le Vaillant Sept. 5, 2021, 9:13 a.m. UTC | #1
Patch pushed as cdb63b192c0756e2cfbe2cf4336ea3670409df57.
Thanks.
diff mbox series

Patch

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index a7766edf04..f7972695e5 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -24,6 +24,7 @@ 
 ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
 ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com>
+;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2210,6 +2211,13 @@  useful with system integration.")
              "https://launchpad.net/libappindicator/"
              (version-major+minor version) "/" version
              "/+download/libappindicator-" version ".tar.gz"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Fix 'multiple definitions' error from GCC 10
+           (substitute* "bindings/python/appindicatormodule.c"
+             (("^#include <pygobject.h>" all)
+              (string-append "#define NO_IMPORT_PYGOBJECT\n" all)))))
        (sha256
         (base32
          "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m"))))