Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
Index: radix-1.9/X11/app/gnome-calculator/44.0/Makefile
===================================================================
--- radix-1.9/X11/app/gnome-calculator/44.0/Makefile	(revision 124)
+++ radix-1.9/X11/app/gnome-calculator/44.0/Makefile	(revision 125)
@@ -56,6 +56,8 @@
 SOURCE_REQUIRES    = sources/GNOME/apps/gnome-calculator
 
 REQUIRES           = X11/libs/gtk4/4.11.2
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += X11/libs/libadwaita/1.3.2
 REQUIRES          += X11/libs/gtksourceview/5.8.0
 REQUIRES          += libs/libsoup3/3.4.2
@@ -178,7 +180,7 @@
 endif
 
 
-extra_configure_switches += -Ddisable-introspection=true
+extra_configure_switches += -Ddisable-introspection=false
 extra_configure_switches += -Ddisable-ui=false
 extra_configure_switches += -Ddevelopment=false
 extra_configure_switches += -Dui-tests=false
@@ -187,6 +189,12 @@
 extra_configure_switches += -Ddoc=true
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 VALAC_FLAGS = --vapidir=$(TARGET_DEST_DIR)/usr/share/vala/vapi --disable-warnings
 
 CFLAGS += -Wno-maybe-uninitialized
@@ -232,7 +240,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -254,7 +263,10 @@
 	@( cd $(build_dir) ; \
 	   sed -i 's,^\( command = valac\) \(\$$ARGS \$$in\),\1 $(VALAC_FLAGS) \2,' build.ninja ; \
 	 )
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/dev/glade/3.40.0/Makefile
===================================================================
--- radix-1.9/X11/dev/glade/3.40.0/Makefile	(revision 124)
+++ radix-1.9/X11/dev/glade/3.40.0/Makefile	(revision 125)
@@ -173,7 +173,7 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=false
+extra_configure_switches += -Dintrospection=true
 
 extra_configure_switches += -Dgladeui=true
 extra_configure_switches += -Dpython=enabled
@@ -254,7 +254,10 @@
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/at-spi2-core/2.47.1/Makefile
===================================================================
--- radix-1.9/X11/libs/at-spi2-core/2.47.1/Makefile	(revision 124)
+++ radix-1.9/X11/libs/at-spi2-core/2.47.1/Makefile	(revision 125)
@@ -57,6 +57,7 @@
 
 REQUIRES           = app/dbus/1.13.18
 REQUIRES          += libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 REQUIRES          += libs/libxml2/2.11.4
 REQUIRES          += X11/X.org/lib/libXtst/1.2.4
 
@@ -179,10 +180,16 @@
 extra_configure_switches += -Dsystemd_user_dir="/usr/share/systemd/user"
 extra_configure_switches += -Dx11=enabled
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 extra_configure_switches += -Ddocs=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
 
 CFLAGS  += -Wno-maybe-uninitialized
@@ -227,7 +234,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -245,7 +253,10 @@
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/gcr/4.1.0/Makefile
===================================================================
--- radix-1.9/X11/libs/gcr/4.1.0/Makefile	(revision 124)
+++ radix-1.9/X11/libs/gcr/4.1.0/Makefile	(revision 125)
@@ -56,6 +56,8 @@
 SOURCE_REQUIRES    = sources/GNOME/core/gcr
 
 REQUIRES           = X11/libs/gtk4/4.11.2
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += libs/libsecret/0.20.4
 REQUIRES          += net/libgcrypt/1.10.1
 REQUIRES          += net/p11-kit/0.23.22
@@ -175,8 +177,8 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=false
-extra_configure_switches += -Dvapi=false
+extra_configure_switches += -Dintrospection=true
+extra_configure_switches += -Dvapi=true
 extra_configure_switches += -Dgtk4=true
 extra_configure_switches += -Dgtk_doc=false
 extra_configure_switches += -Dssh_agent=true
@@ -183,6 +185,12 @@
 extra_configure_switches += -Dsystemd=disabled
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS += -Wno-deprecated-declarations -Wno-maybe-uninitialized
 
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
@@ -225,7 +233,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -243,7 +252,10 @@
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/gdk-pixbuf2/2.42.9/Makefile
===================================================================
--- radix-1.9/X11/libs/gdk-pixbuf2/2.42.9/Makefile	(revision 124)
+++ radix-1.9/X11/libs/gdk-pixbuf2/2.42.9/Makefile	(revision 125)
@@ -56,6 +56,7 @@
 SOURCE_REQUIRES    = sources/GNOME/core/gdk-pixbuf
 
 REQUIRES           = libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 REQUIRES          += libs/shared-mime-info/2.2
 REQUIRES          += libs/libpng/libpng16/1.6.37
 REQUIRES          += libs/libtiff/4.3.0
@@ -182,9 +183,15 @@
 extra_configure_switches += -Dpng=enabled
 extra_configure_switches += -Dtiff=enabled
 extra_configure_switches += -Djpeg=enabled
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
 
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
@@ -232,6 +239,7 @@
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
 	@PKG_CONFIG_PATH= \
+	   $(python_environment) \
 	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
@@ -257,7 +265,10 @@
 	@( cd $(build_dir) ; \
 	   sed -i 's,-Wcast-align ,,g' build.ninja ; \
 	 )
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/geoclue/2.7.0/Makefile
===================================================================
--- radix-1.9/X11/libs/geoclue/2.7.0/Makefile	(revision 124)
+++ radix-1.9/X11/libs/geoclue/2.7.0/Makefile	(revision 125)
@@ -60,6 +60,7 @@
 REQUIRES          += libs/libsoup3/3.4.2
 REQUIRES          += net/ModemManager/1.16.4
 REQUIRES          += X11/libs/libnotify/0.8.2
+REQUIRES          += dev/vala/0.56.6
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -175,8 +176,8 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=false
-extra_configure_switches += -Dvapi=false
+extra_configure_switches += -Dintrospection=true
+extra_configure_switches += -Dvapi=true
 extra_configure_switches += -Dlibgeoclue=true
 extra_configure_switches += -D3g-source=true
 extra_configure_switches += -Dcdma-source=true
@@ -189,6 +190,12 @@
 extra_configure_switches += -Dgtk-doc=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
 
 LDFLAGS += -Wl,-rpath,$(TARGET_BIN_RPATH)
@@ -229,7 +236,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -247,7 +255,10 @@
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/geoclue/2.7.0/PATCHES
===================================================================
--- radix-1.9/X11/libs/geoclue/2.7.0/PATCHES	(revision 124)
+++ radix-1.9/X11/libs/geoclue/2.7.0/PATCHES	(revision 125)
@@ -1,2 +0,0 @@
-
-../../../../sources/packages/x/geoclue/patches/geoclue-2.7.0-disable-introspection.patch -p0
Index: radix-1.9/X11/libs/gsettings-desktop-schemas/44.0/Makefile
===================================================================
--- radix-1.9/X11/libs/gsettings-desktop-schemas/44.0/Makefile	(revision 124)
+++ radix-1.9/X11/libs/gsettings-desktop-schemas/44.0/Makefile	(revision 125)
@@ -57,6 +57,7 @@
 
 REQUIRES           = libs/dconf/0.40.0
 REQUIRES          += libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -173,9 +174,15 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=false
+extra_configure_switches += -Dintrospection=true
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
 
 LDFLAGS += -Wl,-rpath,$(TARGET_BIN_RPATH)
@@ -216,7 +223,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -234,7 +242,10 @@
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/gst-plugins-bad/1.22.0/Makefile
===================================================================
--- radix-1.9/X11/libs/gst-plugins-bad/1.22.0/Makefile	(revision 124)
+++ radix-1.9/X11/libs/gst-plugins-bad/1.22.0/Makefile	(revision 125)
@@ -222,9 +222,15 @@
 extra_configure_switches += -Dneon=disabled
 extra_configure_switches += -Dopenexr=disabled
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS += -Wno-deprecated-declarations -Wno-dangling-pointer -Wno-maybe-uninitialized
 CFLAGS += -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function
 
@@ -271,7 +277,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -290,7 +297,10 @@
 	    -Dtests=disabled            \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/gst-plugins-base/1.22.0/Makefile
===================================================================
--- radix-1.9/X11/libs/gst-plugins-base/1.22.0/Makefile	(revision 124)
+++ radix-1.9/X11/libs/gst-plugins-base/1.22.0/Makefile	(revision 125)
@@ -192,7 +192,7 @@
 extra_configure_switches += -Dglib-asserts=disabled
 extra_configure_switches += -Dglib-checks=disabled
 extra_configure_switches += -Dexamples=disabled
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 
 extra_configure_switches += -Dalsa=enabled
 extra_configure_switches += -Dcdparanoia=enabled
@@ -209,6 +209,12 @@
 extra_configure_switches += -Dorc=enabled
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS += -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function
 
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
@@ -254,7 +260,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -280,7 +287,10 @@
 	   sed -i 's,-msse2 ,,g'       build.ninja ; \
 	 )
 endif
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/gstreamer/1.22.0/Makefile
===================================================================
--- radix-1.9/X11/libs/gstreamer/1.22.0/Makefile	(revision 124)
+++ radix-1.9/X11/libs/gstreamer/1.22.0/Makefile	(revision 125)
@@ -56,6 +56,7 @@
 SOURCE_REQUIRES    = sources/packages/x/gstreamer
 
 REQUIRES           = libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 REQUIRES          += secure/libcap/2.48
 
 # ======= __END_OF_REQUIRES__ =======
@@ -181,11 +182,17 @@
 extra_configure_switches += -Dglib-checks=disabled
 extra_configure_switches += -Dextra-checks=disabled
 extra_configure_switches += -Dexamples=disabled
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 
 extra_configure_switches += -Dcoretracers=enabled
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS += -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function
 
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
@@ -231,7 +238,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -250,7 +258,15 @@
 	    -Dtests=disabled            \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   if [ -e "../../lib$(LIBSUFFIX)/libdl.so.2" ] ; then \
+	     ln -sf ../../lib$(LIBSUFFIX)/libdl.so.2 libdl.so ; \
+	   fi ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/gtk+3/3.24.37/Makefile
===================================================================
--- radix-1.9/X11/libs/gtk+3/3.24.37/Makefile	(revision 124)
+++ radix-1.9/X11/libs/gtk+3/3.24.37/Makefile	(revision 125)
@@ -57,6 +57,7 @@
 
 REQUIRES           = app/fontconfig/2.13.95
 REQUIRES          += libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 REQUIRES          += X11/libs/gdk-pixbuf2-xlib/2.40.2
 REQUIRES          += X11/libs/at-spi2-core/2.47.1
 REQUIRES          += X11/libs/pango/1.50.12
@@ -186,7 +187,7 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=false
+extra_configure_switches += -Dintrospection=true
 extra_configure_switches += -Dx11_backend=true
 extra_configure_switches += -Dwayland_backend=true
 extra_configure_switches += -Dbroadway_backend=true
@@ -207,6 +208,12 @@
 extra_configure_switches += -Dgtk_doc=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -Wno-deprecated-declarations -Wno-format-nonliteral -Wno-switch
 CFLAGS  += -Wno-ignored-qualifiers -Wno-undef -Wno-array-bounds -Wno-maybe-uninitialized
 
@@ -256,7 +263,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -276,7 +284,10 @@
 	    -Dinstalled_tests=false     \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/gtk4/4.11.2/Makefile
===================================================================
--- radix-1.9/X11/libs/gtk4/4.11.2/Makefile	(revision 124)
+++ radix-1.9/X11/libs/gtk4/4.11.2/Makefile	(revision 125)
@@ -57,6 +57,7 @@
 
 REQUIRES           = app/fontconfig/2.13.95
 REQUIRES          += libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 REQUIRES          += libs/graphene/1.10.8
 REQUIRES          += X11/libs/gdk-pixbuf2-xlib/2.40.2
 REQUIRES          += X11/libs/at-spi2-core/2.47.1
@@ -190,7 +191,7 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 extra_configure_switches += -Dx11-backend=true
 extra_configure_switches += -Dwayland-backend=true
 extra_configure_switches += -Dbroadway-backend=true
@@ -217,6 +218,12 @@
 extra_configure_switches += -Dgtk_doc=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -Wno-deprecated-declarations -Wno-format-nonliteral -Wno-switch
 CFLAGS  += -Wno-ignored-qualifiers -Wno-undef -Wno-array-bounds -Wno-maybe-uninitialized
 
@@ -266,7 +273,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -286,7 +294,10 @@
 	    -Dbuild-testsuite=false     \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/gtksourceview/5.8.0/vala-api/gtksourceview-5.vapi
