From 2ad8fed971612a9c76a25a85d7b8719d2cee64cc Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 14 Mar 2022 14:13:50 -0500 Subject: [PATCH] Add Python packages --- flake.nix | 10 ++++++++++ preserves-py/default.nix | 26 ++++++++++++++++++++++++++ syndicate-py/default.nix | 24 ++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 preserves-py/default.nix create mode 100644 syndicate-py/default.nix diff --git a/flake.nix b/flake.nix index 72ad460..8d5ff5e 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,13 @@ preserves = final'.callPackage ./preserves-nim { }; }); + python3Packages = prev.python3Packages.override { + overrides = final': prev': { + preserves = final'.callPackage ./preserves-py { }; + syndicate = final'.callPackage ./syndicate-py { }; + }; + }; + preserves-tools = final.callPackage ./preserves-tools { rust = rust'; }; syndicate-server = final.callPackage ./syndicate-server { rust = rust'; }; @@ -29,6 +36,9 @@ with pkgs; { inherit preserves-tools syndicate-server; preserves-nim = nimPackages.preserves; + preserves-py = python3Packages.preserves; + syndicate-py = python3Packages.syndicate; + }) self.legacyPackages; nixosModules.syndicate-server = diff --git a/preserves-py/default.nix b/preserves-py/default.nix new file mode 100644 index 0000000..c9248f3 --- /dev/null +++ b/preserves-py/default.nix @@ -0,0 +1,26 @@ +{ lib, buildPythonPackage, fetchFromGitea, python, setuptools-scm }: + +buildPythonPackage rec { + pname = "preserves"; + version = "unstable-2022-03-08"; + + src = fetchFromGitea { + domain = "git.syndicate-lang.org"; + owner = "syndicate-lang"; + repo = pname; + rev = "197359ff22fa701d8b497860e8eb84dba209e00e"; + sha256 = "sha256-1nlyqcNIDGuNzo5/ObjF4YIWbpD8lxgVFXcKM+Dv6PY="; + }; + + sourceRoot = "source/implementations/python"; + + buildInputs = [ setuptools-scm ]; + + postInstall = + "install -t $out/lib/${python.libPrefix}/site-packages/preserves preserves/*.prb "; + + meta = src.meta // { + homepage = "https://syndicate-lang.org"; + maintainers = with lib.maintainers; [ ehmry ]; + }; +} diff --git a/syndicate-py/default.nix b/syndicate-py/default.nix new file mode 100644 index 0000000..886ee14 --- /dev/null +++ b/syndicate-py/default.nix @@ -0,0 +1,24 @@ +{ lib, buildPythonPackage, fetchFromGitea, setuptools-scm, preserves, websockets +}: + +buildPythonPackage rec { + pname = "syndicate"; + version = "unstable-2022-02-04"; + + src = fetchFromGitea { + domain = "git.syndicate-lang.org"; + owner = "syndicate-lang"; + repo = "${pname}-py"; + rev = "3187c4642bd3816382c9c9d86d28ef35dc206f0d"; + sha256 = "sha256-ilRoNtOV21naB5pJRM4DXEYAShGzFodwB5jAl94yIuo="; + }; + + buildInputs = [ setuptools-scm ]; + propagatedBuildInputs = [ preserves websockets ]; + + meta = src.meta // { + homepage = "https://syndicate-lang.org"; + description = "An implementation of Syndicated Actors for Python"; + maintainers = with lib.maintainers; [ ehmry ]; + }; +}