From 2881043be7ed3936a53a3c4cd7e8aae14de93b1a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 23 May 2021 23:57:48 +0200 Subject: [PATCH 1/2] python3Packages.syncer: init at 1.3.0 --- .../python-modules/syncer/default.nix | 30 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/python-modules/syncer/default.nix diff --git a/pkgs/development/python-modules/syncer/default.nix b/pkgs/development/python-modules/syncer/default.nix new file mode 100644 index 000000000000..cd3bbf699de2 --- /dev/null +++ b/pkgs/development/python-modules/syncer/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +}: + +buildPythonPackage rec { + pname = "syncer"; + version = "1.3.0"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "miyakogi"; + repo = pname; + rev = "v${version}"; + sha256 = "13y8jllix1ipkcg9lxa4nxk8kj24vivxfizf4d02cdrha9dw500v"; + }; + + # Tests require an not maintained package (xfail) + doCheck = false; + + pythonImportsCheck = [ "syncer" ]; + + meta = with lib; { + description = "Python async to sync converter"; + homepage = "https://github.com/miyakogi/syncer"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3ecf4494ff4f..5a548075badc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7952,6 +7952,8 @@ in { sympy = callPackage ../development/python-modules/sympy { }; + syncer = callPackage ../development/python-modules/syncer { }; + systembridge = callPackage ../development/python-modules/systembridge { }; systemd = callPackage ../development/python-modules/systemd { From b62d2a5eca05d04ec26351016209ada7baaf281e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 24 May 2021 09:16:48 +0200 Subject: [PATCH 2/2] python3Packages.pyppeteer: enable tests --- .../python-modules/pyppeteer/default.nix | 85 +++++++++++++++++-- 1 file changed, 77 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/pyppeteer/default.nix b/pkgs/development/python-modules/pyppeteer/default.nix index 13f1794aebe0..6da76a5cdba5 100644 --- a/pkgs/development/python-modules/pyppeteer/default.nix +++ b/pkgs/development/python-modules/pyppeteer/default.nix @@ -1,25 +1,94 @@ -{ buildPythonPackage, fetchPypi, lib, urllib3, pyee, tqdm, websockets, appdirs }: +{ lib +, appdirs +, buildPythonPackage +, fetchFromGitHub +, fetchpatch +, poetry-core +, pyee +, pytest-xdist +, pytestCheckHook +, pythonOlder +, syncer +, tqdm +, urllib3 +, websockets +}: buildPythonPackage rec { pname = "pyppeteer"; version = "0.2.5"; + disabled = pythonOlder "3.6"; + format = "pyproject"; - src = fetchPypi { - inherit pname version; - sha256 = "c2974be1afa13b17f7ecd120d265d8b8cd324d536a231c3953ca872b68aba4af"; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "1hl4rw8j5yiak0d34vx1l1blr8125bscjd8m46a5m8xzm98csjc7"; }; - # tests want to write to /homeless-shelter - doCheck = false; + nativeBuildInputs = [ + poetry-core + ]; propagatedBuildInputs = [ appdirs - websockets - tqdm pyee + tqdm urllib3 + websockets ]; + checkInputs = [ + syncer + pytest-xdist + pytestCheckHook + ]; + + patches = [ + # Switch to poetry-core, https://github.com/pyppeteer/pyppeteer/pull/262 + (fetchpatch { + name = "switch-poetry-core.patch"; + url = "https://github.com/pyppeteer/pyppeteer/commit/e248baebefcf262fd96f261d940e74ed49ba2df9.patch"; + sha256 = "03g8n35kn2alqki37s0hf2231fk2zkr4nr1x1g2rfrhps9d6fyvw"; + }) + ]; + + postPatch = '' + # https://github.com/pyppeteer/pyppeteer/pull/252 + substituteInPlace pyproject.toml \ + --replace 'websockets = "^8.1"' 'websockets = "*"' + ''; + + disabledTestPaths = [ + # Requires network access + "tests/test_browser.py" + "tests/test_browser_context.py" + "tests/test_connection.py" + "tests/test_coverage.py" + "tests/test_dialog.py" + "tests/test_element_handle.py" + "tests/test_execution_context.py" + "tests/test_frame.py" + "tests/test_input.py" + "tests/test_launcher.py" + "tests/test_network.py" + "tests/test_page.py" + "tests/test_pyppeteer.py" + "tests/test_target.py" + "tests/test_tracing.py" + "tests/test_worker.py" + ]; + + disabledTests = [ + # Requires network access + "TestScreenShot" + "TestBrowserCrash" + "TestPDF" + ]; + + pythonImportsCheck = [ "pyppeteer" ]; + meta = { description = "Headless chrome/chromium automation library (unofficial port of puppeteer)"; homepage = "https://github.com/pyppeteer/pyppeteer";