diff --git a/pkgs/development/python-modules/asyncserial/default.nix b/pkgs/development/python-modules/asyncserial/default.nix new file mode 100644 index 000000000000..34ab492b9ae8 --- /dev/null +++ b/pkgs/development/python-modules/asyncserial/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pyserial +}: + +buildPythonPackage rec { + pname = "asyncserial"; + version = "unstable-2022-06-10"; + + src = fetchFromGitHub { + owner = "m-labs"; + repo = "asyncserial"; + rev = "446559fec892a556876b17d17f182ae9647d5952"; + hash = "sha256-WExmgh55sTH2w7wV3i96J1F1FN7L5rX3L/Ayvt2Kw/g="; + }; + + propagatedBuildInputs = [ + pyserial + ]; + + pythonImportsCheck = [ "asyncserial" ]; + + meta = with lib; { + description = "asyncio support for pyserial"; + homepage = "https://github.com/m-labs/asyncserial"; + license = licenses.bsd2; + maintainers = with maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/development/python-modules/migen/default.nix b/pkgs/development/python-modules/migen/default.nix index 41396e1c623b..0bbecefff967 100644 --- a/pkgs/development/python-modules/migen/default.nix +++ b/pkgs/development/python-modules/migen/default.nix @@ -7,14 +7,13 @@ buildPythonPackage rec { pname = "migen"; - version = "unstable-2021-09-14"; - disabled = pythonOlder "3.3"; + version = "unstable-2022-09-02"; src = fetchFromGitHub { owner = "m-labs"; repo = "migen"; - rev = "a5bc262560238f93ceaad423820eb06843326274"; - sha256 = "32UjaIam/B7Gx6XbPcR067LcXfokJH2mATG9mU38a6o="; + rev = "639e66f4f453438e83d86dc13491b9403bbd8ec6"; + hash = "sha256-IPyhoFZLhY8d3jHB8jyvGdbey7V+X5eCzBZYSrJ18ec="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/misoc/default.nix b/pkgs/development/python-modules/misoc/default.nix new file mode 100644 index 000000000000..447bde58c328 --- /dev/null +++ b/pkgs/development/python-modules/misoc/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pyserial +, asyncserial +, jinja2 +, migen +, numpy +}: + +buildPythonPackage rec { + pname = "misoc"; + version = "unstable-2022-10-08"; + + src = fetchFromGitHub { + owner = "m-labs"; + repo = "misoc"; + rev = "6a7c670ab6120b8136f652c41d907eb0fb16ed54"; + hash = "sha256-dLDp0xg5y5b443hD7vbJFobHxbhtnj68RdZnQ7ckgp4="; + }; + + propagatedBuildInputs = [ + pyserial + asyncserial + jinja2 + migen + ]; + + checkInputs = [ + numpy + ]; + + pythonImportsCheck = [ "misoc" ]; + + meta = with lib; { + description = "The original high performance and small footprint system-on-chip based on Migen"; + homepage = "https://github.com/m-labs/misoc"; + license = licenses.bsd2; + maintainers = with maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/development/python-modules/myhdl/default.nix b/pkgs/development/python-modules/myhdl/default.nix new file mode 100644 index 000000000000..77e793266e70 --- /dev/null +++ b/pkgs/development/python-modules/myhdl/default.nix @@ -0,0 +1,49 @@ +{ lib +, fetchFromGitHub +, buildPythonPackage +, verilog +, ghdl +, pytest +, pytest-xdist +}: + +buildPythonPackage rec { + pname = "myhdl"; + # The stable version is from 2019 and it doesn't pass tests + version = "unstable-2022-04-26"; + # The pypi src doesn't contain the ci script used in checkPhase + src = fetchFromGitHub { + owner = "myhdl"; + repo = "myhdl"; + rev = "1a4f5cd4e9de2e7bbf1053c3c2bc9526b5cc524a"; + hash = "sha256-Tgoem88Y6AhlCKVhMm0Khg6GPcrEktYOqV8xcMaNkl4="; + }; + + checkInputs = [ + pytest + pytest-xdist + verilog + ghdl + ]; + passthru = { + # If using myhdl as a dependency, use these if needed and not ghdl and + # verlog from all-packages.nix + inherit ghdl verilog; + }; + checkPhase = '' + runHook preCheck + + for target in {core,iverilog,ghdl}; do + env CI_TARGET="$target" bash ./scripts/ci.sh + done; + + runHook postCheck + ''; + + meta = with lib; { + description = "A free, open-source package for using Python as a hardware description and verification language."; + homepage = "http://www.myhdl.org/"; + license = licenses.lgpl21; + maintainers = with maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b8f57b0c2845..bb27c25df61e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -688,6 +688,8 @@ self: super: with self; { asyncpg = callPackage ../development/python-modules/asyncpg { }; + asyncserial = callPackage ../development/python-modules/asyncserial { }; + asyncsleepiq = callPackage ../development/python-modules/asyncsleepiq { }; asyncssh = callPackage ../development/python-modules/asyncssh { }; @@ -5734,6 +5736,8 @@ self: super: with self; { misaka = callPackage ../development/python-modules/misaka { }; + misoc = callPackage ../development/python-modules/misoc { }; + mistletoe = callPackage ../development/python-modules/mistletoe { }; mistune = callPackage ../development/python-modules/mistune { }; @@ -5963,6 +5967,10 @@ self: super: with self; { mygpoclient = callPackage ../development/python-modules/mygpoclient { }; + myhdl = callPackage ../development/python-modules/myhdl { + inherit (pkgs) ghdl verilog; + }; + myhome = callPackage ../development/python-modules/myhome { }; myjwt = callPackage ../development/python-modules/myjwt { };