summary refs log tree commit diff
path: root/pkgs/development/libraries/gtk/4.x.nix
diff options
context:
space:
mode:
authorColin <colin@uninsane.org>2023-08-07 07:50:25 +0000
committerColin <colin@uninsane.org>2023-08-07 09:10:14 +0000
commit7a1c5e3a5d1ff82c8afa659c7f903d5309d5de6a (patch)
tree7b1267341a26e88100e2cf5a490a5cc94e894a81 /pkgs/development/libraries/gtk/4.x.nix
parent5ee69670071f583bdffe2718dc46763fa1698f92 (diff)
downloadnixpkgs-7a1c5e3a5d1ff82c8afa659c7f903d5309d5de6a.tar
nixpkgs-7a1c5e3a5d1ff82c8afa659c7f903d5309d5de6a.tar.gz
nixpkgs-7a1c5e3a5d1ff82c8afa659c7f903d5309d5de6a.tar.bz2
nixpkgs-7a1c5e3a5d1ff82c8afa659c7f903d5309d5de6a.tar.lz
nixpkgs-7a1c5e3a5d1ff82c8afa659c7f903d5309d5de6a.tar.xz
nixpkgs-7a1c5e3a5d1ff82c8afa659c7f903d5309d5de6a.tar.zst
nixpkgs-7a1c5e3a5d1ff82c8afa659c7f903d5309d5de6a.zip
gtk4: compile schemas even when cross compiling
Diffstat (limited to 'pkgs/development/libraries/gtk/4.x.nix')
-rw-r--r--pkgs/development/libraries/gtk/4.x.nix9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix
index b7e8c13ccca..0503ac199f9 100644
--- a/pkgs/development/libraries/gtk/4.x.nix
+++ b/pkgs/development/libraries/gtk/4.x.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, buildPackages
 , substituteAll
 , fetchurl
 , pkg-config
@@ -7,6 +8,7 @@
 , graphene
 , gi-docgen
 , meson
+, mesonEmulatorHook
 , ninja
 , python3
 , makeWrapper
@@ -45,6 +47,7 @@
 , wayland-scanner
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux
+, compileSchemas ? stdenv.hostPlatform.emulatorAvailable buildPackages
 , cups
 , AppKit
 , Cocoa
@@ -99,6 +102,8 @@ stdenv.mkDerivation rec {
     sassc
     gi-docgen
     libxml2 # for xmllint
+  ] ++ lib.optionals (compileSchemas && !stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
+    mesonEmulatorHook
   ] ++ lib.optionals waylandSupport [
     wayland-scanner
   ] ++ setupHooks;
@@ -190,6 +195,10 @@ stdenv.mkDerivation rec {
   };
 
   postPatch = ''
+    # this conditional gates the installation of share/gsettings-schemas/.../glib-2.0/schemas/gschemas.compiled.
+    substituteInPlace meson.build \
+      --replace 'if not meson.is_cross_build()' 'if ${lib.boolToString compileSchemas}'
+
     files=(
       build-aux/meson/gen-demo-header.py
       demos/gtk-demo/geninclude.py