1{
2 lib,
3 buildPythonPackage,
4 dj-database-url,
5 django,
6 django-rq,
7 fetchFromGitHub,
8 flit-core,
9 freezegun,
10 google-cloud-translate,
11 polib,
12 python,
13 pythonOlder,
14 typing-extensions,
15 wagtail,
16 wagtail-modeladmin,
17}:
18
19buildPythonPackage rec {
20 pname = "wagtail-localize";
21 version = "1.12.2";
22 pyproject = true;
23
24 disabled = pythonOlder "3.9";
25
26 src = fetchFromGitHub {
27 repo = "wagtail-localize";
28 owner = "wagtail";
29 tag = "v${version}";
30 hash = "sha256-DY3owyxJrEPMP4Lfrcyo48gg6be25xSbv87BxW5sPE4=";
31 };
32
33 build-system = [ flit-core ];
34
35 dependencies = [
36 django
37 wagtail
38 polib
39 typing-extensions
40 wagtail-modeladmin
41 ];
42
43 nativeCheckInputs = [
44 dj-database-url
45 django-rq
46 freezegun
47 google-cloud-translate
48 ];
49
50 optional-dependencies = {
51 google = [ google-cloud-translate ];
52 };
53
54 checkPhase = ''
55 # test_translate_html fails with later Beautifulsoup releases
56 rm wagtail_localize/machine_translators/tests/test_dummy_translator.py
57 ${python.interpreter} testmanage.py test
58 '';
59
60 meta = with lib; {
61 description = "Translation plugin for Wagtail CMS";
62 homepage = "https://github.com/wagtail/wagtail-localize";
63 changelog = "https://github.com/wagtail/wagtail-localize/blob/${src.tag}/CHANGELOG.md";
64 license = licenses.bsd3;
65 maintainers = with maintainers; [ sephi ];
66 };
67}