1{
2 lib,
3 beautifulsoup4,
4 buildPythonPackage,
5 django,
6 fetchFromGitHub,
7 jinja2,
8 pillow,
9 pytest-django,
10 pytestCheckHook,
11 uv-build,
12}:
13
14buildPythonPackage rec {
15 pname = "django-bootstrap5";
16 version = "25.2";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "zostera";
21 repo = "django-bootstrap5";
22 tag = "v${version}";
23 hash = "sha256-aqP2IkAkZsw5vbQxhiy9L3giSgb0seub9gsxPTajiXo=";
24 };
25
26 build-system = [ uv-build ];
27
28 dependencies = [ django ];
29
30 optional-dependencies = {
31 jinja = [ jinja2 ];
32 };
33
34 nativeCheckInputs = [
35 beautifulsoup4
36 (django.override { withGdal = true; })
37 pillow
38 pytest-django
39 pytestCheckHook
40 ]
41 ++ lib.flatten (lib.attrValues optional-dependencies);
42
43 preCheck = ''
44 export DJANGO_SETTINGS_MODULE=tests.app.settings
45 '';
46
47 disabledTests = [
48 # urllib.error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
49 "test_get_bootstrap_setting"
50 ];
51
52 pythonImportsCheck = [ "django_bootstrap5" ];
53
54 meta = with lib; {
55 description = "Bootstrap 5 integration with Django";
56 homepage = "https://github.com/zostera/django-bootstrap5";
57 changelog = "https://github.com/zostera/django-bootstrap5/blob/${src.tag}/CHANGELOG.md";
58 license = licenses.bsd3;
59 maintainers = with maintainers; [ netali ];
60 };
61}