gstreamer: fix build on darwin

This commit is contained in:
sempiternal-aurora
2026-07-02 17:27:51 +10:00
parent 401b87c97d
commit fb7e042104
3 changed files with 41 additions and 0 deletions
@@ -46,6 +46,8 @@
hotdoc,
directoryListingUpdater,
apple-sdk_gstreamer,
# TODO: Clean up on `staging`
llvmPackages,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -87,6 +89,10 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optionals enableWayland [
wayland-scanner
]
# TODO: Clean up on `staging`
++ lib.optionals stdenv.hostPlatform.isDarwin [
llvmPackages.lld
];
buildInputs = [
@@ -159,6 +165,14 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optional (!enableCdparanoia) "-Dcdparanoia=disabled"
++ lib.optional stdenv.hostPlatform.isDarwin "-Ddrm=disabled";
# Fix for ld64 hardening issue
#
# TODO: Clean up on `staging`
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
CC_LD = "lld";
OBJC_LD = "lld";
};
postPatch = ''
patchShebangs \
scripts/meson-pkg-config-file-fixup.py \
@@ -33,6 +33,8 @@
hotdoc,
directoryListingUpdater,
apple-sdk_gstreamer,
# TODO: Clean up on `staging`
llvmPackages,
}:
let
@@ -84,6 +86,10 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optionals enableDocumentation [
hotdoc
]
# TODO: Clean up on `staging`
++ lib.optionals stdenv.hostPlatform.isDarwin [
llvmPackages.lld
];
buildInputs = [
@@ -117,6 +123,14 @@ stdenv.mkDerivation (finalAttrs: {
(lib.mesonEnable "libdw" (withLibunwind && hasElfutils))
];
# Fix for ld64 hardening issue
#
# TODO: Clean up on `staging`
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
CC_LD = "lld";
OBJC_LD = "lld";
};
postPatch = ''
patchShebangs \
gst/parse/get_flex_version.py \
@@ -66,6 +66,8 @@
gst-plugins-good,
directoryListingUpdater,
apple-sdk_gstreamer,
# TODO: Clean up on `staging`
llvmPackages,
}:
let
@@ -137,6 +139,10 @@ stdenv.mkDerivation (finalAttrs: {
)
++ lib.optionals enableWayland [
wayland-protocols
]
# TODO: Clean up on `staging`
++ lib.optionals stdenv.hostPlatform.isDarwin [
llvmPackages.lld
];
buildInputs = [
@@ -265,6 +271,13 @@ stdenv.mkDerivation (finalAttrs: {
# linking error on Darwin
# https://github.com/NixOS/nixpkgs/pull/70690#issuecomment-553694896
"-lncurses";
}
// lib.optionalAttrs stdenv.hostPlatform.isDarwin {
# Fix for ld64 hardening issue
#
# TODO: Clean up on `staging`
CC_LD = "lld";
OBJC_LD = "lld";
};
# fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"