summary refs log tree commit diff
diff options
context:
space:
mode:
authorRandy Eckenrode <randy@largeandhighquality.com>2023-05-24 08:28:53 -0400
committerRandy Eckenrode <randy@largeandhighquality.com>2023-06-14 16:57:20 -0400
commit9065884299b6ab835f72198c85a3d7ffb4a58407 (patch)
tree7f2977f0fb8d1ad653b4f0e23e64140180f52119
parent50512e605433302fa1261c0c801546e9fca6d643 (diff)
downloadnixpkgs-9065884299b6ab835f72198c85a3d7ffb4a58407.tar
nixpkgs-9065884299b6ab835f72198c85a3d7ffb4a58407.tar.gz
nixpkgs-9065884299b6ab835f72198c85a3d7ffb4a58407.tar.bz2
nixpkgs-9065884299b6ab835f72198c85a3d7ffb4a58407.tar.lz
nixpkgs-9065884299b6ab835f72198c85a3d7ffb4a58407.tar.xz
nixpkgs-9065884299b6ab835f72198c85a3d7ffb4a58407.tar.zst
nixpkgs-9065884299b6ab835f72198c85a3d7ffb4a58407.zip
qt5.qtbase: fix build with Darwin sandbox enabled
Qt requires access to the system ICU data due to its linking against
the system CoreFoundation and invoking CF APIs that tries to access it.
This manifests as a crash during build when it fails to access the data.
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix6
1 files changed, 6 insertions, 0 deletions
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 8b5d497c5e9..de73bcbe277 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -84,6 +84,12 @@ stdenv.mkDerivation (finalAttrs: {
 
   propagatedNativeBuildInputs = [ lndir ];
 
+  # libQt5Core links calls CoreFoundation APIs that call into the system ICU. Binaries linked
+  # against it will crash during build unless they can access `/usr/share/icu/icudtXXl.dat`.
+  propagatedSandboxProfile = lib.optionalString stdenv.isDarwin ''
+    (allow file-read* (subpath "/usr/share/icu"))
+  '';
+
   enableParallelBuilding = true;
 
   outputs = [ "bin" "dev" "out" ];