diff --git a/pkgs/development/interpreters/python/pypy/default.nix b/pkgs/development/interpreters/python/pypy/default.nix index e8c7d3ba65e5..c0c11b121af7 100644 --- a/pkgs/development/interpreters/python/pypy/default.nix +++ b/pkgs/development/interpreters/python/pypy/default.nix @@ -23,11 +23,12 @@ with lib; let isPy3k = substring 0 1 pythonVersion == "3"; + isPy39OrNewer = versionAtLeast pythonVersion "3.9"; passthru = passthruFun { inherit self sourceVersion pythonVersion packageOverrides; implementation = "pypy"; libPrefix = "pypy${pythonVersion}"; - executable = "pypy${if isPy3k then "3" else ""}"; + executable = "pypy${if isPy39OrNewer then lib.versions.majorMinor pythonVersion else if isPy3k then "3" else ""}"; sitePackages = "site-packages"; hasDistutilsCxxPatch = false; inherit pythonAttr; @@ -148,6 +149,7 @@ in with passthru; stdenv.mkDerivation rec { cp -R {include,lib_pypy,lib-python,${executable}-c} $out/${executable}-c cp lib${executable}-c${stdenv.hostPlatform.extensions.sharedLibrary} $out/lib/ ln -s $out/${executable}-c/${executable}-c $out/bin/${executable} + ${optionalString isPy39OrNewer "ln -s $out/bin/${executable}-c $out/bin/pypy3"} # other packages expect to find stuff according to libPrefix ln -s $out/${executable}-c/include $out/include/${libPrefix}