diff --git a/pkgs/development/python-modules/uplc/default.nix b/pkgs/development/python-modules/uplc/default.nix new file mode 100644 index 000000000000..a3aa8d10e7ad --- /dev/null +++ b/pkgs/development/python-modules/uplc/default.nix @@ -0,0 +1,55 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, pythonRelaxDepsHook +# Python deps +, frozenlist2 +, python-secp256k1-cardano +, setuptools +, poetry-core +, frozendict +, cbor2 +, rply +, pycardano +}: + +buildPythonPackage rec { + pname = "uplc"; + version = "0.6.9"; + + format = "pyproject"; + + src = fetchFromGitHub { + owner = "OpShin"; + repo = "uplc"; + rev = version; + hash = "sha256-djJMNXijMVzMVzw8NZSe3YFRGyAPqdvr0P374Za5XkU="; + }; + + nativeBuildInputs = [ + pythonRelaxDepsHook + ]; + + propagatedBuildInputs = [ + setuptools + poetry-core + frozendict + cbor2 + frozenlist2 + rply + pycardano + python-secp256k1-cardano + ]; + + pythonRelaxDeps = [ "pycardano" "rply" ]; + + pythonImportsCheck = [ "uplc" ]; + + meta = with lib; { + description = "Python implementation of untyped plutus language core"; + homepage = "https://opshin.dev"; + license = licenses.mit; + maintainers = with maintainers; [ t4ccer ]; + mainProgram = "opshin"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e41e4f4cff56..3669754fcbf9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15958,6 +15958,8 @@ self: super: with self; { update-dotdee = callPackage ../development/python-modules/update-dotdee { }; + uplc = callPackage ../development/python-modules/uplc { }; + upnpy = callPackage ../development/python-modules/upnpy { }; uproot = callPackage ../development/python-modules/uproot { };