1{ lib, buildPythonPackage, fetchFromGitHub 2, pythonOlder 3, python 4, substituteAll 5, importlib-resources 6, tzdata 7, hypothesis 8, pytestCheckHook 9}: 10 11buildPythonPackage rec { 12 pname = "backports-zoneinfo"; 13 version = "0.2.1"; 14 15 src = fetchFromGitHub { 16 owner = "pganssle"; 17 repo = "zoneinfo"; 18 rev = version; 19 sha256 = "sha256-00xdDOVdDanfsjQTd3yjMN2RFGel4cWRrAA3CvSnl24="; 20 }; 21 22 patches = [ 23 (substituteAll { 24 name = "zoneinfo-path"; 25 src = ./zoneinfo.patch; 26 zoneinfo = "${tzdata}/lib/${python.libPrefix}/site-packages/tzdata/zoneinfo"; 27 }) 28 ]; 29 30 propagatedBuildInputs = [ 31 tzdata 32 ] ++ lib.optionals (pythonOlder "3.7") [ 33 importlib-resources 34 ]; 35 36 pythonImportsCheck = [ "backports.zoneinfo" ]; 37 38 checkInputs = [ 39 hypothesis 40 pytestCheckHook 41 ]; 42 43 disabledTests = [ 44 # AssertionError: 'AEDT' != 'AEST' 45 "test_folds_and_gaps" 46 # AssertionError: 0 != 1 : (datetime.datetime(1917, 3, 25, 2, 0, 1, tzinfo=backports.zoneinfo.ZoneInfo(key='Australia/Sydney')), datetime.datetime(1917, 3, 24, 15, 0, tzinfo=datetime.timezone.utc)) 47 "test_folds_from_utc" 48 # backports.zoneinfo._common.ZoneInfoNotFoundError: 'No time zone found with key Eurasia/Badzone' 49 "test_bad_keys" 50 ]; 51 52 meta = with lib; { 53 description = "Backport of the standard library module zoneinfo"; 54 homepage = "https://github.com/pganssle/zoneinfo"; 55 license = licenses.asl20; 56 maintainers = with maintainers; [ jonringer ]; 57 }; 58}