2021-05-28 09:39:13 +00:00
|
|
|
{ lib
|
|
|
|
, appdirs
|
|
|
|
, buildPythonPackage
|
|
|
|
, fetchFromGitHub
|
|
|
|
, fetchpatch
|
|
|
|
, poetry-core
|
|
|
|
, pyee
|
|
|
|
, pytest-xdist
|
|
|
|
, pytestCheckHook
|
|
|
|
, pythonOlder
|
|
|
|
, syncer
|
|
|
|
, tqdm
|
|
|
|
, urllib3
|
|
|
|
, websockets
|
|
|
|
}:
|
2020-11-19 00:13:47 +00:00
|
|
|
|
|
|
|
buildPythonPackage rec {
|
|
|
|
pname = "pyppeteer";
|
2021-03-09 03:18:52 +00:00
|
|
|
version = "0.2.5";
|
2021-05-28 09:39:13 +00:00
|
|
|
disabled = pythonOlder "3.6";
|
|
|
|
format = "pyproject";
|
2020-11-19 00:13:47 +00:00
|
|
|
|
2021-05-28 09:39:13 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = pname;
|
|
|
|
repo = pname;
|
|
|
|
rev = version;
|
|
|
|
sha256 = "1hl4rw8j5yiak0d34vx1l1blr8125bscjd8m46a5m8xzm98csjc7";
|
2020-11-19 00:13:47 +00:00
|
|
|
};
|
|
|
|
|
2021-05-28 09:39:13 +00:00
|
|
|
nativeBuildInputs = [
|
|
|
|
poetry-core
|
|
|
|
];
|
2020-11-19 00:13:47 +00:00
|
|
|
|
|
|
|
propagatedBuildInputs = [
|
|
|
|
appdirs
|
|
|
|
pyee
|
2021-05-28 09:39:13 +00:00
|
|
|
tqdm
|
2020-11-19 00:13:47 +00:00
|
|
|
urllib3
|
2021-05-28 09:39:13 +00:00
|
|
|
websockets
|
|
|
|
];
|
|
|
|
|
|
|
|
checkInputs = [
|
|
|
|
syncer
|
|
|
|
pytest-xdist
|
|
|
|
pytestCheckHook
|
2020-11-19 00:13:47 +00:00
|
|
|
];
|
|
|
|
|
2021-05-28 09:39:13 +00:00
|
|
|
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" ];
|
|
|
|
|
2020-11-19 00:13:47 +00:00
|
|
|
meta = {
|
|
|
|
description = "Headless chrome/chromium automation library (unofficial port of puppeteer)";
|
|
|
|
homepage = "https://github.com/pyppeteer/pyppeteer";
|
|
|
|
license = lib.licenses.mit;
|
|
|
|
maintainers = with lib.maintainers; [ kmein ];
|
|
|
|
};
|
|
|
|
}
|