Subject: [PATCH] [email-masked] propagates both libsigc++@2 and libsigc++@3

From: Maxime Devos <[email-masked]>
Date: Wed, 16 Mar 2022 11:55:27 +0100

Hi,

cairomm-1.14 is defined as:

(define-public cairomm-1.14
  (package
    (inherit cairomm)
    [...]
    (propagated-inputs
     (modify-inputs (package-propagated-inputs cairomm)
       (prepend libsigc++-2)))))

Because cairomm already has a libsigc++ (@3), and 'prepend' is used
instead of 'replace', this causes [email-masked] to have both versions
of libsigc++ as inputs.  It appears to be introduced with commit
736c5df29ac380413ec45b496c63dcf80672712d.

Unfortunately, according to "guix refresh -l", fixing this will cause
1980 rebuilds (staging branch?).

The attached patch (currently targetting master) fixes it (cairomm 
builds).  I'll try to compile an application with the new cairomm
and report if it works.

Greetings,
Maxime.
From 3a6099ab347e76d030a23ab87dd588baaaae4987 Mon Sep 17 00:00:00 2001
From: Maxime Devos <[email-masked]>
Date: Wed, 16 Mar 2022 10:48:25 +0000
Subject: [PATCH] gnu: cairomm-1.14: Don't have multiple variants of libsigc++
 as input.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This solves a propagation issue reported in
<https://issues.guix.gnu.org/54350>.

* gnu/packages/gtk.scm (cairomm-1.14)[propagated-inputs]: Replace the
libsigc++ input instead of adding an additional libsigc++ input.

Reported-By: Ludovic Courtès <[email-masked]>
---
 gnu/packages/gtk.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ced9d621aa..2fd6aa8cfc 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -27,7 +27,7 @@
 ;;; Copyright © 2020, 2021 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2021 Leo Famulari <[email-masked]>
 ;;; Copyright © 2021 Simon Streit <[email-masked]>
-;;; Copyright © 2021 Maxime Devos <[email-masked]>
+;;; Copyright © 2021, 2022 Maxime Devos <[email-masked]>
 ;;; Copyright © 2021 Wamm K. D. <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -1598,7 +1598,7 @@ library.")
         (base32 "1qwdj9xw1w651kqwh82nipbryimm1ir5n3c6q34nphsx576bj9h1"))))
     (propagated-inputs
      (modify-inputs (package-propagated-inputs cairomm)
-       (prepend libsigc++-2)))))
+       (replace "libsigc++" libsigc++-2)))))
 
 (define-public pangomm
   (package

base-commit: 29091731a0c6cb649cdfd72297575fe2bb2a9591
prerequisite-patch-id: 35140f4f2873d0b9f4fc8caca6ec2e013ecb830a
prerequisite-patch-id: ed97d14afd166e7b6cac37e3aa87a85246f7e320
prerequisite-patch-id: 7b2139dc21a7c93817ce12320181270476340a09
prerequisite-patch-id: e8f735697c0535afe9335448b16e3e1f308de362
prerequisite-patch-id: eaf1f67c4c07482fb4da81525cbd5dcb1ea2194e
prerequisite-patch-id: 9a15aa08fbbbf110ba76409dcc2a3ab5e0764806
prerequisite-patch-id: 675a3c516f47dfcbaf61d5ad41ca7f3babdd3f20
prerequisite-patch-id: ac188cb61957c9639d0ac125c941950afbdba9c7
prerequisite-patch-id: 557ba1c38241c1d62f464a97fa0575652a13aff9
prerequisite-patch-id: ece168a472eb532b1ebd12a5245a25ec1c6f4918
prerequisite-patch-id: 5eee450b2221d67fbda1e6581d16628394c912a7
prerequisite-patch-id: 623edc835c2c5dfd8c83dcf32e650cfebea42aa0
prerequisite-patch-id: 277ff341648002cb1739c42819684e67409b6645
prerequisite-patch-id: dcac72251d6ee4f34c3ebd64934063e1ee133045
prerequisite-patch-id: c9593e48965f7f033a855b639133147a62ddd0ad
prerequisite-patch-id: 03ae6cfd97b0f89f92cdd244f35b4c4561c31e26
prerequisite-patch-id: ef8cc21f9671087a7bf93224e32852bbb520cd37
prerequisite-patch-id: 54eec153e523b58c3670c48afda9ef50ec44eb8e
prerequisite-patch-id: bc5dfc06e9d67d10a37fbd7ba61939907d93ca7c
prerequisite-patch-id: 0db9692e872bf73242cfec6f8aa390abe14d08f1
prerequisite-patch-id: 36431a656d29e90e8eb218730c64807e2477c9d7
prerequisite-patch-id: 9146aec4a40f7da60a4c64643a9aa0e405567b04
prerequisite-patch-id: ff2daf978d58ec12c25dcbce4e7ee010d337cd54
prerequisite-patch-id: d7dba04b19c96e1b438291c906bc9e6a1ba5477f
-- 
2.30.2