unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Attila Lendvai <attila@lendvai.name>
To: "58191@debbugs.gnu.org" <58191@debbugs.gnu.org>
Subject: bug#58191: missing substitute for @gschemasCompiled@ ?
Date: Fri, 30 Sep 2022 10:17:11 +0000	[thread overview]
Message-ID: <SAkH75vqaIWT6sBwnZsJFnOzKtTLFllxP3viMnp3njfcSWeoo7rgoXfJKM5GXSALAbe29smCVwh9wIfzX8CigbWmUgHzxudrkdB6zecJGIg=@lendvai.name> (raw)
In-Reply-To: <UUiMKFIwci-EssCkr-xMYQ9eEh60S_C--q4SKEXN39_v3TZbDImjUqYO5h5ozidMv0SDdRvIWWAFnTsec58RaO3l_vFP-903tTEzA0Ho60Y=@lendvai.name>

i'm attaching my current WIP diff while i was trying to debug this.

note that in my original submission there was a substitute for @gschemasCompiled@ (https://issues.guix.gnu.org/53072), but it did not reach master when it got pushed (https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/packages/gnome-xyz.scm?id=a485e1e663060e8c62103d81dfffec591f624360).

i'm not sure whether it's important. it shouldn't be, because gpaste used to work for me right until a recent reconfigure... but i thought that i point it out. if that substitute was intentionally left out, then it may warrant a comment on why, because the package's .patch file (inherited from NixOS) adds the marker (https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/gpaste-fix-paths.patch).

i tried to reinstate the substitute, as you can see below, but it does not fix the new crash. i added some asserts, even sure-to-fail ones, and that code path seems not yet reached when the sigsegv already happens.

i'm out of ideas, and certainly out of my glib knowledge.

----

2 files changed, 11 insertions(+), 5 deletions(-)
gnu/packages/gnome-xyz.scm                  | 12 ++++++++----
gnu/packages/patches/gpaste-fix-paths.patch |  4 +++-

modified   gnu/packages/gnome-xyz.scm
@@ -819,7 +819,7 @@ (define-public gnome-shell-extension-paperwm
 (define-public gpaste
   (package
     (name "gpaste")
-    (version "42.1")
+    (version "42.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -828,12 +828,13 @@ (define-public gpaste
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1dlqa69zvzzdxyh21qfrx2nhpfy0fbihxpgkxqmramcgv3h5k4q3"))
+                "0qq2p19p3r3lz8yfynpnf36cipv54bzdbmq1x5zgwhyl4yl41g28"))
               (patches
                (search-patches "gpaste-fix-paths.patch"))))
     (build-system meson-build-system)
     (native-inputs
-     (list gettext-minimal
+     (list gcr
+           gettext-minimal
            gobject-introspection
            (list glib "bin")            ; for glib-compile-resources
            pkg-config
@@ -862,7 +863,10 @@ (define-public gpaste
                    (substitute* '("src/gnome-shell/extension.js"
                                   "src/gnome-shell/prefs.js")
                      (("@typelibPath@")
-                      (string-append #$output "/lib/girepository-1.0/"))))))))
+                      (string-append #$output "/lib/girepository-1.0/")))
+                   (substitute* '("src/libgpaste/gpaste/gpaste-settings.c")
+                     (("@gschemasCompiled@")
+                      (string-append #$output "/share/glib-2.0/schemas/"))))))))
     (home-page "https://github.com/Keruspe/GPaste")
     (synopsis "Clipboard management system for GNOME Shell")
     (description "GPaste is a clipboard manager, a tool which allows you to
modified   gnu/packages/patches/gpaste-fix-paths.patch
@@ -30,14 +30,16 @@ diff --git a/src/libgpaste/gpaste/gpaste-settings.c b/src/libgpaste/gpaste/gpast
 index 7e53eb64..57c399fc 100644
 --- a/src/libgpaste/gpaste/gpaste-settings.c
 +++ b/src/libgpaste/gpaste/gpaste-settings.c
-@@ -1013,7 +1013,11 @@ create_g_settings (void)
+@@ -1013,7 +1013,13 @@ create_g_settings (void)
      }
      else
      {
 -        return g_settings_new (G_PASTE_SETTINGS_NAME);
 +        // library used by introspection requires schemas but we cannot set XDG_DATA_DIRS for the library
 +        GSettingsSchemaSource *schema_source = g_settings_schema_source_new_from_directory ("@gschemasCompiled@", NULL, FALSE, NULL);
++        g_assert (schema_source);
 +        g_autoptr (GSettingsSchema) schema = g_settings_schema_source_lookup (schema_source, G_PASTE_SETTINGS_NAME, FALSE);
++        g_assert (schema);
 +        g_settings_schema_source_unref (schema_source);
 +        return g_settings_new_full (schema, NULL, NULL);
      }





  reply	other threads:[~2022-09-30 10:18 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-30  8:57 bug#58191: gpaste-client --version dies with a sigsegv Attila Lendvai
2022-09-30 10:17 ` Attila Lendvai [this message]
2022-12-06 17:48 ` bug#58191: (No Subject) Attila Lendvai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='SAkH75vqaIWT6sBwnZsJFnOzKtTLFllxP3viMnp3njfcSWeoo7rgoXfJKM5GXSALAbe29smCVwh9wIfzX8CigbWmUgHzxudrkdB6zecJGIg=@lendvai.name' \
    --to=attila@lendvai.name \
    --cc=58191@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).