nixpkgs/pkgs/development/python-modules/pygltflib/default.nix
2024-02-02 16:32:52 -05:00

60 lines
1.3 KiB
Nix

{ lib
, buildPythonPackage
, fetchFromGitLab
, fetchFromGitHub
, pythonOlder
, setuptools
, dataclasses-json
, deprecated
, pytestCheckHook
}:
let
gltf-sample-models = fetchFromGitHub {
owner = "KhronosGroup";
repo = "glTF-Sample-Models";
rev = "d7a3cc8e51d7c573771ae77a57f16b0662a905c6";
hash = "sha256-TxSg1O6eIiaKagcZUoWZ5Iw/tBKvQIoepRFp3MdVlyI=";
};
in
buildPythonPackage rec {
pname = "pygltflib";
version = "1.16.1";
pyproject = true;
disabled = pythonOlder "3.6";
src = fetchFromGitLab {
owner = "dodgyville";
repo = "pygltflib";
rev = "da1c687f5ea88d6063616857d54d195fa0739b37"; # no tags in repo, only on PyPI
hash = "sha256-aoYVglpQ0Qaq6gEqZ455GlkL2/C1Q5YjQASVLplsWbs=";
};
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [
dataclasses-json
deprecated
];
nativeCheckInputs = [
pytestCheckHook
];
preCheck = ''
ln -s ${gltf-sample-models} glTF-Sample-Models
'';
pythonImportsCheck = [ "pygltflib" ];
meta = with lib; {
description = "Module for reading and writing basic glTF files";
homepage = "https://gitlab.com/dodgyville/pygltflib";
changelog = "https://gitlab.com/dodgyville/pygltflib/-/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ bcdarwin ];
};
}