1{ lib
2, babel
3, buildPythonPackage
4, django
5, djangorestframework
6, fetchFromGitHub
7, phonenumbers
8, python
9, pythonOlder
10, setuptools-scm
11}:
12
13buildPythonPackage rec {
14 pname = "django-phonenumber-field";
15 version = "7.1.0";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "stefanfoulis";
22 repo = pname;
23 rev = "refs/tags/${version}";
24 hash = "sha256-Ey/EuP3WzoGcPPJlDg97cznU5dqDPBLX/aEGPdBm9Fc=";
25 };
26
27 SETUPTOOLS_SCM_PRETEND_VERSION = version;
28
29 nativeBuildInputs = [
30 setuptools-scm
31 ];
32
33 propagatedBuildInputs = [
34 django
35 ] ++ passthru.optional-dependencies.phonenumbers;
36
37 nativeCheckInputs = [
38 babel
39 djangorestframework
40 ];
41
42 pythonImportsCheck = [
43 "phonenumber_field"
44 ];
45
46 checkPhase = ''
47 ${python.interpreter} -m django test --settings tests.settings
48 '';
49
50 passthru.optional-dependencies = {
51 phonenumbers = [ phonenumbers ];
52 };
53
54 meta = with lib; {
55 description = "A django model and form field for normalised phone numbers using python-phonenumbers";
56 homepage = "https://github.com/stefanfoulis/django-phonenumber-field/";
57 changelog = "https://github.com/stefanfoulis/django-phonenumber-field/releases/tag/${version}";
58 license = licenses.mit;
59 maintainers = with maintainers; [ sephi ];
60 };
61}