Files
nixpkgs/pkgs/development/python-modules/django-cms/default.nix

87 lines
1.7 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
django,
pythonOlder,
setuptools,
django-classy-tags,
django-formtools,
django-treebeard,
django-sekizai,
djangocms-admin-style,
python,
dj-database-url,
djangocms-text-ckeditor,
fetchpatch,
django-cms,
gettext,
iptools,
}:
buildPythonPackage rec {
pname = "django-cms";
version = "5.0.4";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "django-cms";
repo = "django-cms";
tag = version;
hash = "sha256-bhF1FJO+EHg49ZnwykVmyM/kkdXMCyfoV+EFQ5IZFF4=";
};
build-system = [ setuptools ];
dependencies = [
django
django-classy-tags
django-formtools
django-treebeard
django-sekizai
djangocms-admin-style
];
nativeCheckInputs = [ gettext ];
checkInputs = [
dj-database-url
djangocms-text-ckeditor
iptools
];
preCheck = ''
# Disable ruff formatter test
rm cms/tests/test_static_analysis.py
'';
checkPhase = ''
runHook preCheck
${python.interpreter} manage.py test
runHook postCheck
'';
# Tests depend on djangocms-text-ckeditor and djangocms-admin-style,
# which depends on this package.
# To avoid infinite recursion, we only enable tests when building passthru.tests.
doCheck = false;
passthru.tests = {
runTests = django-cms.overridePythonAttrs (_: {
doCheck = true;
});
};
pythonImportsCheck = [ "cms" ];
meta = {
description = "Lean enterprise content management powered by Django";
homepage = "https://django-cms.org";
changelog = "https://github.com/django-cms/django-cms/releases/tag/${src.tag}";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.onny ];
};
}