1{ lib 2, buildPythonPackage 3, fetchPypi 4, pythonOlder 5, pythonAtLeast 6, numpy 7}: 8let 9 pname = "paddle-bfloat"; 10 version = "0.1.7"; 11in 12buildPythonPackage { 13 inherit pname version; 14 format = "setuptools"; 15 16 src = fetchPypi { 17 pname = "paddle_bfloat"; 18 inherit version; 19 hash = "sha256-mrjQCtLsXOvqeHHMjuMx65FvMfZ2+wTh1ao9ZJE+9xw="; 20 }; 21 22 postPatch = '' 23 sed '1i#include <memory>' -i bfloat16.cc # gcc12 24 # replace deprecated function for python3.11 25 substituteInPlace bfloat16.cc \ 26 --replace "Py_TYPE(&NPyBfloat16_Descr) = &PyArrayDescr_Type" "Py_SET_TYPE(&NPyBfloat16_Descr, &PyArrayDescr_Type)" 27 ''; 28 29 disabled = pythonOlder "3.9" || pythonAtLeast "3.12"; 30 31 propagatedBuildInputs = [ 32 numpy 33 ]; 34 35 pythonImportsCheck = [ "paddle_bfloat" ]; 36 37# upstream has no tests 38 doCheck = false; 39 40 meta = with lib; { 41 description = "Paddle numpy bfloat16 package"; 42 homepage = "https://pypi.org/project/paddle-bfloat"; 43 license = licenses.asl20; 44 maintainers = with maintainers; [ happysalada ]; 45 }; 46}