diff options
| -rw-r--r-- | default.nix | 41 | ||||
| -rw-r--r-- | pkgs/python3Packages/pyease-grpc.nix | 33 | ||||
| -rw-r--r-- | pkgs/python3Packages/pyexecjs.nix | 33 |
3 files changed, 102 insertions, 5 deletions
diff --git a/default.nix b/default.nix index 26c4477..a834752 100644 --- a/default.nix +++ b/default.nix @@ -1,13 +1,44 @@ { pkgs ? import <nixpkgs> { }, }: +let + + recursiveMerge = + with pkgs.lib; + attrList: + let + f = + attrPath: + zipAttrsWith ( + n: values: + if tail values == [ ] then + head values + else if all isList values then + unique (concatLists values) + else if all isAttrs values then + f (attrPath ++ [ n ]) values + else + last values + ); + in + f [ ] attrList; + callPackage = pkgs.lib.callPackageWith (recursiveMerge [ + pkgs + packages + ]); + packages = { + python3Packages = { + ascii = callPackage ./pkgs/python3Packages/ascii.nix { }; + pyease-grpc = callPackage ./pkgs/python3Packages/pyease-grpc.nix { }; + pyexecjs = callPackage ./pkgs/python3Packages/pyexecjs.nix { }; + }; + + sorremacs = callPackage ./pkgs/sorremacs { }; + }; +in { lib = import ./lib { inherit pkgs; }; modules = import ./modules; overlays = import ./overlays; - - python3Packages = { - ascii = pkgs.callPackage ./pkgs/python3Packages/ascii.nix { }; - }; - sorremacs = pkgs.callPackage ./pkgs/sorremacs { }; } +// packages diff --git a/pkgs/python3Packages/pyease-grpc.nix b/pkgs/python3Packages/pyease-grpc.nix new file mode 100644 index 0000000..758c4b5 --- /dev/null +++ b/pkgs/python3Packages/pyease-grpc.nix @@ -0,0 +1,33 @@ +{ + lib, + python3Packages, + fetchFromGitHub, +}: +python3Packages.buildPythonPackage rec { + pname = "pyease-grpc"; + version = "1.7.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "dipu-bd"; + repo = "pyease-grpc"; + rev = "v${version}"; + sha256 = "sha256-IE6Dryqz4wcoTbHv0HMhVYH99iq2KPYCjWhC+usc2aQ="; + }; + + build-system = [ + python3Packages.setuptools + ]; + + dependencies = with python3Packages; [ + requests + protobuf + grpcio + ]; + + meta = { + homepage = "https://github.com/dipu-bd/pyease-grpc"; + description = "Easy to use requests-like gRPC client in python"; + license = lib.licenses.mit; + }; +} diff --git a/pkgs/python3Packages/pyexecjs.nix b/pkgs/python3Packages/pyexecjs.nix new file mode 100644 index 0000000..ae2b05a --- /dev/null +++ b/pkgs/python3Packages/pyexecjs.nix @@ -0,0 +1,33 @@ +{ + lib, + python3Packages, + fetchPypi, + nodejs-slim, +}: +python3Packages.buildPythonPackage rec { + pname = "PyExecJS"; + version = "1.5.1"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-NMwdBwl2kYGD/3vcCtcfgVeokcknCMAMX7v/enafUFw="; + }; + + build-system = [ + python3Packages.setuptools + ]; + + dependencies = [ + python3Packages.six + + # the library supports multiple backends, but node seems the easiest one to include here + nodejs-slim + ]; + + meta = { + homepage = "https://github.com/doloopwhile/PyExecJS"; + description = "Run JavaScript code from Python"; + license = lib.licenses.mit; + }; +} |