===================================================================
--- radix-1.9/X11/libs/gtksourceview/5.8.0/vala-api/gtksourceview-5.vapi	(revision 124)
+++ radix-1.9/X11/libs/gtksourceview/5.8.0/vala-api/gtksourceview-5.vapi	(nonexistent)
@@ -1,1073 +0,0 @@
-/* gtksourceview-5.vapi generated by vapigen, do not modify. */
-
-[CCode (cprefix = "GtkSource", gir_namespace = "GtkSource", gir_version = "5", lower_case_cprefix = "gtk_source_")]
-namespace GtkSource {
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_buffer_get_type ()")]
-	public class Buffer : Gtk.TextBuffer {
-		[CCode (has_construct_function = false)]
-		public Buffer (Gtk.TextTagTable? table);
-		public bool backward_iter_to_source_mark (ref Gtk.TextIter iter, string? category);
-		public void change_case (GtkSource.ChangeCaseType case_type, Gtk.TextIter start, Gtk.TextIter end);
-		public unowned GtkSource.Mark create_source_mark (string? name, string category, Gtk.TextIter where);
-		public void ensure_highlight (Gtk.TextIter start, Gtk.TextIter end);
-		public bool forward_iter_to_source_mark (ref Gtk.TextIter iter, string? category);
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] get_context_classes_at_iter (Gtk.TextIter iter);
-		public bool get_highlight_matching_brackets ();
-		public bool get_highlight_syntax ();
-		public bool get_implicit_trailing_newline ();
-		public unowned GtkSource.Language? get_language ();
-		public GLib.SList<weak GtkSource.Mark> get_source_marks_at_iter (Gtk.TextIter iter, string? category);
-		public GLib.SList<weak GtkSource.Mark> get_source_marks_at_line (int line, string? category);
-		public unowned GtkSource.StyleScheme? get_style_scheme ();
-		public bool iter_backward_to_context_class_toggle (ref Gtk.TextIter iter, string context_class);
-		public bool iter_forward_to_context_class_toggle (ref Gtk.TextIter iter, string context_class);
-		public bool iter_has_context_class (Gtk.TextIter iter, string context_class);
-		public void join_lines (Gtk.TextIter start, Gtk.TextIter end);
-		public void remove_source_marks (Gtk.TextIter start, Gtk.TextIter end, string? category);
-		public void set_highlight_matching_brackets (bool highlight);
-		public void set_highlight_syntax (bool highlight);
-		public void set_implicit_trailing_newline (bool implicit_trailing_newline);
-		public void set_language (GtkSource.Language? language);
-		public void set_style_scheme (GtkSource.StyleScheme? scheme);
-		public void sort_lines (Gtk.TextIter start, Gtk.TextIter end, GtkSource.SortFlags flags, int column);
-		[CCode (has_construct_function = false)]
-		public Buffer.with_language (GtkSource.Language language);
-		public bool highlight_matching_brackets { get; set; }
-		public bool highlight_syntax { get; set; }
-		public bool implicit_trailing_newline { get; set construct; }
-		public GtkSource.Language language { get; set; }
-		public GtkSource.StyleScheme style_scheme { get; set; }
-		public virtual signal void bracket_matched (Gtk.TextIter? iter, GtkSource.BracketMatchType state);
-		public signal void cursor_moved ();
-		public signal void highlight_updated (Gtk.TextIter start, Gtk.TextIter end);
-		public signal void source_mark_updated (Gtk.TextMark mark);
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_get_type ()")]
-	public class Completion : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected Completion ();
-		public void add_provider (GtkSource.CompletionProvider provider);
-		public void block_interactive ();
-		public static Pango.AttrList? fuzzy_highlight (string haystack, string casefold_query);
-		public static bool fuzzy_match (string? haystack, string casefold_needle, out uint priority);
-		public unowned GtkSource.Buffer get_buffer ();
-		public uint get_page_size ();
-		public unowned GtkSource.View get_view ();
-		public void remove_provider (GtkSource.CompletionProvider provider);
-		public void set_page_size (uint page_size);
-		public void unblock_interactive ();
-		public Gtk.TextView buffer { get; }
-		public uint page_size { get; set; }
-		[NoAccessorMethod]
-		public bool remember_info_visibility { get; set; }
-		[NoAccessorMethod]
-		public bool select_on_show { get; set; }
-		[NoAccessorMethod]
-		public bool show_icons { get; set; }
-		public GtkSource.View view { get; construct; }
-		[HasEmitter]
-		public signal void hide ();
-		public signal void provider_added (GtkSource.CompletionProvider provider);
-		public signal void provider_removed (GtkSource.CompletionProvider provider);
-		[HasEmitter]
-		public signal void show ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_cell_get_type ()")]
-	public class CompletionCell : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false)]
-		protected CompletionCell ();
-		public GtkSource.CompletionColumn get_column ();
-		public unowned Gtk.Widget? get_widget ();
-		public void set_gicon (GLib.Icon gicon);
-		public void set_icon_name (string icon_name);
-		public void set_markup (string markup);
-		public void set_paintable (Gdk.Paintable paintable);
-		public void set_text (string? text);
-		public void set_text_with_attributes (string text, Pango.AttrList attrs);
-		public void set_widget (Gtk.Widget child);
-		public GtkSource.CompletionColumn column { get; construct; }
-		[NoAccessorMethod]
-		public string markup { owned get; set; }
-		[NoAccessorMethod]
-		public Gdk.Paintable paintable { owned get; set; }
-		[NoAccessorMethod]
-		public string text { owned get; set; }
-		public Gtk.Widget widget { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_context_get_type ()")]
-	public class CompletionContext : GLib.Object, GLib.ListModel {
-		[CCode (has_construct_function = false)]
-		protected CompletionContext ();
-		public GtkSource.CompletionActivation get_activation ();
-		public bool get_bounds (out Gtk.TextIter begin, out Gtk.TextIter end);
-		public unowned GtkSource.Buffer? get_buffer ();
-		public bool get_busy ();
-		public unowned GtkSource.Completion? get_completion ();
-		public bool get_empty ();
-		public unowned GtkSource.Language? get_language ();
-		[Version (since = "5.6")]
-		public unowned GLib.ListModel? get_proposals_for_provider (GtkSource.CompletionProvider provider);
-		public unowned GtkSource.View? get_view ();
-		public string get_word ();
-		[Version (since = "5.6")]
-		public GLib.ListModel list_providers ();
-		public void set_proposals_for_provider (GtkSource.CompletionProvider provider, GLib.ListModel? results);
-		public bool busy { get; }
-		public GtkSource.Completion completion { get; construct; }
-		public bool empty { get; }
-		[Version (since = "5.6")]
-		public signal void provider_model_changed (GtkSource.CompletionProvider provider, GLib.ListModel? model);
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_snippets_get_type ()")]
-	public class CompletionSnippets : GLib.Object, GtkSource.CompletionProvider {
-		[CCode (has_construct_function = false)]
-		public CompletionSnippets ();
-		[NoAccessorMethod]
-		public int priority { get; set construct; }
-		[NoAccessorMethod]
-		public string title { owned get; set construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_completion_words_get_type ()")]
-	public class CompletionWords : GLib.Object, GtkSource.CompletionProvider {
-		[CCode (has_construct_function = false)]
-		public CompletionWords (string? title);
-		public void register (Gtk.TextBuffer buffer);
-		public void unregister (Gtk.TextBuffer buffer);
-		[NoAccessorMethod]
-		public uint minimum_word_size { get; set construct; }
-		[NoAccessorMethod]
-		public int priority { get; set construct; }
-		[NoAccessorMethod]
-		public uint proposals_batch_size { get; set construct; }
-		[NoAccessorMethod]
-		public uint scan_batch_size { get; set construct; }
-		[NoAccessorMethod]
-		public string title { owned get; set construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gtk_source_encoding_get_type ()")]
-	[Compact]
-	public class Encoding {
-		public GtkSource.Encoding copy ();
-		public void free ();
-		public static GLib.SList<weak GtkSource.Encoding> get_all ();
-		public unowned string get_charset ();
-		public static unowned GtkSource.Encoding get_current ();
-		public static GLib.SList<weak GtkSource.Encoding> get_default_candidates ();
-		public static unowned GtkSource.Encoding? get_from_charset (string charset);
-		public unowned string get_name ();
-		public static unowned GtkSource.Encoding get_utf8 ();
-		public string to_string ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_file_get_type ()")]
-	public class File : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public File ();
-		public void check_file_on_disk ();
-		public GtkSource.CompressionType get_compression_type ();
-		public unowned GtkSource.Encoding get_encoding ();
-		public unowned GLib.File get_location ();
-		public GtkSource.NewlineType get_newline_type ();
-		public bool is_deleted ();
-		public bool is_externally_modified ();
-		public bool is_local ();
-		public bool is_readonly ();
-		public void set_location (GLib.File? location);
-		public GtkSource.CompressionType compression_type { get; }
-		public GtkSource.Encoding encoding { get; }
-		public GLib.File location { get; set construct; }
-		public GtkSource.NewlineType newline_type { get; }
-		[NoAccessorMethod]
-		public bool read_only { get; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_file_loader_get_type ()")]
-	public class FileLoader : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public FileLoader (GtkSource.Buffer buffer, GtkSource.File file);
-		[CCode (has_construct_function = false)]
-		public FileLoader.from_stream (GtkSource.Buffer buffer, GtkSource.File file, GLib.InputStream stream);
-		public unowned GtkSource.Buffer get_buffer ();
-		public GtkSource.CompressionType get_compression_type ();
-		public unowned GtkSource.Encoding get_encoding ();
-		public unowned GtkSource.File get_file ();
-		public unowned GLib.InputStream? get_input_stream ();
-		public unowned GLib.File? get_location ();
-		public GtkSource.NewlineType get_newline_type ();
-		public async bool load_async (int io_priority, GLib.Cancellable? cancellable, owned GLib.FileProgressCallback? progress_callback) throws GLib.Error;
-		public void set_candidate_encodings (GLib.SList<GtkSource.Encoding> candidate_encodings);
-		public GtkSource.Buffer buffer { get; construct; }
-		public GtkSource.File file { get; construct; }
-		public GLib.InputStream input_stream { get; construct; }
-		public GLib.File location { get; construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_file_saver_get_type ()")]
-	public class FileSaver : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public FileSaver (GtkSource.Buffer buffer, GtkSource.File file);
-		public unowned GtkSource.Buffer get_buffer ();
-		public GtkSource.CompressionType get_compression_type ();
-		public unowned GtkSource.Encoding get_encoding ();
-		public unowned GtkSource.File get_file ();
-		public GtkSource.FileSaverFlags get_flags ();
-		public unowned GLib.File get_location ();
-		public GtkSource.NewlineType get_newline_type ();
-		public async bool save_async (int io_priority, GLib.Cancellable? cancellable, owned GLib.FileProgressCallback? progress_callback) throws GLib.Error;
-		public void set_compression_type (GtkSource.CompressionType compression_type);
-		public void set_encoding (GtkSource.Encoding? encoding);
-		public void set_flags (GtkSource.FileSaverFlags flags);
-		public void set_newline_type (GtkSource.NewlineType newline_type);
-		[CCode (has_construct_function = false)]
-		public FileSaver.with_target (GtkSource.Buffer buffer, GtkSource.File file, GLib.File target_location);
-		public GtkSource.Buffer buffer { get; construct; }
-		public GtkSource.CompressionType compression_type { get; set construct; }
-		public GtkSource.Encoding encoding { get; set construct; }
-		public GtkSource.File file { get; construct; }
-		public GtkSource.FileSaverFlags flags { get; set construct; }
-		public GLib.File location { get; construct; }
-		public GtkSource.NewlineType newline_type { get; set construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_get_type ()")]
-	public class Gutter : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false)]
-		protected Gutter ();
-		public unowned GtkSource.View get_view ();
-		public bool insert (GtkSource.GutterRenderer renderer, int position);
-		public void remove (GtkSource.GutterRenderer renderer);
-		public void reorder (GtkSource.GutterRenderer renderer, int position);
-		public GtkSource.View view { get; construct; }
-		[NoAccessorMethod]
-		public Gtk.TextWindowType window_type { get; construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_lines_get_type ()")]
-	public class GutterLines : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected GutterLines ();
-		public void add_class (uint line, string name);
-		public void add_qclass (uint line, GLib.Quark qname);
-		public unowned Gtk.TextBuffer get_buffer ();
-		public uint get_first ();
-		public void get_iter_at_line (out Gtk.TextIter iter, uint line);
-		public uint get_last ();
-		public void get_line_yrange (uint line, GtkSource.GutterRendererAlignmentMode mode, out int y, out int height);
-		public unowned Gtk.TextView get_view ();
-		[Version (since = "5.6")]
-		public bool has_any_class (uint line);
-		public bool has_class (uint line, string name);
-		public bool has_qclass (uint line, GLib.Quark qname);
-		public bool is_cursor (uint line);
-		public bool is_prelit (uint line);
-		public bool is_selected (uint line);
-		public void remove_class (uint line, string name);
-		public void remove_qclass (uint line, GLib.Quark qname);
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_renderer_get_type ()")]
-	public abstract class GutterRenderer : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false)]
-		protected GutterRenderer ();
-		public void align_cell (uint line, float width, float height, out float x, out float y);
-		[NoWrapper]
-		public virtual void begin (GtkSource.GutterLines lines);
-		[NoWrapper]
-		public virtual void change_buffer (GtkSource.Buffer? old_buffer);
-		[NoWrapper]
-		public virtual void change_view (GtkSource.View? old_view);
-		[NoWrapper]
-		public virtual void end ();
-		public GtkSource.GutterRendererAlignmentMode get_alignment_mode ();
-		public unowned GtkSource.Buffer? get_buffer ();
-		public unowned GtkSource.View get_view ();
-		public float get_xalign ();
-		public int get_xpad ();
-		public float get_yalign ();
-		public int get_ypad ();
-		public void set_alignment_mode (GtkSource.GutterRendererAlignmentMode mode);
-		public void set_xalign (float xalign);
-		public void set_xpad (int xpad);
-		public void set_yalign (float yalign);
-		public void set_ypad (int ypad);
-		[NoWrapper]
-		public virtual void snapshot_line (Gtk.Snapshot snapshot, GtkSource.GutterLines lines, uint line);
-		public GtkSource.GutterRendererAlignmentMode alignment_mode { get; set; }
-		[NoAccessorMethod]
-		public GtkSource.GutterLines lines { owned get; }
-		public Gtk.TextView view { get; }
-		public float xalign { get; set; }
-		public int xpad { get; set; }
-		public float yalign { get; set; }
-		public int ypad { get; set; }
-		[HasEmitter]
-		public virtual signal void activate (Gtk.TextIter iter, Gdk.Rectangle area, uint button, Gdk.ModifierType state, int n_presses);
-		[HasEmitter]
-		public virtual signal bool query_activatable (Gtk.TextIter iter, Gdk.Rectangle area);
-		public virtual signal void query_data (GLib.Object lines, uint line);
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_renderer_pixbuf_get_type ()")]
-	public class GutterRendererPixbuf : GtkSource.GutterRenderer, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkSourceGutterRenderer*")]
-		public GutterRendererPixbuf ();
-		public unowned GLib.Icon get_gicon ();
-		public unowned string get_icon_name ();
-		public unowned Gdk.Paintable? get_paintable ();
-		public unowned Gdk.Pixbuf get_pixbuf ();
-		public void overlay_paintable (Gdk.Paintable paintable);
-		public void set_gicon (GLib.Icon? icon);
-		public void set_icon_name (string? icon_name);
-		public void set_paintable (Gdk.Paintable? paintable);
-		public void set_pixbuf (Gdk.Pixbuf? pixbuf);
-		public GLib.Icon gicon { get; set; }
-		public string icon_name { get; set; }
-		public Gdk.Paintable paintable { get; set; }
-		public Gdk.Pixbuf pixbuf { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_gutter_renderer_text_get_type ()")]
-	public class GutterRendererText : GtkSource.GutterRenderer, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkSourceGutterRenderer*")]
-		public GutterRendererText ();
-		public void measure (string text, out int width, out int height);
-		public void measure_markup (string markup, out int width, out int height);
-		public void set_markup (string markup, int length);
-		public void set_text (string text, int length);
-		[NoAccessorMethod]
-		public string markup { owned get; set construct; }
-		[NoAccessorMethod]
-		public string text { owned get; set construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_hover_get_type ()")]
-	public class Hover : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected Hover ();
-		public void add_provider (GtkSource.HoverProvider provider);
-		public void remove_provider (GtkSource.HoverProvider provider);
-		[NoAccessorMethod]
-		public uint hover_delay { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_hover_context_get_type ()")]
-	public class HoverContext : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected HoverContext ();
-		public bool get_bounds (out Gtk.TextIter begin, out Gtk.TextIter end);
-		public unowned GtkSource.Buffer get_buffer ();
-		public bool get_iter (Gtk.TextIter iter);
-		public unowned GtkSource.View get_view ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_hover_display_get_type ()")]
-	public class HoverDisplay : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false)]
-		protected HoverDisplay ();
-		public void append (Gtk.Widget child);
-		public void insert_after (Gtk.Widget child, Gtk.Widget sibling);
-		public void prepend (Gtk.Widget child);
-		public void remove (Gtk.Widget child);
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_language_get_type ()")]
-	public class Language : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected Language ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[]? get_globs ();
-		public bool get_hidden ();
-		public unowned string get_id ();
-		public unowned string? get_metadata (string name);
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[]? get_mime_types ();
-		public unowned string get_name ();
-		public unowned string get_section ();
-		public unowned string? get_style_fallback (string style_id);
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[]? get_style_ids ();
-		public unowned string? get_style_name (string style_id);
-		public bool hidden { get; }
-		public string id { get; }
-		public string name { get; }
-		public string section { get; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_language_manager_get_type ()")]
-	public class LanguageManager : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public LanguageManager ();
-		[Version (since = "5.4")]
-		public void append_search_path (string path);
-		public static unowned GtkSource.LanguageManager get_default ();
-		public unowned GtkSource.Language? get_language (string id);
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[]? get_language_ids ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[] get_search_path ();
-		public unowned GtkSource.Language? guess_language (string? filename, string? content_type);
-		[Version (since = "5.4")]
-		public void prepend_search_path (string path);
-		public void set_search_path ([CCode (array_length = false, array_null_terminated = true)] string[]? dirs);
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] language_ids { get; }
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] search_path { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_map_get_type ()")]
-	public class Map : GtkSource.View, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Scrollable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Map ();
-		public unowned GtkSource.View? get_view ();
-		public void set_view (GtkSource.View view);
-		[NoAccessorMethod]
-		public Pango.FontDescription font_desc { owned get; set; }
-		public GtkSource.View view { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_mark_get_type ()")]
-	public class Mark : Gtk.TextMark {
-		[CCode (has_construct_function = false)]
-		public Mark (string? name, string category);
-		public unowned string get_category ();
-		public unowned GtkSource.Mark? next (string? category);
-		public unowned GtkSource.Mark? prev (string category);
-		public string category { get; construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_mark_attributes_get_type ()")]
-	public class MarkAttributes : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public MarkAttributes ();
-		public bool get_background (out Gdk.RGBA background);
-		public unowned GLib.Icon get_gicon ();
-		public unowned string get_icon_name ();
-		public unowned Gdk.Pixbuf get_pixbuf ();
-		public string get_tooltip_markup (GtkSource.Mark mark);
-		public string get_tooltip_text (GtkSource.Mark mark);
-		public unowned Gdk.Paintable render_icon (Gtk.Widget widget, int size);
-		public void set_background (Gdk.RGBA background);
-		public void set_gicon (GLib.Icon gicon);
-		public void set_icon_name (string icon_name);
-		public void set_pixbuf (Gdk.Pixbuf pixbuf);
-		[NoAccessorMethod]
-		public Gdk.RGBA background { owned get; set; }
-		public GLib.Icon gicon { get; set; }
-		public string icon_name { get; set; }
-		public Gdk.Pixbuf pixbuf { get; set; }
-		public signal string query_tooltip_markup (GtkSource.Mark mark);
-		public signal string query_tooltip_text (GtkSource.Mark mark);
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_print_compositor_get_type ()")]
-	public class PrintCompositor : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public PrintCompositor (GtkSource.Buffer buffer);
-		public void draw_page (Gtk.PrintContext context, int page_nr);
-		[CCode (has_construct_function = false)]
-		public PrintCompositor.from_view (GtkSource.View view);
-		public string get_body_font_name ();
-		public double get_bottom_margin (Gtk.Unit unit);
-		public unowned GtkSource.Buffer get_buffer ();
-		public string get_footer_font_name ();
-		public string get_header_font_name ();
-		public bool get_highlight_syntax ();
-		public double get_left_margin (Gtk.Unit unit);
-		public string get_line_numbers_font_name ();
-		public int get_n_pages ();
-		public double get_pagination_progress ();
-		public bool get_print_footer ();
-		public bool get_print_header ();
-		public uint get_print_line_numbers ();
-		public double get_right_margin (Gtk.Unit unit);
-		public uint get_tab_width ();
-		public double get_top_margin (Gtk.Unit unit);
-		public Gtk.WrapMode get_wrap_mode ();
-		[Version (since = "5.2")]
-		public void ignore_tag (Gtk.TextTag tag);
-		public bool paginate (Gtk.PrintContext context);
-		public void set_body_font_name (string font_name);
-		public void set_bottom_margin (double margin, Gtk.Unit unit);
-		public void set_footer_font_name (string? font_name);
-		public void set_footer_format (bool separator, string? left, string? center, string? right);
-		public void set_header_font_name (string? font_name);
-		public void set_header_format (bool separator, string? left, string? center, string? right);
-		public void set_highlight_syntax (bool highlight);
-		public void set_left_margin (double margin, Gtk.Unit unit);
-		public void set_line_numbers_font_name (string? font_name);
-		public void set_print_footer (bool print);
-		public void set_print_header (bool print);
-		public void set_print_line_numbers (uint interval);
-		public void set_right_margin (double margin, Gtk.Unit unit);
-		public void set_tab_width (uint width);
-		public void set_top_margin (double margin, Gtk.Unit unit);
-		public void set_wrap_mode (Gtk.WrapMode wrap_mode);
-		public string body_font_name { owned get; set; }
-		public GtkSource.Buffer buffer { get; construct; }
-		public string footer_font_name { owned get; set; }
-		public string header_font_name { owned get; set; }
-		public bool highlight_syntax { get; set; }
-		public string line_numbers_font_name { owned get; set; }
-		public int n_pages { get; }
-		public bool print_footer { get; set; }
-		public bool print_header { get; set; }
-		public uint print_line_numbers { get; set; }
-		public uint tab_width { get; set; }
-		public Gtk.WrapMode wrap_mode { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_region_get_type ()")]
-	public class Region : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public Region (Gtk.TextBuffer buffer);
-		public void add_region (GtkSource.Region? region_to_add);
-		public void add_subregion (Gtk.TextIter _start, Gtk.TextIter _end);
-		public bool get_bounds (out Gtk.TextIter start, out Gtk.TextIter end);
-		public unowned Gtk.TextBuffer? get_buffer ();
-		public GtkSource.RegionIter get_start_region_iter ();
-		public GtkSource.Region? intersect_region (GtkSource.Region? region2);
-		public GtkSource.Region? intersect_subregion (Gtk.TextIter _start, Gtk.TextIter _end);
-		public bool is_empty ();
-		public void subtract_region (GtkSource.Region? region_to_subtract);
-		public void subtract_subregion (Gtk.TextIter _start, Gtk.TextIter _end);
-		public string? to_string ();
-		public Gtk.TextBuffer buffer { get; construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_search_context_get_type ()")]
-	public class SearchContext : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public SearchContext (GtkSource.Buffer buffer, GtkSource.SearchSettings? settings);
-		public bool backward (Gtk.TextIter iter, out Gtk.TextIter match_start, out Gtk.TextIter match_end, out bool has_wrapped_around);
-		public async bool backward_async (Gtk.TextIter iter, GLib.Cancellable? cancellable, out Gtk.TextIter match_start, out Gtk.TextIter match_end, out bool has_wrapped_around) throws GLib.Error;
-		public bool forward (Gtk.TextIter iter, out Gtk.TextIter match_start, out Gtk.TextIter match_end, out bool has_wrapped_around);
-		public async bool forward_async (Gtk.TextIter iter, GLib.Cancellable? cancellable, out Gtk.TextIter match_start, out Gtk.TextIter match_end, out bool has_wrapped_around) throws GLib.Error;
-		public unowned GtkSource.Buffer get_buffer ();
-		public bool get_highlight ();
-		public unowned GtkSource.Style get_match_style ();
-		public int get_occurrence_position (Gtk.TextIter match_start, Gtk.TextIter match_end);
-		public int get_occurrences_count ();
-		public GLib.Error? get_regex_error ();
-		public unowned GtkSource.SearchSettings get_settings ();
-		public bool replace (Gtk.TextIter match_start, Gtk.TextIter match_end, string replace, int replace_length) throws GLib.Error;
-		public uint replace_all (string replace, int replace_length) throws GLib.Error;
-		public void set_highlight (bool highlight);
-		public void set_match_style (GtkSource.Style? match_style);
-		public GtkSource.Buffer buffer { get; construct; }
-		public bool highlight { get; set construct; }
-		public GtkSource.Style match_style { get; set construct; }
-		public int occurrences_count { get; }
-		public GLib.Error regex_error { owned get; }
-		public GtkSource.SearchSettings settings { get; construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_search_settings_get_type ()")]
-	public class SearchSettings : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public SearchSettings ();
-		public bool get_at_word_boundaries ();
-		public bool get_case_sensitive ();
-		public bool get_regex_enabled ();
-		public unowned string? get_search_text ();
-		public bool get_wrap_around ();
-		public void set_at_word_boundaries (bool at_word_boundaries);
-		public void set_case_sensitive (bool case_sensitive);
-		public void set_regex_enabled (bool regex_enabled);
-		public void set_search_text (string? search_text);
-		public void set_wrap_around (bool wrap_around);
-		public bool at_word_boundaries { get; set construct; }
-		public bool case_sensitive { get; set construct; }
-		public bool regex_enabled { get; set construct; }
-		public string search_text { get; set construct; }
-		public bool wrap_around { get; set construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_snippet_get_type ()")]
-	public class Snippet : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public Snippet (string? trigger, string? language_id);
-		public void add_chunk (GtkSource.SnippetChunk chunk);
-		public GtkSource.Snippet copy ();
-		public unowned GtkSource.SnippetContext? get_context ();
-		public unowned string get_description ();
-		public int get_focus_position ();
-		public unowned string get_language_id ();
-		public uint get_n_chunks ();
-		public unowned string get_name ();
-		public unowned GtkSource.SnippetChunk get_nth_chunk (uint nth);
-		public unowned string? get_trigger ();
-		[CCode (has_construct_function = false)]
-		[Version (since = "5.6")]
-		public Snippet.parsed (string text) throws GLib.Error;
-		public void set_description (string description);
-		public void set_language_id (string language_id);
-		public void set_name (string name);
-		public void set_trigger (string trigger);
-		[NoAccessorMethod]
-		public Gtk.TextBuffer buffer { owned get; }
-		public string description { get; set; }
-		public int focus_position { get; }
-		public string language_id { get; set; }
-		public string name { get; set; }
-		public string trigger { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_snippet_chunk_get_type ()")]
-	public class SnippetChunk : GLib.InitiallyUnowned {
-		[CCode (has_construct_function = false)]
-		public SnippetChunk ();
-		public GtkSource.SnippetChunk copy ();
-		public unowned GtkSource.SnippetContext get_context ();
-		public int get_focus_position ();
-		public unowned string? get_spec ();
-		public unowned string get_text ();
-		public bool get_text_set ();
-		public unowned string get_tooltip_text ();
-		public void set_context (GtkSource.SnippetContext context);
-		public void set_focus_position (int focus_position);
-		public void set_spec (string spec);
-		public void set_text (string text);
-		public void set_text_set (bool text_set);
-		public void set_tooltip_text (string tooltip_text);
-		public GtkSource.SnippetContext context { get; set; }
-		public int focus_position { get; set; }
-		public string spec { get; set; }
-		public string text { get; set; }
-		public bool text_set { get; set; }
-		public string tooltip_text { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_snippet_context_get_type ()")]
-	public class SnippetContext : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public SnippetContext ();
-		public void clear_variables ();
-		public string expand (string input);
-		public unowned string? get_variable (string key);
-		public void set_constant (string key, string value);
-		public void set_line_prefix (string line_prefix);
-		public void set_tab_width (int tab_width);
-		public void set_use_spaces (bool use_spaces);
-		public void set_variable (string key, string value);
-		public signal void changed ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_snippet_manager_get_type ()")]
-	public class SnippetManager : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected SnippetManager ();
-		public static unowned GtkSource.SnippetManager get_default ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[] get_search_path ();
-		public GtkSource.Snippet? get_snippet (string? group, string? language_id, string trigger);
-		[Version (since = "5.6")]
-		public unowned GLib.ListModel list_all ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public (unowned string)[] list_groups ();
-		public GLib.ListModel list_matching (string? group, string? language_id, string? trigger_prefix);
-		public void set_search_path ([CCode (array_length = false, array_null_terminated = true)] string[]? dirs);
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] search_path { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_space_drawer_get_type ()")]
-	public class SpaceDrawer : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public SpaceDrawer ();
-		public void bind_matrix_setting (GLib.Settings settings, string key, GLib.SettingsBindFlags flags);
-		public bool get_enable_matrix ();
-		public GLib.Variant get_matrix ();
-		public GtkSource.SpaceTypeFlags get_types_for_locations (GtkSource.SpaceLocationFlags locations);
-		public void set_enable_matrix (bool enable_matrix);
-		public void set_matrix (GLib.Variant? matrix);
-		public void set_types_for_locations (GtkSource.SpaceLocationFlags locations, GtkSource.SpaceTypeFlags types);
-		public bool enable_matrix { get; set construct; }
-		public GLib.Variant matrix { owned get; set construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_get_type ()")]
-	public class Style : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected Style ();
-		public void apply (Gtk.TextTag tag);
-		public GtkSource.Style copy ();
-		[NoAccessorMethod]
-		public string background { owned get; construct; }
-		[NoAccessorMethod]
-		public bool background_set { get; construct; }
-		[NoAccessorMethod]
-		public bool bold { get; construct; }
-		[NoAccessorMethod]
-		public bool bold_set { get; construct; }
-		[NoAccessorMethod]
-		public string foreground { owned get; construct; }
-		[NoAccessorMethod]
-		public bool foreground_set { get; construct; }
-		[NoAccessorMethod]
-		public bool italic { get; construct; }
-		[NoAccessorMethod]
-		public bool italic_set { get; construct; }
-		[NoAccessorMethod]
-		public string line_background { owned get; construct; }
-		[NoAccessorMethod]
-		public bool line_background_set { get; construct; }
-		[NoAccessorMethod]
-		public Pango.Underline pango_underline { get; construct; }
-		[NoAccessorMethod]
-		public string scale { owned get; construct; }
-		[NoAccessorMethod]
-		public bool scale_set { get; construct; }
-		[NoAccessorMethod]
-		public bool strikethrough { get; construct; }
-		[NoAccessorMethod]
-		public bool strikethrough_set { get; construct; }
-		[NoAccessorMethod]
-		public string underline_color { owned get; construct; }
-		[NoAccessorMethod]
-		public bool underline_color_set { get; construct; }
-		[NoAccessorMethod]
-		public bool underline_set { get; construct; }
-		[NoAccessorMethod]
-		public Pango.Weight weight { get; construct; }
-		[NoAccessorMethod]
-		public bool weight_set { get; construct; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_scheme_get_type ()")]
-	public class StyleScheme : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected StyleScheme ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[]? get_authors ();
-		public unowned string? get_description ();
-		public unowned string? get_filename ();
-		public unowned string get_id ();
-		[Version (since = "5.4")]
-		public unowned string? get_metadata (string name);
-		public unowned string get_name ();
-		public unowned GtkSource.Style? get_style (string style_id);
-		public string description { get; }
-		public string filename { get; }
-		public string id { get; construct; }
-		public string name { get; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_scheme_chooser_button_get_type ()")]
-	public class StyleSchemeChooserButton : Gtk.Button, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget, GtkSource.StyleSchemeChooser {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public StyleSchemeChooserButton ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_scheme_chooser_widget_get_type ()")]
-	public class StyleSchemeChooserWidget : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, GtkSource.StyleSchemeChooser {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public StyleSchemeChooserWidget ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_scheme_manager_get_type ()")]
-	public class StyleSchemeManager : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public StyleSchemeManager ();
-		public void append_search_path (string path);
-		public void force_rescan ();
-		public static unowned GtkSource.StyleSchemeManager get_default ();
-		public unowned GtkSource.StyleScheme? get_scheme (string scheme_id);
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[]? get_scheme_ids ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[] get_search_path ();
-		public void prepend_search_path (string path);
-		public void set_search_path ([CCode (array_length = false, array_null_terminated = true)] string[]? path);
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] scheme_ids { get; }
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] search_path { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_style_scheme_preview_get_type ()")]
-	[Version (since = "5.4")]
-	public class StyleSchemePreview : Gtk.Widget, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public StyleSchemePreview (GtkSource.StyleScheme scheme);
-		public unowned GtkSource.StyleScheme get_scheme ();
-		public bool get_selected ();
-		public void set_selected (bool selected);
-		public GtkSource.StyleScheme scheme { get; construct; }
-		public bool selected { get; set; }
-		public signal void activate ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_tag_get_type ()")]
-	public class Tag : Gtk.TextTag {
-		[CCode (has_construct_function = false, type = "GtkTextTag*")]
-		public Tag (string? name);
-		[NoAccessorMethod]
-		public bool draw_spaces { get; set; }
-		[NoAccessorMethod]
-		public bool draw_spaces_set { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_view_get_type ()")]
-	public class View : Gtk.TextView, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Scrollable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public View ();
-		public bool get_auto_indent ();
-		public GtkSource.BackgroundPatternType get_background_pattern ();
-		public unowned GtkSource.Completion get_completion ();
-		public bool get_enable_snippets ();
-		public unowned GtkSource.Gutter get_gutter (Gtk.TextWindowType window_type);
-		public bool get_highlight_current_line ();
-		public unowned GtkSource.Hover get_hover ();
-		public bool get_indent_on_tab ();
-		public int get_indent_width ();
-		public unowned GtkSource.Indenter? get_indenter ();
-		public bool get_insert_spaces_instead_of_tabs ();
-		public unowned GtkSource.MarkAttributes get_mark_attributes (string category, int priority);
-		public uint get_right_margin_position ();
-		public bool get_show_line_marks ();
-		public bool get_show_line_numbers ();
-		public bool get_show_right_margin ();
-		public bool get_smart_backspace ();
-		public GtkSource.SmartHomeEndType get_smart_home_end ();
-		public unowned GtkSource.SpaceDrawer get_space_drawer ();
-		public uint get_tab_width ();
-		public uint get_visual_column (Gtk.TextIter iter);
-		public void indent_lines (Gtk.TextIter start, Gtk.TextIter end);
-		public void set_auto_indent (bool enable);
-		public void set_background_pattern (GtkSource.BackgroundPatternType background_pattern);
-		public void set_enable_snippets (bool enable_snippets);
-		public void set_highlight_current_line (bool highlight);
-		public void set_indent_on_tab (bool enable);
-		public void set_indent_width (int width);
-		public void set_indenter (GtkSource.Indenter? indenter);
-		public void set_insert_spaces_instead_of_tabs (bool enable);
-		public void set_mark_attributes (string category, GtkSource.MarkAttributes attributes, int priority);
-		public void set_right_margin_position (uint pos);
-		public void set_show_line_marks (bool show);
-		public void set_show_line_numbers (bool show);
-		public void set_show_right_margin (bool show);
-		public void set_smart_backspace (bool smart_backspace);
-		public void set_smart_home_end (GtkSource.SmartHomeEndType smart_home_end);
-		public void set_tab_width (uint width);
-		public void unindent_lines (Gtk.TextIter start, Gtk.TextIter end);
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public View.with_buffer (GtkSource.Buffer buffer);
-		public bool auto_indent { get; set; }
-		public GtkSource.BackgroundPatternType background_pattern { get; set; }
-		public GtkSource.Completion completion { get; }
-		public bool enable_snippets { get; set; }
-		public bool highlight_current_line { get; set; }
-		public bool indent_on_tab { get; set; }
-		public int indent_width { get; set; }
-		public GtkSource.Indenter indenter { get; set; }
-		public bool insert_spaces_instead_of_tabs { get; set; }
-		public uint right_margin_position { get; set; }
-		public bool show_line_marks { get; set; }
-		public bool show_line_numbers { get; set; }
-		public bool show_right_margin { get; set; }
-		public bool smart_backspace { get; set; }
-		public GtkSource.SmartHomeEndType smart_home_end { get; set; }
-		public GtkSource.SpaceDrawer space_drawer { get; }
-		public uint tab_width { get; set; }
-		public signal void change_case (GtkSource.ChangeCaseType case_type);
-		public signal void change_number (int count);
-		public signal void join_lines ();
-		public virtual signal void line_mark_activated (Gtk.TextIter iter, uint button, Gdk.ModifierType state, int n_presses);
-		public virtual signal void move_lines (bool down);
-		public signal void move_to_matching_bracket (bool extend_selection);
-		public virtual signal void move_words (int step);
-		[HasEmitter]
-		public virtual signal void push_snippet (GtkSource.Snippet snippet, ref Gtk.TextIter location);
-		public virtual signal void show_completion ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_id = "gtk_source_vim_im_context_get_type ()")]
-	[Version (since = "5.4")]
-	public class VimIMContext : Gtk.IMContext {
-		[CCode (has_construct_function = false, type = "GtkIMContext*")]
-		public VimIMContext ();
-		public unowned string get_command_bar_text ();
-		public unowned string get_command_text ();
-		public string command_bar_text { get; }
-		public string command_text { get; }
-		public signal void edit (GtkSource.View view, string? path);
-		[HasEmitter]
-		public signal bool execute_command (string command);
-		public signal void format_text (Gtk.TextIter begin, Gtk.TextIter end);
-		public signal void write (GtkSource.View view, string? path);
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_cname = "GtkSourceCompletionProposalInterface", type_id = "gtk_source_completion_proposal_get_type ()")]
-	public interface CompletionProposal : GLib.Object {
-		[Version (since = "5.6")]
-		public virtual string? get_typed_text ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_cname = "GtkSourceCompletionProviderInterface", type_id = "gtk_source_completion_provider_get_type ()")]
-	public interface CompletionProvider : GLib.Object {
-		public abstract void activate (GtkSource.CompletionContext context, GtkSource.CompletionProposal proposal);
-		public abstract void display (GtkSource.CompletionContext context, GtkSource.CompletionProposal proposal, GtkSource.CompletionCell cell);
-		public virtual int get_priority (GtkSource.CompletionContext context);
-		public virtual string? get_title ();
-		public virtual bool is_trigger (Gtk.TextIter iter, unichar ch);
-		public virtual bool key_activates (GtkSource.CompletionContext context, GtkSource.CompletionProposal proposal, uint keyval, Gdk.ModifierType state);
-		public virtual GLib.GenericArray<GtkSource.CompletionProposal>? list_alternates (GtkSource.CompletionContext context, GtkSource.CompletionProposal proposal);
-		public abstract async GLib.ListModel populate_async (GtkSource.CompletionContext context, GLib.Cancellable? cancellable) throws GLib.Error;
-		public abstract void refilter (GtkSource.CompletionContext context, GLib.ListModel model);
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_cname = "GtkSourceHoverProviderInterface", type_id = "gtk_source_hover_provider_get_type ()")]
-	public interface HoverProvider : GLib.Object {
-		[NoWrapper]
-		public abstract bool populate (GtkSource.HoverContext context, GtkSource.HoverDisplay display) throws GLib.Error;
-		public abstract async bool populate_async (GtkSource.HoverContext context, GtkSource.HoverDisplay display, GLib.Cancellable? cancellable) throws GLib.Error;
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_cname = "GtkSourceIndenterInterface", type_id = "gtk_source_indenter_get_type ()")]
-	public interface Indenter : GLib.Object {
-		public abstract void indent (GtkSource.View view, ref Gtk.TextIter iter);
-		public abstract bool is_trigger (GtkSource.View view, Gtk.TextIter location, Gdk.ModifierType state, uint keyval);
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", type_cname = "GtkSourceStyleSchemeChooserInterface", type_id = "gtk_source_style_scheme_chooser_get_type ()")]
-	public interface StyleSchemeChooser : GLib.Object {
-		public abstract unowned GtkSource.StyleScheme get_style_scheme ();
-		public abstract void set_style_scheme (GtkSource.StyleScheme scheme);
-		public abstract GtkSource.StyleScheme style_scheme { get; set; }
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", has_type_id = false)]
-	public struct RegionIter {
-		public bool get_subregion (out Gtk.TextIter start, out Gtk.TextIter end);
-		public bool is_end ();
-		public bool next ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_BACKGROUND_PATTERN_TYPE_", type_id = "gtk_source_background_pattern_type_get_type ()")]
-	public enum BackgroundPatternType {
-		NONE,
-		GRID
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_BRACKET_MATCH_", type_id = "gtk_source_bracket_match_type_get_type ()")]
-	public enum BracketMatchType {
-		NONE,
-		OUT_OF_RANGE,
-		NOT_FOUND,
-		FOUND
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_CHANGE_CASE_", type_id = "gtk_source_change_case_type_get_type ()")]
-	public enum ChangeCaseType {
-		LOWER,
-		UPPER,
-		TOGGLE,
-		TITLE
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_COMPLETION_ACTIVATION_", type_id = "gtk_source_completion_activation_get_type ()")]
-	public enum CompletionActivation {
-		NONE,
-		INTERACTIVE,
-		USER_REQUESTED
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_COMPLETION_COLUMN_", type_id = "gtk_source_completion_column_get_type ()")]
-	public enum CompletionColumn {
-		ICON,
-		BEFORE,
-		TYPED_TEXT,
-		AFTER,
-		COMMENT,
-		DETAILS
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_COMPRESSION_TYPE_", type_id = "gtk_source_compression_type_get_type ()")]
-	public enum CompressionType {
-		NONE,
-		GZIP
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_FILE_SAVER_FLAGS_", type_id = "gtk_source_file_saver_flags_get_type ()")]
-	[Flags]
-	public enum FileSaverFlags {
-		NONE,
-		IGNORE_INVALID_CHARS,
-		IGNORE_MODIFICATION_TIME,
-		CREATE_BACKUP
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_", type_id = "gtk_source_gutter_renderer_alignment_mode_get_type ()")]
-	public enum GutterRendererAlignmentMode {
-		CELL,
-		FIRST,
-		LAST
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_NEWLINE_TYPE_", type_id = "gtk_source_newline_type_get_type ()")]
-	public enum NewlineType {
-		LF,
-		CR,
-		CR_LF
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_SMART_HOME_END_", type_id = "gtk_source_smart_home_end_type_get_type ()")]
-	public enum SmartHomeEndType {
-		DISABLED,
-		BEFORE,
-		AFTER,
-		ALWAYS
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_SORT_FLAGS_", type_id = "gtk_source_sort_flags_get_type ()")]
-	[Flags]
-	public enum SortFlags {
-		NONE,
-		CASE_SENSITIVE,
-		REVERSE_ORDER,
-		REMOVE_DUPLICATES
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_SPACE_LOCATION_", type_id = "gtk_source_space_location_flags_get_type ()")]
-	[Flags]
-	public enum SpaceLocationFlags {
-		NONE,
-		LEADING,
-		INSIDE_TEXT,
-		TRAILING,
-		ALL
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_SPACE_TYPE_", type_id = "gtk_source_space_type_flags_get_type ()")]
-	[Flags]
-	public enum SpaceTypeFlags {
-		NONE,
-		SPACE,
-		TAB,
-		NEWLINE,
-		NBSP,
-		ALL
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_VIEW_GUTTER_POSITION_", type_id = "gtk_source_view_gutter_position_get_type ()")]
-	public enum ViewGutterPosition {
-		LINES,
-		MARKS
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_FILE_LOADER_ERROR_", type_id = "gtk_source_file_loader_error_get_type ()")]
-	public errordomain FileLoaderError {
-		TOO_BIG,
-		ENCODING_AUTO_DETECTION_FAILED,
-		CONVERSION_FALLBACK;
-		public static GLib.Quark quark ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cprefix = "GTK_SOURCE_FILE_SAVER_ERROR_", type_id = "gtk_source_file_saver_error_get_type ()")]
-	public errordomain FileSaverError {
-		INVALID_CHARS,
-		EXTERNALLY_MODIFIED;
-		public static GLib.Quark quark ();
-	}
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", instance_pos = 1.9)]
-	[Version (since = "5.2")]
-	public delegate bool SchedulerCallback (int64 deadline);
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cname = "GTK_SOURCE_MAJOR_VERSION")]
-	public const int MAJOR_VERSION;
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cname = "GTK_SOURCE_MICRO_VERSION")]
-	public const int MICRO_VERSION;
-	[CCode (cheader_filename = "gtksourceview/gtksource.h", cname = "GTK_SOURCE_MINOR_VERSION")]
-	public const int MINOR_VERSION;
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	public static bool check_version (uint major, uint minor, uint micro);
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (replacement = "Encoding.get_all")]
-	public static GLib.SList<weak GtkSource.Encoding> encoding_get_all ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (replacement = "Encoding.get_current")]
-	public static unowned GtkSource.Encoding encoding_get_current ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (replacement = "Encoding.get_default_candidates")]
-	public static GLib.SList<weak GtkSource.Encoding> encoding_get_default_candidates ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (replacement = "Encoding.get_from_charset")]
-	public static unowned GtkSource.Encoding? encoding_get_from_charset (string charset);
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (replacement = "Encoding.get_utf8")]
-	public static unowned GtkSource.Encoding encoding_get_utf8 ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (replacement = "FileLoaderError.quark")]
-	public static GLib.Quark file_loader_error_quark ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (replacement = "FileSaverError.quark")]
-	public static GLib.Quark file_saver_error_quark ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	public static void finalize ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	public static uint get_major_version ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	public static uint get_micro_version ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	public static uint get_minor_version ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	public static void init ();
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (since = "5.2")]
-	public static size_t scheduler_add ([CCode (scope = "async")] GtkSource.SchedulerCallback callback);
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (since = "5.2")]
-	public static size_t scheduler_add_full (owned GtkSource.SchedulerCallback callback);
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	[Version (since = "5.2")]
-	public static void scheduler_remove (size_t handler_id);
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	public static string utils_escape_search_text (string text);
-	[CCode (cheader_filename = "gtksourceview/gtksource.h")]
-	public static string utils_unescape_search_text (string text);
-}
Index: radix-1.9/X11/libs/gtksourceview/5.8.0/Makefile
===================================================================
--- radix-1.9/X11/libs/gtksourceview/5.8.0/Makefile	(revision 124)
+++ radix-1.9/X11/libs/gtksourceview/5.8.0/Makefile	(revision 125)
@@ -56,6 +56,8 @@
 SOURCE_REQUIRES    = sources/GNOME/core/gtksourceview
 
 REQUIRES           = X11/libs/gtk4/4.11.2
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += X11/libs/cairo/1.17.8
 REQUIRES          += X11/libs/pango/1.50.12
 REQUIRES          += libs/pcre2/10.36
@@ -79,9 +81,7 @@
 
 cross_file         = $(TARGET_BUILD_DIR)/$(TARGET)-cross
 
-vala-api-file      = $(CURDIR)/vala-api/gtksourceview-5.vapi
 
-
 ####### Targets
 
 PKG_GROUP = xlibs
@@ -177,13 +177,19 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=disabled
-extra_configure_switches += -Dvapi=false
+extra_configure_switches += -Dintrospection=enabled
+extra_configure_switches += -Dvapi=true
 extra_configure_switches += -Dsysprof=false
 
 extra_configure_switches += -Dgtk_doc=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
 
 TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
@@ -229,7 +235,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -248,15 +255,15 @@
 	    -Dinstall_tests=false       \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
 	@mkdir -p $(GTKSRCVIEW_PKG)
 	@cd $(build_dir) && $(env_sysroot) ninja install
-	# ======= Install Vala API file =======
-	@mkdir -p $(GTKSRCVIEW_PKG)/usr/share/vala/vapi
-	@cp -a $(vala-api-file) $(GTKSRCVIEW_PKG)/usr/share/vala/vapi/
 	# ======= Install Documentation =======
 	@if [ -d $(GTKSRCVIEW_PKG)/usr/share/man ]; then \
 	  ( cd $(GTKSRCVIEW_PKG)/usr/share/man ; \
Index: radix-1.9/X11/libs/harfbuzz/3.3.1/Makefile
===================================================================
--- radix-1.9/X11/libs/harfbuzz/3.3.1/Makefile	(revision 124)
+++ radix-1.9/X11/libs/harfbuzz/3.3.1/Makefile	(revision 125)
@@ -58,6 +58,7 @@
 REQUIRES           = libs/freetype/2.11.1
 REQUIRES          += libs/graphite2/1.3.14
 REQUIRES          += libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 REQUIRES          += libs/icu4c/73.1
 REQUIRES          += X11/libs/cairo/1.17.8
 
@@ -176,6 +177,12 @@
 endif
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -Wno-use-after-free
 
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
@@ -221,6 +228,7 @@
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
 	@PKG_CONFIG_PATH= \
+	   $(python_environment) \
 	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
@@ -242,7 +250,7 @@
 	    -Dicu=enabled               \
 	    -Dgraphite2=enabled         \
 	    -Dfreetype=enabled          \
-	    -Dintrospection=disabled    \
+	    -Dintrospection=enabled     \
 	    -Dcairo=enabled             \
 	    -Dchafa=disabled            \
 	    -Ddocs=enabled              \
@@ -249,7 +257,10 @@
 	    -Dtests=disabled            \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/libadwaita/1.3.2/vala-api/libadwaita-1.vapi
===================================================================
--- radix-1.9/X11/libs/libadwaita/1.3.2/vala-api/libadwaita-1.vapi	(revision 124)
+++ radix-1.9/X11/libs/libadwaita/1.3.2/vala-api/libadwaita-1.vapi	(nonexistent)
@@ -1,1477 +0,0 @@
-/* libadwaita-1.vapi generated by vapigen, do not modify. */
-
-[CCode (cprefix = "Adw", gir_namespace = "Adw", gir_version = "1", lower_case_cprefix = "adw_")]
-namespace Adw {
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_about_window_get_type ()")]
-	[Version (since = "1.2")]
-	public sealed class AboutWindow : Adw.Window, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native, Gtk.Root, Gtk.ShortcutManager {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public AboutWindow ();
-		public void add_acknowledgement_section (string? name, [CCode (array_length = false, array_null_terminated = true)] string[] people);
-		public void add_credit_section (string? name, [CCode (array_length = false, array_null_terminated = true)] string[] people);
-		public void add_legal_section (string title, string? copyright, Gtk.License license_type, string? license);
-		public void add_link (string title, string url);
-		public unowned string get_application_icon ();
-		public unowned string get_application_name ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[]? get_artists ();
-		public unowned string get_comments ();
-		public unowned string get_copyright ();
-		public unowned string get_debug_info ();
-		public unowned string get_debug_info_filename ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[]? get_designers ();
-		public unowned string get_developer_name ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[]? get_developers ();
-		[CCode (array_length = false, array_null_terminated = true)]
-		public unowned string[]? get_documenters ();
-		public unowned string get_issue_url ();
-		public unowned string get_license ();
-		public Gtk.License get_license_type ();
-		public unowned string get_release_notes ();
-		public unowned string get_release_notes_version ();
-		public unowned string get_support_url ();
-		public unowned string get_translator_credits ();
-		public unowned string get_version ();
-		public unowned string get_website ();
-		public void set_application_icon (string application_icon);
-		public void set_application_name (string application_name);
-		public void set_artists ([CCode (array_length = false, array_null_terminated = true)] string[]? artists);
-		public void set_comments (string comments);
-		public void set_copyright (string copyright);
-		public void set_debug_info (string debug_info);
-		public void set_debug_info_filename (string filename);
-		public void set_designers ([CCode (array_length = false, array_null_terminated = true)] string[]? designers);
-		public void set_developer_name (string developer_name);
-		public void set_developers ([CCode (array_length = false, array_null_terminated = true)] string[]? developers);
-		public void set_documenters ([CCode (array_length = false, array_null_terminated = true)] string[]? documenters);
-		public void set_issue_url (string issue_url);
-		public void set_license (string license);
-		public void set_license_type (Gtk.License license_type);
-		public void set_release_notes (string release_notes);
-		public void set_release_notes_version (string version);
-		public void set_support_url (string support_url);
-		public void set_translator_credits (string translator_credits);
-		public void set_version (string version);
-		public void set_website (string website);
-		public string application_icon { get; set; }
-		public string application_name { get; set; }
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] artists { get; set; }
-		public string comments { get; set; }
-		public string copyright { get; set; }
-		public string debug_info { get; set; }
-		public string debug_info_filename { get; set; }
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] designers { get; set; }
-		public string developer_name { get; set; }
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] developers { get; set; }
-		[CCode (array_length = false, array_null_terminated = true)]
-		public string[] documenters { get; set; }
-		public string issue_url { get; set; }
-		public string license { get; set; }
-		public Gtk.License license_type { get; set; }
-		public string release_notes { get; set; }
-		public string release_notes_version { get; set; }
-		public string support_url { get; set; }
-		public string translator_credits { get; set; }
-		public string version { get; set; }
-		public string website { get; set; }
-		public signal bool activate_link (string uri);
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_action_row_get_type ()")]
-	public class ActionRow : Adw.PreferencesRow, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ActionRow ();
-		public virtual void activate ();
-		public void add_prefix (Gtk.Widget widget);
-		public void add_suffix (Gtk.Widget widget);
-		public unowned Gtk.Widget? get_activatable_widget ();
-		[Version (deprecated = true, deprecated_since = "1.3")]
-		public unowned string? get_icon_name ();
-		public unowned string? get_subtitle ();
-		public int get_subtitle_lines ();
-		[Version (since = "1.3")]
-		public bool get_subtitle_selectable ();
-		public int get_title_lines ();
-		public void remove (Gtk.Widget widget);
-		public void set_activatable_widget (Gtk.Widget? widget);
-		[Version (deprecated = true, deprecated_since = "1.3")]
-		public void set_icon_name (string? icon_name);
-		public void set_subtitle (string subtitle);
-		public void set_subtitle_lines (int subtitle_lines);
-		[Version (since = "1.3")]
-		public void set_subtitle_selectable (bool subtitle_selectable);
-		public void set_title_lines (int title_lines);
-		public Gtk.Widget activatable_widget { get; set; }
-		[Version (deprecated = true, deprecated_since = "1.3")]
-		public string icon_name { get; set; }
-		public string subtitle { get; set; }
-		public int subtitle_lines { get; set; }
-		[Version (since = "1.3")]
-		public bool subtitle_selectable { get; set; }
-		public int title_lines { get; set; }
-		public signal void activated ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_animation_get_type ()")]
-	public abstract class Animation : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected Animation ();
-		[Version (since = "1.3")]
-		public bool get_follow_enable_animations_setting ();
-		public Adw.AnimationState get_state ();
-		public unowned Adw.AnimationTarget get_target ();
-		public double get_value ();
-		public unowned Gtk.Widget get_widget ();
-		public void pause ();
-		public void play ();
-		public void reset ();
-		public void resume ();
-		[Version (since = "1.3")]
-		public void set_follow_enable_animations_setting (bool setting);
-		public void set_target (Adw.AnimationTarget target);
-		public void skip ();
-		[Version (since = "1.3")]
-		public bool follow_enable_animations_setting { get; set; }
-		public Adw.AnimationState state { get; }
-		public Adw.AnimationTarget target { get; set construct; }
-		public double value { get; }
-		public Gtk.Widget widget { get; construct; }
-		public signal void done ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_animation_target_get_type ()")]
-	public abstract class AnimationTarget : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected AnimationTarget ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_application_get_type ()")]
-	public class Application : Gtk.Application, GLib.ActionGroup, GLib.ActionMap {
-		[CCode (has_construct_function = false)]
-		public Application (string? application_id, GLib.ApplicationFlags flags);
-		public unowned Adw.StyleManager get_style_manager ();
-		public Adw.StyleManager style_manager { get; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_application_window_get_type ()")]
-	public class ApplicationWindow : Gtk.ApplicationWindow, GLib.ActionGroup, GLib.ActionMap, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native, Gtk.Root, Gtk.ShortcutManager {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ApplicationWindow (Gtk.Application app);
-		public unowned Gtk.Widget? get_content ();
-		public void set_content (Gtk.Widget? content);
-		public Gtk.Widget content { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_avatar_get_type ()")]
-	public sealed class Avatar : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Avatar (int size, string? text, bool show_initials);
-		public Gdk.Texture draw_to_texture (int scale_factor);
-		public unowned Gdk.Paintable? get_custom_image ();
-		public unowned string? get_icon_name ();
-		public bool get_show_initials ();
-		public int get_size ();
-		public unowned string? get_text ();
-		public void set_custom_image (Gdk.Paintable? custom_image);
-		public void set_icon_name (string? icon_name);
-		public void set_show_initials (bool show_initials);
-		public void set_size (int size);
-		public void set_text (string? text);
-		public Gdk.Paintable custom_image { get; set; }
-		public string icon_name { get; set; }
-		public bool show_initials { get; set; }
-		public int size { get; set; }
-		public string text { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_banner_get_type ()")]
-	[Version (since = "1.3")]
-	public sealed class Banner : Gtk.Widget, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Banner (string title);
-		public unowned string? get_button_label ();
-		public bool get_revealed ();
-		public unowned string get_title ();
-		public bool get_use_markup ();
-		public void set_button_label (string? label);
-		public void set_revealed (bool revealed);
-		public void set_title (string title);
-		public void set_use_markup (bool use_markup);
-		public string button_label { get; set; }
-		public bool revealed { get; set; }
-		public string title { get; set; }
-		public bool use_markup { get; set; }
-		public signal void button_clicked ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_bin_get_type ()")]
-	public class Bin : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Bin ();
-		public unowned Gtk.Widget? get_child ();
-		public void set_child (Gtk.Widget? child);
-		public Gtk.Widget child { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_button_content_get_type ()")]
-	public sealed class ButtonContent : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ButtonContent ();
-		public unowned string get_icon_name ();
-		public unowned string get_label ();
-		public bool get_use_underline ();
-		public void set_icon_name (string icon_name);
-		public void set_label (string label);
-		public void set_use_underline (bool use_underline);
-		public string icon_name { get; set; }
-		public string label { get; set; }
-		public bool use_underline { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_callback_animation_target_get_type ()")]
-	public sealed class CallbackAnimationTarget : Adw.AnimationTarget {
-		[CCode (has_construct_function = false, type = "AdwAnimationTarget*")]
-		public CallbackAnimationTarget (owned Adw.AnimationTargetFunc callback);
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_carousel_get_type ()")]
-	public sealed class Carousel : Gtk.Widget, Adw.Swipeable, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Carousel ();
-		public void append (Gtk.Widget child);
-		public bool get_allow_long_swipes ();
-		public bool get_allow_mouse_drag ();
-		public bool get_allow_scroll_wheel ();
-		public bool get_interactive ();
-		public uint get_n_pages ();
-		public unowned Gtk.Widget get_nth_page (uint n);
-		public double get_position ();
-		public uint get_reveal_duration ();
-		public Adw.SpringParams get_scroll_params ();
-		public uint get_spacing ();
-		public void insert (Gtk.Widget child, int position);
-		public void prepend (Gtk.Widget child);
-		public void remove (Gtk.Widget child);
-		public void reorder (Gtk.Widget child, int position);
-		public void scroll_to (Gtk.Widget widget, bool animate);
-		public void set_allow_long_swipes (bool allow_long_swipes);
-		public void set_allow_mouse_drag (bool allow_mouse_drag);
-		public void set_allow_scroll_wheel (bool allow_scroll_wheel);
-		public void set_interactive (bool interactive);
-		public void set_reveal_duration (uint reveal_duration);
-		public void set_scroll_params (Adw.SpringParams @params);
-		public void set_spacing (uint spacing);
-		public bool allow_long_swipes { get; set; }
-		public bool allow_mouse_drag { get; set; }
-		public bool allow_scroll_wheel { get; set; }
-		public bool interactive { get; set; }
-		public uint n_pages { get; }
-		public double position { get; }
-		public uint reveal_duration { get; set; }
-		public Adw.SpringParams scroll_params { owned get; set; }
-		public uint spacing { get; set; }
-		public signal void page_changed (uint index);
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_carousel_indicator_dots_get_type ()")]
-	public sealed class CarouselIndicatorDots : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public CarouselIndicatorDots ();
-		public unowned Adw.Carousel? get_carousel ();
-		public void set_carousel (Adw.Carousel? carousel);
-		public Adw.Carousel carousel { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_carousel_indicator_lines_get_type ()")]
-	public sealed class CarouselIndicatorLines : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public CarouselIndicatorLines ();
-		public unowned Adw.Carousel? get_carousel ();
-		public void set_carousel (Adw.Carousel? carousel);
-		public Adw.Carousel carousel { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_clamp_get_type ()")]
-	public sealed class Clamp : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Clamp ();
-		public unowned Gtk.Widget? get_child ();
-		public int get_maximum_size ();
-		public int get_tightening_threshold ();
-		public void set_child (Gtk.Widget? child);
-		public void set_maximum_size (int maximum_size);
-		public void set_tightening_threshold (int tightening_threshold);
-		public Gtk.Widget child { get; set; }
-		public int maximum_size { get; set; }
-		public int tightening_threshold { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_clamp_layout_get_type ()")]
-	public sealed class ClampLayout : Gtk.LayoutManager, Gtk.Orientable {
-		[CCode (has_construct_function = false, type = "GtkLayoutManager*")]
-		public ClampLayout ();
-		public int get_maximum_size ();
-		public int get_tightening_threshold ();
-		public void set_maximum_size (int maximum_size);
-		public void set_tightening_threshold (int tightening_threshold);
-		public int maximum_size { get; set; }
-		public int tightening_threshold { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_clamp_scrollable_get_type ()")]
-	public sealed class ClampScrollable : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable, Gtk.Scrollable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ClampScrollable ();
-		public unowned Gtk.Widget? get_child ();
-		public int get_maximum_size ();
-		public int get_tightening_threshold ();
-		public void set_child (Gtk.Widget? child);
-		public void set_maximum_size (int maximum_size);
-		public void set_tightening_threshold (int tightening_threshold);
-		public Gtk.Widget child { get; set; }
-		public int maximum_size { get; set; }
-		public int tightening_threshold { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_combo_row_get_type ()")]
-	public class ComboRow : Adw.ActionRow, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ComboRow ();
-		public unowned Gtk.Expression? get_expression ();
-		public unowned Gtk.ListItemFactory? get_factory ();
-		public unowned Gtk.ListItemFactory? get_list_factory ();
-		public unowned GLib.ListModel? get_model ();
-		public uint get_selected ();
-		public unowned GLib.Object? get_selected_item ();
-		public bool get_use_subtitle ();
-		public void set_expression (Gtk.Expression? expression);
-		public void set_factory (Gtk.ListItemFactory? factory);
-		public void set_list_factory (Gtk.ListItemFactory? factory);
-		public void set_model (GLib.ListModel? model);
-		public void set_selected (uint position);
-		public void set_use_subtitle (bool use_subtitle);
-		public Gtk.Expression expression { get; set; }
-		public Gtk.ListItemFactory factory { get; set; }
-		public Gtk.ListItemFactory list_factory { get; set; }
-		public GLib.ListModel model { get; set; }
-		public uint selected { get; set; }
-		public GLib.Object selected_item { get; }
-		public bool use_subtitle { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_entry_row_get_type ()")]
-	[Version (since = "1.2")]
-	public class EntryRow : Adw.PreferencesRow, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Editable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public EntryRow ();
-		public void add_prefix (Gtk.Widget widget);
-		public void add_suffix (Gtk.Widget widget);
-		public bool get_activates_default ();
-		public Pango.AttrList? get_attributes ();
-		public bool get_enable_emoji_completion ();
-		public Gtk.InputHints get_input_hints ();
-		public Gtk.InputPurpose get_input_purpose ();
-		public bool get_show_apply_button ();
-		[Version (since = "1.3")]
-		public bool grab_focus_without_selecting ();
-		public void remove (Gtk.Widget widget);
-		public void set_activates_default (bool activates);
-		public void set_attributes (Pango.AttrList? attributes);
-		public void set_enable_emoji_completion (bool enable_emoji_completion);
-		public void set_input_hints (Gtk.InputHints hints);
-		public void set_input_purpose (Gtk.InputPurpose purpose);
-		public void set_show_apply_button (bool show_apply_button);
-		public bool activates_default { get; set; }
-		public Pango.AttrList attributes { owned get; set; }
-		public bool enable_emoji_completion { get; set; }
-		public Gtk.InputHints input_hints { get; set; }
-		public Gtk.InputPurpose input_purpose { get; set; }
-		public bool show_apply_button { get; set; }
-		public signal void apply ();
-		public signal void entry_activated ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_enum_list_item_get_type ()")]
-	public sealed class EnumListItem : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected EnumListItem ();
-		public unowned string get_name ();
-		public unowned string get_nick ();
-		public int get_value ();
-		public string name { get; }
-		public string nick { get; }
-		public int value { get; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_enum_list_model_get_type ()")]
-	public sealed class EnumListModel : GLib.Object, GLib.ListModel {
-		[CCode (has_construct_function = false)]
-		public EnumListModel (GLib.Type enum_type);
-		public uint find_position (int value);
-		public GLib.Type get_enum_type ();
-		public GLib.Type enum_type { get; construct; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_expander_row_get_type ()")]
-	public class ExpanderRow : Adw.PreferencesRow, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ExpanderRow ();
-		public void add_action (Gtk.Widget widget);
-		public void add_prefix (Gtk.Widget widget);
-		public void add_row (Gtk.Widget child);
-		public bool get_enable_expansion ();
-		public bool get_expanded ();
-		[Version (deprecated = true, deprecated_since = "1.3")]
-		public unowned string? get_icon_name ();
-		public bool get_show_enable_switch ();
-		public unowned string get_subtitle ();
-		[Version (since = "1.3")]
-		public bool get_subtitle_lines ();
-		[Version (since = "1.3")]
-		public bool get_title_lines ();
-		public void remove (Gtk.Widget child);
-		public void set_enable_expansion (bool enable_expansion);
-		public void set_expanded (bool expanded);
-		[Version (deprecated = true, deprecated_since = "1.3")]
-		public void set_icon_name (string? icon_name);
-		public void set_show_enable_switch (bool show_enable_switch);
-		public void set_subtitle (string subtitle);
-		[Version (since = "1.3")]
-		public void set_subtitle_lines (int subtitle_lines);
-		[Version (since = "1.3")]
-		public void set_title_lines (int title_lines);
-		public bool enable_expansion { get; set; }
-		public bool expanded { get; set; }
-		[Version (deprecated = true, deprecated_since = "1.3")]
-		public string icon_name { get; set; }
-		public bool show_enable_switch { get; set; }
-		public string subtitle { get; set; }
-		[Version (since = "1.3")]
-		public int subtitle_lines { get; set; }
-		[Version (since = "1.3")]
-		public int title_lines { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_flap_get_type ()")]
-	public sealed class Flap : Gtk.Widget, Adw.Swipeable, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Flap ();
-		public unowned Gtk.Widget? get_content ();
-		public unowned Gtk.Widget? get_flap ();
-		public Gtk.PackType get_flap_position ();
-		public uint get_fold_duration ();
-		public Adw.FlapFoldPolicy get_fold_policy ();
-		public Adw.FoldThresholdPolicy get_fold_threshold_policy ();
-		public bool get_folded ();
-		public bool get_locked ();
-		public bool get_modal ();
-		public bool get_reveal_flap ();
-		public Adw.SpringParams get_reveal_params ();
-		public double get_reveal_progress ();
-		public unowned Gtk.Widget? get_separator ();
-		public bool get_swipe_to_close ();
-		public bool get_swipe_to_open ();
-		public Adw.FlapTransitionType get_transition_type ();
-		public void set_content (Gtk.Widget? content);
-		public void set_flap (Gtk.Widget? flap);
-		public void set_flap_position (Gtk.PackType position);
-		public void set_fold_duration (uint duration);
-		public void set_fold_policy (Adw.FlapFoldPolicy policy);
-		public void set_fold_threshold_policy (Adw.FoldThresholdPolicy policy);
-		public void set_locked (bool locked);
-		public void set_modal (bool modal);
-		public void set_reveal_flap (bool reveal_flap);
-		public void set_reveal_params (Adw.SpringParams @params);
-		public void set_separator (Gtk.Widget? separator);
-		public void set_swipe_to_close (bool swipe_to_close);
-		public void set_swipe_to_open (bool swipe_to_open);
-		public void set_transition_type (Adw.FlapTransitionType transition_type);
-		public Gtk.Widget content { get; set; }
-		public Gtk.Widget flap { get; set; }
-		public Gtk.PackType flap_position { get; set; }
-		public uint fold_duration { get; set; }
-		public Adw.FlapFoldPolicy fold_policy { get; set; }
-		public Adw.FoldThresholdPolicy fold_threshold_policy { get; set; }
-		public bool folded { get; }
-		public bool locked { get; set; }
-		public bool modal { get; set; }
-		public bool reveal_flap { get; set; }
-		public Adw.SpringParams reveal_params { owned get; set; }
-		public double reveal_progress { get; }
-		public Gtk.Widget separator { get; set; }
-		public bool swipe_to_close { get; set; }
-		public bool swipe_to_open { get; set; }
-		public Adw.FlapTransitionType transition_type { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_header_bar_get_type ()")]
-	public sealed class HeaderBar : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public HeaderBar ();
-		public Adw.CenteringPolicy get_centering_policy ();
-		public unowned string? get_decoration_layout ();
-		public bool get_show_end_title_buttons ();
-		public bool get_show_start_title_buttons ();
-		public unowned Gtk.Widget? get_title_widget ();
-		public void pack_end (Gtk.Widget child);
-		public void pack_start (Gtk.Widget child);
-		public void remove (Gtk.Widget child);
-		public void set_centering_policy (Adw.CenteringPolicy centering_policy);
-		public void set_decoration_layout (string? layout);
-		public void set_show_end_title_buttons (bool setting);
-		public void set_show_start_title_buttons (bool setting);
-		public void set_title_widget (Gtk.Widget? title_widget);
-		public Adw.CenteringPolicy centering_policy { get; set; }
-		public string decoration_layout { get; set; }
-		public bool show_end_title_buttons { get; set; }
-		public bool show_start_title_buttons { get; set; }
-		public Gtk.Widget title_widget { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_leaflet_get_type ()")]
-	public sealed class Leaflet : Gtk.Widget, Adw.Swipeable, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Leaflet ();
-		public unowned Adw.LeafletPage append (Gtk.Widget child);
-		public unowned Gtk.Widget? get_adjacent_child (Adw.NavigationDirection direction);
-		public bool get_can_navigate_back ();
-		public bool get_can_navigate_forward ();
-		public bool get_can_unfold ();
-		public unowned Gtk.Widget? get_child_by_name (string name);
-		public Adw.SpringParams get_child_transition_params ();
-		public bool get_child_transition_running ();
-		public Adw.FoldThresholdPolicy get_fold_threshold_policy ();
-		public bool get_folded ();
-		public bool get_homogeneous ();
-		public uint get_mode_transition_duration ();
-		public unowned Adw.LeafletPage get_page (Gtk.Widget child);
-		public Gtk.SelectionModel get_pages ();
-		public Adw.LeafletTransitionType get_transition_type ();
-		public unowned Gtk.Widget? get_visible_child ();
-		public unowned string? get_visible_child_name ();
-		public unowned Adw.LeafletPage insert_child_after (Gtk.Widget child, Gtk.Widget? sibling);
-		public bool navigate (Adw.NavigationDirection direction);
-		public unowned Adw.LeafletPage prepend (Gtk.Widget child);
-		public void remove (Gtk.Widget child);
-		public void reorder_child_after (Gtk.Widget child, Gtk.Widget? sibling);
-		public void set_can_navigate_back (bool can_navigate_back);
-		public void set_can_navigate_forward (bool can_navigate_forward);
-		public void set_can_unfold (bool can_unfold);
-		public void set_child_transition_params (Adw.SpringParams @params);
-		public void set_fold_threshold_policy (Adw.FoldThresholdPolicy policy);
-		public void set_homogeneous (bool homogeneous);
-		public void set_mode_transition_duration (uint duration);
-		public void set_transition_type (Adw.LeafletTransitionType transition);
-		public void set_visible_child (Gtk.Widget visible_child);
-		public void set_visible_child_name (string name);
-		public bool can_navigate_back { get; set; }
-		public bool can_navigate_forward { get; set; }
-		public bool can_unfold { get; set; }
-		public Adw.SpringParams child_transition_params { owned get; set; }
-		public bool child_transition_running { get; }
-		public Adw.FoldThresholdPolicy fold_threshold_policy { get; set; }
-		public bool folded { get; }
-		public bool homogeneous { get; set; }
-		public uint mode_transition_duration { get; set; }
-		public Gtk.SelectionModel pages { owned get; }
-		public Adw.LeafletTransitionType transition_type { get; set; }
-		public Gtk.Widget visible_child { get; set; }
-		public string visible_child_name { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_leaflet_page_get_type ()")]
-	public sealed class LeafletPage : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected LeafletPage ();
-		public unowned Gtk.Widget get_child ();
-		public unowned string? get_name ();
-		public bool get_navigatable ();
-		public void set_name (string? name);
-		public void set_navigatable (bool navigatable);
-		public Gtk.Widget child { get; construct; }
-		public string name { get; set; }
-		public bool navigatable { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_message_dialog_get_type ()")]
-	[Version (since = "1.2")]
-	public class MessageDialog : Gtk.Window, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native, Gtk.Root, Gtk.ShortcutManager {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public MessageDialog (Gtk.Window? parent, string? heading, string? body);
-		public void add_response (string id, string label);
-		[DestroysInstance]
-		[Version (since = "1.3")]
-		public async unowned string choose (GLib.Cancellable? cancellable);
-		public unowned string get_body ();
-		public bool get_body_use_markup ();
-		public unowned string get_close_response ();
-		public unowned string? get_default_response ();
-		public unowned Gtk.Widget? get_extra_child ();
-		public unowned string? get_heading ();
-		public bool get_heading_use_markup ();
-		public Adw.ResponseAppearance get_response_appearance (string response);
-		public bool get_response_enabled (string response);
-		public unowned string get_response_label (string response);
-		public bool has_response (string response);
-		public void set_body (string body);
-		public void set_body_use_markup (bool use_markup);
-		public void set_close_response (string response);
-		public void set_default_response (string? response);
-		public void set_extra_child (Gtk.Widget? child);
-		public void set_heading (string? heading);
-		public void set_heading_use_markup (bool use_markup);
-		public void set_response_appearance (string response, Adw.ResponseAppearance appearance);
-		public void set_response_enabled (string response, bool enabled);
-		public void set_response_label (string response, string label);
-		public string body { get; set; }
-		public bool body_use_markup { get; set; }
-		public string close_response { get; set; }
-		public string default_response { get; set; }
-		public Gtk.Widget extra_child { get; set; }
-		public string heading { get; set; }
-		public bool heading_use_markup { get; set; }
-		[HasEmitter]
-		public virtual signal void response (string response);
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_password_entry_row_get_type ()")]
-	[Version (since = "1.2")]
-	public sealed class PasswordEntryRow : Adw.EntryRow, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Editable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public PasswordEntryRow ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_preferences_group_get_type ()")]
-	public class PreferencesGroup : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public PreferencesGroup ();
-		public void add (Gtk.Widget child);
-		public unowned string? get_description ();
-		[Version (since = "1.1")]
-		public unowned Gtk.Widget? get_header_suffix ();
-		public unowned string get_title ();
-		public void remove (Gtk.Widget child);
-		public void set_description (string? description);
-		[Version (since = "1.1")]
-		public void set_header_suffix (Gtk.Widget? suffix);
-		public void set_title (string title);
-		public string description { get; set; }
-		[Version (since = "1.1")]
-		public Gtk.Widget header_suffix { get; set; }
-		public string title { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_preferences_page_get_type ()")]
-	public class PreferencesPage : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public PreferencesPage ();
-		public void add (Adw.PreferencesGroup group);
-		public unowned string? get_icon_name ();
-		public unowned string? get_name ();
-		public unowned string get_title ();
-		public bool get_use_underline ();
-		public void remove (Adw.PreferencesGroup group);
-		[Version (since = "1.3")]
-		public void scroll_to_top ();
-		public void set_icon_name (string? icon_name);
-		public void set_name (string? name);
-		public void set_title (string title);
-		public void set_use_underline (bool use_underline);
-		public string icon_name { get; set; }
-		public string name { get; set; }
-		public string title { get; set; }
-		public bool use_underline { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_preferences_row_get_type ()")]
-	public class PreferencesRow : Gtk.ListBoxRow, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public PreferencesRow ();
-		public unowned string get_title ();
-		[Version (since = "1.1")]
-		public bool get_title_selectable ();
-		[Version (since = "1.2")]
-		public bool get_use_markup ();
-		public bool get_use_underline ();
-		public void set_title (string title);
-		[Version (since = "1.1")]
-		public void set_title_selectable (bool title_selectable);
-		[Version (since = "1.2")]
-		public void set_use_markup (bool use_markup);
-		public void set_use_underline (bool use_underline);
-		public string title { get; set; }
-		[Version (since = "1.1")]
-		public bool title_selectable { get; set; }
-		[Version (since = "1.2")]
-		public bool use_markup { get; set; }
-		public bool use_underline { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_preferences_window_get_type ()")]
-	public class PreferencesWindow : Adw.Window, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native, Gtk.Root, Gtk.ShortcutManager {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public PreferencesWindow ();
-		public void add (Adw.PreferencesPage page);
-		public void add_toast (owned Adw.Toast toast);
-		public void close_subpage ();
-		public bool get_can_navigate_back ();
-		public bool get_search_enabled ();
-		public unowned Adw.PreferencesPage? get_visible_page ();
-		public unowned string? get_visible_page_name ();
-		public void present_subpage (Gtk.Widget subpage);
-		public void remove (Adw.PreferencesPage page);
-		public void set_can_navigate_back (bool can_navigate_back);
-		public void set_search_enabled (bool search_enabled);
-		public void set_visible_page (Adw.PreferencesPage page);
-		public void set_visible_page_name (string name);
-		public bool can_navigate_back { get; set; }
-		public bool search_enabled { get; set; }
-		public Gtk.Widget visible_page { get; set; }
-		public string visible_page_name { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_property_animation_target_get_type ()")]
-	[Version (since = "1.2")]
-	public sealed class PropertyAnimationTarget : Adw.AnimationTarget {
-		[CCode (has_construct_function = false, type = "AdwAnimationTarget*")]
-		public PropertyAnimationTarget (GLib.Object object, string property_name);
-		[CCode (has_construct_function = false, type = "AdwAnimationTarget*")]
-		public PropertyAnimationTarget.for_pspec (GLib.Object object, GLib.ParamSpec pspec);
-		public unowned GLib.Object get_object ();
-		public unowned GLib.ParamSpec get_pspec ();
-		public GLib.Object object { get; construct; }
-		public GLib.ParamSpec pspec { get; construct; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_split_button_get_type ()")]
-	public sealed class SplitButton : Gtk.Widget, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public SplitButton ();
-		public unowned Gtk.Widget? get_child ();
-		public Gtk.ArrowType get_direction ();
-		[Version (since = "1.2")]
-		public unowned string get_dropdown_tooltip ();
-		public unowned string? get_icon_name ();
-		public unowned string? get_label ();
-		public unowned GLib.MenuModel? get_menu_model ();
-		public unowned Gtk.Popover? get_popover ();
-		public bool get_use_underline ();
-		public void popdown ();
-		public void popup ();
-		public void set_child (Gtk.Widget? child);
-		public void set_direction (Gtk.ArrowType direction);
-		[Version (since = "1.2")]
-		public void set_dropdown_tooltip (string tooltip);
-		public void set_icon_name (string icon_name);
-		public void set_label (string label);
-		public void set_menu_model (GLib.MenuModel? menu_model);
-		public void set_popover (Gtk.Popover? popover);
-		public void set_use_underline (bool use_underline);
-		public Gtk.Widget child { get; set; }
-		public Gtk.ArrowType direction { get; set; }
-		[Version (since = "1.2")]
-		public string dropdown_tooltip { get; set; }
-		public string icon_name { get; set; }
-		public string label { get; set; }
-		public GLib.MenuModel menu_model { get; set; }
-		public Gtk.Popover popover { get; set; }
-		public bool use_underline { get; set; }
-		public signal void activate ();
-		public signal void clicked ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_spring_animation_get_type ()")]
-	public sealed class SpringAnimation : Adw.Animation {
-		[CCode (has_construct_function = false, type = "AdwAnimation*")]
-		public SpringAnimation (Gtk.Widget widget, double from, double to, owned Adw.SpringParams spring_params, owned Adw.AnimationTarget target);
-		[Version (since = "1.3")]
-		public double calculate_value (uint time);
-		[Version (since = "1.3")]
-		public double calculate_velocity (uint time);
-		public bool get_clamp ();
-		public double get_epsilon ();
-		public uint get_estimated_duration ();
-		public double get_initial_velocity ();
-		public unowned Adw.SpringParams get_spring_params ();
-		public double get_value_from ();
-		public double get_value_to ();
-		public double get_velocity ();
-		public void set_clamp (bool clamp);
-		public void set_epsilon (double epsilon);
-		public void set_initial_velocity (double velocity);
-		public void set_spring_params (Adw.SpringParams spring_params);
-		public void set_value_from (double value);
-		public void set_value_to (double value);
-		public bool clamp { get; set; }
-		public double epsilon { get; set; }
-		public uint estimated_duration { get; }
-		public double initial_velocity { get; set; }
-		public Adw.SpringParams spring_params { get; set construct; }
-		public double value_from { get; set construct; }
-		public double value_to { get; set construct; }
-		public double velocity { get; }
-	}
-	[CCode (cheader_filename = "adwaita.h", ref_function = "adw_spring_params_ref", type_id = "adw_spring_params_get_type ()", unref_function = "adw_spring_params_unref")]
-	[Compact]
-	public class SpringParams {
-		[CCode (has_construct_function = false)]
-		public SpringParams (double damping_ratio, double mass, double stiffness);
-		[CCode (has_construct_function = false)]
-		public SpringParams.full (double damping, double mass, double stiffness);
-		public double get_damping ();
-		public double get_damping_ratio ();
-		public double get_mass ();
-		public double get_stiffness ();
-		public Adw.SpringParams @ref ();
-		public void unref ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_squeezer_get_type ()")]
-	public sealed class Squeezer : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Squeezer ();
-		public unowned Adw.SqueezerPage add (Gtk.Widget child);
-		public bool get_allow_none ();
-		public bool get_homogeneous ();
-		public bool get_interpolate_size ();
-		public unowned Adw.SqueezerPage get_page (Gtk.Widget child);
-		public Gtk.SelectionModel get_pages ();
-		public Adw.FoldThresholdPolicy get_switch_threshold_policy ();
-		public uint get_transition_duration ();
-		public bool get_transition_running ();
-		public Adw.SqueezerTransitionType get_transition_type ();
-		public unowned Gtk.Widget? get_visible_child ();
-		public float get_xalign ();
-		public float get_yalign ();
-		public void remove (Gtk.Widget child);
-		public void set_allow_none (bool allow_none);
-		public void set_homogeneous (bool homogeneous);
-		public void set_interpolate_size (bool interpolate_size);
-		public void set_switch_threshold_policy (Adw.FoldThresholdPolicy policy);
-		public void set_transition_duration (uint duration);
-		public void set_transition_type (Adw.SqueezerTransitionType transition);
-		public void set_xalign (float xalign);
-		public void set_yalign (float yalign);
-		public bool allow_none { get; set; }
-		public bool homogeneous { get; set; }
-		public bool interpolate_size { get; set; }
-		public Gtk.SelectionModel pages { owned get; }
-		public Adw.FoldThresholdPolicy switch_threshold_policy { get; set; }
-		public uint transition_duration { get; set; }
-		public bool transition_running { get; }
-		public Adw.SqueezerTransitionType transition_type { get; set; }
-		public Gtk.Widget visible_child { get; }
-		public float xalign { get; set; }
-		public float yalign { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_squeezer_page_get_type ()")]
-	public sealed class SqueezerPage : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected SqueezerPage ();
-		public unowned Gtk.Widget get_child ();
-		public bool get_enabled ();
-		public void set_enabled (bool enabled);
-		public Gtk.Widget child { get; construct; }
-		public bool enabled { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_status_page_get_type ()")]
-	public sealed class StatusPage : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public StatusPage ();
-		public unowned Gtk.Widget? get_child ();
-		public unowned string? get_description ();
-		public unowned string? get_icon_name ();
-		public unowned Gdk.Paintable? get_paintable ();
-		public unowned string get_title ();
-		public void set_child (Gtk.Widget? child);
-		public void set_description (string? description);
-		public void set_icon_name (string? icon_name);
-		public void set_paintable (Gdk.Paintable? paintable);
-		public void set_title (string title);
-		public Gtk.Widget child { get; set; }
-		public string description { get; set; }
-		public string icon_name { get; set; }
-		public Gdk.Paintable paintable { get; set; }
-		public string title { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_style_manager_get_type ()")]
-	public sealed class StyleManager : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected StyleManager ();
-		public Adw.ColorScheme get_color_scheme ();
-		public bool get_dark ();
-		public static unowned Adw.StyleManager get_default ();
-		public unowned Gdk.Display get_display ();
-		public static unowned Adw.StyleManager get_for_display (Gdk.Display display);
-		public bool get_high_contrast ();
-		public bool get_system_supports_color_schemes ();
-		public void set_color_scheme (Adw.ColorScheme color_scheme);
-		public Adw.ColorScheme color_scheme { get; set; }
-		public bool dark { get; }
-		public Gdk.Display display { get; construct; }
-		public bool high_contrast { get; }
-		public bool system_supports_color_schemes { get; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_swipe_tracker_get_type ()")]
-	public sealed class SwipeTracker : GLib.Object, Gtk.Orientable {
-		[CCode (has_construct_function = false)]
-		public SwipeTracker (Adw.Swipeable swipeable);
-		public bool get_allow_long_swipes ();
-		public bool get_allow_mouse_drag ();
-		public bool get_enabled ();
-		public bool get_reversed ();
-		public unowned Adw.Swipeable get_swipeable ();
-		public void set_allow_long_swipes (bool allow_long_swipes);
-		public void set_allow_mouse_drag (bool allow_mouse_drag);
-		public void set_enabled (bool enabled);
-		public void set_reversed (bool reversed);
-		public void shift_position (double delta);
-		public bool allow_long_swipes { get; set; }
-		public bool allow_mouse_drag { get; set; }
-		public bool enabled { get; set; }
-		public bool reversed { get; set; }
-		public Adw.Swipeable swipeable { get; construct; }
-		public signal void begin_swipe ();
-		public signal void end_swipe (double velocity, double to);
-		public signal void prepare (Adw.NavigationDirection direction);
-		public signal void update_swipe (double progress);
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_tab_bar_get_type ()")]
-	public sealed class TabBar : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false)]
-		public TabBar ();
-		public bool get_autohide ();
-		public unowned Gtk.Widget? get_end_action_widget ();
-		public bool get_expand_tabs ();
-		[Version (since = "1.3")]
-		public bool get_extra_drag_preload ();
-		public bool get_inverted ();
-		public bool get_is_overflowing ();
-		public unowned Gtk.Widget? get_start_action_widget ();
-		public bool get_tabs_revealed ();
-		public unowned Adw.TabView? get_view ();
-		public void set_autohide (bool autohide);
-		public void set_end_action_widget (Gtk.Widget? widget);
-		public void set_expand_tabs (bool expand_tabs);
-		[Version (since = "1.3")]
-		public void set_extra_drag_preload (bool preload);
-		public void set_inverted (bool inverted);
-		public void set_start_action_widget (Gtk.Widget? widget);
-		public void set_view (Adw.TabView? view);
-		public void setup_extra_drop_target (Gdk.DragAction actions, [CCode (array_length_cname = "n_types", array_length_pos = 2.1, array_length_type = "gsize")] GLib.Type[]? types);
-		public bool autohide { get; set; }
-		public Gtk.Widget end_action_widget { get; set; }
-		public bool expand_tabs { get; set; }
-		[Version (since = "1.3")]
-		public bool extra_drag_preload { get; set; }
-		public bool inverted { get; set; }
-		public bool is_overflowing { get; }
-		public Gtk.Widget start_action_widget { get; set; }
-		public bool tabs_revealed { get; }
-		public Adw.TabView view { get; set; }
-		public signal bool extra_drag_drop (Adw.TabPage page, GLib.Value value);
-		[Version (since = "1.3")]
-		public signal Gdk.DragAction extra_drag_value (Adw.TabPage page, GLib.Value value);
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_tab_button_get_type ()")]
-	[Version (since = "1.3")]
-	public sealed class TabButton : Gtk.Widget, Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public TabButton ();
-		public unowned Adw.TabView? get_view ();
-		public void set_view (Adw.TabView? view);
-		public Adw.TabView view { get; set; }
-		public signal void activate ();
-		public signal void clicked ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_tab_overview_get_type ()")]
-	[Version (since = "1.3")]
-	public sealed class TabOverview : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public TabOverview ();
-		public unowned Gtk.Widget? get_child ();
-		public bool get_enable_new_tab ();
-		public bool get_enable_search ();
-		public bool get_extra_drag_preload ();
-		public bool get_inverted ();
-		public bool get_open ();
-		public bool get_search_active ();
-		public unowned GLib.MenuModel? get_secondary_menu ();
-		public bool get_show_end_title_buttons ();
-		public bool get_show_start_title_buttons ();
-		public unowned Adw.TabView? get_view ();
-		public void set_child (Gtk.Widget? child);
-		public void set_enable_new_tab (bool enable_new_tab);
-		public void set_enable_search (bool enable_search);
-		public void set_extra_drag_preload (bool preload);
-		public void set_inverted (bool inverted);
-		public void set_open (bool open);
-		public void set_secondary_menu (GLib.MenuModel? secondary_menu);
-		public void set_show_end_title_buttons (bool show_end_title_buttons);
-		public void set_show_start_title_buttons (bool show_start_title_buttons);
-		public void set_view (Adw.TabView? view);
-		public void setup_extra_drop_target (Gdk.DragAction actions, [CCode (array_length_cname = "n_types", array_length_pos = 2.1, array_length_type = "gsize")] GLib.Type[]? types);
-		public Gtk.Widget child { get; set; }
-		public bool enable_new_tab { get; set; }
-		public bool enable_search { get; set; }
-		public bool extra_drag_preload { get; set; }
-		public bool inverted { get; set; }
-		public bool open { get; set; }
-		public bool search_active { get; }
-		public GLib.MenuModel secondary_menu { get; set; }
-		public bool show_end_title_buttons { get; set; }
-		public bool show_start_title_buttons { get; set; }
-		public Adw.TabView view { get; set; }
-		public signal unowned Adw.TabPage create_tab ();
-		public signal bool extra_drag_drop (Adw.TabPage page, GLib.Value value);
-		public signal Gdk.DragAction extra_drag_value (Adw.TabPage page, GLib.Value value);
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_tab_page_get_type ()")]
-	public sealed class TabPage : GLib.Object, Gtk.Accessible {
-		[CCode (has_construct_function = false)]
-		protected TabPage ();
-		public unowned Gtk.Widget get_child ();
-		public unowned GLib.Icon? get_icon ();
-		public bool get_indicator_activatable ();
-		public unowned GLib.Icon? get_indicator_icon ();
-		[Version (since = "1.2")]
-		public unowned string get_indicator_tooltip ();
-		[Version (since = "1.3")]
-		public unowned string? get_keyword ();
-		[Version (since = "1.3")]
-		public bool get_live_thumbnail ();
-		public bool get_loading ();
-		public bool get_needs_attention ();
-		public unowned Adw.TabPage? get_parent ();
-		public bool get_pinned ();
-		public bool get_selected ();
-		[Version (since = "1.3")]
-		public float get_thumbnail_xalign ();
-		[Version (since = "1.3")]
-		public float get_thumbnail_yalign ();
-		public unowned string get_title ();
-		public unowned string? get_tooltip ();
-		[Version (since = "1.3")]
-		public void invalidate_thumbnail ();
-		public void set_icon (GLib.Icon? icon);
-		public void set_indicator_activatable (bool activatable);
-		public void set_indicator_icon (GLib.Icon? indicator_icon);
-		[Version (since = "1.2")]
-		public void set_indicator_tooltip (string tooltip);
-		[Version (since = "1.3")]
-		public void set_keyword (string keyword);
-		[Version (since = "1.3")]
-		public void set_live_thumbnail (bool live_thumbnail);
-		public void set_loading (bool loading);
-		public void set_needs_attention (bool needs_attention);
-		[Version (since = "1.3")]
-		public void set_thumbnail_xalign (float xalign);
-		[Version (since = "1.3")]
-		public void set_thumbnail_yalign (float yalign);
-		public void set_title (string title);
-		public void set_tooltip (string tooltip);
-		public Gtk.Widget child { get; construct; }
-		public GLib.Icon icon { get; set; }
-		public bool indicator_activatable { get; set; }
-		public GLib.Icon indicator_icon { get; set; }
-		[Version (since = "1.2")]
-		public string indicator_tooltip { get; set; }
-		[Version (since = "1.3")]
-		public string keyword { get; set; }
-		[Version (since = "1.3")]
-		public bool live_thumbnail { get; set; }
-		public bool loading { get; set; }
-		public bool needs_attention { get; set; }
-		public Adw.TabPage parent { get; construct; }
-		public bool pinned { get; }
-		public bool selected { get; }
-		[Version (since = "1.3")]
-		public float thumbnail_xalign { get; set; }
-		[Version (since = "1.3")]
-		public float thumbnail_yalign { get; set; }
-		public string title { get; set; }
-		public string tooltip { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_tab_view_get_type ()")]
-	public sealed class TabView : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false)]
-		public TabView ();
-		public unowned Adw.TabPage add_page (Gtk.Widget child, Adw.TabPage? parent);
-		[Version (since = "1.2")]
-		public void add_shortcuts (Adw.TabViewShortcuts shortcuts);
-		public unowned Adw.TabPage append (Gtk.Widget child);
-		public unowned Adw.TabPage append_pinned (Gtk.Widget child);
-		public void close_other_pages (Adw.TabPage page);
-		public void close_page_finish (Adw.TabPage page, bool confirm);
-		public void close_pages_after (Adw.TabPage page);
-		public void close_pages_before (Adw.TabPage page);
-		public unowned GLib.Icon get_default_icon ();
-		public bool get_is_transferring_page ();
-		public unowned GLib.MenuModel? get_menu_model ();
-		public int get_n_pages ();
-		public int get_n_pinned_pages ();
-		public unowned Adw.TabPage get_nth_page (int position);
-		public unowned Adw.TabPage get_page (Gtk.Widget child);
-		public int get_page_position (Adw.TabPage page);
-		public Gtk.SelectionModel get_pages ();
-		public unowned Adw.TabPage? get_selected_page ();
-		[Version (since = "1.2")]
-		public Adw.TabViewShortcuts get_shortcuts ();
-		public unowned Adw.TabPage insert (Gtk.Widget child, int position);
-		public unowned Adw.TabPage insert_pinned (Gtk.Widget child, int position);
-		[Version (since = "1.3")]
-		public void invalidate_thumbnails ();
-		public unowned Adw.TabPage prepend (Gtk.Widget child);
-		public unowned Adw.TabPage prepend_pinned (Gtk.Widget child);
-		[Version (since = "1.2")]
-		public void remove_shortcuts (Adw.TabViewShortcuts shortcuts);
-		public bool reorder_backward (Adw.TabPage page);
-		public bool reorder_first (Adw.TabPage page);
-		public bool reorder_forward (Adw.TabPage page);
-		public bool reorder_last (Adw.TabPage page);
-		public bool reorder_page (Adw.TabPage page, int position);
-		public bool select_next_page ();
-		public bool select_previous_page ();
-		public void set_default_icon (GLib.Icon default_icon);
-		public void set_menu_model (GLib.MenuModel? menu_model);
-		public void set_page_pinned (Adw.TabPage page, bool pinned);
-		public void set_selected_page (Adw.TabPage selected_page);
-		[Version (since = "1.2")]
-		public void set_shortcuts (Adw.TabViewShortcuts shortcuts);
-		public void transfer_page (Adw.TabPage page, Adw.TabView other_view, int position);
-		public GLib.Icon default_icon { get; set; }
-		public bool is_transferring_page { get; }
-		public GLib.MenuModel menu_model { get; set; }
-		public int n_pages { get; }
-		public int n_pinned_pages { get; }
-		public Gtk.SelectionModel pages { owned get; }
-		public Adw.TabPage selected_page { get; set; }
-		[Version (since = "1.2")]
-		public Adw.TabViewShortcuts shortcuts { get; set; }
-		[HasEmitter]
-		public signal bool close_page (Adw.TabPage page);
-		public signal unowned Adw.TabView? create_window ();
-		public signal void indicator_activated (Adw.TabPage page);
-		public signal void page_attached (Adw.TabPage page, int position);
-		public signal void page_detached (Adw.TabPage page, int position);
-		public signal void page_reordered (Adw.TabPage page, int position);
-		public signal void setup_menu (Adw.TabPage? page);
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_timed_animation_get_type ()")]
-	public sealed class TimedAnimation : Adw.Animation {
-		[CCode (has_construct_function = false, type = "AdwAnimation*")]
-		public TimedAnimation (Gtk.Widget widget, double from, double to, uint duration, owned Adw.AnimationTarget target);
-		public bool get_alternate ();
-		public uint get_duration ();
-		public Adw.Easing get_easing ();
-		public uint get_repeat_count ();
-		public bool get_reverse ();
-		public double get_value_from ();
-		public double get_value_to ();
-		public void set_alternate (bool alternate);
-		public void set_duration (uint duration);
-		public void set_easing (Adw.Easing easing);
-		public void set_repeat_count (uint repeat_count);
-		public void set_reverse (bool reverse);
-		public void set_value_from (double value);
-		public void set_value_to (double value);
-		public bool alternate { get; set construct; }
-		public uint duration { get; set construct; }
-		public Adw.Easing easing { get; set construct; }
-		public uint repeat_count { get; set construct; }
-		public bool reverse { get; set construct; }
-		public double value_from { get; set construct; }
-		public double value_to { get; set construct; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_toast_get_type ()")]
-	public sealed class Toast : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public Toast (string title);
-		public void dismiss ();
-		public unowned string? get_action_name ();
-		public unowned GLib.Variant? get_action_target_value ();
-		public unowned string? get_button_label ();
-		[Version (since = "1.2")]
-		public unowned Gtk.Widget? get_custom_title ();
-		public Adw.ToastPriority get_priority ();
-		public uint get_timeout ();
-		public unowned string? get_title ();
-		public void set_action_name (string? action_name);
-		public void set_action_target_value (GLib.Variant? action_target);
-		public void set_button_label (string? button_label);
-		[Version (since = "1.2")]
-		public void set_custom_title (Gtk.Widget? widget);
-		public void set_detailed_action_name (string? detailed_action_name);
-		public void set_priority (Adw.ToastPriority priority);
-		public void set_timeout (uint timeout);
-		public void set_title (string title);
-		public string action_name { get; set; }
-		[NoAccessorMethod]
-		public GLib.Variant action_target { owned get; set; }
-		public string button_label { get; set; }
-		[Version (since = "1.2")]
-		public Gtk.Widget custom_title { get; set; }
-		public Adw.ToastPriority priority { get; set; }
-		public uint timeout { get; set; }
-		public string title { get; set; }
-		[Version (since = "1.2")]
-		public signal void button_clicked ();
-		public signal void dismissed ();
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_toast_overlay_get_type ()")]
-	public sealed class ToastOverlay : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ToastOverlay ();
-		public void add_toast (owned Adw.Toast toast);
-		public unowned Gtk.Widget? get_child ();
-		public void set_child (Gtk.Widget? child);
-		public Gtk.Widget child { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_view_stack_get_type ()")]
-	public sealed class ViewStack : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ViewStack ();
-		public unowned Adw.ViewStackPage add (Gtk.Widget child);
-		public unowned Adw.ViewStackPage add_named (Gtk.Widget child, string? name);
-		public unowned Adw.ViewStackPage add_titled (Gtk.Widget child, string? name, string title);
-		[Version (since = "1.2")]
-		public unowned Adw.ViewStackPage add_titled_with_icon (Gtk.Widget child, string? name, string title, string icon_name);
-		public unowned Gtk.Widget? get_child_by_name (string name);
-		public bool get_hhomogeneous ();
-		public unowned Adw.ViewStackPage get_page (Gtk.Widget child);
-		public Gtk.SelectionModel get_pages ();
-		public bool get_vhomogeneous ();
-		public unowned Gtk.Widget? get_visible_child ();
-		public unowned string? get_visible_child_name ();
-		public void remove (Gtk.Widget child);
-		public void set_hhomogeneous (bool hhomogeneous);
-		public void set_vhomogeneous (bool vhomogeneous);
-		public void set_visible_child (Gtk.Widget child);
-		public void set_visible_child_name (string name);
-		public bool hhomogeneous { get; set; }
-		public Gtk.SelectionModel pages { owned get; }
-		public bool vhomogeneous { get; set; }
-		public Gtk.Widget visible_child { get; set; }
-		public string visible_child_name { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_view_stack_page_get_type ()")]
-	public sealed class ViewStackPage : GLib.Object, Gtk.Accessible {
-		[CCode (has_construct_function = false)]
-		protected ViewStackPage ();
-		public uint get_badge_number ();
-		public unowned Gtk.Widget get_child ();
-		public unowned string? get_icon_name ();
-		public unowned string? get_name ();
-		public bool get_needs_attention ();
-		public unowned string? get_title ();
-		public bool get_use_underline ();
-		public bool get_visible ();
-		public void set_badge_number (uint badge_number);
-		public void set_icon_name (string? icon_name);
-		public void set_name (string? name);
-		public void set_needs_attention (bool needs_attention);
-		public void set_title (string? title);
-		public void set_use_underline (bool use_underline);
-		public void set_visible (bool visible);
-		public uint badge_number { get; set; }
-		public Gtk.Widget child { get; construct; }
-		public string icon_name { get; set; }
-		public string name { get; set; }
-		public bool needs_attention { get; set; }
-		public string title { get; set; }
-		public bool use_underline { get; set; }
-		public bool visible { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_view_switcher_get_type ()")]
-	public sealed class ViewSwitcher : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ViewSwitcher ();
-		public Adw.ViewSwitcherPolicy get_policy ();
-		public unowned Adw.ViewStack? get_stack ();
-		public void set_policy (Adw.ViewSwitcherPolicy policy);
-		public void set_stack (Adw.ViewStack? stack);
-		public Adw.ViewSwitcherPolicy policy { get; set; }
-		public Adw.ViewStack stack { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_view_switcher_bar_get_type ()")]
-	public sealed class ViewSwitcherBar : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ViewSwitcherBar ();
-		public bool get_reveal ();
-		public unowned Adw.ViewStack? get_stack ();
-		public void set_reveal (bool reveal);
-		public void set_stack (Adw.ViewStack? stack);
-		public bool reveal { get; set; }
-		public Adw.ViewStack stack { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_view_switcher_title_get_type ()")]
-	public sealed class ViewSwitcherTitle : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public ViewSwitcherTitle ();
-		public unowned Adw.ViewStack? get_stack ();
-		public unowned string get_subtitle ();
-		public unowned string get_title ();
-		public bool get_title_visible ();
-		public bool get_view_switcher_enabled ();
-		public void set_stack (Adw.ViewStack? stack);
-		public void set_subtitle (string subtitle);
-		public void set_title (string title);
-		public void set_view_switcher_enabled (bool enabled);
-		public Adw.ViewStack stack { get; set; }
-		public string subtitle { get; set; }
-		public string title { get; set; }
-		public bool title_visible { get; }
-		public bool view_switcher_enabled { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_window_get_type ()")]
-	public class Window : Gtk.Window, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Native, Gtk.Root, Gtk.ShortcutManager {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public Window ();
-		public unowned Gtk.Widget? get_content ();
-		public void set_content (Gtk.Widget? content);
-		public Gtk.Widget content { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_id = "adw_window_title_get_type ()")]
-	public sealed class WindowTitle : Gtk.Widget, Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
-		[CCode (has_construct_function = false, type = "GtkWidget*")]
-		public WindowTitle (string title, string subtitle);
-		public unowned string get_subtitle ();
-		public unowned string get_title ();
-		public void set_subtitle (string subtitle);
-		public void set_title (string title);
-		public string subtitle { get; set; }
-		public string title { get; set; }
-	}
-	[CCode (cheader_filename = "adwaita.h", type_cname = "AdwSwipeableInterface", type_id = "adw_swipeable_get_type ()")]
-	public interface Swipeable : Gtk.Widget {
-		public abstract double get_cancel_progress ();
-		public abstract double get_distance ();
-		public abstract double get_progress ();
-		[CCode (array_length_pos = 0.1)]
-		public abstract double[] get_snap_points ();
-		public abstract Gdk.Rectangle get_swipe_area (Adw.NavigationDirection navigation_direction, bool is_drag);
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_ANIMATION_", type_id = "adw_animation_state_get_type ()")]
-	public enum AnimationState {
-		IDLE,
-		PAUSED,
-		PLAYING,
-		FINISHED
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_CENTERING_POLICY_", type_id = "adw_centering_policy_get_type ()")]
-	public enum CenteringPolicy {
-		LOOSE,
-		STRICT
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_COLOR_SCHEME_", type_id = "adw_color_scheme_get_type ()")]
-	public enum ColorScheme {
-		DEFAULT,
-		FORCE_LIGHT,
-		PREFER_LIGHT,
-		PREFER_DARK,
-		FORCE_DARK
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_", type_id = "adw_easing_get_type ()")]
-	public enum Easing {
-		LINEAR,
-		EASE_IN_QUAD,
-		EASE_OUT_QUAD,
-		EASE_IN_OUT_QUAD,
-		EASE_IN_CUBIC,
-		EASE_OUT_CUBIC,
-		EASE_IN_OUT_CUBIC,
-		EASE_IN_QUART,
-		EASE_OUT_QUART,
-		EASE_IN_OUT_QUART,
-		EASE_IN_QUINT,
-		EASE_OUT_QUINT,
-		EASE_IN_OUT_QUINT,
-		EASE_IN_SINE,
-		EASE_OUT_SINE,
-		EASE_IN_OUT_SINE,
-		EASE_IN_EXPO,
-		EASE_OUT_EXPO,
-		EASE_IN_OUT_EXPO,
-		EASE_IN_CIRC,
-		EASE_OUT_CIRC,
-		EASE_IN_OUT_CIRC,
-		EASE_IN_ELASTIC,
-		EASE_OUT_ELASTIC,
-		EASE_IN_OUT_ELASTIC,
-		EASE_IN_BACK,
-		EASE_OUT_BACK,
-		EASE_IN_OUT_BACK,
-		EASE_IN_BOUNCE,
-		EASE_OUT_BOUNCE,
-		EASE_IN_OUT_BOUNCE;
-		public double ease (double value);
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_FLAP_FOLD_POLICY_", type_id = "adw_flap_fold_policy_get_type ()")]
-	public enum FlapFoldPolicy {
-		NEVER,
-		ALWAYS,
-		AUTO
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_FLAP_TRANSITION_TYPE_", type_id = "adw_flap_transition_type_get_type ()")]
-	public enum FlapTransitionType {
-		OVER,
-		UNDER,
-		SLIDE
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_FOLD_THRESHOLD_POLICY_", type_id = "adw_fold_threshold_policy_get_type ()")]
-	public enum FoldThresholdPolicy {
-		MINIMUM,
-		NATURAL
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_LEAFLET_TRANSITION_TYPE_", type_id = "adw_leaflet_transition_type_get_type ()")]
-	public enum LeafletTransitionType {
-		OVER,
-		UNDER,
-		SLIDE
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_NAVIGATION_DIRECTION_", type_id = "adw_navigation_direction_get_type ()")]
-	public enum NavigationDirection {
-		BACK,
-		FORWARD
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_RESPONSE_", type_id = "adw_response_appearance_get_type ()")]
-	[Version (since = "1.2")]
-	public enum ResponseAppearance {
-		DEFAULT,
-		SUGGESTED,
-		DESTRUCTIVE
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_SQUEEZER_TRANSITION_TYPE_", type_id = "adw_squeezer_transition_type_get_type ()")]
-	public enum SqueezerTransitionType {
-		NONE,
-		CROSSFADE
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_TAB_VIEW_SHORTCUT_", type_id = "adw_tab_view_shortcuts_get_type ()")]
-	[Flags]
-	[Version (since = "1.2")]
-	public enum TabViewShortcuts {
-		NONE,
-		CONTROL_TAB,
-		CONTROL_SHIFT_TAB,
-		CONTROL_PAGE_UP,
-		CONTROL_PAGE_DOWN,
-		CONTROL_HOME,
-		CONTROL_END,
-		CONTROL_SHIFT_PAGE_UP,
-		CONTROL_SHIFT_PAGE_DOWN,
-		CONTROL_SHIFT_HOME,
-		CONTROL_SHIFT_END,
-		ALT_DIGITS,
-		ALT_ZERO,
-		ALL_SHORTCUTS
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_TOAST_PRIORITY_", type_id = "adw_toast_priority_get_type ()")]
-	public enum ToastPriority {
-		NORMAL,
-		HIGH
-	}
-	[CCode (cheader_filename = "adwaita.h", cprefix = "ADW_VIEW_SWITCHER_POLICY_", type_id = "adw_view_switcher_policy_get_type ()")]
-	public enum ViewSwitcherPolicy {
-		NARROW,
-		WIDE
-	}
-	[CCode (cheader_filename = "adwaita.h", instance_pos = 1.9)]
-	public delegate void AnimationTargetFunc (double value);
-	[CCode (cheader_filename = "adwaita.h", cname = "ADW_DURATION_INFINITE")]
-	public const uint DURATION_INFINITE;
-	[CCode (cheader_filename = "adwaita.h", cname = "ADW_MAJOR_VERSION")]
-	public const int MAJOR_VERSION;
-	[CCode (cheader_filename = "adwaita.h", cname = "ADW_MICRO_VERSION")]
-	public const int MICRO_VERSION;
-	[CCode (cheader_filename = "adwaita.h", cname = "ADW_MINOR_VERSION")]
-	public const int MINOR_VERSION;
-	[CCode (cheader_filename = "adwaita.h", cname = "ADW_VERSION_S")]
-	public const string VERSION_S;
-	[CCode (cheader_filename = "adwaita.h")]
-	[Version (replacement = "Easing.ease")]
-	public static double easing_ease (Adw.Easing self, double value);
-	[CCode (cheader_filename = "adwaita.h")]
-	public static bool get_enable_animations (Gtk.Widget widget);
-	[CCode (cheader_filename = "adwaita.h")]
-	public static uint get_major_version ();
-	[CCode (cheader_filename = "adwaita.h")]
-	public static uint get_micro_version ();
-	[CCode (cheader_filename = "adwaita.h")]
-	public static uint get_minor_version ();
-	[CCode (cheader_filename = "adwaita.h")]
-	public static void init ();
-	[CCode (cheader_filename = "adwaita.h")]
-	public static bool is_initialized ();
-	[CCode (cheader_filename = "adwaita.h")]
-	public static double lerp (double a, double b, double t);
-}
Index: radix-1.9/X11/libs/libadwaita/1.3.2/Makefile
===================================================================
--- radix-1.9/X11/libs/libadwaita/1.3.2/Makefile	(revision 124)
+++ radix-1.9/X11/libs/libadwaita/1.3.2/Makefile	(revision 125)
@@ -56,6 +56,8 @@
 SOURCE_REQUIRES    = sources/GNOME/core/libadwaita
 
 REQUIRES           = X11/libs/gtk4/4.11.2
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += libs/fribidi/1.0.12
 
 # ======= __END_OF_REQUIRES__ =======
@@ -76,9 +78,7 @@
 
 cross_file         = $(TARGET_BUILD_DIR)/$(TARGET)-cross
 
-vala-api-file      = $(CURDIR)/vala-api/libadwaita-1.vapi
 
-
 ####### Targets
 
 PKG_GROUP = xlibs
@@ -174,7 +174,8 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
+extra_configure_switches += -Dvapi=true
 extra_configure_switches += -Dprofiling=false
 extra_configure_switches += -Dexamples=false
 
@@ -181,6 +182,12 @@
 extra_configure_switches += -Dgtk_doc=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -Wno-deprecated-declarations -Wno-format-nonliteral -Wno-switch
 CFLAGS  += -Wno-ignored-qualifiers -Wno-undef -Wno-array-bounds -Wno-maybe-uninitialized
 
@@ -229,7 +236,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -248,15 +256,15 @@
 	    -Dtests=false               \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
 	@mkdir -p $(ADWAITA_PKG)
 	@cd $(build_dir) && $(env_sysroot) ninja install
-	# ======= Install Vala API file =======
-	@mkdir -p $(ADWAITA_PKG)/usr/share/vala/vapi
-	@cp -a $(vala-api-file) $(ADWAITA_PKG)/usr/share/vala/vapi/
 	# ======= Install Documentation =======
 	@if [ -d $(ADWAITA_PKG)/usr/share/man ]; then \
 	  ( cd $(ADWAITA_PKG)/usr/share/man ; \
Index: radix-1.9/X11/libs/libhandy/1.8.2/Makefile
===================================================================
--- radix-1.9/X11/libs/libhandy/1.8.2/Makefile	(revision 124)
+++ radix-1.9/X11/libs/libhandy/1.8.2/Makefile	(revision 125)
@@ -58,6 +58,7 @@
 REQUIRES           = X11/libs/gtk+3/3.24.37
 REQUIRES          += X11/dev/glade/3.40.0
 REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -173,8 +174,8 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=disabled
-extra_configure_switches += -Dvapi=false
+extra_configure_switches += -Dintrospection=enabled
+extra_configure_switches += -Dvapi=true
 extra_configure_switches += -Dgtk_doc=false
 extra_configure_switches += -Dtests=false
 extra_configure_switches += -Dexamples=false
@@ -182,6 +183,12 @@
 extra_configure_switches += -Dprofiling=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
 LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
@@ -222,7 +229,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -240,7 +248,15 @@
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+	   if [ -e "../../lib$(LIBSUFFIX)/librt.so.1" ] ; then \
+	     ln -sf ../../lib$(LIBSUFFIX)/librt.so.1 librt.so ; \
+	   fi ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/libmanette/0.2.6/Makefile
===================================================================
--- radix-1.9/X11/libs/libmanette/0.2.6/Makefile	(revision 124)
+++ radix-1.9/X11/libs/libmanette/0.2.6/Makefile	(revision 125)
@@ -56,6 +56,8 @@
 SOURCE_REQUIRES    = sources/GNOME/core/libmanette
 
 REQUIRES           = X11/libs/libevdev/1.13.0
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += libs/libgudev/236
 
 # ======= __END_OF_REQUIRES__ =======
@@ -172,8 +174,8 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=false
-extra_configure_switches += -Dvapi=false
+extra_configure_switches += -Dintrospection=true
+extra_configure_switches += -Dvapi=true
 extra_configure_switches += -Ddoc=false
 extra_configure_switches += -Dgudev=enabled
 extra_configure_switches += -Ddemos=false
@@ -181,6 +183,12 @@
 extra_configure_switches += -Dinstall-tests=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS += -Wno-incompatible-pointer-types
 
 TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
@@ -241,7 +249,10 @@
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/libnotify/0.8.2/Makefile
===================================================================
--- radix-1.9/X11/libs/libnotify/0.8.2/Makefile	(revision 124)
+++ radix-1.9/X11/libs/libnotify/0.8.2/Makefile	(revision 125)
@@ -56,6 +56,7 @@
 SOURCE_REQUIRES    = sources/GNOME/core/libnotify
 
 REQUIRES           = X11/libs/gdk-pixbuf2/2.42.9
+REQUIRES          += X11/libs/gtk+3/3.24.37
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -171,12 +172,18 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 extra_configure_switches += -Dgtk_doc=false
 extra_configure_switches += -Ddocbook_docs=disabled
 extra_configure_switches += -Dman=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
 
 LDFLAGS += -Wl,-rpath,$(TARGET_BIN_RPATH)
@@ -217,7 +224,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -236,7 +244,10 @@
 	    -Dtests=false               \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/libnotify/0.8.2-ppc32/Makefile
===================================================================
--- radix-1.9/X11/libs/libnotify/0.8.2-ppc32/Makefile	(revision 124)
+++ radix-1.9/X11/libs/libnotify/0.8.2-ppc32/Makefile	(revision 125)
@@ -17,6 +17,7 @@
 
 REQUIRES           = X11/libs/libnotify/0.8.2
 REQUIRES          += X11/libs/gdk-pixbuf2/2.42.9-ppc32
+REQUIRES          += X11/libs/gtk+3/3.24.37-ppc32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: radix-1.9/X11/libs/libnotify/0.8.2-x86_32/Makefile
===================================================================
--- radix-1.9/X11/libs/libnotify/0.8.2-x86_32/Makefile	(revision 124)
+++ radix-1.9/X11/libs/libnotify/0.8.2-x86_32/Makefile	(revision 125)
@@ -14,6 +14,7 @@
 
 REQUIRES           = X11/libs/libnotify/0.8.2
 REQUIRES          += X11/libs/gdk-pixbuf2/2.42.9-x86_32
+REQUIRES          += X11/libs/gtk+3/3.24.37-x86_32
 
 # ======= __END_OF_REQUIRES__ =======
 
Index: radix-1.9/X11/libs/libportal/0.6/Makefile
===================================================================
--- radix-1.9/X11/libs/libportal/0.6/Makefile	(revision 124)
+++ radix-1.9/X11/libs/libportal/0.6/Makefile	(revision 125)
@@ -57,6 +57,8 @@
 
 REQUIRES           = X11/libs/gtk4/4.11.2
 REQUIRES          += X11/libs/gtk+3/3.24.37
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += X11/libs/qt5/5.15.8
 
 # ======= __END_OF_REQUIRES__ =======
@@ -173,13 +175,19 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=false
-extra_configure_switches += -Dvapi=false
+extra_configure_switches += -Dintrospection=true
+extra_configure_switches += -Dvapi=true
 extra_configure_switches += -Ddocs=false
 extra_configure_switches += -Dportal-tests=false
 extra_configure_switches += -Dtests=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
 LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
@@ -220,7 +228,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -238,7 +247,10 @@
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/libs/librsvg/2.55.1/Makefile
===================================================================
--- radix-1.9/X11/libs/librsvg/2.55.1/Makefile	(revision 124)
+++ radix-1.9/X11/libs/librsvg/2.55.1/Makefile	(revision 125)
@@ -58,6 +58,8 @@
 REQUIRES           = X11/libs/gdk-pixbuf2/2.42.9
 REQUIRES          += app/fontconfig/2.13.95
 REQUIRES          += libs/libcroco/0.6.13
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += env/X11/pango/1.50.12
 
 # ======= __END_OF_REQUIRES__ =======
@@ -129,9 +131,9 @@
 extra_configure_switches += --mandir=/usr/share/man
 extra_configure_switches += --disable-dependency-tracking
 
-extra_configure_switches += --enable-introspection=no
+extra_configure_switches += --enable-introspection=yes
 extra_configure_switches += --enable-gtk-doc=no
-extra_configure_switches += --enable-vala=no
+extra_configure_switches += --enable-vala=yes
 
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
@@ -210,10 +212,18 @@
 rust-target = x86_64-unknown-linux-gnu
 endif
 
+cargo-executable = $(shell which cargo)
+
 extra_configure_switches += RUST_TARGET=$(rust-target)
-extra_configure_switches += CARGO='cargo +stable-x86_64-unknown-linux-gnu --config $(cross_file)'
+extra_configure_switches += CARGO='$(cargo-executable) +stable-x86_64-unknown-linux-gnu --config $(cross_file)'
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
 TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
@@ -236,20 +246,24 @@
 	@echo '  "-C", "link-args=--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_BIN_RPATH)",' >> $(cross_file)
 	@echo '  "-L", "$(TARGET_DEST_DIR)/lib$(LIBSUFFIX)",'     >> $(cross_file)
 	@echo '  "-L", "$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)",' >> $(cross_file)
-	@echo '  "--cap-lints", "allow",'                          >> $(cross_file)
+	@echo '  "--cap-lints", "allow",'                         >> $(cross_file)
 	@echo ']'                                                 >> $(cross_file)
 	@cd $(build_dir) && \
-	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  $(BUILD_ENVIRONMENT) $(python_environment) ../$(src_dir_name)/configure \
 	  --prefix=/usr               \
 	  --build=$(BUILD)            \
 	  --host=$(TARGET)            \
 	  $(extra_configure_switches)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	# ======= Build targets separately =======
+	@( cd $(build_dir) ; \
+	   $(MAKE) librsvg-2.la ; \
+	   env -i $(MAKE) librsvg-2.0.vapi $(python_environment) VAPIGEN=/usr/bin/vapigen ; \
+	 )
 	@touch $@
 
 $(install_target): $(build_target)
 	@mkdir -p $(LIBRSVG_PKG)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(python_environment) VAPIGEN=/usr/bin/vapigen $(env_sysroot)
 	# ======= Install Documentation =======
 	@if [ -d $(LIBRSVG_PKG)/usr/share/man ]; then \
 	  ( cd $(LIBRSVG_PKG)/usr/share/man ; \
Index: radix-1.9/X11/libs/mesa/22.3.4/Makefile
===================================================================
--- radix-1.9/X11/libs/mesa/22.3.4/Makefile	(revision 124)
+++ radix-1.9/X11/libs/mesa/22.3.4/Makefile	(revision 125)
@@ -66,6 +66,8 @@
 REQUIRES          += dev/llvm/16.0.2
 REQUIRES          += app/lm-sensors/3.6.0
 REQUIRES          += X11/libs/libdrm/2.4.114
+REQUIRES          += X11/libs/libvdpau/1.5
+REQUIRES          += X11/libs/libglvnd/1.6.0
 REQUIRES          += X11/X.org/lib/libxshmfence/1.3.2
 REQUIRES          += X11/X.org/lib/libXxf86vm/1.1.5
 REQUIRES          += X11/X.org/lib/libXdamage/1.1.6
Index: radix-1.9/X11/libs/mesa/22.3.4-ppc32/Makefile
===================================================================
--- radix-1.9/X11/libs/mesa/22.3.4-ppc32/Makefile	(revision 124)
+++ radix-1.9/X11/libs/mesa/22.3.4-ppc32/Makefile	(revision 125)
@@ -24,6 +24,8 @@
 REQUIRES          += dev/llvm/16.0.2-ppc32
 REQUIRES          += app/lm-sensors/3.6.0-ppc32
 REQUIRES          += X11/libs/libdrm/2.4.114-ppc32
+REQUIRES          += X11/libs/libvdpau/1.5-ppc32
+REQUIRES          += X11/libs/libglvnd/1.6.0-ppc32
 REQUIRES          += X11/X.org/lib/libxshmfence/1.3.2-ppc32
 REQUIRES          += X11/X.org/lib/libXxf86vm/1.1.5-ppc32
 REQUIRES          += X11/X.org/lib/libXdamage/1.1.6-ppc32
Index: radix-1.9/X11/libs/mesa/22.3.4-x86_32/Makefile
===================================================================
--- radix-1.9/X11/libs/mesa/22.3.4-x86_32/Makefile	(revision 124)
+++ radix-1.9/X11/libs/mesa/22.3.4-x86_32/Makefile	(revision 125)
@@ -21,6 +21,8 @@
 REQUIRES          += dev/llvm/16.0.2-x86_32
 REQUIRES          += app/lm-sensors/3.6.0-x86_32
 REQUIRES          += X11/libs/libdrm/2.4.114-x86_32
+REQUIRES          += X11/libs/libvdpau/1.5-x86_32
+REQUIRES          += X11/libs/libglvnd/1.6.0-x86_32
 REQUIRES          += X11/X.org/lib/libxshmfence/1.3.2-x86_32
 REQUIRES          += X11/X.org/lib/libXxf86vm/1.1.5-x86_32
 REQUIRES          += X11/X.org/lib/libXdamage/1.1.6-x86_32
Index: radix-1.9/X11/libs/pango/1.50.12/Makefile
===================================================================
--- radix-1.9/X11/libs/pango/1.50.12/Makefile	(revision 124)
+++ radix-1.9/X11/libs/pango/1.50.12/Makefile	(revision 125)
@@ -174,7 +174,7 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 extra_configure_switches += -Dfontconfig=enabled
 extra_configure_switches += -Dlibthai=enabled
 extra_configure_switches += -Dcairo=enabled
@@ -183,6 +183,12 @@
 extra_configure_switches += -Dgtk_doc=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
 
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
@@ -226,7 +232,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -245,7 +252,10 @@
 	    -Dinstall-tests=false       \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/X11/net/libnma/1.10.6/Makefile
===================================================================
--- radix-1.9/X11/net/libnma/1.10.6/Makefile	(revision 124)
+++ radix-1.9/X11/net/libnma/1.10.6/Makefile	(revision 125)
@@ -56,6 +56,8 @@
 SOURCE_REQUIRES    = sources/GNOME/core/libnma
 
 REQUIRES           = X11/libs/gtk+3/3.24.37
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += X11/libs/cairo/1.17.8
 REQUIRES          += libs/dconf/0.40.0
 REQUIRES          += net/NetworkManager/1.31.3
@@ -181,8 +183,8 @@
 
 extra_configure_switches += -Dlibnma_gtk4=false
 extra_configure_switches += -Dgcr=false
-extra_configure_switches += -Dintrospection=false
-extra_configure_switches += -Dvapi=false
+extra_configure_switches += -Dintrospection=true
+extra_configure_switches += -Dvapi=true
 
 extra_configure_switches += -Diso_codes=true
 extra_configure_switches += -Dmobile_broadband_provider_info=true
@@ -190,6 +192,12 @@
 extra_configure_switches += -Dgtk_doc=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
 LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
@@ -230,7 +238,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -249,7 +258,10 @@
 	    -Dmore_asserts='0'          \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/env/X11/pango/1.50.12/Makefile
===================================================================
--- radix-1.9/env/X11/pango/1.50.12/Makefile	(revision 124)
+++ radix-1.9/env/X11/pango/1.50.12/Makefile	(revision 125)
@@ -146,7 +146,7 @@
 endif
 
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 extra_configure_switches += -Dfontconfig=enabled
 extra_configure_switches += -Dlibthai=enabled
 extra_configure_switches += -Dcairo=enabled
@@ -155,6 +155,12 @@
 extra_configure_switches += -Dgtk_doc=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
 
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
@@ -198,7 +204,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -217,7 +224,10 @@
 	    -Dinstall-tests=false       \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/libs/glib2/2.76.0/Makefile
===================================================================
--- radix-1.9/libs/glib2/2.76.0/Makefile	(revision 124)
+++ radix-1.9/libs/glib2/2.76.0/Makefile	(revision 125)
@@ -57,7 +57,7 @@
 
 REQUIRES           = libs/libffi/3.4.4
 REQUIRES          += libs/elfutils/0.187
-REQUIRES          += libs/pcre/8.44
+REQUIRES          += libs/pcre2/10.36
 REQUIRES          += app/attr/2.5.1
 REQUIRES          += app/util-linux/2.38.1
 REQUIRES          += libs/libgamin/0.1.10
Index: radix-1.9/libs/glib2/2.76.0-ppc32/Makefile
===================================================================
--- radix-1.9/libs/glib2/2.76.0-ppc32/Makefile	(revision 124)
+++ radix-1.9/libs/glib2/2.76.0-ppc32/Makefile	(revision 125)
@@ -18,7 +18,7 @@
 REQUIRES           = libs/glib2/2.76.0
 REQUIRES          += libs/libffi/3.4.4-ppc32
 REQUIRES          += libs/elfutils/0.187-ppc32
-REQUIRES          += libs/pcre/8.44-ppc32
+REQUIRES          += libs/pcre2/10.36-ppc32
 REQUIRES          += app/attr/2.5.1-ppc32
 REQUIRES          += app/util-linux/2.38.1-ppc32
 REQUIRES          += libs/libgamin/0.1.10-ppc32
Index: radix-1.9/libs/glib2/2.76.0-x86_32/Makefile
===================================================================
--- radix-1.9/libs/glib2/2.76.0-x86_32/Makefile	(revision 124)
+++ radix-1.9/libs/glib2/2.76.0-x86_32/Makefile	(revision 125)
@@ -15,7 +15,7 @@
 REQUIRES           = libs/glib2/2.76.0
 REQUIRES          += libs/libffi/3.4.4-x86_32
 REQUIRES          += libs/elfutils/0.187-x86_32
-REQUIRES          += libs/pcre/8.44-x86_32
+REQUIRES          += libs/pcre2/10.36-x86_32
 REQUIRES          += app/attr/2.5.1-x86_32
 REQUIRES          += app/util-linux/2.38.1-x86_32
 REQUIRES          += libs/libgamin/0.1.10-x86_32
Index: radix-1.9/libs/gobject-introspection/1.76.1/Makefile
===================================================================
--- radix-1.9/libs/gobject-introspection/1.76.1/Makefile	(revision 124)
+++ radix-1.9/libs/gobject-introspection/1.76.1/Makefile	(revision 125)
@@ -75,6 +75,8 @@
 build_target       = $(TARGET_BUILD_DIR)/.build_done
 install_target     = $(TARGET_BUILD_DIR)/.install_done
 
+build_dev_dir      = $(TARGET_BUILD_DIR)/build-dev
+
 cross_file         = $(TARGET_BUILD_DIR)/$(TARGET)-cross
 
 
@@ -130,39 +132,47 @@
                              $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
                              $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
                              $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
-cpu_name = arm
-endian   = little
+cpu_name  = arm
+endian    = little
+qemu_arch = arm
 endif
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)     $(TOOLCHAIN_RK33XX_GLIBC) \
                              $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_RK358X_GLIBC) \
                              $(TOOLCHAIN_S9XX_GLIBC)   \
                              $(TOOLCHAIN_A311X_GLIBC)  $(TOOLCHAIN_M1000_GLIBC)),)
-cpu_name = aarch64
-endian   = little
+cpu_name  = aarch64
+endian    = little
+qemu_arch = aarch64
 endif
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
-cpu_name = mips
-endian   = little
+cpu_name  = mips
+endian    = little
+qemu_arch = mipsel
 endif
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
-cpu_name = ppc64
-endian   = big
+cpu_name  = ppc64
+endian    = big
+qemu_arch = ppc64
 endif
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
-cpu_name = ppc64
-endian   = little
+cpu_name  = ppc64
+endian    = little
+qemu_arch = ppc64le
 endif
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
-cpu_name = riscv64
-endian   = little
+cpu_name  = riscv64
+endian    = little
+qemu_arch = riscv64
 endif
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
-cpu_name = x86
-endian   = little
+cpu_name  = x86
+endian    = little
+qemu_arch = i386
 endif
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
-cpu_name = x86_64
-endian   = little
+cpu_name  = x86_64
+endian    = little
+qemu_arch = x86_64
 endif
 
 
@@ -176,15 +186,25 @@
 extra_configure_switches += -Dcairo=disabled
 extra_configure_switches += -Ddoctool=enabled
 extra_configure_switches += -Dpython='python3'
-extra_configure_switches += -Dbuild_introspection_data=false
 
+extra_configure_switches += -Dbuild_introspection_data=true
+
+extra_configure_switches += -Dgi_cross_use_prebuilt_gi=true
+extra_configure_switches += -Dgi_cross_binary_wrapper=$(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-qemuwrapper
+extra_configure_switches += -Dgi_cross_ldd_wrapper=$(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-lddwrapper
+
 extra_configure_switches += -Dgtk_doc=false
 
+g-ir-compiler-wrapper     = $(TARGET_DEST_DIR)/usr/bin/g-ir-compiler-wrapper
+g-ir-scanner-lddwrapper   = $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-lddwrapper
+g-ir-scanner-wrapper      = $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper
+g-ir-scanner-qemuwrapper  = $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-qemuwrapper
 
+
 PYTHON3_VERSION = 3.10
 
 python_environment  = PYTHON=$(PYTHON3)
-python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+python_environment += PYTHONPATH='./giscanner:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
 
 
 CFLAGS  += -Wno-deprecated-declarations -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast
@@ -203,6 +223,49 @@
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
+	@mkdir -p $(TARGET_DEST_DIR)/usr/bin
+	# ======= Create g-ir-compiler-wrapper    =======
+	@echo "#!/bin/sh"                                               >  $(g-ir-compiler-wrapper)
+	@echo ""                                                        >> $(g-ir-compiler-wrapper)
+	@echo "$(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-qemuwrapper \\"  >> $(g-ir-compiler-wrapper)
+	@echo "  $(TARGET_DEST_DIR)/usr/bin/g-ir-compiler \"\$$@\""     >> $(g-ir-compiler-wrapper)
+	@chmod a+x $(g-ir-compiler-wrapper)
+	# ======= Create g-ir-scanner-lddwrapper  =======
+	@echo "#!/bin/sh"                                               >  $(g-ir-scanner-lddwrapper)
+	@echo ""                                                        >> $(g-ir-scanner-lddwrapper)
+	@echo "$(OBJDUMP) -p \"\$$@\""                                  >> $(g-ir-scanner-lddwrapper)
+	@chmod a+x $(g-ir-scanner-lddwrapper)
+	# ======= Create g-ir-scanner-wrapper     =======
+	@echo "#!/bin/sh"                                                                      >  $(g-ir-scanner-wrapper)
+	@echo ""                                                                               >> $(g-ir-scanner-wrapper)
+	@echo "# Prevent g-ir-scanner from writing to HOME directory:"                         >> $(g-ir-scanner-wrapper)
+	@echo "export GI_SCANNER_DISABLE_CACHE=1"                                              >> $(g-ir-scanner-wrapper)
+	@echo ""                                                                               >> $(g-ir-scanner-wrapper)
+	@echo "g-ir-scanner \\"                                                                >> $(g-ir-scanner-wrapper)
+	@echo "  --lib-dirs-envvar=GIR_EXTRA_LIBS_PATH \\"                                     >> $(g-ir-scanner-wrapper)
+	@echo "  --use-binary-wrapper=$(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-qemuwrapper \\"  >> $(g-ir-scanner-wrapper)
+	@echo "  --use-ldd-wrapper=$(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-lddwrapper \\"      >> $(g-ir-scanner-wrapper)
+	@echo "  --add-include-path=$(TARGET_DEST_DIR)/usr/share/gir-1.0 \\"                   >> $(g-ir-scanner-wrapper)
+	@echo "  --add-include-path=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gir-1.0 \\"         >> $(g-ir-scanner-wrapper)
+	@echo "  \"\$$@\""                                                                     >> $(g-ir-scanner-wrapper)
+	@chmod a+x $(g-ir-scanner-wrapper)
+	# ======= Create g-ir-scanner-qemuwrapper =======
+	@echo "#!/bin/sh"                                                                      >  $(g-ir-scanner-qemuwrapper)
+	@echo ""                                                                               >> $(g-ir-scanner-qemuwrapper)
+	@echo "# Use a modules directory which doesn't exist  so we don't load random things"  >> $(g-ir-scanner-qemuwrapper)
+	@echo "# which may then get deleted (or their dependencies) and potentially segfault"  >> $(g-ir-scanner-qemuwrapper)
+	@echo "export GIO_MODULE_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gio/modules-dummy" >> $(g-ir-scanner-qemuwrapper)
+	@echo ""                                                                               >> $(g-ir-scanner-qemuwrapper)
+	@echo "$(BUILDSYSTEM)/usr/bin/qemu-$(qemu_arch) \\"                                    >> $(g-ir-scanner-qemuwrapper)
+	@echo "  -L $(TARGET_DEST_DIR) \\"                                                     >> $(g-ir-scanner-qemuwrapper)
+	@echo "  -E LD_LIBRARY_PATH=\"$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX):.libs:\$${GIR_EXTRA_LIBS_PATH}\" \\" >> $(g-ir-scanner-qemuwrapper)
+	@echo "  \"\$$@\""                                                                     >> $(g-ir-scanner-qemuwrapper)
+	@echo "if [ \$$? -ne 0 ]; then"                                                        >> $(g-ir-scanner-qemuwrapper)
+	@echo "  echo \"If the above error message is about missing .so libraries,\""          >> $(g-ir-scanner-qemuwrapper)
+	@echo "  echo \"then setting up GIR_EXTRA_LIBS_PATH  environment variable.\""          >> $(g-ir-scanner-qemuwrapper)
+	@echo "  exit 1"                                                                       >> $(g-ir-scanner-qemuwrapper)
+	@echo "fi"                                                                             >> $(g-ir-scanner-qemuwrapper)
+	@chmod a+x $(g-ir-scanner-qemuwrapper)
 	@touch $@
 
 $(build_target): $(src_done)
@@ -255,7 +318,10 @@
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i 's,COMMAND = /usr/bin/g-ir-scanner,COMMAND = $(python_environment) /usr/bin/g-ir-scanner,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
@@ -297,6 +363,12 @@
 	@( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
 	   sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gobject-introspection-1.0.pc             \
 	                                            gobject-introspection-no-export-1.0.pc ; \
+	   sed -i "s,^g_ir_scanner=.*,g_ir_scanner=\$${bindir}/g-ir-scanner-wrapper," \
+	                                            gobject-introspection-1.0.pc             \
+	                                            gobject-introspection-no-export-1.0.pc ; \
+	   sed -i "s,^g_ir_compiler=.*,g_ir_compiler=\$${bindir}/g-ir-compiler-wrapper," \
+	                                            gobject-introspection-1.0.pc             \
+	                                            gobject-introspection-no-export-1.0.pc ; \
 	 )
 	# ======= Strip binaries =======
 	@( cd $(GOBJECT_PKG) ; \
Index: radix-1.9/libs/gobject-introspection/1.76.1-ppc32/Makefile
===================================================================
--- radix-1.9/libs/gobject-introspection/1.76.1-ppc32/Makefile	(revision 124)
+++ radix-1.9/libs/gobject-introspection/1.76.1-ppc32/Makefile	(revision 125)
@@ -124,6 +124,7 @@
 $(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
 	$(UNPACK_SRC_ARCHIVE)
 	$(APPLY_PATCHES)
+	exit 1
 	@touch $@
 
 $(build_target): $(src_done)
Index: radix-1.9/libs/graphene/1.10.8/Makefile
===================================================================
--- radix-1.9/libs/graphene/1.10.8/Makefile	(revision 124)
+++ radix-1.9/libs/graphene/1.10.8/Makefile	(revision 125)
@@ -56,6 +56,7 @@
 SOURCE_REQUIRES    = sources/packages/l/graphene
 
 REQUIRES           = libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -172,7 +173,7 @@
 
 
 extra_configure_switches += -Dgobject_types=true
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 extra_configure_switches += -Dgcc_vector=true
 
 extra_configure_switches += -Dinstalled_tests=false
@@ -179,6 +180,12 @@
 extra_configure_switches += -Dgtk_doc=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
 
 TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
@@ -240,7 +247,10 @@
 	    -Dtests=false               \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/libs/harfbuzz/3.3.1/Makefile
===================================================================
--- radix-1.9/libs/harfbuzz/3.3.1/Makefile	(revision 124)
+++ radix-1.9/libs/harfbuzz/3.3.1/Makefile	(revision 125)
@@ -58,6 +58,7 @@
 REQUIRES           = env/freetype/2.11.1
 REQUIRES          += libs/graphite2/1.3.14
 REQUIRES          += libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 REQUIRES          += libs/icu4c/73.1
 
 # ======= __END_OF_REQUIRES__ =======
@@ -174,6 +175,13 @@
 extra_configure_switches += --default-library=shared
 endif
 
+
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
 LDFLAGS += -Wl,-rpath,/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
@@ -217,6 +225,7 @@
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
 	@PKG_CONFIG_PATH= \
+	   $(python_environment) \
 	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
@@ -238,7 +247,7 @@
 	    -Dicu=enabled               \
 	    -Dgraphite2=enabled         \
 	    -Dfreetype=enabled          \
-	    -Dintrospection=disabled    \
+	    -Dintrospection=enabled     \
 	    -Dcairo=disabled            \
 	    -Dchafa=disabled            \
 	    -Ddocs=enabled              \
@@ -245,7 +254,10 @@
 	    -Dtests=disabled            \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/libs/json-glib/1.6.6/Makefile
===================================================================
--- radix-1.9/libs/json-glib/1.6.6/Makefile	(revision 124)
+++ radix-1.9/libs/json-glib/1.6.6/Makefile	(revision 125)
@@ -56,6 +56,7 @@
 SOURCE_REQUIRES    = sources/GNOME/core/json-glib
 
 REQUIRES           = libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -174,11 +175,17 @@
 extra_configure_switches += --default-library=shared
 endif
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 extra_configure_switches += -Dgtk_doc=disabled
 extra_configure_switches += -Dman=true
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 LDFLAGS += -Wl,-rpath,/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
 
 
@@ -217,7 +224,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -236,7 +244,10 @@
 	    -Dtests=false               \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/libs/libgee/0.20.6/Makefile
===================================================================
--- radix-1.9/libs/libgee/0.20.6/Makefile	(revision 124)
+++ radix-1.9/libs/libgee/0.20.6/Makefile	(revision 125)
@@ -56,6 +56,8 @@
 SOURCE_REQUIRES    = sources/GNOME/core/libgee
 
 REQUIRES           = libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -125,7 +127,8 @@
 extra_configure_switches += --disable-dependency-tracking
 extra_configure_switches += --sysconfdir=/etc
 
-extra_configure_switches += --enable-introspection=no
+extra_configure_switches += --enable-introspection=yes
+extra_configure_switches += --enable-vala=yes
 
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
@@ -135,6 +138,12 @@
 extra_configure_switches += --enable-shared=yes
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS += -Wno-deprecated-declarations -Wno-incompatible-pointer-types -Wno-discarded-qualifiers
 CFLAGS += -Wno-unused-result -Wno-stringop-overflow -trigraphs
 
@@ -154,12 +163,14 @@
 $(build_target): $(src_done)
 	@mkdir -p $(build_dir)
 	@cd $(build_dir) && \
-	  $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	  $(BUILD_ENVIRONMENT) $(python_environment) ../$(src_dir_name)/configure \
 	  --prefix=/usr               \
 	  --build=$(BUILD)            \
 	  --host=$(TARGET)            \
 	  $(extra_configure_switches)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@( cd $(build_dir) ; \
+	   env -i $(MAKE) $(python_environment) ; \
+	 )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/libs/libgudev/236/Makefile
===================================================================
--- radix-1.9/libs/libgudev/236/Makefile	(revision 124)
+++ radix-1.9/libs/libgudev/236/Makefile	(revision 125)
@@ -56,6 +56,8 @@
 SOURCE_REQUIRES    = sources/GNOME/core/libgudev
 
 REQUIRES           = libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += libs/eudev/3.2.10
 
 # ======= __END_OF_REQUIRES__ =======
@@ -177,6 +179,12 @@
 endif
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += $(shell PKG_CONFIG_PATH=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig pkg-config glib-2.0 --cflags)
 LDFLAGS += -Wl,-rpath,/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
@@ -237,12 +245,15 @@
 	    -Dcpp_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(CFLAGS)" | tr -s ' '`"       \
 	    -Dcpp_link_args="`echo -n "--sysroot=$(TARGET_DEST_DIR) $(LDFLAGS)" | tr -s ' '`" \
 	    -Dgtk_doc=false             \
-	    -Dvapi=disabled             \
-	    -Dintrospection=disabled    \
+	    -Dvapi=enabled              \
+	    -Dintrospection=enabled     \
 	    -Dtests=disabled            \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/libs/libsecret/0.20.4/Makefile
===================================================================
--- radix-1.9/libs/libsecret/0.20.4/Makefile	(revision 124)
+++ radix-1.9/libs/libsecret/0.20.4/Makefile	(revision 125)
@@ -56,6 +56,8 @@
 SOURCE_REQUIRES    = sources/GNOME/core/libsecret
 
 REQUIRES           = libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
+REQUIRES          += dev/vala/0.56.6
 REQUIRES          += net/libgcrypt/1.10.1
 
 # ======= __END_OF_REQUIRES__ =======
@@ -177,6 +179,12 @@
 endif
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -I$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/glib-2.0/include
 CFLAGS  += -Wno-deprecated-declarations -Wno-incompatible-pointer-types
 
@@ -222,6 +230,7 @@
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
 	@PKG_CONFIG_PATH= \
+	   $(python_environment) \
 	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
@@ -241,12 +250,15 @@
 	    -Dmanpage=true              \
 	    -Dgcrypt=true               \
 	    -Ddebugging=false           \
-	    -Dvapi=false                \
+	    -Dvapi=true                 \
 	    -Dgtk_doc=false             \
-	    -Dintrospection=false       \
+	    -Dintrospection=true        \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/libs/libsoup3/3.4.2/vala-api/libsoup-3.0.vapi
===================================================================
--- radix-1.9/libs/libsoup3/3.4.2/vala-api/libsoup-3.0.vapi	(revision 124)
+++ radix-1.9/libs/libsoup3/3.4.2/vala-api/libsoup-3.0.vapi	(nonexistent)
@@ -1,1047 +0,0 @@
-/* libsoup-3.0.vapi generated by vapigen, do not modify. */
-
-[CCode (cprefix = "Soup", gir_namespace = "Soup", gir_version = "3.0", lower_case_cprefix = "soup_")]
-namespace Soup {
-	namespace Form {
-		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static GLib.HashTable<weak string,weak string> decode (string encoded_form);
-		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static GLib.HashTable<weak string,weak string>? decode_multipart (Soup.Multipart multipart, string? file_control_name, out string filename, out string content_type, out GLib.Bytes file);
-		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static string encode (...);
-		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static string encode_datalist (GLib.Datalist<string> form_data_set);
-		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static string encode_hash (GLib.HashTable<string,string> form_data_set);
-		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static string encode_valist (string first_field, va_list args);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_get_type ()")]
-	public abstract class Auth : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected Auth ();
-		public virtual void authenticate (string username, string password);
-		public virtual bool can_authenticate ();
-		public void cancel ();
-		public unowned string get_authority ();
-		public virtual string get_authorization (Soup.Message msg);
-		public string get_info ();
-		public virtual GLib.SList<string> get_protection_space (GLib.Uri source_uri);
-		public unowned string get_realm ();
-		public unowned string get_scheme_name ();
-		public virtual bool is_ready (Soup.Message msg);
-		public static Soup.Auth? @new (GLib.Type type, Soup.Message msg, string auth_header);
-		public virtual bool update (Soup.Message msg, GLib.HashTable<void*,void*> auth_header);
-		[NoAccessorMethod]
-		public string authority { owned get; set; }
-		[NoAccessorMethod]
-		public virtual bool is_authenticated { get; }
-		[NoAccessorMethod]
-		public bool is_cancelled { get; }
-		[NoAccessorMethod]
-		public bool is_for_proxy { get; set; }
-		[NoAccessorMethod]
-		public string realm { owned get; set; }
-		public string scheme_name { get; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_basic_get_type ()")]
-	public sealed class AuthBasic : Soup.Auth {
-		[CCode (has_construct_function = false)]
-		protected AuthBasic ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_digest_get_type ()")]
-	public sealed class AuthDigest : Soup.Auth {
-		[CCode (has_construct_function = false)]
-		protected AuthDigest ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_domain_get_type ()")]
-	public abstract class AuthDomain : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected AuthDomain ();
-		[NoWrapper]
-		public virtual string accepts (Soup.ServerMessage msg, string header);
-		[CCode (cname = "soup_auth_domain_accepts")]
-		public string? accepts_authorization (Soup.ServerMessage msg);
-		public void add_path (string path);
-		public virtual string challenge (Soup.ServerMessage msg);
-		public virtual bool check_password (Soup.ServerMessage msg, string username, string password);
-		public bool covers (Soup.ServerMessage msg);
-		public unowned string get_realm ();
-		public void remove_path (string path);
-		public void set_filter (owned Soup.AuthDomainFilter filter);
-		public void set_generic_auth_callback (owned Soup.AuthDomainGenericAuthCallback auth_callback);
-		[NoAccessorMethod]
-		public Soup.AuthDomainFilter filter { get; set; }
-		[NoAccessorMethod]
-		public void* filter_data { get; set; }
-		[NoAccessorMethod]
-		public Soup.AuthDomainGenericAuthCallback generic_auth_callback { get; set; }
-		[NoAccessorMethod]
-		public void* generic_auth_data { get; set; }
-		[NoAccessorMethod]
-		public bool proxy { get; construct; }
-		public string realm { get; construct; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_domain_basic_get_type ()")]
-	public sealed class AuthDomainBasic : Soup.AuthDomain {
-		[CCode (has_construct_function = false, type = "SoupAuthDomain*")]
-		public AuthDomainBasic (string optname1, ...);
-		public void set_auth_callback (owned Soup.AuthDomainBasicAuthCallback callback);
-		[NoAccessorMethod]
-		public Soup.AuthDomainBasicAuthCallback auth_callback { get; set; }
-		[NoAccessorMethod]
-		public void* auth_data { get; set; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_domain_digest_get_type ()")]
-	public sealed class AuthDomainDigest : Soup.AuthDomain {
-		[CCode (has_construct_function = false, type = "SoupAuthDomain*")]
-		public AuthDomainDigest (string optname1, ...);
-		public static string encode_password (string username, string realm, string password);
-		public void set_auth_callback (owned Soup.AuthDomainDigestAuthCallback callback);
-		[NoAccessorMethod]
-		public Soup.AuthDomainDigestAuthCallback auth_callback { get; set; }
-		[NoAccessorMethod]
-		public void* auth_data { get; set; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_manager_get_type ()")]
-	public sealed class AuthManager : GLib.Object, Soup.SessionFeature {
-		[CCode (has_construct_function = false)]
-		protected AuthManager ();
-		public void clear_cached_credentials ();
-		public void use_auth (GLib.Uri uri, Soup.Auth auth);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_ntlm_get_type ()")]
-	public sealed class AuthNTLM : Soup.Auth {
-		[CCode (has_construct_function = false)]
-		protected AuthNTLM ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_auth_negotiate_get_type ()")]
-	public sealed class AuthNegotiate : Soup.Auth {
-		[CCode (has_construct_function = false)]
-		protected AuthNegotiate ();
-		public static bool supported ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cache_get_type ()")]
-	public class Cache : GLib.Object, Soup.SessionFeature {
-		[CCode (has_construct_function = false)]
-		public Cache (string? cache_dir, Soup.CacheType cache_type);
-		public void clear ();
-		public void dump ();
-		public void flush ();
-		[NoWrapper]
-		public virtual Soup.Cacheability get_cacheability (Soup.Message msg);
-		public uint get_max_size ();
-		public void load ();
-		public void set_max_size (uint max_size);
-		[NoAccessorMethod]
-		public string cache_dir { owned get; construct; }
-		[NoAccessorMethod]
-		public Soup.CacheType cache_type { get; construct; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_content_decoder_get_type ()")]
-	public sealed class ContentDecoder : GLib.Object, Soup.SessionFeature {
-		[CCode (has_construct_function = false)]
-		protected ContentDecoder ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_content_sniffer_get_type ()")]
-	public sealed class ContentSniffer : GLib.Object, Soup.SessionFeature {
-		[CCode (has_construct_function = false)]
-		public ContentSniffer ();
-		public string sniff (Soup.Message msg, GLib.Bytes buffer, out GLib.HashTable<string,string>? @params);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_cookie_get_type ()")]
-	[Compact]
-	public class Cookie {
-		[CCode (has_construct_function = false)]
-		public Cookie (string name, string value, string domain, string path, int max_age);
-		public bool applies_to_uri (GLib.Uri uri);
-		public Soup.Cookie copy ();
-		public bool domain_matches (string host);
-		public bool equal (Soup.Cookie cookie2);
-		public void free ();
-		public unowned string get_domain ();
-		public unowned GLib.DateTime? get_expires ();
-		public bool get_http_only ();
-		public unowned string get_name ();
-		public unowned string get_path ();
-		public Soup.SameSitePolicy get_same_site_policy ();
-		public bool get_secure ();
-		public unowned string get_value ();
-		public static Soup.Cookie? parse (string header, GLib.Uri? origin);
-		public void set_domain (string domain);
-		public void set_expires (GLib.DateTime expires);
-		public void set_http_only (bool http_only);
-		public void set_max_age (int max_age);
-		public void set_name (string name);
-		public void set_path (string path);
-		public void set_same_site_policy (Soup.SameSitePolicy policy);
-		public void set_secure (bool secure);
-		public void set_value (string value);
-		public string to_cookie_header ();
-		public string to_set_cookie_header ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_get_type ()")]
-	public class CookieJar : GLib.Object, Soup.SessionFeature {
-		[CCode (has_construct_function = false)]
-		public CookieJar ();
-		public void add_cookie (owned Soup.Cookie cookie);
-		public void add_cookie_full (owned Soup.Cookie cookie, GLib.Uri? uri, GLib.Uri? first_party);
-		public void add_cookie_with_first_party (GLib.Uri first_party, owned Soup.Cookie cookie);
-		public GLib.SList<Soup.Cookie> all_cookies ();
-		public void delete_cookie (Soup.Cookie cookie);
-		public Soup.CookieJarAcceptPolicy get_accept_policy ();
-		public GLib.SList<Soup.Cookie> get_cookie_list (GLib.Uri uri, bool for_http);
-		public GLib.SList<Soup.Cookie> get_cookie_list_with_same_site_info (GLib.Uri uri, GLib.Uri? top_level, GLib.Uri? site_for_cookies, bool for_http, bool is_safe_method, bool is_top_level_navigation);
-		public string? get_cookies (GLib.Uri uri, bool for_http);
-		public virtual bool is_persistent ();
-		[NoWrapper]
-		public virtual void save ();
-		public void set_accept_policy (Soup.CookieJarAcceptPolicy policy);
-		public void set_cookie (GLib.Uri uri, string cookie);
-		public void set_cookie_with_first_party (GLib.Uri uri, GLib.Uri first_party, string cookie);
-		public Soup.CookieJarAcceptPolicy accept_policy { get; set; }
-		[NoAccessorMethod]
-		public bool read_only { get; construct; }
-		public virtual signal void changed (Soup.Cookie old_cookie, Soup.Cookie new_cookie);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_db_get_type ()")]
-	public sealed class CookieJarDB : Soup.CookieJar, Soup.SessionFeature {
-		[CCode (has_construct_function = false, type = "SoupCookieJar*")]
-		public CookieJarDB (string filename, bool read_only);
-		[NoAccessorMethod]
-		public string filename { owned get; construct; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_cookie_jar_text_get_type ()")]
-	public sealed class CookieJarText : Soup.CookieJar, Soup.SessionFeature {
-		[CCode (has_construct_function = false, type = "SoupCookieJar*")]
-		public CookieJarText (string filename, bool read_only);
-		[NoAccessorMethod]
-		public string filename { owned get; construct; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_hsts_enforcer_get_type ()")]
-	public class HSTSEnforcer : GLib.Object, Soup.SessionFeature {
-		[CCode (has_construct_function = false)]
-		public HSTSEnforcer ();
-		public GLib.List<string> get_domains (bool session_policies);
-		public GLib.List<Soup.HSTSPolicy> get_policies (bool session_policies);
-		public virtual bool has_valid_policy (string domain);
-		public virtual bool is_persistent ();
-		public void set_policy (Soup.HSTSPolicy policy);
-		public void set_session_policy (string domain, bool include_subdomains);
-		public virtual signal void changed (Soup.HSTSPolicy old_policy, Soup.HSTSPolicy new_policy);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_hsts_enforcer_db_get_type ()")]
-	public sealed class HSTSEnforcerDB : Soup.HSTSEnforcer, Soup.SessionFeature {
-		[CCode (has_construct_function = false, type = "SoupHSTSEnforcer*")]
-		public HSTSEnforcerDB (string filename);
-		[NoAccessorMethod]
-		public string filename { owned get; construct; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_hsts_policy_get_type ()")]
-	[Compact]
-	public class HSTSPolicy {
-		[CCode (has_construct_function = false)]
-		public HSTSPolicy (string domain, ulong max_age, bool include_subdomains);
-		public Soup.HSTSPolicy copy ();
-		public bool equal (Soup.HSTSPolicy policy2);
-		[DestroysInstance]
-		public void free ();
-		[CCode (has_construct_function = false)]
-		public HSTSPolicy.from_response (Soup.Message msg);
-		[CCode (has_construct_function = false)]
-		public HSTSPolicy.full (string domain, ulong max_age, GLib.DateTime expires, bool include_subdomains);
-		public unowned string get_domain ();
-		public GLib.DateTime get_expires ();
-		public ulong get_max_age ();
-		public bool includes_subdomains ();
-		public bool is_expired ();
-		public bool is_session_policy ();
-		[CCode (has_construct_function = false)]
-		public HSTSPolicy.session_policy (string domain, bool include_subdomains);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_logger_get_type ()")]
-	public sealed class Logger : GLib.Object, Soup.SessionFeature {
-		[CCode (has_construct_function = false)]
-		public Logger (Soup.LoggerLogLevel level);
-		public int get_max_body_size ();
-		public void set_max_body_size (int max_body_size);
-		public void set_printer (owned Soup.LoggerPrinter printer);
-		public void set_request_filter (owned Soup.LoggerFilter request_filter);
-		public void set_response_filter (owned Soup.LoggerFilter response_filter);
-		[NoAccessorMethod]
-		public Soup.LoggerLogLevel level { get; set; }
-		public int max_body_size { get; set construct; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_message_get_type ()")]
-	public sealed class Message : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public Message (string method, string uri_string);
-		public void add_flags (Soup.MessageFlags flags);
-		public uint add_header_handler (string @signal, string header, GLib.Callback callback, void* user_data);
-		public uint add_status_code_handler (string @signal, uint status_code, GLib.Callback callback, void* user_data);
-		public void disable_feature (GLib.Type feature_type);
-		[CCode (has_construct_function = false)]
-		public Message.from_encoded_form (string method, string uri_string, owned string encoded_form);
-		[CCode (has_construct_function = false)]
-		public Message.from_multipart (string uri_string, Soup.Multipart multipart);
-		[CCode (has_construct_function = false)]
-		public Message.from_uri (string method, GLib.Uri uri);
-		public uint64 get_connection_id ();
-		public unowned GLib.Uri get_first_party ();
-		public Soup.MessageFlags get_flags ();
-		[Version (since = "3.4")]
-		public bool get_force_http1 ();
-		public Soup.HTTPVersion get_http_version ();
-		public bool get_is_options_ping ();
-		public bool get_is_top_level_navigation ();
-		public unowned string get_method ();
-		public unowned Soup.MessageMetrics? get_metrics ();
-		public Soup.MessagePriority get_priority ();
-		public unowned string? get_reason_phrase ();
-		public unowned GLib.SocketAddress? get_remote_address ();
-		public unowned Soup.MessageHeaders get_request_headers ();
-		public unowned Soup.MessageHeaders get_response_headers ();
-		public unowned GLib.Uri get_site_for_cookies ();
-		public Soup.Status get_status ();
-		public unowned string get_tls_ciphersuite_name ();
-		public unowned GLib.TlsCertificate? get_tls_peer_certificate ();
-		public GLib.TlsCertificateFlags get_tls_peer_certificate_errors ();
-		public GLib.TlsProtocolVersion get_tls_protocol_version ();
-		public unowned GLib.Uri get_uri ();
-		public bool is_feature_disabled (GLib.Type feature_type);
-		public bool is_keepalive ();
-		[CCode (has_construct_function = false)]
-		public Message.options_ping (GLib.Uri base_uri);
-		public bool query_flags (Soup.MessageFlags flags);
-		public void remove_flags (Soup.MessageFlags flags);
-		public void set_first_party (GLib.Uri first_party);
-		public void set_flags (Soup.MessageFlags flags);
-		[Version (since = "3.4")]
-		public void set_force_http1 (bool value);
-		public void set_is_options_ping (bool is_options_ping);
-		public void set_is_top_level_navigation (bool is_top_level_navigation);
-		public void set_method (string method);
-		public void set_priority (Soup.MessagePriority priority);
-		public void set_request_body (string? content_type, GLib.InputStream? stream, ssize_t content_length);
-		public void set_request_body_from_bytes (string? content_type, GLib.Bytes? bytes);
-		public void set_site_for_cookies (GLib.Uri? site_for_cookies);
-		public void set_tls_client_certificate (GLib.TlsCertificate? certificate);
-		public void set_uri (GLib.Uri uri);
-		public void tls_client_certificate_password_request_complete ();
-		public GLib.Uri first_party { get; set; }
-		public Soup.MessageFlags flags { get; set; }
-		public Soup.HTTPVersion http_version { get; }
-		public bool is_options_ping { get; set; }
-		public bool is_top_level_navigation { get; set; }
-		public string method { get; set; }
-		public Soup.MessagePriority priority { get; set; }
-		public string reason_phrase { get; }
-		public GLib.SocketAddress remote_address { get; }
-		public Soup.MessageHeaders request_headers { get; }
-		public Soup.MessageHeaders response_headers { get; }
-		public GLib.Uri site_for_cookies { get; set; }
-		[NoAccessorMethod]
-		public uint status_code { get; }
-		public string tls_ciphersuite_name { get; }
-		public GLib.TlsCertificate tls_peer_certificate { get; }
-		public GLib.TlsCertificateFlags tls_peer_certificate_errors { get; }
-		public GLib.TlsProtocolVersion tls_protocol_version { get; }
-		public GLib.Uri uri { get; set; }
-		public signal bool accept_certificate (GLib.TlsCertificate tls_peer_certificate, GLib.TlsCertificateFlags tls_peer_errors);
-		public signal bool authenticate (Soup.Auth auth, bool retrying);
-		public signal void content_sniffed (string type, GLib.HashTable<string,string> @params);
-		public signal void finished ();
-		public signal void got_body ();
-		[Version (since = "3.4")]
-		public signal void got_body_data (uint chunk_size);
-		public signal void got_headers ();
-		public signal void got_informational ();
-		public signal void hsts_enforced ();
-		public signal void network_event (GLib.SocketClientEvent event, GLib.IOStream connection);
-		public signal bool request_certificate (GLib.TlsClientConnection tls_connection);
-		public signal bool request_certificate_password (GLib.TlsPassword tls_password);
-		public signal void restarted ();
-		public signal void starting ();
-		public signal void wrote_body ();
-		public signal void wrote_body_data (uint chunk_size);
-		public signal void wrote_headers ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", ref_function = "soup_message_body_ref", type_id = "soup_message_body_get_type ()", unref_function = "soup_message_body_unref")]
-	[Compact]
-	public class MessageBody {
-		[CCode (array_length_cname = "length", array_length_type = "gint64")]
-		public weak uint8[] data;
-		public int64 length;
-		[CCode (has_construct_function = false)]
-		public MessageBody ();
-		[Version (deprecated = true, deprecated_since = "2.32", replacement = "MessageBody.append_take")]
-		public void append (Soup.MemoryUse use, [CCode (array_length_cname = "length", array_length_pos = 2.1, array_length_type = "gsize")] uint8[] data);
-		public void append_bytes (GLib.Bytes buffer);
-		public void append_take ([CCode (array_length_cname = "length", array_length_pos = 1.1, array_length_type = "gsize")] owned uint8[] data);
-		public void complete ();
-		public GLib.Bytes flatten ();
-		public bool get_accumulate ();
-		public GLib.Bytes? get_chunk (int64 offset);
-		public void got_chunk (GLib.Bytes chunk);
-		public Soup.MessageBody @ref ();
-		public void set_accumulate (bool accumulate);
-		public void truncate ();
-		public void unref ();
-		public void wrote_chunk (GLib.Bytes chunk);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", ref_function = "soup_message_headers_ref", type_id = "soup_message_headers_get_type ()", unref_function = "soup_message_headers_unref")]
-	[Compact]
-	public class MessageHeaders {
-		[CCode (has_construct_function = false)]
-		public MessageHeaders (Soup.MessageHeadersType type);
-		public void append (string name, string value);
-		public void clean_connection_headers ();
-		public void clear ();
-		public void @foreach (Soup.MessageHeadersForeachFunc func);
-		public void free_ranges (Soup.Range ranges);
-		public bool get_content_disposition (out string disposition, out GLib.HashTable<string,string> @params);
-		public int64 get_content_length ();
-		public bool get_content_range (out int64 start, out int64 end, out int64 total_length);
-		public unowned string? get_content_type (out GLib.HashTable<string,string> @params);
-		public Soup.Encoding get_encoding ();
-		public Soup.Expectation get_expectations ();
-		public Soup.MessageHeadersType get_headers_type ();
-		public unowned string? get_list (string name);
-		public unowned string? get_one (string name);
-		public bool get_ranges (int64 total_length, [CCode (array_length_cname = "length", array_length_pos = 2.1)] out Soup.Range[] ranges);
-		public bool header_contains (string name, string token);
-		public bool header_equals (string name, string value);
-		public Soup.MessageHeaders @ref ();
-		public void remove (string name);
-		public void replace (string name, string value);
-		public void set_content_disposition (string disposition, GLib.HashTable<string,string>? @params);
-		public void set_content_length (int64 content_length);
-		public void set_content_range (int64 start, int64 end, int64 total_length);
-		public void set_content_type (string content_type, GLib.HashTable<string,string>? @params);
-		public void set_encoding (Soup.Encoding encoding);
-		public void set_expectations (Soup.Expectation expectations);
-		public void set_range (int64 start, int64 end);
-		public void set_ranges (Soup.Range ranges, int length);
-		public void unref ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_message_metrics_get_type ()")]
-	[Compact]
-	public class MessageMetrics {
-		public Soup.MessageMetrics copy ();
-		public void free ();
-		public uint64 get_connect_end ();
-		public uint64 get_connect_start ();
-		public uint64 get_dns_end ();
-		public uint64 get_dns_start ();
-		public uint64 get_fetch_start ();
-		public uint64 get_request_body_bytes_sent ();
-		public uint64 get_request_body_size ();
-		public uint64 get_request_header_bytes_sent ();
-		public uint64 get_request_start ();
-		public uint64 get_response_body_bytes_received ();
-		public uint64 get_response_body_size ();
-		public uint64 get_response_end ();
-		public uint64 get_response_header_bytes_received ();
-		public uint64 get_response_start ();
-		public uint64 get_tls_start ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_multipart_get_type ()")]
-	[Compact]
-	public class Multipart {
-		[CCode (has_construct_function = false)]
-		public Multipart (string mime_type);
-		public void append_form_file (string control_name, string? filename, string? content_type, GLib.Bytes body);
-		public void append_form_string (string control_name, string data);
-		public void append_part (Soup.MessageHeaders headers, GLib.Bytes body);
-		public void free ();
-		[CCode (has_construct_function = false)]
-		public Multipart.from_message (Soup.MessageHeaders headers, GLib.Bytes body);
-		public int get_length ();
-		public bool get_part (int part, out unowned Soup.MessageHeaders headers, out unowned GLib.Bytes body);
-		public void to_message (Soup.MessageHeaders dest_headers, out GLib.Bytes dest_body);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_multipart_input_stream_get_type ()")]
-	public sealed class MultipartInputStream : GLib.FilterInputStream, GLib.PollableInputStream {
-		[CCode (has_construct_function = false)]
-		public MultipartInputStream (Soup.Message msg, GLib.InputStream base_stream);
-		public unowned Soup.MessageHeaders? get_headers ();
-		public GLib.InputStream? next_part (GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async GLib.InputStream? next_part_async (int io_priority, GLib.Cancellable? cancellable) throws GLib.Error;
-		[NoAccessorMethod]
-		public Soup.Message message { owned get; construct; }
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_server_get_type ()")]
-	public class Server : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public Server (string optname1, ...);
-		public bool accept_iostream (GLib.IOStream stream, GLib.SocketAddress? local_addr, GLib.SocketAddress? remote_addr) throws GLib.Error;
-		public void add_auth_domain (Soup.AuthDomain auth_domain);
-		public void add_early_handler (string? path, owned Soup.ServerCallback callback);
-		public void add_handler (string? path, owned Soup.ServerCallback callback);
-		public void add_websocket_extension (GLib.Type extension_type);
-		public void add_websocket_handler (string? path, string? origin, [CCode (array_length = false, array_null_terminated = true)] string[]? protocols, owned Soup.ServerWebsocketCallback callback);
-		public void disconnect ();
-		public GLib.SList<weak GLib.Socket> get_listeners ();
-		public GLib.TlsAuthenticationMode get_tls_auth_mode ();
-		public unowned GLib.TlsCertificate? get_tls_certificate ();
-		public unowned GLib.TlsDatabase? get_tls_database ();
-		public GLib.SList<GLib.Uri> get_uris ();
-		public bool is_https ();
-		public bool listen (GLib.SocketAddress address, Soup.ServerListenOptions options) throws GLib.Error;
-		public bool listen_all (uint port, Soup.ServerListenOptions options) throws GLib.Error;
-		public bool listen_local (uint port, Soup.ServerListenOptions options) throws GLib.Error;
-		public bool listen_socket (GLib.Socket socket, Soup.ServerListenOptions options) throws GLib.Error;
-		[Version (deprecated = true, deprecated_since = "3.2")]
-		public void pause_message (Soup.ServerMessage msg);
-		public void remove_auth_domain (Soup.AuthDomain auth_domain);
-		public void remove_handler (string path);
-		public void remove_websocket_extension (GLib.Type extension_type);
-		public void set_tls_auth_mode (GLib.TlsAuthenticationMode mode);
-		public void set_tls_certificate (GLib.TlsCertificate certificate);
-		public void set_tls_database (GLib.TlsDatabase tls_database);
-		[Version (deprecated = true, deprecated_since = "3.2")]
-		public void unpause_message (Soup.ServerMessage msg);
-		[NoAccessorMethod]
-		public bool raw_paths { get; construct; }
-		[NoAccessorMethod]
-		public string server_header { owned get; set construct; }
-		public GLib.TlsAuthenticationMode tls_auth_mode { get; set construct; }
-		public GLib.TlsCertificate tls_certificate { get; set construct; }
-		public GLib.TlsDatabase tls_database { get; set construct; }
-		public virtual signal void request_aborted (Soup.ServerMessage msg);
-		public virtual signal void request_finished (Soup.ServerMessage msg);
-		public virtual signal void request_read (Soup.ServerMessage msg);
-		public virtual signal void request_started (Soup.ServerMessage msg);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_server_message_get_type ()")]
-	public sealed class ServerMessage : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected ServerMessage ();
-		public Soup.HTTPVersion get_http_version ();
-		public unowned GLib.SocketAddress? get_local_address ();
-		public unowned string get_method ();
-		public unowned string? get_reason_phrase ();
-		public unowned GLib.SocketAddress? get_remote_address ();
-		public unowned string? get_remote_host ();
-		public unowned Soup.MessageBody get_request_body ();
-		public unowned Soup.MessageHeaders get_request_headers ();
-		public unowned Soup.MessageBody get_response_body ();
-		public unowned Soup.MessageHeaders get_response_headers ();
-		public unowned GLib.Socket? get_socket ();
-		public uint get_status ();
-		[Version (since = "3.2")]
-		public unowned GLib.TlsCertificate? get_tls_peer_certificate ();
-		[Version (since = "3.2")]
-		public GLib.TlsCertificateFlags get_tls_peer_certificate_errors ();
-		public unowned GLib.Uri get_uri ();
-		public bool is_options_ping ();
-		[Version (since = "3.2")]
-		public void pause ();
-		public void set_http_version (Soup.HTTPVersion version);
-		public void set_redirect (uint status_code, string redirect_uri);
-		public void set_response (string? content_type, Soup.MemoryUse resp_use, [CCode (array_length_cname = "resp_length", array_length_pos = 3.1, array_length_type = "gsize")] uint8[]? resp_body);
-		public void set_status (uint status_code, string? reason_phrase);
-		public GLib.IOStream steal_connection ();
-		[Version (since = "3.2")]
-		public void unpause ();
-		[Version (since = "3.2")]
-		public GLib.TlsCertificate tls_peer_certificate { get; }
-		[Version (since = "3.2")]
-		public GLib.TlsCertificateFlags tls_peer_certificate_errors { get; }
-		public signal bool accept_certificate (GLib.TlsCertificate tls_peer_certificate, GLib.TlsCertificateFlags tls_peer_errors);
-		public signal void connected ();
-		public signal void disconnected ();
-		public signal void finished ();
-		public signal void got_body ();
-		public signal void got_chunk (GLib.Bytes chunk);
-		public signal void got_headers ();
-		public signal void wrote_body ();
-		public signal void wrote_body_data (uint chunk_size);
-		public signal void wrote_chunk ();
-		public signal void wrote_headers ();
-		public signal void wrote_informational ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_session_get_type ()")]
-	public class Session : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public Session ();
-		public void abort ();
-		public void add_feature (Soup.SessionFeature feature);
-		public void add_feature_by_type (GLib.Type feature_type);
-		public unowned string? get_accept_language ();
-		public bool get_accept_language_auto ();
-		public unowned Soup.Message? get_async_result_message (GLib.AsyncResult result);
-		public unowned Soup.SessionFeature? get_feature (GLib.Type feature_type);
-		public unowned Soup.SessionFeature? get_feature_for_message (GLib.Type feature_type, Soup.Message msg);
-		public uint get_idle_timeout ();
-		public unowned GLib.InetSocketAddress? get_local_address ();
-		public uint get_max_conns ();
-		public uint get_max_conns_per_host ();
-		public unowned GLib.ProxyResolver? get_proxy_resolver ();
-		public unowned GLib.SocketConnectable? get_remote_connectable ();
-		public uint get_timeout ();
-		public unowned GLib.TlsDatabase? get_tls_database ();
-		public unowned GLib.TlsInteraction? get_tls_interaction ();
-		public unowned string? get_user_agent ();
-		public bool has_feature (GLib.Type feature_type);
-		public async bool preconnect_async (Soup.Message msg, int io_priority, GLib.Cancellable? cancellable) throws GLib.Error;
-		public void remove_feature (Soup.SessionFeature feature);
-		public void remove_feature_by_type (GLib.Type feature_type);
-		public GLib.InputStream send (Soup.Message msg, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public GLib.Bytes send_and_read (Soup.Message msg, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public async GLib.Bytes send_and_read_async (Soup.Message msg, int io_priority, GLib.Cancellable? cancellable) throws GLib.Error;
-		[Version (since = "3.4")]
-		public ssize_t send_and_splice (Soup.Message msg, GLib.OutputStream out_stream, GLib.OutputStreamSpliceFlags flags, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		[Version (since = "3.4")]
-		public async ssize_t send_and_splice_async (Soup.Message msg, GLib.OutputStream out_stream, GLib.OutputStreamSpliceFlags flags, int io_priority, GLib.Cancellable? cancellable) throws GLib.Error;
-		public async GLib.InputStream send_async (Soup.Message msg, int io_priority, GLib.Cancellable? cancellable) throws GLib.Error;
-		public void set_accept_language (string accept_language);
-		public void set_accept_language_auto (bool accept_language_auto);
-		public void set_idle_timeout (uint timeout);
-		public void set_proxy_resolver (GLib.ProxyResolver? proxy_resolver);
-		public void set_timeout (uint timeout);
-		public void set_tls_database (GLib.TlsDatabase? tls_database);
-		public void set_tls_interaction (GLib.TlsInteraction? tls_interaction);
-		public void set_user_agent (string user_agent);
-		public async Soup.WebsocketConnection websocket_connect_async (Soup.Message msg, string? origin, [CCode (array_length = false, array_null_terminated = true)] string[]? protocols, int io_priority, GLib.Cancellable? cancellable) throws GLib.Error;
-		[CCode (has_construct_function = false)]
-		public Session.with_options (string optname1, ...);
-		public string accept_language { get; set; }
-		public bool accept_language_auto { get; set; }
-		public uint idle_timeout { get; set; }
-		public GLib.InetSocketAddress local_address { get; construct; }
-		public int max_conns { get; construct; }
-		public int max_conns_per_host { get; construct; }
-		public GLib.ProxyResolver proxy_resolver { get; set; }
-		public GLib.SocketConnectable remote_connectable { get; construct; }
-		public uint timeout { get; set; }
-		public GLib.TlsDatabase tls_database { get; set; }
-		public GLib.TlsInteraction tls_interaction { get; set; }
-		public string user_agent { get; set; }
-		public virtual signal void request_queued (Soup.Message msg);
-		public virtual signal void request_unqueued (Soup.Message msg);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_websocket_connection_get_type ()")]
-	public sealed class WebsocketConnection : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public WebsocketConnection (GLib.IOStream stream, GLib.Uri uri, Soup.WebsocketConnectionType type, string? origin, string? protocol, owned GLib.List<Soup.WebsocketExtension> extensions);
-		public void close (ushort code, string? data);
-		public ushort get_close_code ();
-		public unowned string get_close_data ();
-		public Soup.WebsocketConnectionType get_connection_type ();
-		public unowned GLib.List<Soup.WebsocketExtension> get_extensions ();
-		public unowned GLib.IOStream get_io_stream ();
-		public uint get_keepalive_interval ();
-		public uint64 get_max_incoming_payload_size ();
-		public unowned string? get_origin ();
-		public unowned string? get_protocol ();
-		public Soup.WebsocketState get_state ();
-		public unowned GLib.Uri get_uri ();
-		public void send_binary ([CCode (array_length_cname = "length", array_length_pos = 1.1, array_length_type = "gsize")] uint8[]? data);
-		public void send_message (Soup.WebsocketDataType type, GLib.Bytes message);
-		public void send_text (string text);
-		public void set_keepalive_interval (uint interval);
-		public void set_max_incoming_payload_size (uint64 max_incoming_payload_size);
-		public Soup.WebsocketConnectionType connection_type { get; construct; }
-		public void* extensions { get; construct; }
-		public GLib.IOStream io_stream { get; construct; }
-		public uint keepalive_interval { get; set construct; }
-		public uint64 max_incoming_payload_size { get; set construct; }
-		public string origin { get; construct; }
-		public string protocol { get; construct; }
-		public Soup.WebsocketState state { get; }
-		public GLib.Uri uri { get; construct; }
-		public signal void closed ();
-		public signal void closing ();
-		public signal void error (GLib.Error error);
-		public signal void message (int type, GLib.Bytes message);
-		public signal void pong (GLib.Bytes message);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_websocket_extension_get_type ()")]
-	public abstract class WebsocketExtension : GLib.Object {
-		[CCode (has_construct_function = false)]
-		protected WebsocketExtension ();
-		public virtual bool configure (Soup.WebsocketConnectionType connection_type, GLib.HashTable<void*,void*>? @params) throws GLib.Error;
-		public virtual string? get_request_params ();
-		public virtual string? get_response_params ();
-		public virtual GLib.Bytes process_incoming_message (ref uint8 header, owned GLib.Bytes payload) throws GLib.Error;
-		public virtual GLib.Bytes process_outgoing_message (ref uint8 header, owned GLib.Bytes payload) throws GLib.Error;
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_websocket_extension_deflate_get_type ()")]
-	public sealed class WebsocketExtensionDeflate : Soup.WebsocketExtension {
-		[CCode (has_construct_function = false)]
-		protected WebsocketExtensionDeflate ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_id = "soup_websocket_extension_manager_get_type ()")]
-	public sealed class WebsocketExtensionManager : GLib.Object, Soup.SessionFeature {
-		[CCode (has_construct_function = false)]
-		protected WebsocketExtensionManager ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupSessionFeatureInterface", type_id = "soup_session_feature_get_type ()")]
-	public interface SessionFeature : GLib.Object {
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
-	public struct MessageHeadersIter {
-		public void init (Soup.MessageHeaders hdrs);
-		public static bool next (ref Soup.MessageHeadersIter iter, out unowned string name, out unowned string value);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", has_type_id = false)]
-	public struct Range {
-		public int64 start;
-		public int64 end;
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_CACHE_", type_id = "soup_cache_type_get_type ()")]
-	public enum CacheType {
-		SINGLE_USER,
-		SHARED
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_CACHE_", type_id = "soup_cacheability_get_type ()")]
-	[Flags]
-	public enum Cacheability {
-		CACHEABLE,
-		UNCACHEABLE,
-		INVALIDATES,
-		VALIDATES
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_COOKIE_JAR_ACCEPT_", type_id = "soup_cookie_jar_accept_policy_get_type ()")]
-	public enum CookieJarAcceptPolicy {
-		ALWAYS,
-		NEVER,
-		NO_THIRD_PARTY,
-		GRANDFATHERED_THIRD_PARTY
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_DATE_", type_id = "soup_date_format_get_type ()")]
-	public enum DateFormat {
-		HTTP,
-		COOKIE
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_ENCODING_", type_id = "soup_encoding_get_type ()")]
-	public enum Encoding {
-		UNRECOGNIZED,
-		NONE,
-		CONTENT_LENGTH,
-		EOF,
-		CHUNKED,
-		BYTERANGES
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_EXPECTATION_", type_id = "soup_expectation_get_type ()")]
-	[Flags]
-	public enum Expectation {
-		UNRECOGNIZED,
-		CONTINUE
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_HTTP_", type_id = "soup_http_version_get_type ()")]
-	public enum HTTPVersion {
-		@1_0,
-		@1_1,
-		@2_0
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_LOGGER_LOG_", type_id = "soup_logger_log_level_get_type ()")]
-	public enum LoggerLogLevel {
-		NONE,
-		MINIMAL,
-		HEADERS,
-		BODY
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_MEMORY_", type_id = "soup_memory_use_get_type ()")]
-	public enum MemoryUse {
-		STATIC,
-		TAKE,
-		COPY
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_MESSAGE_", type_id = "soup_message_flags_get_type ()")]
-	[Flags]
-	public enum MessageFlags {
-		NO_REDIRECT,
-		NEW_CONNECTION,
-		IDEMPOTENT,
-		DO_NOT_USE_AUTH_CACHE,
-		COLLECT_METRICS
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_MESSAGE_HEADERS_", type_id = "soup_message_headers_type_get_type ()")]
-	public enum MessageHeadersType {
-		REQUEST,
-		RESPONSE,
-		MULTIPART
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_MESSAGE_PRIORITY_", type_id = "soup_message_priority_get_type ()")]
-	public enum MessagePriority {
-		VERY_LOW,
-		LOW,
-		NORMAL,
-		HIGH,
-		VERY_HIGH
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_SAME_SITE_POLICY_", type_id = "soup_same_site_policy_get_type ()")]
-	public enum SameSitePolicy {
-		NONE,
-		LAX,
-		STRICT
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_SERVER_LISTEN_", type_id = "soup_server_listen_options_get_type ()")]
-	[Flags]
-	public enum ServerListenOptions {
-		HTTPS,
-		IPV4_ONLY,
-		IPV6_ONLY
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_STATUS_", type_id = "soup_status_get_type ()")]
-	public enum Status {
-		NONE,
-		CONTINUE,
-		SWITCHING_PROTOCOLS,
-		PROCESSING,
-		OK,
-		CREATED,
-		ACCEPTED,
-		NON_AUTHORITATIVE,
-		NO_CONTENT,
-		RESET_CONTENT,
-		PARTIAL_CONTENT,
-		MULTI_STATUS,
-		MULTIPLE_CHOICES,
-		MOVED_PERMANENTLY,
-		FOUND,
-		MOVED_TEMPORARILY,
-		SEE_OTHER,
-		NOT_MODIFIED,
-		USE_PROXY,
-		NOT_APPEARING_IN_THIS_PROTOCOL,
-		TEMPORARY_REDIRECT,
-		PERMANENT_REDIRECT,
-		BAD_REQUEST,
-		UNAUTHORIZED,
-		PAYMENT_REQUIRED,
-		FORBIDDEN,
-		NOT_FOUND,
-		METHOD_NOT_ALLOWED,
-		NOT_ACCEPTABLE,
-		PROXY_AUTHENTICATION_REQUIRED,
-		PROXY_UNAUTHORIZED,
-		REQUEST_TIMEOUT,
-		CONFLICT,
-		GONE,
-		LENGTH_REQUIRED,
-		PRECONDITION_FAILED,
-		REQUEST_ENTITY_TOO_LARGE,
-		REQUEST_URI_TOO_LONG,
-		UNSUPPORTED_MEDIA_TYPE,
-		REQUESTED_RANGE_NOT_SATISFIABLE,
-		INVALID_RANGE,
-		EXPECTATION_FAILED,
-		MISDIRECTED_REQUEST,
-		UNPROCESSABLE_ENTITY,
-		LOCKED,
-		FAILED_DEPENDENCY,
-		INTERNAL_SERVER_ERROR,
-		NOT_IMPLEMENTED,
-		BAD_GATEWAY,
-		SERVICE_UNAVAILABLE,
-		GATEWAY_TIMEOUT,
-		HTTP_VERSION_NOT_SUPPORTED,
-		INSUFFICIENT_STORAGE,
-		NOT_EXTENDED;
-		public static unowned string get_phrase (uint status_code);
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_URI_", type_id = "soup_uri_component_get_type ()")]
-	public enum URIComponent {
-		NONE,
-		SCHEME,
-		USER,
-		PASSWORD,
-		AUTH_PARAMS,
-		HOST,
-		PORT,
-		PATH,
-		QUERY,
-		FRAGMENT
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_CLOSE_", type_id = "soup_websocket_close_code_get_type ()")]
-	public enum WebsocketCloseCode {
-		NORMAL,
-		GOING_AWAY,
-		PROTOCOL_ERROR,
-		UNSUPPORTED_DATA,
-		NO_STATUS,
-		ABNORMAL,
-		BAD_DATA,
-		POLICY_VIOLATION,
-		TOO_BIG,
-		NO_EXTENSION,
-		SERVER_ERROR,
-		TLS_HANDSHAKE
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_CONNECTION_", type_id = "soup_websocket_connection_type_get_type ()")]
-	public enum WebsocketConnectionType {
-		UNKNOWN,
-		CLIENT,
-		SERVER
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_DATA_", type_id = "soup_websocket_data_type_get_type ()")]
-	public enum WebsocketDataType {
-		TEXT,
-		BINARY
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_STATE_", type_id = "soup_websocket_state_get_type ()")]
-	public enum WebsocketState {
-		OPEN,
-		CLOSING,
-		CLOSED
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_SESSION_ERROR_", type_id = "soup_session_error_get_type ()")]
-	public errordomain SessionError {
-		PARSING,
-		ENCODING,
-		TOO_MANY_REDIRECTS,
-		TOO_MANY_RESTARTS,
-		REDIRECT_NO_LOCATION,
-		REDIRECT_BAD_URI,
-		MESSAGE_ALREADY_IN_QUEUE;
-		public static GLib.Quark quark ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_TLD_ERROR_", type_id = "soup_tld_error_get_type ()")]
-	public errordomain TLDError {
-		INVALID_HOSTNAME,
-		IS_IP_ADDRESS,
-		NOT_ENOUGH_DOMAINS,
-		NO_BASE_DOMAIN,
-		NO_PSL_DATA;
-		public static GLib.Quark quark ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", cprefix = "SOUP_WEBSOCKET_ERROR_", type_id = "soup_websocket_error_get_type ()")]
-	public errordomain WebsocketError {
-		FAILED,
-		NOT_WEBSOCKET,
-		BAD_HANDSHAKE,
-		BAD_ORIGIN;
-		public static GLib.Quark quark ();
-	}
-	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
-	public delegate bool AuthDomainBasicAuthCallback (Soup.AuthDomainBasic domain, Soup.ServerMessage msg, string username, string password);
-	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 3.9)]
-	public delegate string? AuthDomainDigestAuthCallback (Soup.AuthDomainDigest domain, Soup.ServerMessage msg, string username);
-	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
-	public delegate bool AuthDomainFilter (Soup.AuthDomain domain, Soup.ServerMessage msg);
-	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 3.9)]
-	public delegate bool AuthDomainGenericAuthCallback (Soup.AuthDomain domain, Soup.ServerMessage msg, string username);
-	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
-	public delegate Soup.LoggerLogLevel LoggerFilter (Soup.Logger logger, Soup.Message msg);
-	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
-	public delegate void LoggerPrinter (Soup.Logger logger, Soup.LoggerLogLevel level, char direction, string data);
-	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
-	public delegate void MessageHeadersForeachFunc (string name, string value);
-	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
-	public delegate void ServerCallback (Soup.Server server, Soup.ServerMessage msg, string path, GLib.HashTable<string,string>? query);
-	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
-	public delegate void ServerWebsocketCallback (Soup.Server server, Soup.ServerMessage msg, string path, Soup.WebsocketConnection connection);
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_DAY")]
-	public const int COOKIE_MAX_AGE_ONE_DAY;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_HOUR")]
-	public const int COOKIE_MAX_AGE_ONE_HOUR;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_WEEK")]
-	public const int COOKIE_MAX_AGE_ONE_WEEK;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_COOKIE_MAX_AGE_ONE_YEAR")]
-	public const int COOKIE_MAX_AGE_ONE_YEAR;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_FORM_MIME_TYPE_MULTIPART")]
-	public const string FORM_MIME_TYPE_MULTIPART;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_FORM_MIME_TYPE_URLENCODED")]
-	public const string FORM_MIME_TYPE_URLENCODED;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_HSTS_POLICY_MAX_AGE_PAST")]
-	public const int HSTS_POLICY_MAX_AGE_PAST;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_HTTP_URI_FLAGS")]
-	public const int HTTP_URI_FLAGS;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MAJOR_VERSION")]
-	public const int MAJOR_VERSION;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MICRO_VERSION")]
-	public const int MICRO_VERSION;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_MINOR_VERSION")]
-	public const int MINOR_VERSION;
-	[CCode (cheader_filename = "libsoup/soup.h", cname = "SOUP_VERSION_MIN_REQUIRED")]
-	public const int VERSION_MIN_REQUIRED;
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool check_version (uint major, uint minor, uint micro);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	[Version (replacement = "Cookie.parse")]
-	public static Soup.Cookie? cookie_parse (string header, GLib.Uri? origin);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.SList<Soup.Cookie> cookies_from_request (Soup.Message msg);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.SList<Soup.Cookie> cookies_from_response (Soup.Message msg);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static string cookies_to_cookie_header (GLib.SList<Soup.Cookie> cookies);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void cookies_to_request (GLib.SList<Soup.Cookie> cookies, Soup.Message msg);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void cookies_to_response (GLib.SList<Soup.Cookie> cookies, Soup.Message msg);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.DateTime? date_time_new_from_http_string (string date_string);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static string date_time_to_string (GLib.DateTime date, Soup.DateFormat format);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static uint get_major_version ();
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static uint get_micro_version ();
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static uint get_minor_version ();
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool header_contains (string header, string token);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void header_free_param_list (GLib.HashTable<string,string> param_list);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void header_g_string_append_param (GLib.StringBuilder string, string name, string? value);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void header_g_string_append_param_quoted (GLib.StringBuilder string, string name, string value);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.SList<string> header_parse_list (string header);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.HashTable<string,string> header_parse_param_list (string header);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.HashTable<string,string>? header_parse_param_list_strict (string header);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.SList<string> header_parse_quality_list (string header, out GLib.SList<string> unacceptable);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.HashTable<string,string> header_parse_semi_param_list (string header);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.HashTable<string,string>? header_parse_semi_param_list_strict (string header);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool headers_parse (string str, int len, Soup.MessageHeaders dest);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static uint headers_parse_request (string str, int len, Soup.MessageHeaders req_headers, out string req_method, out string req_path, out Soup.HTTPVersion ver);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool headers_parse_response (string str, int len, Soup.MessageHeaders headers, out Soup.HTTPVersion ver, out uint status_code, out string reason_phrase);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool headers_parse_status_line (string status_line, out Soup.HTTPVersion ver, out uint status_code, out string reason_phrase);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	[Version (replacement = "MessageHeadersIter.init")]
-	public static void message_headers_iter_init (out Soup.MessageHeadersIter iter, Soup.MessageHeaders hdrs);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	[Version (replacement = "SessionError.quark")]
-	public static GLib.Quark session_error_quark ();
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	[Version (replacement = "Status.get_phrase")]
-	public static unowned string status_get_phrase (uint status_code);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool tld_domain_is_public_suffix (string domain);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	[Version (replacement = "TLDError.quark")]
-	public static GLib.Quark tld_error_quark ();
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static unowned string tld_get_base_domain (string hostname) throws GLib.Error;
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.Uri uri_copy (GLib.Uri uri, ...);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.Bytes uri_decode_data_uri (string uri, out string? content_type);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool uri_equal (GLib.Uri uri1, GLib.Uri uri2);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void websocket_client_prepare_handshake (Soup.Message msg, string? origin, [CCode (array_length = false, array_null_terminated = true)] string[]? protocols, GLib.GenericArray<GLib.TypeClass>? supported_extensions);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool websocket_client_verify_handshake (Soup.Message msg, GLib.GenericArray<GLib.TypeClass>? supported_extensions, out GLib.List<Soup.WebsocketExtension> accepted_extensions) throws GLib.Error;
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	[Version (replacement = "WebsocketError.quark")]
-	public static GLib.Quark websocket_error_quark ();
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool websocket_server_check_handshake (Soup.ServerMessage msg, string? origin, [CCode (array_length = false, array_null_terminated = true)] string[]? protocols, GLib.GenericArray<GLib.TypeClass>? supported_extensions) throws GLib.Error;
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool websocket_server_process_handshake (Soup.ServerMessage msg, string? expected_origin, [CCode (array_length = false, array_null_terminated = true)] string[]? protocols, GLib.GenericArray<GLib.TypeClass>? supported_extensions, out GLib.List<Soup.WebsocketExtension> accepted_extensions);
-}
Index: radix-1.9/libs/libsoup3/3.4.2/Makefile
===================================================================
--- radix-1.9/libs/libsoup3/3.4.2/Makefile	(revision 124)
+++ radix-1.9/libs/libsoup3/3.4.2/Makefile	(revision 125)
@@ -57,10 +57,12 @@
 
 REQUIRES           = app/sqlite/3.39.4.0
 REQUIRES          += libs/glib-networking/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 REQUIRES          += libs/brotli/1.0.9
 REQUIRES          += libs/libpsl/0.21.1
 REQUIRES          += net/nghttp2/1.43.0
 REQUIRES          += net/krb5/1.19.1
+REQUIRES          += dev/vala/0.56.6
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -83,9 +85,7 @@
 
 cross_file         = $(TARGET_BUILD_DIR)/$(TARGET)-cross
 
-vala-api-file      = $(CURDIR)/vala-api/libsoup-3.0.vapi
 
-
 ####### Targets
 
 PKG_GROUP = libs
@@ -181,7 +181,8 @@
 extra_configure_switches += --default-library=shared
 endif
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
+extra_configure_switches += -Dvapi=enabled
 
 extra_configure_switches += -Dgssapi=enabled
 extra_configure_switches += -Dbrotli=enabled
@@ -197,6 +198,12 @@
 extra_configure_switches += -Ddoc_tests=false
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
 LDFLAGS += -Wl,-rpath,$(TARGET_LIB_RPATH)
@@ -237,7 +244,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -257,14 +265,14 @@
 	    -Dtests=false               \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
 	@cd $(build_dir) && $(env_sysroot) ninja install
-	# ======= Install Vala API file =======
-	@mkdir -p $(LIBSOUP_PKG)/usr/share/vala/vapi
-	@cp -a $(vala-api-file) $(LIBSOUP_PKG)/usr/share/vala/vapi/
 	# ======= Install Documentation =======
 	@if [ -d $(LIBSOUP_PKG)/usr/share/man ]; then \
 	  ( cd $(LIBSOUP_PKG)/usr/share/man ; \
Index: radix-1.9/net/ModemManager/1.16.4/Makefile
===================================================================
--- radix-1.9/net/ModemManager/1.16.4/Makefile	(revision 124)
+++ radix-1.9/net/ModemManager/1.16.4/Makefile	(revision 125)
@@ -59,6 +59,7 @@
 REQUIRES          += libs/glib2/2.76.0
 REQUIRES          += libs/libgudev/236
 REQUIRES          += app/elogind/246.10
+REQUIRES          += dev/vala/0.56.6
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -130,7 +131,8 @@
 extra_configure_switches += --with-polkit=no
 extra_configure_switches += --with-systemd-suspend-resume
 
-extra_configure_switches += --enable-introspection=no
+extra_configure_switches += --enable-introspection=yes
+extra_configure_switches += --enable-vala=yes
 
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
@@ -144,6 +146,12 @@
 libs_config += LIBSYSTEMD_LOGIN_LIBS='$(shell pkg-config --libs libelogind)'
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS  += -Wno-incompatible-pointer-types -Wno-cast-align
 LDFLAGS += -Wl,-rpath=/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
 
@@ -159,12 +167,14 @@
 	@touch $@
 
 $(build_target): $(src_done)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(libs_config) ../$(src_dir_name)/configure \
+	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(libs_config) $(python_environment) ../$(src_dir_name)/configure \
 	  --prefix=/usr               \
 	  --build=$(BUILD)            \
 	  --host=$(TARGET)            \
 	  $(extra_configure_switches)
-	@cd $(SRC_DIR) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@( cd $(SRC_DIR) ; \
+	   env -i $(MAKE) $(python_environment) VAPIGEN=/usr/bin/vapigen ; \
+	 )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/net/libmbim/1.24.6/Makefile
===================================================================
--- radix-1.9/net/libmbim/1.24.6/Makefile	(revision 124)
+++ radix-1.9/net/libmbim/1.24.6/Makefile	(revision 125)
@@ -56,6 +56,7 @@
 SOURCE_REQUIRES    = sources/packages/n/libmbim
 
 REQUIRES           = libs/libgudev/236
+REQUIRES          += libs/gobject-introspection/1.76.1
 
 # ======= __END_OF_REQUIRES__ =======
 
@@ -128,7 +129,7 @@
 extra_configure_switches += --sysconfdir=/etc
 extra_configure_switches += --localstatedir=/var
 
-extra_configure_switches += --enable-introspection=no
+extra_configure_switches += --enable-introspection=yes
 
 ifeq ($(ENABLE_GTK_DOCUMENTATION),yes)
 extra_configure_switches += --enable-gtk-doc=yes
@@ -146,6 +147,12 @@
 extra_configure_switches += --enable-shared=yes
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS += -Wno-incompatible-pointer-types
 
 LDFLAGS += -Wl,-rpath,/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
@@ -163,12 +170,14 @@
 
 $(build_target): $(src_done)
 	@mkdir -p $(build_dir)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(python_environment) ../$(src_dir_name)/configure \
 	  --prefix=/usr               \
 	  --build=$(BUILD)            \
 	  --host=$(TARGET)            \
 	  $(extra_configure_switches)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@( cd $(build_dir) ; \
+	   env -i $(MAKE) $(python_environment) ; \
+	 )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/net/libnice/0.1.21/Makefile
===================================================================
--- radix-1.9/net/libnice/0.1.21/Makefile	(revision 124)
+++ radix-1.9/net/libnice/0.1.21/Makefile	(revision 125)
@@ -56,6 +56,7 @@
 SOURCE_REQUIRES    = sources/packages/n/libnice
 
 REQUIRES           = libs/glib2/2.76.0
+REQUIRES          += libs/gobject-introspection/1.76.1
 REQUIRES          += net/gnutls/3.8.0
 
 # ======= __END_OF_REQUIRES__ =======
@@ -176,12 +177,18 @@
 extra_configure_switches += -Dgstreamer=disabled
 extra_configure_switches += -Dcrypto-library=gnutls
 
-extra_configure_switches += -Dintrospection=disabled
+extra_configure_switches += -Dintrospection=enabled
 extra_configure_switches += -Dexamples=disabled
 
 extra_configure_switches += -Dgtk_doc=disabled
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
 
 LDFLAGS += -Wl,-rpath,$(TARGET_BIN_RPATH)
@@ -222,7 +229,8 @@
 	@echo "strip = '$(STRIP)'"                          >> $(cross_file)
 	@echo "pkgconfig = 'pkg-config'"                    >> $(cross_file)
 	@echo ""                                            >> $(cross_file)
-	@meson setup \
+	@$(python_environment) \
+	   meson setup \
 	    --prefix=/usr \
 	    --libdir=lib$(LIBSUFFIX) \
 	    --libexecdir=/usr/libexec \
@@ -241,7 +249,10 @@
 	    -Dtests=disabled            \
 	    $(extra_configure_switches) \
 	    --cross-file=$(cross_file) $(SRC_DIR) $(build_dir)
-	@cd $(build_dir) && ninja -v
+	@( cd $(build_dir) ; \
+	   sed -i '/COMMAND = /s, /usr/bin/g-ir-scanner , $(python_environment) $(TARGET_DEST_DIR)/usr/bin/g-ir-scanner-wrapper ,g' build.ninja ; \
+	 )
+	@( cd $(build_dir) ; env -i ninja -v )
 	@touch $@
 
 $(install_target): $(build_target)
Index: radix-1.9/net/libqmi/1.28.2/Makefile
===================================================================
--- radix-1.9/net/libqmi/1.28.2/Makefile	(revision 124)
+++ radix-1.9/net/libqmi/1.28.2/Makefile	(revision 125)
@@ -137,7 +137,7 @@
 extra_configure_switches += --enable-gtk-doc=no
 endif
 
-extra_configure_switches += --enable-introspection=no
+extra_configure_switches += --enable-introspection=yes
 
 ifeq ($(__ENABLE_STATIC__),yes)
 extra_configure_switches += --enable-static=yes
@@ -147,6 +147,12 @@
 extra_configure_switches += --enable-shared=yes
 
 
+PYTHON3_VERSION = 3.10
+
+python_environment  = PYTHON=$(PYTHON3)
+python_environment += PYTHONPATH='$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/gobject-introspection:$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/python$(PYTHON3_VERSION)/lib-dynload'
+
+
 CFLAGS += -Wno-incompatible-pointer-types
 
 LDFLAGS += -Wl,-rpath,/lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
@@ -164,12 +170,14 @@
 
 $(build_target): $(src_done)
 	@mkdir -p $(build_dir)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(python_environment) ../$(src_dir_name)/configure \
 	  --prefix=/usr               \
 	  --build=$(BUILD)            \
 	  --host=$(TARGET)            \
 	  $(extra_configure_switches)
-	@cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+	@( cd $(build_dir) ; \
+	   env -i $(MAKE) $(python_environment) ; \
+	 )
 	@touch $@
 
 $(install_target): $(build_target)