depot/third_party/nixpkgs/pkgs/development/python-modules/webassets/default.nix

73 lines
1.7 KiB
Nix

{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
pyyaml,
jinja2,
mock,
fetchpatch2,
pytestCheckHook,
distutils,
}:
buildPythonPackage rec {
pname = "webassets";
version = "2.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-FnEyM3Z3yM7clwUJD21I2j+yYsjgsnc7KfM1LwUBgc0=";
};
patches = [
# remove nose and extra mock
(fetchpatch2 {
name = "remove-nose-and-mock.patch";
url = "https://github.com/miracle2k/webassets/commit/26e203929eebbb4cdbb9967cf47fefa95df8f24d.patch?full_index=1";
hash = "sha256-+jrMT6Sl/MOLkleUEDZkzRd5tzBTXZYNoCXRrTFVtq4=";
excludes = [
"requirements-dev.pip"
"tox.ini"
];
})
(fetchpatch2 {
name = "fix-missing-zope-skip.patch";
url = "https://github.com/miracle2k/webassets/commit/3bfb5ea8223c46c60b922fdbbda36d9b8c5e9c9c.patch?full_index=1";
hash = "sha256-dV8bp6vYr56mZpzw5C7ac4rXri04o4MrAhwfWUXLe4s=";
})
./migrate_test_setup_to_pytest.patch
];
build-system = [ setuptools ];
dependencies = [ pyyaml ];
nativeCheckInputs = [
jinja2
mock
pytestCheckHook
distutils
];
postPatch = ''
# Fix thread attribute "isAlive"
substituteInPlace tests/test_script.py \
--replace-fail "isAlive" "is_alive"
'';
disabledTests = [
"TestFilterBaseClass"
"TestAutoprefixer6Filter"
"TestBabel"
];
meta = {
description = "Media asset management for Python, with glue code for various web frameworks";
mainProgram = "webassets";
homepage = "https://github.com/miracle2k/webassets/";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ abbradar ];
};
}