From 05f2df97d50035b731eb7786e10e37b78b5181a0 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 19 Jan 2026 16:28:59 +0200 Subject: [PATCH 1/2] python3Packages.wrapPython: use pkgsBuildTarget.makeWrapper by default --- pkgs/by-name/ya/yaml-merge/package.nix | 5 +---- pkgs/development/interpreters/python/hooks/default.nix | 4 +--- pkgs/development/interpreters/python/wrap-python.nix | 4 ++-- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/ya/yaml-merge/package.nix b/pkgs/by-name/ya/yaml-merge/package.nix index 2023c3d16d65c..ea5431962c8ba 100644 --- a/pkgs/by-name/ya/yaml-merge/package.nix +++ b/pkgs/by-name/ya/yaml-merge/package.nix @@ -3,7 +3,6 @@ stdenv, fetchFromGitHub, python3Packages, - pkgsHostTarget, }: stdenv.mkDerivation { @@ -19,9 +18,7 @@ stdenv.mkDerivation { pythonPath = with python3Packages; [ pyyaml ]; nativeBuildInputs = [ - # Not `python3Packages.wrapPython` to workaround `python3Packages.wrapPython.__spliced.buildHost` having the wrong `pythonHost` - # See https://github.com/NixOS/nixpkgs/issues/434307 - pkgsHostTarget.python3Packages.wrapPython + python3Packages.wrapPython ]; installPhase = '' diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix index 0bba05d7330eb..88e3f052fb37c 100644 --- a/pkgs/development/interpreters/python/hooks/default.nix +++ b/pkgs/development/interpreters/python/hooks/default.nix @@ -473,9 +473,7 @@ in } ./wheel-unpack-hook.sh ) { }; - wrapPython = callPackage ../wrap-python.nix { - inherit (pkgs.buildPackages) makeWrapper; - }; + wrapPython = callPackage ../wrap-python.nix { }; sphinxHook = callPackage ( { makePythonHook, installShellFiles }: diff --git a/pkgs/development/interpreters/python/wrap-python.nix b/pkgs/development/interpreters/python/wrap-python.nix index 0bc93d600ea78..564a7017b845a 100644 --- a/pkgs/development/interpreters/python/wrap-python.nix +++ b/pkgs/development/interpreters/python/wrap-python.nix @@ -2,12 +2,12 @@ lib, python, makePythonHook, - makeWrapper, + pkgsBuildTarget, }: makePythonHook { name = "wrap-python-hook"; - propagatedBuildInputs = [ makeWrapper ]; + propagatedBuildInputs = [ pkgsBuildTarget.makeWrapper ]; substitutions.sitePackages = python.sitePackages; substitutions.executable = python.interpreter; substitutions.python = python.pythonOnBuildForHost; From e67dcb4977a6299eae0cc06f866c099f88ed79f2 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 20 Jan 2026 14:48:08 +0200 Subject: [PATCH 2/2] pkgsStatic.apple-sdk: enable bootstrap to avoid circular dependency with meson Co-Authored-By: Claude Sonnet 4.5 --- pkgs/by-name/ap/apple-sdk/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ap/apple-sdk/package.nix b/pkgs/by-name/ap/apple-sdk/package.nix index 2a0dabd97ae0a..de99e2178f79d 100644 --- a/pkgs/by-name/ap/apple-sdk/package.nix +++ b/pkgs/by-name/ap/apple-sdk/package.nix @@ -12,8 +12,12 @@ in darwinSdkMajorVersion ? lib.versions.major stdenv.hostPlatform.darwinSdkVersion, # Enabling bootstrap disables propagation. Defaults to `false` (meaning to propagate certain packages and `xcrun`) - # except in stage0 of the Darwin stdenv bootstrap. - enableBootstrap ? stdenv.name == "bootstrap-stage0-stdenv-darwin", + # except in stage0 of the Darwin stdenv bootstrap or when building static to avoid circular dependencies. + # For static builds, propagating libiconv creates this cycle: + # apple-sdk-static → libiconv-static → mkAppleDerivation (adds meson to nativeBuildInputs) + # → meson → python3.pkgs.buildPythonApplication → wrapPython → pkgsBuildTarget.makeWrapper + # → targetPackages.runtimeShell → bash-static → stdenv-darwin-static → apple-sdk-static + enableBootstrap ? stdenv.name == "bootstrap-stage0-stdenv-darwin" || stdenv.hostPlatform.isStatic, # Required by various phases callPackage,