--- a/components/desktop/os-welcome/Makefile Mon Oct 10 10:57:41 2016 -0700
+++ b/components/desktop/os-welcome/Makefile Mon Oct 10 13:26:21 2016 -0700
@@ -46,6 +46,8 @@
REQUIRED_PACKAGES += file/gnu-coreutils
REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
+REQUIRED_PACKAGES += library/desktop/gobject/gobject-introspection
+REQUIRED_PACKAGES += library/desktop/gtk3
REQUIRED_PACKAGES += library/python/pygobject-3-27
REQUIRED_PACKAGES += runtime/python-27
REQUIRED_PACKAGES += shell/ksh93
--- a/components/desktop/os-welcome/os-welcome.p5m Mon Oct 10 10:57:41 2016 -0700
+++ b/components/desktop/os-welcome/os-welcome.p5m Mon Oct 10 13:26:21 2016 -0700
@@ -101,6 +101,17 @@
# called in os-icons-copy.sh
depend type=require fmri=__TBD pkg.debug.depend.file=usr/bin/stat
# pkgdepend doesn't know that importing gi requires the gobject-introspection
-# data files, so we have to list the ones not in pygobject-3-* manually
-depend type=require fmri=__TBD \
- pkg.debug.depend.file=usr/lib/girepository-1.0/GdkPixbuf-2.0.typelib
+# data files (RFE 24463417), so we have to list them manually
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=GObject-2.0 \
+ pkg.debug.depend.reason=usr/bin/os-about \
+ pkg.debug.depend.reason=usr/bin/os-next-steps
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=Gdk-3.0 \
+ pkg.debug.depend.reason=usr/bin/os-about \
+ pkg.debug.depend.reason=usr/bin/os-next-steps
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=Gtk-3.0 \
+ pkg.debug.depend.reason=usr/bin/os-about \
+ pkg.debug.depend.reason=usr/bin/os-next-steps
+depend type=require fmri=__TBD pkg.debug.depend.reason=usr/bin/os-next-steps \
+ pkg.tmp.gi-typelib=GdkPixbuf-2.0
+depend type=require fmri=__TBD pkg.debug.depend.reason=usr/bin/os-next-steps \
+ pkg.tmp.gi-typelib=Gio-2.0
--- a/components/gnome/caribou/Makefile Mon Oct 10 10:57:41 2016 -0700
+++ b/components/gnome/caribou/Makefile Mon Oct 10 13:26:21 2016 -0700
@@ -59,11 +59,15 @@
CONFIGURE_OPTIONS += --with-pic
CONFIGURE_OPTIONS += --libexecdir=$(USRLIBDIR)
+PKG_MACROS += PYVER="$(PYTHON_VERSION)"
+
REQUIRED_PACKAGES += developer/vala
REQUIRED_PACKAGES += gnome/gsettings-desktop-schemas
REQUIRED_PACKAGES += library/desktop/at-spi2-atk
REQUIRED_PACKAGES += library/desktop/at-spi2-core
REQUIRED_PACKAGES += library/desktop/atk
+REQUIRED_PACKAGES += library/desktop/clutter
+REQUIRED_PACKAGES += library/desktop/gobject/gobject-introspection
REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
REQUIRED_PACKAGES += library/desktop/gtk2
REQUIRED_PACKAGES += library/desktop/gtk3
@@ -71,6 +75,7 @@
REQUIRED_PACKAGES += library/desktop/libxklavier
REQUIRED_PACKAGES += library/glib2
REQUIRED_PACKAGES += library/libxml2
+REQUIRED_PACKAGES += library/python/pygobject-3-27
REQUIRED_PACKAGES += runtime/python-27
REQUIRED_PACKAGES += x11/library/libx11
REQUIRED_PACKAGES += x11/library/libxtst
--- a/components/gnome/caribou/caribou.p5m Mon Oct 10 10:57:41 2016 -0700
+++ b/components/gnome/caribou/caribou.p5m Mon Oct 10 13:26:21 2016 -0700
@@ -151,5 +151,32 @@
file path=usr/share/vala/vapi/caribou-1.0.deps
file path=usr/share/vala/vapi/caribou-1.0.vapi
license COPYING license=LGPLv2.1
+depend type=require fmri=__TBD pkg.debug.depend.file=gi/repository/__init__.py \
+ pkg.debug.depend.path=usr/lib/python$(PYVER)/vendor-packages
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=GObject-2.0 \
+ pkg.debug.depend.reason=caribou/antler/keyboard_view.py \
+ pkg.debug.depend.reason=caribou/antler/main.py \
+ pkg.debug.depend.reason=caribou/antler/window.py \
+ pkg.debug.depend.reason=caribou/settings/preferences_window.py \
+ pkg.debug.depend.reason=caribou/settings/setting_types.py
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=Gtk-3.0 \
+ pkg.debug.depend.reason=caribou/antler/keyboard_view.py \
+ pkg.debug.depend.reason=caribou/antler/main.py \
+ pkg.debug.depend.reason=caribou/antler/window.py \
+ pkg.debug.depend.reason=caribou/settings/preferences_window.py
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=GLib-2.0 \
+ pkg.debug.depend.reason=caribou/antler/keyboard_view.py \
+ pkg.debug.depend.reason=caribou/antler/main.py \
+ pkg.debug.depend.reason=caribou/settings/setting_types.py
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=Gdk-3.0 \
+ pkg.debug.depend.reason=caribou/antler/keyboard_view.py \
+ pkg.debug.depend.reason=caribou/antler/window.py \
+ pkg.debug.depend.reason=caribou/settings/preferences_window.py
+depend type=require fmri=__TBD \
+ pkg.debug.depend.reason=caribou/antler/window.py \
+ pkg.tmp.gi-typelib=Clutter-1.0
+depend type=require fmri=__TBD \
+ pkg.debug.depend.reason=caribou/settings/settings_manager.py \
+ pkg.tmp.gi-typelib=Gio-2.0
depend type=require fmri=__TBD pkg.debug.depend.reason=libcaribou/scanner.c \
pkg.tmp.gsettings-schema=org.gnome.caribou
--- a/components/gnome/sushi/Makefile Mon Oct 10 10:57:41 2016 -0700
+++ b/components/gnome/sushi/Makefile Mon Oct 10 13:26:21 2016 -0700
@@ -75,6 +75,7 @@
REQUIRED_PACKAGES += library/desktop/gtk3
REQUIRED_PACKAGES += library/desktop/gtksourceview3
REQUIRED_PACKAGES += library/desktop/pango
+REQUIRED_PACKAGES += library/desktop/webkitgtk4
REQUIRED_PACKAGES += library/glib2
REQUIRED_PACKAGES += system/library/freetype-2
REQUIRED_PACKAGES += x11/library/libx11
--- a/components/gnome/sushi/sushi.p5m Mon Oct 10 10:57:41 2016 -0700
+++ b/components/gnome/sushi/sushi.p5m Mon Oct 10 13:26:21 2016 -0700
@@ -126,3 +126,86 @@
file path=usr/share/sushi/js/viewers/image.js
file path=usr/share/sushi/js/viewers/text.js
license COPYING license=GPLv2+exceptions
+depend type=require fmri=__TBD \
+ pkg.debug.depend.path=usr/lib/$(MACH64)/sushi/girepository-1.0 \
+ pkg.tmp.gi-typelib=Sushi-1.0 \
+ pkg.debug.depend.reason=src/js/ui/fallbackRenderer.js \
+ pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.debug.depend.reason=src/js/viewers/audio.js \
+ pkg.debug.depend.reason=src/js/viewers/evince.js \
+ pkg.debug.depend.reason=src/js/viewers/font.js \
+ pkg.debug.depend.reason=src/js/viewers/html.js \
+ pkg.debug.depend.reason=src/js/viewers/text.js
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=Gio-2.0 \
+ pkg.debug.depend.reason=src/js/ui/application.js \
+ pkg.debug.depend.reason=src/js/ui/fallbackRenderer.js \
+ pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.debug.depend.reason=src/js/ui/mimeHandler.js \
+ pkg.debug.depend.reason=src/js/viewers/audio.js \
+ pkg.debug.depend.reason=src/js/viewers/text.js
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=Gtk-3.0 \
+ pkg.debug.depend.reason=src/js/ui/application.js \
+ pkg.debug.depend.reason=src/js/ui/fallbackRenderer.js \
+ pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.debug.depend.reason=src/js/ui/spinnerBox.js \
+ pkg.debug.depend.reason=src/js/ui/utils.js \
+ pkg.debug.depend.reason=src/js/viewers/audio.js \
+ pkg.debug.depend.reason=src/js/viewers/evince.js \
+ pkg.debug.depend.reason=src/js/viewers/font.js \
+ pkg.debug.depend.reason=src/js/viewers/gst.js \
+ pkg.debug.depend.reason=src/js/viewers/html.js \
+ pkg.debug.depend.reason=src/js/viewers/image.js \
+ pkg.debug.depend.reason=src/js/viewers/text.js
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=GLib-2.0 \
+ pkg.debug.depend.reason=src/js/ui/application.js \
+ pkg.debug.depend.reason=src/js/ui/main.js \
+ pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.debug.depend.reason=src/js/viewers/font.js \
+ pkg.debug.depend.reason=src/js/viewers/html.js \
+ pkg.debug.depend.reason=src/js/viewers/image.js \
+ pkg.debug.depend.reason=src/js/viewers/text.js
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=Gdk-3.0 \
+ pkg.debug.depend.reason=src/js/ui/application.js \
+ pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.debug.depend.reason=src/js/ui/utils.js \
+ pkg.debug.depend.reason=src/js/viewers/gst.js \
+ pkg.debug.depend.reason=src/js/viewers/text.js
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=GtkClutter-1.0 \
+ pkg.debug.depend.reason=src/js/ui/fallbackRenderer.js \
+ pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.debug.depend.reason=src/js/ui/spinnerBox.js \
+ pkg.debug.depend.reason=src/js/viewers/audio.js \
+ pkg.debug.depend.reason=src/js/viewers/evince.js \
+ pkg.debug.depend.reason=src/js/viewers/font.js \
+ pkg.debug.depend.reason=src/js/viewers/gst.js \
+ pkg.debug.depend.reason=src/js/viewers/html.js \
+ pkg.debug.depend.reason=src/js/viewers/image.js \
+ pkg.debug.depend.reason=src/js/viewers/text.js
+depend type=require fmri=__TBD pkg.tmp.gi-typelib=Clutter-1.0 \
+ pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.debug.depend.reason=src/js/ui/tweener.js \
+ pkg.debug.depend.reason=src/js/viewers/gst.js
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.tmp.gi-typelib=ClutterGdk-1.0
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.tmp.gi-typelib=GdkX11-3.0
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/js/ui/mainWindow.js \
+ pkg.tmp.gi-typelib=Pango-1.0
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/js/viewers/audio.js \
+ pkg.tmp.gi-typelib=Gst-1.0
+depend type=require fmri=__TBD \
+ pkg.debug.depend.reason=src/js/viewers/evince.js \
+ pkg.tmp.gi-typelib=EvinceDocument-3.0
+depend type=require fmri=__TBD \
+ pkg.debug.depend.reason=src/js/viewers/evince.js \
+ pkg.tmp.gi-typelib=EvinceView-3.0
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/js/viewers/gst.js \
+ pkg.tmp.gi-typelib=ClutterGst-2.0
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/js/viewers/gst.js \
+ pkg.tmp.gi-typelib=GObject-2.0
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/js/viewers/html.js \
+ pkg.tmp.gi-typelib=WebKit2-4.0
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/js/viewers/image.js \
+ pkg.tmp.gi-typelib=GdkPixbuf-2.0
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/js/viewers/text.js \
+ pkg.tmp.gi-typelib=GtkSource-3.0
--- a/transforms/depends Mon Oct 10 10:57:41 2016 -0700
+++ b/transforms/depends Mon Oct 10 13:26:21 2016 -0700
@@ -25,10 +25,13 @@
#
# Dependency helpers for things pkgdepend(1) doesn't or can't handle
+# These may be eventually replaced if/when the listed RFE's to handle
+# them directly in pkgdepend are implemented.
#
#
# gsettings schema files
+# Bug 24416519 - pkgdepend could look for gsettings schema dependencies
#
# Finding these requires looking in source code for calls such as:
# g_settings_new ("org.gnome.desktop.interface");
@@ -45,3 +48,36 @@
delete pkg.tmp.gsettings-schema .*>
<transform depend fmri=__TBD pkg.debug.depend.file=.*\.gschema\.xml$ -> \
add pkg.debug.depend.path usr/share/glib-2.0/schemas>
+
+#
+# gobject-introspection typelib files
+# Bug 24463417 - pkgdepend could look for pygobject dependencies
+# Bug 24463542 - pkgdepend could look for girepository dependencies
+#
+# These are used as binding layers between the C libraries and other languages
+# such as Python and JavaScript.
+#
+# In python:
+# gi.require_version('Gtk', '3.0')
+# from gi.repository import Gtk
+# In javascript:
+# imports.gi.versions.Gtk = '3.0';
+# const Gtk = imports.gi.Gtk;
+#
+# When found, add an entry such as:
+# depend type=require fmri=__TBD pkg.tmp.gi-typelib=Gtk-3.0
+# If no version is specified for the import, the latest version should be used.
+#
+# You may also include pkg.debug.depend.reason=source-file.py as a reference
+# for future updates to record what source file you found the call in.
+#
+# If you need to search application-specific directories for them, you can add
+# an additional pkg.debug.depend.path attribute for each directory.
+#
+
+<transform depend fmri=__TBD pkg.tmp.gi-typelib=(.*) -> \
+ default pkg.debug.depend.file %<1>.typelib>
+<transform depend fmri=__TBD pkg.debug.depend.file=.*\.typelib$ -> \
+ delete pkg.tmp.gi-typelib .*>
+<transform depend fmri=__TBD pkg.debug.depend.file=.*\.typelib$ -> \
+ add pkg.debug.depend.path usr/lib/$(MACH64)/girepository-1.0>