After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 584936 - Split parts of Gio-2.0 into Gio-unix-2.0
Split parts of Gio-2.0 into Gio-unix-2.0
Status: RESOLVED OBSOLETE
Product: gobject-introspection
Classification: Platform
Component: general
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: gobject-introspection Maintainer(s)
gobject-introspection Maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2009-06-05 15:51 UTC by David Zeuthen (not reading bugmail)
Modified: 2018-02-08 11:50 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Zeuthen (not reading bugmail) 2009-06-05 15:51:16 UTC
As mentioned in bug 584517 comment 3 we have things in GIO-2.0 that are UNIX specific. We need to split that out.
Comment 1 David Zeuthen (not reading bugmail) 2009-06-05 15:52:54 UTC
(rename bug)
Comment 2 Colin Walters 2009-06-09 20:10:18 UTC
Hm, I think the conclusion on this earlier was that on posix platforms, we include the unix stuff inside the main Gio.gir.  On Windows, it would not be present.  

This is related to how we're handling the different GTK+ backends.  Basically you have to pick one.

Do you see a problem with that approach?
Comment 3 David Zeuthen (not reading bugmail) 2009-06-09 20:31:16 UTC
I'm not sure how this is related to GTK+. I mean, there's unfortunately no libgtk-2.0.so, there's only libgtk-x11-2.0.so, libgtk-wayland-2.0.so, etc. Personally I think it would be much nicer if GTK+ was set up like GIO is set up; e.g. backend/platform specific libraries/pkg-config files. But that's not how things work and it's probably not going to be fixed for GTK 3.0 (and even if it was possible to fix, I'm not convinced it would be worth the effort.)

Anyway, the problem with this approach is that you don't get any warnings if you use e.g. Unix specific stuff - instead you get runtime errors (for e.g. Javascript) if you try to run your program on e.g. Win32 or OS X.

I really don't think this is an approach we should encourage. It's much better that people have to actively do something to use platform/OS specific interfaces. Let me turn the tables around: do you see a problem with splitting Gio-2.0 into Gio-unix-2.0?

(Disclaimer: I wasn't involved in earlier discussions so I might be missing something essential here.)
Comment 4 Colin Walters 2009-06-09 21:49:25 UTC
GioUnix stuff should work on OS X right?  Well, except for GDesktopAppInfo which is really freedesktop.org, not Unix.

Compiled languages referencing GioUnix classes will fail on Windows because the relevant functions will be missing from the GIR.

For dynamic languages like JavaScript, you *only* have runtime errors.  All you'd be changing is that it would fail at "const GioUnix = imports.gi.GioUnix"; instead of later in the program where it tries to use the unix APIs.  I guess there is a possible corner case here if you only try to use a Unix API in an unusual/error code path, but still.

Now maybe a better argument is that by writing GioUnix, you know it's Unix specific.  On the other hand, 3/4 classes have Unix in their name, so that basically leaves GDesktopAppInfo.

I am vaguely recalling here the Jürg wanted it this way.  Adding him CC in the hope I'm remembering correctly and he can weigh in.  Also because I get to type an umlaut.
Comment 5 André Klapper 2015-02-07 17:18:36 UTC
[Mass-moving gobject-introspection tickets to its own Bugzilla product - see bug 708029. Mass-filter your bugmail for this message: introspection20150207 ]
Comment 6 GNOME Infrastructure Team 2018-02-08 11:50:30 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gobject-introspection/issues/19.