tests/gtk-ports.nix
Evaluate with --option allow-import-from-derivation false; builds nothing. Check the ABI boundary: Fil-C builds splice in build-platform generators that are patched for their Fil-C target.
let
nativeBuildInputs as mkDerivation resolved them, after splicing.
uses lib used by gtkScanner
in
assert builtins.allname: build.${name}.drvPath ≡ pkgs.${name}.drvPath "pango" "gtk3" "glibmm" "cairo" "sdl2-compat"
assert containsDrvpython gi.buildInputs
assert builtins.elem"-Dgi_cross_use_prebuilt_gi=false" gi.mesonFlags
assert ¬builtins.elem"-Dgi_cross_use_prebuilt_gi=true" gi.mesonFlags
assert ¬containsDrvpkgs.gobject-introspection-unwrapped gi.nativeBuildInputs
assert ¬containsDrvgi gi.nativeBuildInputs
assert builtins.allinput: ¬pkgs.lib.hasPrefix"gobject-introspection" input.pname or "" ports.glib.nativeBuildInputs
assert gi.version ≡ "1.80.1"
assert ports.gtk3.version ≡ "3.24.52"
assert ports.gtk4.version ≡ "4.14.5"
assert builtins.elem"-Dintrospection=true" ports.gtk3.mesonFlags
assert builtins.elem"-Dintrospection=enabled" ports.gtk4.mesonFlags
assert builtins.elem"-Dmedia-gstreamer=disabled" ports.gtk4.mesonFlags
assert builtins.allinput: ¬builtins.eleminput.pname or "" "gst-plugins-base" "gst-plugins-bad" ports.gtk4.buildInputs
assert containsDrvports.systemdLibs ports.at-spi2-core.buildInputs
assert ¬containsDrvports.systemd ports.at-spi2-core.buildInputs
assert builtins.allusesToolbuild.gobject-introspection ports.pango ports.harfbuzz ports.gdk-pixbuf ports.graphene ports.at-spi2-core
assert ¬containsDrvports.vala ports.dconf.buildInputs
assert ports.python3Packages.pygobject3.version ≡ "3.48.2"
assert pkgs.callPackagegobject-introspection: gobject-introspection { }.drvPath ≡ pkgs.gobject-introspection.drvPath
assert containsDrvports.makeBinaryWrapper build.qt5.wrapQtAppsHook.propagatedBuildInputs
assert containsDrvports.qt5.qtbase.dev build.qt5.wrapQtAppsHook.propagatedBuildInputs
assert containsDrvports.qt5.qtbase.dev build.qt5.qmake.propagatedBuildInputs
Generators must not emit APIs newer than the target GLib and GI provide.
The twins are only tools: native libraries in the Fil-C build set link the ordinary GLib and GI, so they match the native set (and cache.nixos.org).
Unported packages splice in the same generators.
Runtime wrappers must not bootstrap an ordinary LLVM cross compiler.
Keep the pinned Nixpkgs release and its security fixes when adding the port.
gtkScannerports.gtk3
gtkScannerports.gtk4