`buildPythonPackage`ホイールPythonバージョン、ABI、およびプラットフォームタグを指定する方法は?

`buildPythonPackage`ホイールPythonバージョン、ABI、およびプラットフォームタグを指定する方法は?

使用するときbuildPythonPackage結果の車輪は最終的に$dist/${pname}-${version}-py2.py3-none-any.whlpy2.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";
  };
  ...
}

関連情報