See compilation error below. Note that the ruby-gnome2 bindings are already at 0.17 upstream and we intend to start working on that in the ruby overlay shortly. I'm not sure if it will be easy to fix compilation with this version of gtk+ given that a whole header file is gone (which most likely indicates a significant change in functionality). gcc -I. -I/var/tmp/portage/dev-ruby/ruby-gtk2-0.16.0-r2/work/ruby-gnome2-all-0.16.0/pango/src -I/var/tmp/portage/dev-ruby/ruby-gtk2-0.16.0-r2/work/ruby-gnome2-all-0.16.0/glib/src -I. -I/usr/lib64/ruby/1.8/x86_64-linux -I. -DHAVE_RB_DEFINE_ALLOC_FUNC -DHAVE_RB_BLOCK_PROC -DHAVE_OBJECT_ALLOCATE -DHAVE_NODE_ATTRASGN -DRUBY_GTK2_TARGET=\"x11\" -DHAVE_GTK_PLUG_GET_TYPE -DHAVE_GTK_SOCKET_GET_TYPE -DHAVE_PANGO_RENDER_PART_GET_TYPE -DHAVE_X11_XLIB_H -DHAVE_GTK_PRINT_UNIX_DIALOG_GET_TYPE -DHAVE_GTK_PRINT_JOB_GET_TYPE -DHAVE_GTK_PRINTER_GET_TYPE -DHAVE_RB_CAIRO_H -DRUBY_GTK2_COMPILATION -I/usr/lib64/ruby/site_ruby/1.8/x86_64-linux -fPIC -O2 -pipe -march=k8 -fno-strict-aliasing -fPIC -Wall -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1 -c rbgtkfilechooser.c rbgtkfilechooser.c:21:31: error: gtk/gtkfilesystem.h: No such file or directory rbgtkfilechooser.c: In function ‘Init_gtk_file_chooser’: rbgtkfilechooser.c:371: error: ‘GTK_FILE_SYSTEM_ERROR’ undeclared (first use in this function) rbgtkfilechooser.c:371: error: (Each undeclared identifier is reported only once rbgtkfilechooser.c:371: error: for each function it appears in.) rbgtkfilechooser.c:372: error: ‘GTK_FILE_SYSTEM_ERROR_NONEXISTENT’ undeclared (first use in this function) rbgtkfilechooser.c:373: error: ‘GTK_FILE_SYSTEM_ERROR_NOT_FOLDER’ undeclared (first use in this function) rbgtkfilechooser.c:374: error: ‘GTK_FILE_SYSTEM_ERROR_INVALID_URI’ undeclared (first use in this function) rbgtkfilechooser.c:375: error: ‘GTK_FILE_SYSTEM_ERROR_BAD_FILENAME’ undeclared (first use in this function) rbgtkfilechooser.c:376: error: ‘GTK_FILE_SYSTEM_ERROR_FAILED’ undeclared (first use in this function) rbgtkfilechooser.c:377: error: ‘GTK_FILE_SYSTEM_ERROR_ALREADY_EXISTS’ undeclared (first use in this function) make[1]: *** [rbgtkfilechooser.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/dev-ruby/ruby-gtk2-0.16.0-r2/work/ruby-gnome2-all-0.16.0/gtk/src' make: *** [all] Error 2
GtkFileSystem was a semi-private construct that was possible to access before mostly only so that libgnomeui can provide gnome-vfs filesystems backend for remote filesystem access. gtk+-2.14 now uses GIO for it instead and doesn't expose any specific about it - remote filesystem access is provided by gnome-base/gvfs (and any possible later separate packages that might show up in the future that provide gio filesystem modules) in a cleaner way. User just installs gvfs with chosen vfs support (exposed via USE flags) and that remote vfs support gets added to the GIO built-in local filesystem support. Basically, don't wrap GtkFilesystem at all, never should have.
Removing the wrapping of GtkFileSystem seems to work well. It is not used anywhere else in the bindings. I guess this may break some apps using the bindings that rely on this, but based on the comments they should not have been using this in the first place.
Created attachment 166656 [details, diff] Proposed patch to fix this problem.
I highly doubt anyone has ever implemented VFS modules in ruby
Fixed as ruby-gtk2-0.16.0-r4 in CVS.