diff --git a/pkgs/by-name/dt/dtc/package.nix b/pkgs/by-name/dt/dtc/package.nix index 527ffe873bb2..ed41487a81b2 100644 --- a/pkgs/by-name/dt/dtc/package.nix +++ b/pkgs/by-name/dt/dtc/package.nix @@ -11,6 +11,7 @@ which, pythonSupport ? false, python ? null, + replaceVars, swig, libyaml, }: @@ -38,7 +39,15 @@ stdenv.mkDerivation (finalAttrs: { url = "https://github.com/dgibson/dtc/commit/ce1d8588880aecd7af264e422a16a8b33617cef7.patch"; hash = "sha256-t1CxKnbCXUArtVcniAIdNvahOGXPbYhPCZiTynGLvfo="; }) - ]; + ] + ++ + lib.optional pythonSupport + # Make Meson use our Python version, not the one it was built with itself + ( + replaceVars ./python-path.patch { + python_bin = lib.getExe python; + } + ); env.SETUPTOOLS_SCM_PRETEND_VERSION = finalAttrs.version; diff --git a/pkgs/by-name/dt/dtc/python-path.patch b/pkgs/by-name/dt/dtc/python-path.patch new file mode 100644 index 000000000000..6163dc0b294d --- /dev/null +++ b/pkgs/by-name/dt/dtc/python-path.patch @@ -0,0 +1,12 @@ +diff --git a/meson.build b/meson.build +index 310699f..4e2b8a4 100644 +--- a/meson.build ++++ b/meson.build +@@ -48,7 +48,7 @@ if not valgrind.found() + endif + + py = import('python') +-py = py.find_installation(required: get_option('python')) ++py = py.find_installation('@python_bin@', required: get_option('python')) + swig = find_program('swig', required: get_option('python')) + pylibfdt_enabled = not meson.is_cross_build() and py.found() and swig.found() ? true : false