diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3c19eaf793e6..28e1e618bac6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -14536,6 +14536,13 @@ githubId = 6391776; name = "Nikita Voloboev"; }; + niklashh = { + email = "niklas.2.halonen@aalto.fi"; + github = "xhalo32"; + githubId = 15152190; + keys = [ { fingerprint = "AF3B 80CD A027 245B 51FC 6D9B E83A 373D A5AF 5068"; } ]; + name = "Niklas Halonen"; + }; niklaskorz = { name = "Niklas Korz"; email = "niklas@niklaskorz.de"; diff --git a/pkgs/development/python-modules/leanblueprint/default.nix b/pkgs/development/python-modules/leanblueprint/default.nix new file mode 100644 index 000000000000..20a8a51b0a7d --- /dev/null +++ b/pkgs/development/python-modules/leanblueprint/default.nix @@ -0,0 +1,54 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + plasTeX, + plastexshowmore, + plastexdepgraph, + click, + rich, + rich-click, + tomlkit, + jinja2, + gitpython, +}: +buildPythonPackage { + pname = "leanblueprint"; + version = "0.0.10"; + pyproject = true; + + src = fetchFromGitHub { + repo = "leanblueprint"; + owner = "PatrickMassot"; + rev = "v0.0.10"; + hash = "sha256-CUYdxEXgTf2vKDiOoeW4RV6tQ6prFhA4qMc0olZtZBM="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + plasTeX + plastexshowmore + plastexdepgraph + click + rich + rich-click + tomlkit + jinja2 + gitpython + ]; + + pythonImportsCheck = [ "leanblueprint" ]; + + meta = { + description = "This plasTeX plugin allowing to write blueprints for Lean 4 projects"; + homepage = "https://github.com/PatrickMassot/leanblueprint"; + maintainers = with lib.maintainers; [ niklashh ]; + license = lib.licenses.asl20; + }; +} diff --git a/pkgs/development/python-modules/plasTeX/default.nix b/pkgs/development/python-modules/plasTeX/default.nix new file mode 100644 index 000000000000..407918ec4042 --- /dev/null +++ b/pkgs/development/python-modules/plasTeX/default.nix @@ -0,0 +1,42 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + typing-extensions, + pillow, + jinja2, + unidecode, +}: +buildPythonPackage { + pname = "plasTeX"; + version = "3.1"; + pyproject = true; + + src = fetchFromGitHub { + repo = "plastex"; + owner = "plastex"; + rev = "193747318f7ebadd19eaaa1e9996da42a31a2697"; # The same as what is published on PyPi for version 3.1. See + hash = "sha256-Muuin7n0aPOZwlUaB32pONy5eyIjtPNb4On5gC9wOcQ="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + typing-extensions + pillow + jinja2 + unidecode + ]; + + meta = { + description = "plasTeX is a Python package to convert LaTeX markup to DOM"; + homepage = "https://plastex.github.io/plastex/"; + maintainers = with lib.maintainers; [ niklashh ]; + license = lib.licenses.asl20; + }; +} diff --git a/pkgs/development/python-modules/plastexdepgraph/default.nix b/pkgs/development/python-modules/plastexdepgraph/default.nix new file mode 100644 index 000000000000..7fcc029ad97f --- /dev/null +++ b/pkgs/development/python-modules/plastexdepgraph/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + pygraphviz, + plasTeX, +}: +buildPythonPackage { + pname = "plastexdepgraph"; + version = "0.0.4"; + pyproject = true; + + src = fetchFromGitHub { + repo = "plastexdepgraph"; + owner = "PatrickMassot"; + rev = "0.0.4"; + hash = "sha256-Q13uYYZe1QgZHS4Nj8ugr+Fmhva98ttJj3AlXTK6XDw="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + pygraphviz + plasTeX + ]; + + meta = { + description = "plasTeX plugin allowing to build dependency graphs"; + homepage = "https://github.com/PatrickMassot/plastexdepgraph"; + maintainers = with lib.maintainers; [ niklashh ]; + license = lib.licenses.asl20; + }; +} diff --git a/pkgs/development/python-modules/plastexshowmore/default.nix b/pkgs/development/python-modules/plastexshowmore/default.nix new file mode 100644 index 000000000000..907869829a03 --- /dev/null +++ b/pkgs/development/python-modules/plastexshowmore/default.nix @@ -0,0 +1,35 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + plasTeX, +}: + +buildPythonPackage { + pname = "plastexshowmore"; + version = "0.0.2"; + pyproject = true; + + src = fetchFromGitHub { + repo = "plastexshowmore"; + owner = "PatrickMassot"; + rev = "0.0.2"; + hash = "sha256-b45VHHEwFA41FaInDteix56O7KYDzyKiRRSl7heHqEA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ plasTeX ]; + + meta = { + description = "PlasTeX plugin for adding navigation buttons"; + homepage = "https://github.com/PatrickMassot/plastexshowmore"; + maintainers = with lib.maintainers; [ niklashh ]; + license = lib.licenses.asl20; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9e978ef41b43..d840788c24c5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6753,6 +6753,8 @@ self: super: with self; { leather = callPackage ../development/python-modules/leather { }; + leanblueprint = callPackage ../development/python-modules/leanblueprint { }; + leb128 = callPackage ../development/python-modules/leb128 { }; led-ble = callPackage ../development/python-modules/led-ble { }; @@ -10457,6 +10459,12 @@ self: super: with self; { plaster = callPackage ../development/python-modules/plaster { }; + plasTeX = callPackage ../development/python-modules/plasTeX { }; + + plastexdepgraph = callPackage ../development/python-modules/plastexdepgraph { }; + + plastexshowmore = callPackage ../development/python-modules/plastexshowmore { }; + plaster-pastedeploy = callPackage ../development/python-modules/plaster-pastedeploy { }; platformdirs = callPackage ../development/python-modules/platformdirs { };