From fb7e04210400b472485bbd8f81adf6e8cd592ca6 Mon Sep 17 00:00:00 2001 From: sempiternal-aurora <78790545+sempiternal-aurora@users.noreply.github.com> Date: Thu, 2 Jul 2026 17:27:51 +1000 Subject: [PATCH] gstreamer: fix build on darwin --- .../libraries/gstreamer/base/default.nix | 14 ++++++++++++++ .../libraries/gstreamer/core/default.nix | 14 ++++++++++++++ .../libraries/gstreamer/good/default.nix | 13 +++++++++++++ 3 files changed, 41 insertions(+) diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix index a2a478c76ff2..8b779a923226 100644 --- a/pkgs/development/libraries/gstreamer/base/default.nix +++ b/pkgs/development/libraries/gstreamer/base/default.nix @@ -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 \ diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix index d50923558017..35151386097a 100644 --- a/pkgs/development/libraries/gstreamer/core/default.nix +++ b/pkgs/development/libraries/gstreamer/core/default.nix @@ -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 \ diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix index 4a689f5d82c7..6d0dd4edbdaf 100644 --- a/pkgs/development/libraries/gstreamer/good/default.nix +++ b/pkgs/development/libraries/gstreamer/good/default.nix @@ -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 ''"