I recently encountered crashes when trying to open a FileChooserDialog on Windows with a program build against the "pygi-aio-3.14.0_rev13-setup". The message was:
(pythonw.exe:2448): GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' does not contain a key named 'sort-directories-first'
(https://github.com/tobias47n9e/innsbruck-stereographic/issues/1)
The solution was to run this under Windows:
gnome> glib-compile-schemas share\glib-2.0\schemas
It was suggested to me, that someone might have missed recompiling these schemas before releasing this package.
Both the 32-bit and 64-bit schemas seam to be uncompiled.
I mistakenly also posted this here:
https://bugzilla.gnome.org/show_bug.cgi?id=746854pygi-aio-3.14.0_rev13-setup
This supposedly fixed long time ago, setup.exe responsible for several post-install tasks including schemas compiling. Because some package bring it's own schemas.May I know how you install it?
The problem is probably that I am not installing the pygi-bundle, but unzipping it, and copying the dependencies into the build directory.
I could fix the problem by installing my program on Windows, compiling the schemas, and copying the schemas back into the build directory, and then repackaging the software.
If the schemas were already compiled in the bundle, that would make packaging a little easier.
Is there anything that would prevent the schemas from being shipped pre-compiled?
You could download my program (https://github.com/tobias47n9e/innsbruck-stereographic/releases) to see the changes I made to the "glib-2.0/schemas"-folder
Diff:
I said before, some package bring its own schemas, gnome-desktop-schemas even contain linux specific settings which confuse win32. And then back when the installer have two gtk3, gtk 3.8 and gtk 3.14 have different schemas. I used to bring compiled schemas but because of above I had to do it post-install. So NO. I will mark this as invalid.
For your info setup also do file renaming at post-install . On the other hand it should be trivial for you to do schemas compiling on your packaging process.
Ok. The important thing is, that the people using pynsist, can look at this bug report, and see what they have to do, to fix the FileChooserDialog. And the compilations can be done very quickly, if you know about the issue.
BTW does binary schemas a neutral format (like zip)? At least under windows I can confirm that it is CPU neutral
I think the GVariant database format is OS and architecture neutral, but the only information I can find about it is the C code to access it, which I'm not really enthusiastic about reading.
I've opened this issue for continuing discussion as we try to work this out: https://github.com/takluyver/pynsist/issues/43
I thought so, anyhow I could bring again precompiled that will works with typical gtk apps, but it should not be relied on beyond that.
Oh, I think I follow now. Those XML files come from different optional components, so you can only create the compiled file when you know which components you're using.
I'm more optimistic now that calling glib-compile-schemas on Linux might work. Tobias, do you have time to test that? If it works, we can do it in the extract script.