[PATCH gnome-team] gnu: telegram: Build with glibmm@2.76.

  • Done
  • quality assurance status badge
Details
4 participants
  • Liliana Marie Prikler
  • Christopher Baines
  • Maxim Cournoyer
  • Vivien Kraus
Owner
unassigned
Submitted by
Vivien Kraus
Severity
normal

Debbugs page

Vivien Kraus wrote 12 months ago
(address . guix-patches@gnu.org)
4a6f3c9ec4eb3ea9c9681586498ab88da9105a26.1710348449.git.vivien@planete-kraus.eu
* gnu/packages/telegram.scm (glibmm-for-telegram-desktop): New variable.
(telegram-desktop): Use glibmm-for-telegram-desktop instead of glibmm.

Change-Id: I0ec4ebc549dd867db22d68ee6317d1630cf1bfd8
---

Dear Guix,

While we are waiting for the telegram-desktop update in #67493, here is a
minimally intrusive way to keep it working on gnome-team, by using an older
version of glibmm.

Best regards,

Vivien

gnu/packages/telegram.scm | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)

Toggle diff (49 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 7d02824efa..16d36b2c7c 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -74,7 +74,9 @@ (define-module (gnu packages telegram)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
+ #:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
@@ -267,6 +269,21 @@ (define tgcalls-for-telegram-desktop
(base32
"193m2gkvipijqbfd6a8mhg9nd63wlnshzgspk3pip57vk21l709z"))))
+(define-public glibmm-for-telegram-desktop
+ (hidden-package
+ (package
+ (inherit glibmm)
+ (name "glibmm-for-telegram-desktop")
+ (version "2.76.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/glibmm/"
+ (version-major+minor version)
+ "/glibmm-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6")))))))
+
(define-public webrtc-for-telegram-desktop
(let ((commit "0532942ac6176a66ef184fb728a4cbb02958fc0b")
(revision "389"))
@@ -500,7 +517,7 @@ (define-public telegram-desktop
fcitx5-qt
ffmpeg
glib
- glibmm
+ glibmm-for-telegram-desktop
gtk+
hime
hunspell

base-commit: 2ee54513196bad8e663e78ac695b6ffa0da49051
--
2.41.0
Liliana Marie Prikler wrote 12 months ago
9a216319058f8b61f725bb09d3849bee7406248c.camel@gmail.com
Am Mittwoch, dem 13.03.2024 um 17:45 +0100 schrieb Vivien Kraus:
Toggle quote (55 lines)
> * gnu/packages/telegram.scm (glibmm-for-telegram-desktop): New
> variable.
> (telegram-desktop): Use glibmm-for-telegram-desktop instead of
> glibmm.
>
> Change-Id: I0ec4ebc549dd867db22d68ee6317d1630cf1bfd8
> ---
>
> Dear Guix,
>
> While we are waiting for the telegram-desktop update in #67493, here
> is a minimally intrusive way to keep it working on gnome-team, by
> using an older version of glibmm.
>
> Best regards,
>
> Vivien
>
>  gnu/packages/telegram.scm | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
> index 7d02824efa..16d36b2c7c 100644
> --- a/gnu/packages/telegram.scm
> +++ b/gnu/packages/telegram.scm
> @@ -74,7 +74,9 @@ (define-module (gnu packages telegram)
>    #:use-module ((guix licenses) #:prefix license:)
>    #:use-module (guix packages)
>    #:use-module (guix gexp)
> +  #:use-module (guix download)
>    #:use-module (guix git-download)
> +  #:use-module (guix utils)
>    #:use-module (guix build-system cmake)
>    #:use-module (guix build-system copy)
>    #:use-module (guix build-system glib-or-gtk)
> @@ -267,6 +269,21 @@ (define tgcalls-for-telegram-desktop
>       (base32
>        "193m2gkvipijqbfd6a8mhg9nd63wlnshzgspk3pip57vk21l709z"))))
>  
> +(define-public glibmm-for-telegram-desktop
> +  (hidden-package
> +   (package
> +     (inherit glibmm)
> +     (name "glibmm-for-telegram-desktop")
> +     (version "2.76.0")
> +     (source (origin
> +               (method url-fetch)
> +               (uri (string-append "mirror://gnome/sources/glibmm/"
> +                                   (version-major+minor version)
> +                                   "/glibmm-" version ".tar.xz"))
> +               (sha256
> +                (base32
> +                
> "1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6")))))))
> +
Canonically, inherited packages are put in the same files as the
package they inherit.

Cheers
Vivien Kraus wrote 12 months ago
[PATCH gnome-team v2 1/2] gnu: Add glibmm-2.76.
(address . 69778@debbugs.gnu.org)
eb6c6cb083b210fa57af484e609d03ab5831c9f5.1710439598.git.vivien@planete-kraus.eu
* gnu/packages/glib.scm (glibmm-2.76): New variable.

Change-Id: I6d38e7640f9362ca7b6d26611db914da74ead53d
---
gnu/packages/glib.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Toggle diff (27 lines)
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index aef2b7a941..5848ebc7aa 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -995,6 +995,20 @@ (define glibmm
useful for C++.")
(license license:lgpl2.1+)))
+(define-public glibmm-2.76
+ (package
+ (inherit glibmm)
+ (name "glibmm")
+ (version "2.76.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/glibmm/"
+ (version-major+minor version)
+ "/glibmm-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6"))))))
+
(define-public glibmm-2.66
(package
(inherit glibmm)
--
2.41.0
Vivien Kraus wrote 12 months ago
[PATCH gnome-team v2 0/2] Make the glibmm-2.76 variable public in (gnu packages glib)
(address . 69778@debbugs.gnu.org)
cover.1710439598.git.vivien@planete-kraus.eu
Dear Guix,

Telegram-desktop wants to be built with glibmm@2.76. I originally added it to
(gnu packages telegram), but in this revision, I add it to (gnu packages
glib). What do you think?

Best regards,

Vivien

Vivien Kraus (2):
gnu: Add glibmm-2.76.
gnu: telegram: Build with glibmm@2.76.

gnu/packages/glib.scm | 14 ++++++++++++++
gnu/packages/telegram.scm | 2 +-
2 files changed, 15 insertions(+), 1 deletion(-)


base-commit: 2ee54513196bad8e663e78ac695b6ffa0da49051
--
2.41.0
Vivien Kraus wrote 12 months ago
[PATCH gnome-team v2 2/2] gnu: telegram: Build with glibmm@2.76.
(address . 69778@debbugs.gnu.org)
31c2607dade59f6f03a44eac52b6351eadccc66f.1710439598.git.vivien@planete-kraus.eu
* gnu/packages/telegram.scm (telegram-desktop): Use glibmm-2.76 instead of glibmm.

Change-Id: I0ec4ebc549dd867db22d68ee6317d1630cf1bfd8
---
gnu/packages/telegram.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 7d02824efa..358374a5bb 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -500,7 +500,7 @@ (define-public telegram-desktop
fcitx5-qt
ffmpeg
glib
- glibmm
+ glibmm-2.76
gtk+
hime
hunspell
--
2.41.0
Liliana Marie Prikler wrote 12 months ago
Re: [PATCH gnome-team v2 0/2] Make the glibmm-2.76 variable public in (gnu packages glib)
994478b7ed8d7434c10fe771645201bef70339ce.camel@gmail.com
Am Donnerstag, dem 14.03.2024 um 19:06 +0100 schrieb Vivien Kraus:
Toggle quote (5 lines)
> Dear Guix,
>
> Telegram-desktop wants to be built with glibmm@2.76. I originally
> added it to (gnu packages telegram), but in this revision, I add it
> to (gnu packages glib).  What do you think?
I won't be able to build it on my machine, but assuming you tested it
LGTM.
Christopher Baines wrote 12 months ago
Re: [bug#69778] [PATCH gnome-team v2 0/2] Make the glibmm-2.76 variable public in (gnu packages glib)
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
877ci2sahu.fsf@cbaines.net
Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

Toggle quote (10 lines)
> Am Donnerstag, dem 14.03.2024 um 19:06 +0100 schrieb Vivien Kraus:
>> Dear Guix,
>>
>> Telegram-desktop wants to be built with glibmm@2.76. I originally
>> added it to (gnu packages telegram), but in this revision, I add it
>> to (gnu packages glib).  What do you think?
>
> I won't be able to build it on my machine, but assuming you tested it
> LGTM.

Thanks both, I've pushed this to gnome-team as
aa9aebce615f014070797e7068baca40b4f25c37.

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmX1fN1fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xc+Ew//ScU7x0WhXXktkr4OR3SpjEkiW8p6GGJ4
uUg5C4ln6SxxwOnAbrRitxxQ7T2djjN/afV/cLuOc1SrF+pUez12VlpGAxInwhNm
bmQNlh5zRcXecTnHI8ZMGkHc+dx1TaoYIpavtAEl9497lC1hirc2R31bW0IKkobx
OncX3q6nNbODoQzvq3Id0C8jKlBgPmQQUJPWtRbtzAmzBKmhQ31G8IVrtvMJO3xC
1rfMBNop6YCuH6rQuZYKKrz1t4F8akF1uNcjDf0QP2sEqqdeyA1yBoNspFg9hJyZ
EAn1EbqYQb6lkYFAhRblxHeipWQVqHffrHWGkZfItCbwppogsTDa45AQyQyhL0OM
04SI+abj2vXJGMNeEAu/8ATzwa2gS0p2WDURrZO0B1u4/6dHMas6xhzD0VG1clXt
k8ffcxta3IjGLo6C69/MRWECLbmN9uW3zh426PtW4FJ0KwbUYvpsdY8CoHJRh9gC
EqfqvfCThzxrEWiuK0s03KZEsnuJ15QdxU92nW369GoSEuuzsf7BrxvdgtNn/ARk
bR/w61f/wsuM0g91dMJMnJW13apsHFVgb5cpikFmzJIsFcq/mbfwVYsuXCziluaH
VGkvLvXH4QpY1g89h79sXv3tU49QHy71nCjRYD/j8OPsBSDzARePhudVm2NJQtqq
NsTPS5qph3c=
=nQ1i
-----END PGP SIGNATURE-----

Maxim Cournoyer wrote 12 months ago
Re: [bug#69778] [PATCH gnome-team] gnu: telegram: Build with glibmm@2.76.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)
87h6h5prvc.fsf@gmail.com
Hi,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

Toggle quote (59 lines)
> Am Mittwoch, dem 13.03.2024 um 17:45 +0100 schrieb Vivien Kraus:
>> * gnu/packages/telegram.scm (glibmm-for-telegram-desktop): New
>> variable.
>> (telegram-desktop): Use glibmm-for-telegram-desktop instead of
>> glibmm.
>>
>> Change-Id: I0ec4ebc549dd867db22d68ee6317d1630cf1bfd8
>> ---
>>
>> Dear Guix,
>>
>> While we are waiting for the telegram-desktop update in #67493, here
>> is a minimally intrusive way to keep it working on gnome-team, by
>> using an older version of glibmm.
>>
>> Best regards,
>>
>> Vivien
>>
>>  gnu/packages/telegram.scm | 19 ++++++++++++++++++-
>>  1 file changed, 18 insertions(+), 1 deletion(-)
>>
>> diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
>> index 7d02824efa..16d36b2c7c 100644
>> --- a/gnu/packages/telegram.scm
>> +++ b/gnu/packages/telegram.scm
>> @@ -74,7 +74,9 @@ (define-module (gnu packages telegram)
>>    #:use-module ((guix licenses) #:prefix license:)
>>    #:use-module (guix packages)
>>    #:use-module (guix gexp)
>> +  #:use-module (guix download)
>>    #:use-module (guix git-download)
>> +  #:use-module (guix utils)
>>    #:use-module (guix build-system cmake)
>>    #:use-module (guix build-system copy)
>>    #:use-module (guix build-system glib-or-gtk)
>> @@ -267,6 +269,21 @@ (define tgcalls-for-telegram-desktop
>>       (base32
>>        "193m2gkvipijqbfd6a8mhg9nd63wlnshzgspk3pip57vk21l709z"))))
>>  
>> +(define-public glibmm-for-telegram-desktop
>> +  (hidden-package
>> +   (package
>> +     (inherit glibmm)
>> +     (name "glibmm-for-telegram-desktop")
>> +     (version "2.76.0")
>> +     (source (origin
>> +               (method url-fetch)
>> +               (uri (string-append "mirror://gnome/sources/glibmm/"
>> +                                   (version-major+minor version)
>> +                                   "/glibmm-" version ".tar.xz"))
>> +               (sha256
>> +                (base32
>> +                
>> "1cia8vrpwzn8zwalws42mga5hi965840m5s8dvfzv55xx86dhdw6")))))))
>> +
> Canonically, inherited packages are put in the same files as the
> package they inherit.

Yes. That's important to avoid the dreaded circular module import
problem (info "(guix) Cyclic Module Dependencies").

--
Thanks,
Maxim
Maxim Cournoyer wrote 12 months ago
Re: [PATCH gnome-team v2 0/2] Make the glibmm-2.76 variable public in (gnu packages glib)
(name . Vivien Kraus)(address . vivien@planete-kraus.eu)
87cyrtprsv.fsf@gmail.com
Hi,

Vivien Kraus <vivien@planete-kraus.eu> writes:

Toggle quote (6 lines)
> Dear Guix,
>
> Telegram-desktop wants to be built with glibmm@2.76. I originally added it to
> (gnu packages telegram), but in this revision, I add it to (gnu packages
> glib). What do you think?

Is there an incompatibility between our latest glibmm and this version,
or is it just the build system being overly strict? If the later, it'd
be better to patch it so that it allows our current version.

--
Thanks,
Maxim
Vivien Kraus wrote 12 months ago
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
951e944cf80ed9d067ed1ecbea4b0cce3363ce95.camel@planete-kraus.eu
Hello!

Le samedi 16 mars 2024 à 21:31 -0400, Maxim Cournoyer a écrit :
Toggle quote (12 lines)
> > Telegram-desktop wants to be built with glibmm@2.76. I originally
> > added it to
> > (gnu packages telegram), but in this revision, I add it to (gnu
> > packages
> > glib).  What do you think?
>
> Is there an incompatibility between our latest glibmm and this
> version,
> or is it just the build system being overly strict?  If the later,
> it'd
> be better to patch it so that it allows our current version.

I did not choose the correct words, sorry. There is an incompatibility
between the 2.76 API and the 2.78 that we use, and this version of the
telegram package can only build against 2.76.

Best regards,

Vivien
Liliana Marie Prikler wrote 12 months ago
3660bb97335d22741c7e9b9e8508fc29a1768b63.camel@gmail.com
Am Sonntag, dem 17.03.2024 um 08:29 +0100 schrieb Vivien Kraus:
Toggle quote (15 lines)
> Hello!
>
> Le samedi 16 mars 2024 à 21:31 -0400, Maxim Cournoyer a écrit :
> > > Telegram-desktop wants to be built with glibmm@2.76. I originally
> > > added it to (gnu packages telegram), but in this revision, I add
> > > it to (gnu packages glib).  What do you think?
> >
> > Is there an incompatibility between our latest glibmm and this
> > version, or is it just the build system being overly strict?  If
> > the later, it'd be better to patch it so that it allows our current
> > version.
>
> I did not choose the correct words, sorry. There is an
> incompatibility between the 2.76 API and the 2.78 that we use, and
> this version of the telegram package can only build against 2.76.
Could you give a more detailed explanation of this API incompatibility?
The whole point of major versions would be to avoid this kind of thing,
no?
Vivien Kraus wrote 12 months ago
712e25537c1e417f780737ab3d5508127e993766.camel@planete-kraus.eu
Le dimanche 17 mars 2024 à 09:30 +0100, Liliana Marie Prikler a écrit :
Toggle quote (8 lines)
> > I did not choose the correct words, sorry. There is an
> > incompatibility between the 2.76 API and the 2.78 that we use, and
> > this version of the telegram package can only build against 2.76.
> Could you give a more detailed explanation of this API
> incompatibility?
> The whole point of major versions would be to avoid this kind of
> thing,
> no?
I don’t have much information, other than “it does not build with
glibmm 2.78”. The Github merge request for a relevant issue does not
give much information either:

Liliana Marie Prikler wrote 12 months ago
3765d971301b03c849d67597b6c000942d480b0e.camel@gmail.com
Am Donnerstag, dem 21.03.2024 um 19:25 +0100 schrieb Vivien Kraus:
Toggle quote (15 lines)
> Le dimanche 17 mars 2024 à 09:30 +0100, Liliana Marie Prikler a
> écrit :
> > > I did not choose the correct words, sorry. There is an
> > > incompatibility between the 2.76 API and the 2.78 that we use,
> > > and
> > > this version of the telegram package can only build against 2.76.
> > Could you give a more detailed explanation of this API
> > incompatibility?
> > The whole point of major versions would be to avoid this kind of
> > thing, no?
> I don’t have much information, other than “it does not build with
> glibmm 2.78”. The Github merge request for a relevant issue does not
> give much information either:
>
> https://github.com/desktop-app/lib_base/pull/186
Hmm, could we still use that patch and make it "Fix build with glibmm-
2.78"

From a cursory glance, it looks like some type signatures might have
changed, but that's a guess.
Vivien Kraus wrote 12 months ago
d8991ccd997c5c4ef1f520d7f2cc08f29c627d1c.camel@planete-kraus.eu
Le jeudi 21 mars 2024 à 19:49 +0100, Liliana Marie Prikler a écrit :
Toggle quote (7 lines)
> Hmm, could we still use that patch and make it "Fix build with
> glibmm-
> 2.78"
>
> From a cursory glance, it looks like some type signatures might have
> changed, but that's a guess.
I tried to find a combination of patches to backport, but it does not
work very well (this patch ignores other things that were changed
earlier, but that we would need to backport). It’s also not possible to
point lib_base to this exact commit, because it is too recent for other
parts of telegram.

This is not great but hopefully a full upgrade of telegram will fix
everything.
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 69778
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
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help