diff --git a/pkgs/development/python-modules/dtschema/default.nix b/pkgs/development/python-modules/dtschema/default.nix new file mode 100644 index 000000000000..f2212d8c9c78 --- /dev/null +++ b/pkgs/development/python-modules/dtschema/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, jsonschema +, pythonOlder +, rfc3987 +, ruamel-yaml +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "dtschema"; + version = "2022.01"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "devicetree-org"; + repo = "dt-schema"; + rev = "refs/tags/v${version}"; + hash = "sha256-wwlXIM/eO3dII/qQpkAGLT3/15rBLi7ZiNtqYFf7Li4="; + }; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + jsonschema + rfc3987 + ruamel-yaml + ]; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ + "dtschema" + ]; + + meta = with lib; { + description = "Tooling for devicetree validation using YAML and jsonschema"; + homepage = "https://github.com/devicetree-org/dt-schema/"; + changelog = "https://github.com/devicetree-org/dt-schema/releases/tag/v${version}"; + license = with licenses; [ bsd2 /* or */ gpl2Only ]; + maintainers = with maintainers; [ sorki ]; + }; +} + diff --git a/pkgs/development/tools/dt-schema/default.nix b/pkgs/development/tools/dt-schema/default.nix deleted file mode 100644 index 20e1ed136e2b..000000000000 --- a/pkgs/development/tools/dt-schema/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib -, buildPythonPackage -, fetchPypi -, git -, ruamel-yaml -, jsonschema -, rfc3987 -, setuptools -, setuptools-scm -}: - -buildPythonPackage rec { - pname = "dtschema"; - version = "2022.1"; - - src = fetchPypi { - inherit pname version; - sha256 = "sha256-G5KzuaMbbkuLK+cNvzBld1UwvExS6ZGVW2e+GXQRFMU="; - }; - - nativeBuildInputs = [ setuptools-scm git ]; - propagatedBuildInputs = [ - setuptools - ruamel-yaml - jsonschema - rfc3987 - ]; - - meta = with lib; { - description = "Tooling for devicetree validation using YAML and jsonschema"; - homepage = "https://github.com/devicetree-org/dt-schema/"; - # all files have SPDX tags - license = with licenses; [ bsd2 gpl2 ]; - maintainers = with maintainers; [ sorki ]; - }; -} - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8086a44fe793..8389b8f0249c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6761,7 +6761,7 @@ with pkgs; dtc = callPackage ../development/compilers/dtc { }; - dt-schema = python3Packages.callPackage ../development/tools/dt-schema { }; + dt-schema = with python3Packages; toPythonApplication dtschema; dub = callPackage ../development/tools/build-managers/dub { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 032fa51adf4f..1f62eb218e23 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2900,6 +2900,8 @@ self: super: with self; { dtlssocket = callPackage ../development/python-modules/dtlssocket { }; + dtschema = callPackage ../development/python-modules/dtschema { }; + ducc0 = callPackage ../development/python-modules/ducc0 { }; duckdb = callPackage ../development/python-modules/duckdb {