Merge pull request #291245 from t4ccer/t4/opshin/init

authored by Jon Seager and committed by GitHub 8e90afb6 64eb8fcf

+261
+37
pkgs/by-name/op/opshin/package.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , python3 4 + }: 5 + 6 + python3.pkgs.buildPythonApplication rec { 7 + pname = "opshin"; 8 + version = "0.20.0"; 9 + 10 + format = "pyproject"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "OpShin"; 14 + repo = "opshin"; 15 + rev = version; 16 + hash = "sha256-fJlPeVAuEf80FVxdXnaKASLmjMEgz6ysXenUY72+sos="; 17 + }; 18 + 19 + propagatedBuildInputs = with python3.pkgs; [ 20 + setuptools 21 + poetry-core 22 + uplc 23 + pluthon 24 + pycardano 25 + frozenlist2 26 + astunparse 27 + ordered-set 28 + ]; 29 + 30 + meta = with lib; { 31 + description = "A simple pythonic programming language for Smart Contracts on Cardano"; 32 + homepage = "https://opshin.dev"; 33 + license = licenses.mit; 34 + maintainers = with maintainers; [ t4ccer ]; 35 + mainProgram = "opshin"; 36 + }; 37 + }
+32
pkgs/development/python-modules/frozenlist2/default.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , buildPythonPackage 4 + , setuptools 5 + }: 6 + 7 + buildPythonPackage rec { 8 + pname = "frozenlist2"; 9 + version = "1.0.0"; 10 + 11 + format = "pyproject"; 12 + 13 + src = fetchFromGitHub { 14 + owner = "rohanpm"; 15 + repo = "frozenlist2"; 16 + rev = "v${version}"; 17 + hash = "sha256-fF0oFZ2q1wRH7IKBlCjm3Za4xtEMSHyEaGL09rHgtTY="; 18 + }; 19 + 20 + propagatedBuildInputs = [ 21 + setuptools 22 + ]; 23 + 24 + pythonImportsCheck = [ "frozenlist2" ]; 25 + 26 + meta = with lib; { 27 + description = "An immutable list for Python"; 28 + homepage = "https://github.com/rohanpm/frozenlist2"; 29 + license = licenses.gpl3Plus; 30 + maintainers = with maintainers; [ t4ccer ]; 31 + }; 32 + }
+40
pkgs/development/python-modules/graphlib-backport/default.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , buildPythonPackage 4 + , setuptools 5 + , poetry-core 6 + }: 7 + 8 + buildPythonPackage rec { 9 + pname = "graphlib-backport"; 10 + version = "1.1.0"; 11 + 12 + format = "pyproject"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "mariushelf"; 16 + repo = "graphlib_backport"; 17 + rev = version; 18 + hash = "sha256-ssJLtBQH8sSnccgcAKLKfYpPyw5U0RIm1F66/Er81lo="; 19 + }; 20 + 21 + postPatch = '' 22 + substituteInPlace pyproject.toml \ 23 + --replace 'poetry>=1.0' 'poetry-core' \ 24 + --replace 'poetry.masonry.api' 'poetry.core.masonry.api' 25 + ''; 26 + 27 + propagatedBuildInputs = [ 28 + setuptools 29 + poetry-core 30 + ]; 31 + 32 + pythonImportsCheck = [ "graphlib" ]; 33 + 34 + meta = with lib; { 35 + description = "Backport of the Python 3.9 graphlib module for Python 3.6+"; 36 + homepage = "https://github.com/mariushelf/graphlib_backport"; 37 + license = licenses.psfl; 38 + maintainers = with maintainers; [ t4ccer ]; 39 + }; 40 + }
+39
pkgs/development/python-modules/pluthon/default.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , buildPythonPackage 4 + , setuptools 5 + , pythonOlder 6 + # Python deps 7 + , uplc 8 + , graphlib-backport 9 + , ordered-set 10 + }: 11 + 12 + buildPythonPackage rec { 13 + pname = "pluthon"; 14 + version = "0.4.6"; 15 + 16 + format = "pyproject"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "OpShin"; 20 + repo = "pluthon"; 21 + rev = version; 22 + hash = "sha256-ZmBkbglSbBfVhA4yP0tJdwpJiFpJ7vX0A321ldQF0lA="; 23 + }; 24 + 25 + propagatedBuildInputs = [ 26 + setuptools 27 + uplc 28 + ordered-set 29 + ] ++ lib.optionals (pythonOlder "3.9") graphlib-backport; 30 + 31 + pythonImportsCheck = [ "pluthon" ]; 32 + 33 + meta = with lib; { 34 + description = "Pluto-like programming language for Cardano Smart Contracts in Python"; 35 + homepage = "https://github.com/OpShin/pluthon"; 36 + license = licenses.mit; 37 + maintainers = with maintainers; [ t4ccer ]; 38 + }; 39 + }
+7
pkgs/development/python-modules/pycardano/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 3 , fetchFromGitHub 4 + , pythonRelaxDepsHook 4 5 # Python deps 5 6 , blockfrost-python 6 7 , cachetools ··· 41 42 hash = "sha256-LP/W8IC2del476fGFq10VMWwMrbAoCCcZOngA8unBM0="; 42 43 }; 43 44 45 + nativeBuildInputs = [ 46 + pythonRelaxDepsHook 47 + ]; 48 + 44 49 propagatedBuildInputs = [ 45 50 blockfrost-python 46 51 cachetools ··· 57 62 typeguard 58 63 websocket-client 59 64 ]; 65 + 66 + pythonRelaxDeps = [ "typeguard" ]; 60 67 61 68 pythonImportsCheck = [ "pycardano" ]; 62 69
+41
pkgs/development/python-modules/python-secp256k1-cardano/default.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , python3 4 + , pkg-config 5 + }: 6 + 7 + python3.pkgs.buildPythonPackage { 8 + pname = "python-secp256k1-cardano"; 9 + version = "0.2.3"; 10 + 11 + format = "setuptools"; 12 + 13 + src = fetchFromGitHub { 14 + owner = "OpShin"; 15 + repo = "python-secp256k1"; 16 + rev = "5a8f761a4b9a1594653cc4deebadc3398b07533c"; # No tags in repo 17 + hash = "sha256-6bE4/G2gW2F8h5FWtI3TZ6FtijsB/slvFT/SIVv7VIY="; 18 + }; 19 + 20 + nativeBuildInputs = [ pkg-config ]; 21 + 22 + propagatedBuildInputs = with python3.pkgs; [ cffi secp256k1 ]; 23 + 24 + nativeCheckInputs = [ python3.pkgs.pytestCheckHook ]; 25 + 26 + # Tests expect .so files and are failing 27 + doCheck = false; 28 + 29 + preConfigure = '' 30 + cp -r ${python3.pkgs.secp256k1.src} libsecp256k1 31 + export INCLUDE_DIR=${python3.pkgs.secp256k1}/include 32 + export LIB_DIR=${python3.pkgs.secp256k1}/lib 33 + ''; 34 + 35 + meta = { 36 + homepage = "https://github.com/OpShin/python-secp256k1"; 37 + description = "A fork of python-secp256k1, fixing the commit hash of libsecp256k1 to a Cardano compatible version"; 38 + license = with lib.licenses; [ mit ]; 39 + maintainers = with lib.maintainers; [ t4ccer ]; 40 + }; 41 + }
+55
pkgs/development/python-modules/uplc/default.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , buildPythonPackage 4 + , pythonRelaxDepsHook 5 + # Python deps 6 + , frozenlist2 7 + , python-secp256k1-cardano 8 + , setuptools 9 + , poetry-core 10 + , frozendict 11 + , cbor2 12 + , rply 13 + , pycardano 14 + }: 15 + 16 + buildPythonPackage rec { 17 + pname = "uplc"; 18 + version = "0.6.9"; 19 + 20 + format = "pyproject"; 21 + 22 + src = fetchFromGitHub { 23 + owner = "OpShin"; 24 + repo = "uplc"; 25 + rev = version; 26 + hash = "sha256-djJMNXijMVzMVzw8NZSe3YFRGyAPqdvr0P374Za5XkU="; 27 + }; 28 + 29 + nativeBuildInputs = [ 30 + pythonRelaxDepsHook 31 + ]; 32 + 33 + propagatedBuildInputs = [ 34 + setuptools 35 + poetry-core 36 + frozendict 37 + cbor2 38 + frozenlist2 39 + rply 40 + pycardano 41 + python-secp256k1-cardano 42 + ]; 43 + 44 + pythonRelaxDeps = [ "pycardano" "rply" ]; 45 + 46 + pythonImportsCheck = [ "uplc" ]; 47 + 48 + meta = with lib; { 49 + description = "Python implementation of untyped plutus language core"; 50 + homepage = "https://opshin.dev"; 51 + license = licenses.mit; 52 + maintainers = with maintainers; [ t4ccer ]; 53 + mainProgram = "opshin"; 54 + }; 55 + }
+10
pkgs/top-level/python-packages.nix
··· 4446 4446 4447 4447 frozenlist = callPackage ../development/python-modules/frozenlist { }; 4448 4448 4449 + frozenlist2 = callPackage ../development/python-modules/frozenlist2 { }; 4450 + 4449 4451 fs = callPackage ../development/python-modules/fs { }; 4450 4452 4451 4453 fs-s3fs = callPackage ../development/python-modules/fs-s3fs { }; ··· 4994 4996 graphene = callPackage ../development/python-modules/graphene { }; 4995 4997 4996 4998 graphene-django = callPackage ../development/python-modules/graphene-django { }; 4999 + 5000 + graphlib-backport = callPackage ../development/python-modules/graphlib-backport { }; 4997 5001 4998 5002 graphqlclient= callPackage ../development/python-modules/graphqlclient { }; 4999 5003 ··· 8752 8756 8753 8757 python-nvd3 = callPackage ../development/python-modules/python-nvd3 { }; 8754 8758 8759 + python-secp256k1-cardano = callPackage ../development/python-modules/python-secp256k1-cardano { }; 8760 + 8755 8761 python-tds = callPackage ../development/python-modules/python-tds { }; 8756 8762 8757 8763 python-yate = callPackage ../development/python-modules/python-yate { }; ··· 9939 9945 plum-py = callPackage ../development/python-modules/plum-py { }; 9940 9946 9941 9947 plumbum = callPackage ../development/python-modules/plumbum { }; 9948 + 9949 + pluthon = callPackage ../development/python-modules/pluthon { }; 9942 9950 9943 9951 plux = callPackage ../development/python-modules/plux { }; 9944 9952 ··· 16127 16135 update-copyright = callPackage ../development/python-modules/update-copyright { }; 16128 16136 16129 16137 update-dotdee = callPackage ../development/python-modules/update-dotdee { }; 16138 + 16139 + uplc = callPackage ../development/python-modules/uplc { }; 16130 16140 16131 16141 upnpy = callPackage ../development/python-modules/upnpy { }; 16132 16142