Subject: [bug#71897] [PATCH 3/5] gnu: Add cppgir-for-telegram-desktop.

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 08 Jul 2024 22:25:08 -0400

Hi Dan,

dan <[email-masked]> writes:

> * gnu/packages/telegram.scm (cppgir-for-telegram-desktop): New variable.
>
> Change-Id: I4bb37f9ebc6cfd711ad83f29cd95bc72c0d3bf45
> ---
>  gnu/packages/telegram.scm | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
> index 358374a5bb..26ab27293f 100644
> --- a/gnu/packages/telegram.scm
> +++ b/gnu/packages/telegram.scm
> @@ -400,6 +400,35 @@ (define cld3-for-telegram-desktop
>      (base32
>       "0ayrrhfdwrf4260h9fsirkhhfrcvc3qqnh6h9wj3ixij2lq0wwqb"))))
>  
> +(define cppgir-for-telegram-desktop
> +  (let ((commit "9c4f5820d94d62ab451501f016bfea97156518f4")
> +        (revision "0"))
> +    (package
> +      (name "cppgir-for-telegram-desktop")
> +      (version (git-version "2.0" revision commit))
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri
> +          (git-reference
> +           (url "https://gitlab.com/mnauw/cppgir")
> +           (commit commit)))
> +         (file-name (git-file-name name version))
> +         (sha256
> +          (base32 "1fa9nf4yljfarihaqj5kd98yysrky7q316mh6l5b1rq39ga15k9b"))))
> +      (build-system cmake-build-system)
> +      (arguments
> +       (list
> +        #:configure-flags
> +        #~(list "-DINTERNAL_EXPECTED=OFF")))
> +      (inputs (list boost fmt expected-lite))
> +      (home-page "https://gitlab.com/mnauw/cppgir")
> +      (synopsis "GObject introspection C++ binding wrapper generator")
> +      (description "cppgir processes .gir files derived from GObject
> +introspection annotations into a set of C++ files defining suitable
> +namespaces, classes and other types that together form a C++ binding.")
> +      (license license:expat))))

That'd be reasonable as a new package if it was very tightly developed
with telegram, but it doesn't seem to be the case.  I'd prefer having it
in (gnu packages glib).

What is the "compilation error" you had mentioned when using version
2.0?  Does the cppgir release fails to compile itself, or is it
telegram that then doesn't build using that one?

If the later, I'd define, in (gnu packages glib)

--8<---------------cut here---------------start------------->8---
(define-public cppgir
 [...]
 "original package at version 2.0")

(define-public cppgir-for-telegram-desktop
 (package
  (inherit cppgir)
  (source ... (using latest or telegram-specific (?) commit))))
--8<---------------cut here---------------end--------------->8---

Sorry for the back and forth, we're narrowing down on the perfect
submission; keep it up.  Don't forget to use -v5 for your next patches
submission :-), and ensure 'guix lint' is happy with all the packages.

Thank you for your efforts!  Keep it up.

-- 
Maxim