Subject: Re: [bug#49123] [PATCH 24/24] gnu: Add mirage.

From: Maxime Devos <[email-masked]>
Date: Mon, 21 Jun 2021 18:10:23 +0200

slg via Guix-patches via schreef op za 19-06-2021 om 22:07 [-0300]:
> * gnu/packages/messaging.scm (mirage): New variable.
> ---
>  gnu/packages/messaging.scm | 96 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 96 insertions(+)
> 
> diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
> index fe678d89fd..a8cdd90f57 100644
> --- a/gnu/packages/messaging.scm
> +++ b/gnu/packages/messaging.scm
> @@ -2997,4 +2997,100 @@ API.  Mattermost is not required.")
>      (home-page "https://github.com/42wim/matterbridge")
>      (license license:asl2.0)))
>  
> +(define-public mirage
> +  (package
> +    ;; (inherit qtsvg)
> +    (name "mirage")
> +    (version "0.7.1")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/mirukana/mirage")
> +                    (commit (string-append "v" version))
> +                    (recursive? #t)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "0j7gdg2z8yg3qvwg9d9fa3i4ig231qda48p00s5gk8bc3c65vsll"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("python" ,python-wrapper)))
> +    (propagated-inputs [ plenty of inputs ])

If possible, try to move some of these to 'inputs'.
Of course, mirage still needs to find all these python
libraries, so you may need to add a post-install phase
(after/before qt-wrap shouldn't mattr) doing appropriate
‘wrap-program' calls -- yes, an already wrapped program
can be wrapped again. I think. I'd presume the effects are
cumulative, not sure though.

Why? Keeping ‘propagated-inputs’ minimal reduces profile
pollution, so the profile contains less, so generating the
profile takes less time. This also reduces the chance
of version conflicts. (E.g., guile and stalin cannot be
installed in the same profile because they propagate
different versions of libgc.)

Greetings,
Maxime.