firefox-beta: fix darwin build

Recent firefox started using fileport.h API. This API was exposed in SDK
15.4, but we are still running on 15.2. XNU source headers contain the
header for some time, so we can pull it from there instead.
This commit is contained in:
Ihar Hrachyshka
2025-08-27 10:08:08 -04:00
parent 4c202d2648
commit 5dfd85b1b9
@@ -444,7 +444,20 @@ buildStdenv.mkDerivation {
# linking firefox hits the vm.max_map_count kernel limit with the default musl allocator
# TODO: Default vm.max_map_count has been increased, retest without this
export LD_PRELOAD=${mimalloc}/lib/libmimalloc.so
'';
''
+
# fileport.h was exposed in SDK 15.4 but we have only 15.2 in nixpkgs so far.
lib.optionalString
(
stdenv.hostPlatform.isDarwin
&& lib.versionAtLeast version "143"
&& lib.versionOlder apple-sdk_15.version "15.4"
)
''
mkdir -p xnu/sys
cp ${apple-sdk_15.sourceRelease "xnu"}/bsd/sys/fileport.h xnu/sys
export CXXFLAGS="-isystem $(pwd)/xnu"
'';
# firefox has a different definition of configurePlatforms from nixpkgs, see configureFlags
configurePlatforms = [ ];