`buildPythonPackage` 휠 Python 버전, ABI 및 플랫폼 태그를 지정하는 방법은 무엇입니까?

`buildPythonPackage` 휠 Python 버전, ABI 및 플랫폼 태그를 지정하는 방법은 무엇입니까?

그것을 사용할 때buildPythonPackage결과 바퀴는 결국 $dist/${pname}-${version}-py2.py3-none-any.whl. py2.py3Python 버전이고 noneABI이며 any플랫폼입니다.패키지를 빌드할 때 이를 어떻게 지정합니까?내가 찾을 수 있는 가장 가까운 참조는 , 및 가 필요하다는 것 nixpkgs/pkgs/development/interpreters/python입니다 .computeWheelUrlpython ? "py2.py3"abi ? "none"platform ? "any"

답변1

휠 형식을 지정하는 관련 PEP를 참조하세요. https://peps.python.org/pep-0427/#file-name-convention

이러한 속성은 getter인 에 전달되어야 합니다 fetchPypi. 다음 표현식 섹션에서는 사전 빌드된 휠을 사용하여 numpy를 빌드하는 방법을 보여줍니다.

{ buildPythonPackage
, fetchPypi
, ...
}:

buildPythonPackage {
  pname = "numpy";
  version = "1.23.3";
  format = "wheel";
  src = fetchPypi {
    inherit pname version format;
    python = "cp310";
    abi = "cp310";
    platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
    sha256 = "004f0efcb2fe1c0bd6ae1fcfc69cc8b6bf2407e0f18be308612007a0762b4089";
  };
  ...
}

관련 정보