1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 isPyPy,
6 pythonOlder,
7
8 # build-system
9 setuptools,
10
11 # tests
12 freezegun,
13 glibcLocales,
14 pytestCheckHook,
15 pytz,
16 tzdata,
17}:
18
19buildPythonPackage rec {
20 pname = "babel";
21 version = "2.17.0";
22 pyproject = true;
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchPypi {
27 inherit pname version;
28 hash = "sha256-DFTP+xn2kM3MUqO1C8v3HgeoCNHIDVSfJFm50s8K+50=";
29 };
30
31 build-system = [ setuptools ];
32
33 nativeCheckInputs = [
34 freezegun
35 glibcLocales
36 pytestCheckHook
37 # https://github.com/python-babel/babel/issues/988#issuecomment-1521765563
38 pytz
39 ]
40 ++ lib.optionals isPyPy [ tzdata ];
41
42 disabledTests = [
43 # fails on days switching from and to daylight saving time in EST
44 # https://github.com/python-babel/babel/issues/988
45 "test_format_time"
46 ];
47
48 pythonImportsCheck = [ "babel" ];
49
50 meta = {
51 description = "Collection of internationalizing tools";
52 homepage = "https://babel.pocoo.org/";
53 changelog = "https://github.com/python-babel/babel/releases/tag/v${version}";
54 license = lib.licenses.bsd3;
55 maintainers = with lib.maintainers; [ getchoo ];
56 mainProgram = "pybabel";
57 };
58}