From 726ba29941a348fd79dea539be86b388e6708d88 Mon Sep 17 00:00:00 2001 From: Eduard Bachmakov Date: Tue, 3 Jun 2025 19:46:35 +0200 Subject: [PATCH 1/3] cc-wrapper: limit no-omit-leaf-frame-pointer to supported platforms Unlike omit-frame-pointer this flag is NOT globally defined and results in `unrecognized command-line option` type errors. See https://github.com/NixOS/nixpkgs/pull/399014#issuecomment-2933857698 and following for discussion. --- pkgs/build-support/cc-wrapper/default.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index 4758411773b4..a4b4573082f4 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -804,9 +804,21 @@ stdenvNoCC.mkDerivation { # Do not prevent omission of framepointers on x86 32bit due to the small # number of general purpose registers. Keeping EBP available provides # non-trivial performance benefits. - + optionalString (!targetPlatform.isx86_32) '' - echo " -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer " >> $out/nix-support/cc-cflags-before - '' + + ( + let + enable_fp = !targetPlatform.isx86_32; + enable_leaf_fp = + enable_fp + && ( + targetPlatform.isx86_64 + || targetPlatform.isAarch64 + || (targetPlatform.isRiscV && (!isGNU || versionAtLeast ccVersion "15.1")) + ); + in + optionalString enable_fp '' + echo " -fno-omit-frame-pointer ${optionalString enable_leaf_fp "-mno-omit-leaf-frame-pointer "}" >> $out/nix-support/cc-cflags-before + '' + ) # For clang, this is handled in add-clang-cc-cflags-before.sh + optionalString (!isClang && machineFlags != [ ]) '' From eedbb0378b2ee246f6a88959cace910e9a813641 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 4 Jun 2025 15:35:24 +0300 Subject: [PATCH 2/3] pipewire: 1.4.4 -> 1.4.5 Diff: https://gitlab.freedesktop.org/pipewire/pipewire/-/compare/1.4.4...1.4.5 Changelog: https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/1.4.5 --- pkgs/development/libraries/pipewire/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index e2a81e2ffd95..9e4ad498dc9a 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -82,7 +82,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "pipewire"; - version = "1.4.4"; + version = "1.4.5"; outputs = [ "out" @@ -98,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "pipewire"; repo = "pipewire"; rev = finalAttrs.version; - sha256 = "sha256-ullr00XbYrjwAAkQ6tWRayoS3aFuQsbDpSv06pgBDSA="; + sha256 = "sha256-5fBpthIGsvMYrQyRb6n1uiNtJ3pl2ejAFr1e/UUga8w="; }; patches = [ From 387d6a931a1d28daff42c059c73d78f57aa46bce Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 4 Jun 2025 14:57:15 +0200 Subject: [PATCH 3/3] python3Packages.meson-python: ignore target version on darwin during tests For darwin we set a minimal deployment target at 11.3 currently, which meson-python correctly detects, only to the compare it to the running platform version, which is currently 15.5. We concluded in the upstream issue, that the tests likely should not respect this environment variable, so we now unset it on darwin. --- .../python-modules/meson-python/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/development/python-modules/meson-python/default.nix b/pkgs/development/python-modules/meson-python/default.nix index 512a020bd231..c3bbdc6276e3 100644 --- a/pkgs/development/python-modules/meson-python/default.nix +++ b/pkgs/development/python-modules/meson-python/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildPythonPackage, fetchPypi, pythonOlder, @@ -82,6 +83,16 @@ buildPythonPackage rec { "test_user_args" "test_vendored_meson" ]; + # meson-python respectes MACOSX_DEPLOYMENT_TARGET, but compares it with the + # actual platform version during tests, which mismatches. + # https://github.com/mesonbuild/meson-python/issues/760 + preCheck = + if stdenv.hostPlatform.isDarwin then + '' + unset MACOSX_DEPLOYMENT_TARGET + '' + else + null; setupHooks = [ ./add-build-flags.sh ];