Subject: Re: [bug#77735] [PATCH] gnu: flatpak: Fix "No GSettings schemas are installed on the system".

From: Rostislav Svoboda <[email-masked]>
Date: Wed, 16 Apr 2025 18:59:10 +0200

Hello Ludo

> > +  (let ((release "1.16.0")
> > +        (revision "1"))
> > +    (package
> > +      (name "flatpak")
> > +      (version (string-append release "-" revision))
>
> That’s not something we do; just keep the ‘version’ field unchanged.

I've seen some examples like:

```
$ sed -n "5695,5725p" gnu/packages/maths.scm
(define-public muparser
  ;; When switching download sites, muparser re-issued a 2.2.5 release with a
  ;; different hash. In order to make `guix package --upgrade` work correctly,
  ;; we set a Guix packaging revision.
  ;; When the next version of muparser is released, we can remove
  ;; UPSTREAM-VERSION and REVISION and use the plain VERSION.
  (let ((upstream-version "2.2.5")
        (revision "2"))
    (package
      (name "muparser")
      (version (string-append upstream-version "-" revision))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/beltoforion/muparser")
               (commit (string-append "v" upstream-version))))
         (file-name (git-file-name name version))
         (sha256
          (base32 "0f0g4995xngf1pp3zr4p6ai2f8v6f8bxwa0k8ayjjiv1l8h44m24"))))
      (build-system gnu-build-system)
      (arguments
       `(#:configure-flags '("--enable-samples=no")
         #:tests? #f)) ;no "check" target
      (home-page "http://muparser.beltoforion.de/")
      (synopsis "Fast parser library for mathematical expressions")
      (description
       "muParser is an extensible high performance math parser library.  It is
based on transforming an expression into a bytecode and precalculating constant
parts of it.")
      (license license:expat))))
```

Run `rg --type=lisp --before-context=5 --after-context=2
'version.*string-append.*revision'` to get some more.

(But if you insist then I changed that - see attachment)

> > +            (add-after 'install 'wrap-flatpak
> > +              (lambda* (#:key inputs #:allow-other-keys)
> > +                (let ((flatpak (string-append #$output "/bin/flatpak"))
> > +                      (glib-networking (assoc-ref inputs "glib-networking")))
> > +                  (wrap-program flatpak
> > +                    ;; Prevent error:
> > +                    ;; "No GSettings schemas are installed on the system"
> > +                    `("GSETTINGS_SCHEMA_DIR" =
>
> Should it be ‘prefix’ instead of ‘=’?

I found plenty of examples using '='. E.g.:

```
gnu/packages/containers.scm
682:              (wrap-program (string-append #$output "/bin/buildah")
683-                `("CONTAINERS_HELPER_BINARY_DIR" =
684-                  (,(string-append #$output "/_guix")))

gnu/packages/sawfish.scm
157:                  (wrap-program (string-append out script)
158-                    `("REP_DL_LOAD_PATH" =
159-                      ,(list (getenv "REP_DL_LOAD_PATH")
```

Run `rg --type=lisp --after-context=2 '\(wrap-program'` get some more.

Cheers
Bost