Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#38634 closed defect (fixed)

gtk3: post-activate should call glib-compile-schemas

Reported by: gui-dos (Guido Soranzio) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc:
Port: gtk3

Description (last modified by gui-dos (Guido Soranzio))

If you run "Pickers" from gtk3-demo the following error is reported when you try to choose a file:

GLib-GIO-ERROR **: No GSettings schemas are installed on the system

That's because the /opt/local/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml has not been compiled: calling glib-compile-schemas is needed in the post-activate stage:

post-activate {
    system "${prefix}/bin/glib-compile-schemas ${prefix}/share/glib-2.0/schemas"
}

Change History (4)

comment:1 Changed 12 years ago by gui-dos (Guido Soranzio)

Description: modified (diff)

comment:2 Changed 12 years ago by neverpanic (Clemens Lang)

Cc: cal@… removed
Keywords: gsettings removed
Resolution: fixed
Status: newclosed

Thanks. Shouldn't all ports installing a schema also run this? Maybe we should have a mechanism to add these things in a generic fashion, i.e. every port that installs a file in $prefix/share/glib-2.0/schemas should run glib-compile-schemas in a post-activate phase.

I've added it meanwhile in r104772.

comment:3 Changed 12 years ago by jmroot (Joshua Root)

Does the compilation create files that are left behind when the port is uninstalled? Could/should it be done in the destroot instead?

comment:4 in reply to:  3 Changed 12 years ago by neverpanic (Clemens Lang)

Replying to jmr@…:

Does the compilation create files that are left behind when the port is uninstalled?

I don't know.

Could/should it be done in the destroot instead?

I don't think this can be done in destroot, because it compiles all schemas into a single location. That wouldn't work in destroot.

Note: See TracTickets for help on using tickets.