Merge master into staging-next

This commit is contained in:
github-actions[bot]
2021-02-17 18:14:04 +00:00
committed by GitHub
123 changed files with 1033 additions and 826 deletions
@@ -1,8 +1,14 @@
{ lib, buildPythonPackage, fetchFromGitHub
, flit
, lxml, httpx
, pytest, pytestcov, pytest-asyncio, pytest-mock, aresponses
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, flit
, async-timeout
, lxml
, httpx
, pytestCheckHook
, pytest-asyncio
, pytest-httpx
}:
buildPythonPackage rec {
@@ -23,24 +29,18 @@ buildPythonPackage rec {
];
propagatedBuildInputs = [
async-timeout
httpx
lxml
];
# requires pytest-httpx
doCheck = false;
pythonImportsCheck = [ "RMVtransport" ];
checkInputs = [
pytest
pytestcov
pytestCheckHook
pytest-asyncio
pytest-mock
# pytest-httpx is missing
aresponses
pytest-httpx
];
checkPhase = ''
pytest --cov=RMVtransport tests
'';
meta = with lib; {
homepage = "https://github.com/cgtobi/PyRMVtransport";
@@ -3,7 +3,7 @@
, fetchFromGitHub
, isPy27
, pygments
, pytest
, pytestCheckHook
, pytestcov
, uvloop
}:
@@ -27,7 +27,7 @@ buildPythonPackage rec {
];
checkInputs = [
pytest
pytestCheckHook
pytestcov
uvloop
];
@@ -37,9 +37,7 @@ buildPythonPackage rec {
export HOME=$TMPDIR
'';
checkPhase = ''
pytest
'';
pythonImportsCheck = [ "aiorun" ];
meta = with lib; {
description = "Boilerplate for asyncio applications";
@@ -1,4 +1,4 @@
{ lib, isPy3k, fetchPypi, fetchpatch, buildPythonPackage
{ lib, isPy3k, fetchPypi, buildPythonPackage
, uvloop, postgresql }:
buildPythonPackage rec {
@@ -16,6 +16,8 @@ buildPythonPackage rec {
postgresql
];
pythonImportsCheck = [ "asyncpg" ];
meta = with lib; {
homepage = "https://github.com/MagicStack/asyncpg";
description = "An asyncio PosgtreSQL driver";
@@ -26,6 +26,8 @@ buildPythonPackage rec {
checkInputs = [ glibcLocales pytest pytestrunner pytestcov mock ];
propagatedBuildInputs = [ botocore lxml requests requests-kerberos click configparser fido2 ];
pythonImportsCheck = [ "aws_adfs" ];
meta = with lib; {
description = "Command line tool to ease aws cli authentication against ADFS";
homepage = "https://github.com/venth/aws-adfs";
@@ -1,5 +1,5 @@
{ stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k,
python, twisted, jinja2, zope_interface, future, sqlalchemy,
python, twisted, jinja2, zope_interface, sqlalchemy,
sqlalchemy_migrate, dateutil, txaio, autobahn, pyjwt, pyyaml, treq,
txrequests, pypugjs, boto3, moto, mock, python-lz4, setuptoolsTrial,
isort, pylint, flake8, buildbot-worker, buildbot-pkg, buildbot-plugins,
@@ -17,7 +17,7 @@ buildPythonApplication rec {
export ASPELL_CONF="dict-dir ${aspellDicts.en}/lib/aspell"
'';
# tries to run not rully installed script
# tries to run not fully installed script
disabledTests = [ "test_command" ];
pythonImportsCheck = [ "codespell_lib" ];
@@ -20,6 +20,7 @@ buildPythonPackage rec {
# tests not packaged with pypi release
doCheck = false;
pythonImportsCheck = [ "cornice" ];
meta = with lib; {
homepage = "https://github.com/mozilla-services/cornice";
@@ -27,5 +28,4 @@ buildPythonPackage rec {
license = licenses.mpl20;
maintainers = [ maintainers.costrouc ];
};
}
@@ -17,6 +17,7 @@ buildPythonPackage rec {
# There are no tests
doCheck = false;
pythonImportsCheck = [ "easywatch" ];
meta = with lib; {
description = "Dead-simple way to watch a directory";
@@ -20,6 +20,8 @@ buildPythonPackage rec {
checkInputs = [ mock pyfakefs ];
pythonImportsCheck = [ "fido2" ];
meta = with lib; {
description = "Provides library functionality for FIDO 2.0, including communication with a device over USB.";
homepage = "https://github.com/Yubico/python-fido2";
@@ -1,8 +1,9 @@
{ buildPythonPackage, fetchPypi, lib, requests, pytestCheckHook, mock }:
{ buildPythonPackage, fetchPypi, pythonAtLeast, lib, requests, pytestCheckHook, mock }:
buildPythonPackage rec {
pname = "google-i18n-address";
version = "2.4.0";
disabled = pythonAtLeast "3.9";
src = fetchPypi {
inherit pname version;
@@ -15,7 +16,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Google's i18n address data packaged for Python";
homepage = "https://pypi.org/project/google-i18n-address/";
homepage = "https://github.com/mirumee/google-i18n-address";
maintainers = with maintainers; [ SuperSandro2000 ];
license = licenses.bsd3;
};
@@ -6,14 +6,14 @@
buildPythonPackage rec {
pname = "hstspreload";
version = "2020.12.22";
version = "2021.2.1";
disabled = isPy27;
src = fetchFromGitHub {
owner = "sethmlarson";
repo = pname;
rev = version;
sha256 = "1jzcw4clmpbyw67pzskms5rq5b7285iwh42jzc4ly6jz9amggdzc";
sha256 = "sha256-R6tqGxGd6JymFgQX+deDPOtlKlwUjL7uf+zGdNxUW/s=";
};
# tests require network connection
@@ -25,6 +25,6 @@ buildPythonPackage rec {
description = "Chromium HSTS Preload list as a Python package and updated daily";
homepage = "https://github.com/sethmlarson/hstspreload";
license = licenses.bsd3;
maintainers = [ maintainers.costrouc ];
maintainers = with maintainers; [ costrouc SuperSandro2000 ];
};
}
@@ -1,5 +1,10 @@
{ lib, stdenv, buildPythonPackage, fetchPypi
, pytest, pytestcov, watchdog, mock
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, pytestCheckHook
, pytest-cov
, watchdog
}:
buildPythonPackage rec {
@@ -11,11 +16,14 @@ buildPythonPackage rec {
sha256 = "3818f53dabc24da66f65cf4878c1c7a9b5df0c46b813e014abdd7c569eb9a02a";
};
checkPhase = ''
py.test
'';
# FIXME: watchdog dependency is disabled on Darwin because of #31865, which causes very silent
# segfaults in the testsuite that end up failing the tests in a background thread (in myapp)
checkInputs = [ pytest pytestcov mock ] ++ lib.optional (!stdenv.isDarwin) watchdog;
checkInputs = [ pytestCheckHook pytest-cov ] ++ lib.optional (!stdenv.isDarwin) watchdog;
meta = with lib; {
description = "in-process file monitor / reloader for reloading your code automatically during development";
homepage = "https://github.com/Pylons/hupper";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}
@@ -36,6 +36,7 @@ buildPythonPackage rec {
"_generator"
"show_versions"
"test_make_imbalanced_iris"
"test_rusboost[SAMME.R]"
];
meta = with lib; {
@@ -64,14 +64,17 @@ buildPythonPackage rec {
PATH=$out/bin:$PATH
'';
# disable tests which touch network
disabledTests = ''
disabledTests = [
# disable tests which touch network
"test_discover"
"test_filtered_compressed_cache"
"test_get_dir"
"test_remote_cat"
"http"
'';
# broken test
"test_read_pattern_with"
];
meta = with lib; {
description = "Data load and catalog system";
@@ -0,0 +1,33 @@
From 75baa1751973378cb96fb204b0a18a74e5caa2d1 Mon Sep 17 00:00:00 2001
From: Rouven Czerwinski <r.czerwinski@pengutronix.de>
Date: Wed, 17 Feb 2021 14:03:20 +0100
Subject: [PATCH] serialdriver: remove pyserial version check
This check isn't required on NixOS, since pyserial within NixOS already
contains the patches.
Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
---
labgrid/driver/serialdriver.py | 6 ------
1 file changed, 6 deletions(-)
diff --git a/labgrid/driver/serialdriver.py b/labgrid/driver/serialdriver.py
index 126f674e..59a92269 100644
--- a/labgrid/driver/serialdriver.py
+++ b/labgrid/driver/serialdriver.py
@@ -27,12 +27,6 @@ class SerialDriver(ConsoleExpectMixin, Driver, ConsoleProtocol):
bindings = {"port": "SerialPort", }
else:
bindings = {"port": {"SerialPort", "NetworkSerialPort"}, }
- if version.parse(serial.__version__) != version.Version('3.4.0.1'):
- message = ("The installed pyserial version does not contain important RFC2217 fixes.\n"
- "You can install the labgrid fork via:\n"
- "pip uninstall pyserial\n"
- "pip install https://github.com/labgrid-project/pyserial/archive/v3.4.0.1.zip#egg=pyserial\n") # pylint: disable=line-too-long
- warnings.warn(message)
txdelay = attr.ib(default=0.0, validator=attr.validators.instance_of(float))
timeout = attr.ib(default=3.0, validator=attr.validators.instance_of(float))
--
2.30.0
@@ -0,0 +1,78 @@
{ ansicolors
, attrs
, autobahn
, buildPythonPackage
, fetchFromGitHub
, jinja2
, lib
, mock
, pexpect
, psutil
, pyserial
, pytestCheckHook
, pytest-dependency
, pytest-mock
, pyudev
, pyusb
, pyyaml
, requests
, setuptools-scm
, xmodem
}:
buildPythonPackage rec {
pname = "labgrid";
version = "0.3.1";
src = fetchFromGitHub {
owner = "labgrid-project";
repo = "labgrid";
rev = "v${version}";
sha256 = "15298prs2f4wiyn8lf475qicp3y22lcjdcpwp2fmrya642vnr6w5";
};
patches = [
./0001-serialdriver-remove-pyserial-version-check.patch
];
nativeBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [
ansicolors
attrs
autobahn
jinja2
pexpect
pyserial
pyudev
pyusb
pyyaml
requests
xmodem
];
preBuild = ''
export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
'';
checkInputs = [
mock
psutil
pytestCheckHook
pytest-mock
pytest-dependency
];
disabledTests = [
"docker"
"sshmanager"
];
meta = with lib; {
description = "Embedded control & testing library";
homepage = "https://labgrid.org";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ emantor ];
platforms = with platforms; linux;
};
}
@@ -12,8 +12,8 @@
, flask
, pyopenssl
, ndg-httpsclient
, pytest
, pytestcov
, pytestCheckHook
, pytest-cov
, pytest-mock
, pytest-pylint
, pytest-click
@@ -39,13 +39,9 @@ buildPythonPackage rec {
] ++ lib.optionals isPy27 [ functools32 ];
checkInputs = [
pytest pytestcov pytest-mock pytest-pylint pytest-click
pytestCheckHook pytest-cov pytest-mock pytest-pylint pytest-click
];
checkPhase = ''
pytest
'';
# many errors -- tests assume inside of git repo, linting errors 13/317 fail
doCheck = false;
@@ -45,5 +45,7 @@ buildPythonPackage rec {
license= licenses.bsd3;
maintainers = with maintainers; [ evax ];
platforms = platforms.unix;
# incompatible with nixpkgs scikitlearn version
broken = true;
};
}
@@ -20,7 +20,6 @@
# Test Inputs
, glibcLocales
, hypothesis
, moto
, pytestCheckHook
# Darwin inputs
, runtimeShell
@@ -54,7 +53,7 @@ buildPythonPackage rec {
xlwt
];
checkInputs = [ pytestCheckHook glibcLocales moto hypothesis ];
checkInputs = [ pytestCheckHook glibcLocales hypothesis ];
# doesn't work with -Werror,-Wunused-command-line-argument
# https://github.com/NixOS/nixpkgs/issues/39687
@@ -23,8 +23,6 @@ buildPythonPackage rec {
substituteInPlace pyfakefs/tests/fake_os_test.py \
--replace "test_path_links_not_resolved" "notest_path_links_not_resolved" \
--replace "test_append_mode_tell_linux_windows" "notest_append_mode_tell_linux_windows"
substituteInPlace pyfakefs/tests/fake_filesystem_unittest_test.py \
--replace "test_copy_real_file" "notest_copy_real_file"
'' + (lib.optionalString stdenv.isDarwin ''
# this test fails on darwin due to case-insensitive file system
substituteInPlace pyfakefs/tests/fake_os_test.py \
@@ -3,13 +3,13 @@
buildPythonPackage rec {
pname = "pylint";
version = "2.6.0";
version = "2.6.2";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "bb4a908c9dadbc3aac18860550e870f58e1a02c9f2c204fdf5693d73be061210";
sha256 = "sha256-cYt0eG6n7QeqDFi/VyFU1Geflg0m6WQcwd4gSjC4f8k=";
};
nativeBuildInputs = [ pytestrunner installShellFiles ];
@@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchPypi, fetchpatch, six, chardet, nose
{ lib, buildPythonPackage, fetchPypi, six, chardet, nose
, django, jinja2, tornado, pyramid, pyramid_mako, Mako }:
buildPythonPackage rec {
@@ -33,6 +33,8 @@ buildPythonPackage rec {
# https://github.com/Pylons/pyramid/issues/1899
doCheck = !isPy35;
pythonImportsCheck = [ "pyramid" ];
meta = with lib; {
description = "The Pyramid Web Framework, a Pylons project";
homepage = "https://trypyramid.com/";
@@ -19,6 +19,10 @@ buildPythonPackage rec {
propagatedBuildInputs = [ beaker pyramid ];
meta = with lib; {
description = "Beaker session factory backend for Pyramid";
homepage = "https://docs.pylonsproject.org/projects/pyramid_beaker/en/latest/";
# idk, see https://github.com/Pylons/pyramid_beaker/blob/master/LICENSE.txt
# license = licenses.mpl20;
maintainers = with maintainers; [ domenkozar ];
};
}
@@ -23,11 +23,12 @@ buildPythonPackage rec {
propagatedBuildInputs = [ chameleon pyramid zope_interface setuptools ];
pythonImportsCheck = [ "pyramid_chameleon" ];
meta = with lib; {
description = "Chameleon template compiler for pyramid";
homepage = "https://github.com/Pylons/pyramid_chameleon";
license = licenses.bsd0;
maintainers = with maintainers; [ domenkozar ];
};
}
@@ -15,6 +15,8 @@ buildPythonPackage rec {
propagatedBuildInputs = [ pyramid ];
pythonImportsCheck = [ "pyramid_exclog" ];
meta = with lib; {
description = "A package which logs to a Python logger when an exception is raised by a Pyramid application";
homepage = "https://docs.pylonsproject.org/";
@@ -21,10 +21,12 @@ buildPythonPackage rec {
propagatedBuildInputs = [ pyramid hawkauthlib tokenlib ];
buildInputs = [ webtest ];
pythonImportsCheck = [ "pyramid_hawkauth" ];
meta = with lib; {
homepage = "https://github.com/mozilla-services/pyramid_hawkauth";
description = "A Pyramid authentication plugin for HAWK";
license = licenses.mpl20;
maintainers = with maintainers; [ ];
};
}
@@ -18,11 +18,12 @@ buildPythonPackage rec {
buildInputs = [ webtest ];
propagatedBuildInputs = [ jinja2 pyramid ];
pythonImportsCheck = [ "pyramid_jinja2" ];
meta = with lib; {
description = "Jinja2 template bindings for the Pyramid web framework";
homepage = "https://github.com/Pylons/pyramid_jinja2";
license = licenses.bsd0;
maintainers = with maintainers; [ domenkozar ];
};
}
@@ -22,6 +22,6 @@ buildPythonPackage rec {
homepage = "https://github.com/Pylons/pyramid_mako";
description = "Mako template bindings for the Pyramid web framework";
license = licenses.bsd0;
maintainers = with maintainers; [];
};
}
@@ -19,6 +19,6 @@ buildPythonPackage rec {
description = "Authentication policy for Pyramid that proxies to a stack of other authentication policies";
homepage = "https://github.com/mozilla-services/pyramid_multiauth";
license = licenses.mpl20;
maintainers = with maintainers; [];
};
}
@@ -0,0 +1,42 @@
From c8b35f4b871d00e3020f525425517548bed9f6ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
Date: Sun, 9 Sep 2018 20:13:27 +0200
Subject: [PATCH] serial/rfc2217: only subnegotiate on value change
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This was suggested and is a direct copy of Uwe Kleine König's patch
from [1].
[1]: https://github.com/pyserial/pyserial/issues/376#issuecomment-418885211
Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
---
serial/rfc2217.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/serial/rfc2217.py b/serial/rfc2217.py
index d962c1e8..2148512d 100644
--- a/serial/rfc2217.py
+++ b/serial/rfc2217.py
@@ -330,11 +330,15 @@ def set(self, value):
the client needs to know if the change is performed he has to check the
state of this object.
"""
- self.value = value
- self.state = REQUESTED
- self.connection.rfc2217_send_subnegotiation(self.option, self.value)
- if self.connection.logger:
- self.connection.logger.debug("SB Requesting {} -> {!r}".format(self.name, self.value))
+ if value != self.value:
+ self.value = value
+ self.state = REQUESTED
+ self.connection.rfc2217_send_subnegotiation(self.option, self.value)
+ if self.connection.logger:
+ self.connection.logger.debug("SB Requesting {} -> {!r}".format(self.name, self.value))
+ else:
+ if self.connection.logger:
+ self.connection.logger.debug("SB Requesting {} -> {!r} (skipped)".format(self.name, self.value))
def is_ready(self):
"""\
@@ -0,0 +1,42 @@
From a3698dc952fce0d07628133e987b7b43ed6e1157 Mon Sep 17 00:00:00 2001
From: Rouven Czerwinski <rouven@czerwinskis.de>
Date: Sun, 9 Sep 2018 20:08:40 +0200
Subject: [PATCH] serial/rfc2217: add timeout.setter for rfc2217
Add a new setter method for the timeout property which does not invoke
the port reconfiguration.
This is a direct copy of the SerialBase timeout property without the port
reconfiguration.
Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
---
serial/rfc2217.py | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/serial/rfc2217.py b/serial/rfc2217.py
index d962c1e8..12615cf3 100644
--- a/serial/rfc2217.py
+++ b/serial/rfc2217.py
@@ -722,5 +722,22 @@ def cd(self):
raise portNotOpenError
return bool(self.get_modem_state() & MODEMSTATE_MASK_CD)
+ @property
+ def timeout(self):
+ """Get the current timeout setting."""
+ return self._timeout
+
+ @timeout.setter
+ def timeout(self, timeout):
+ """Change timeout setting."""
+ if timeout is not None:
+ try:
+ timeout + 1 # test if it's a number, will throw a TypeError if not...
+ except TypeError:
+ raise ValueError("Not a valid timeout: {!r}".format(timeout))
+ if timeout < 0:
+ raise ValueError("Not a valid timeout: {!r}".format(timeout))
+ self._timeout = timeout
+
# - - - platform specific - - -
# None so far
@@ -9,6 +9,11 @@ buildPythonPackage rec {
sha256 = "1nyd4m4mnrz8scbfqn4zpq8gnbl4x42w5zz62vcgpzqd2waf0xrw";
};
patches = [
./001-rfc2217-only-negotiate-on-value-change.patch
./002-rfc2217-timeout-setter-for-rfc2217.patch
];
checkPhase = "python -m unittest discover -s test";
doCheck = !stdenv.hostPlatform.isDarwin; # broken on darwin
@@ -0,0 +1,26 @@
{ lib, buildPythonPackage, fetchPypi, httpx, pytest }:
buildPythonPackage rec {
pname = "pytest-httpx";
version = "0.10.1";
src = fetchPypi {
inherit version;
pname = "pytest_httpx";
extension = "tar.gz";
sha256 = "13ld6nnsc3f7i4zl4qm1jh358z0awr6xfk05azwgngmjb7jmcz0a";
};
propagatedBuildInputs = [ httpx pytest ];
# not in pypi tarball
doCheck = false;
pythonImportsCheck = [ "pytest_httpx" ];
meta = with lib; {
description = "Send responses to httpx";
homepage = "https://github.com/Colin-b/pytest_httpx";
license = licenses.mit;
maintainers = with maintainers; [ SuperSandro2000 ];
};
}
@@ -16,10 +16,11 @@ buildPythonPackage rec {
sha256 = "06136f03d5b361718b8d0d234042f7b2f203910d8568f63df2f866b547b3d4b9";
};
propagatedBuildInputs = [ pytest colorama docopt watchdog ];
# No Tests
doCheck = false;
propagatedBuildInputs = [ pytest colorama docopt watchdog ];
pythonImportsCheck = [ "pytest_watch" ];
meta = with lib; {
homepage = "https://github.com/joeyespo/pytest-watch";
@@ -28,4 +29,3 @@ buildPythonPackage rec {
maintainers = with maintainers; [ dmvianna ];
};
}
@@ -20,7 +20,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [ six ];
checkInputs = [ pytest six mock pyfakefs unittest2 ];
checkInputs = [ pytest mock pyfakefs unittest2 ];
checkPhase = ''
pytest pyu2f/tests
@@ -1,5 +1,4 @@
{ lib
, attrs
, buildPythonPackage
, fetchFromGitHub
, httpcore
@@ -8,7 +7,6 @@
, pytest-cov
, pytestCheckHook
, trio
, xmltodict
}:
buildPythonPackage rec {
@@ -41,5 +41,7 @@ buildPythonPackage rec {
changelog = "https://github.com/skorch-dev/skorch/blob/master/CHANGES.md";
license = licenses.bsd3;
maintainers = with maintainers; [ bcdarwin ];
# TypeError: __init__() got an unexpected keyword argument 'iid'
broken = true;
};
}
@@ -60,6 +60,7 @@ buildPythonPackage rec {
"test_turtle_launc"
"test_umr_skip_cython"
"test_umr_pathlist"
"test_user_sitepackages_in_pathlist"
];
meta = with lib; {
@@ -31,6 +31,8 @@ buildPythonPackage rec {
substituteInPlace setup.py --replace "pyqt5<5.13" "pyqt5"
'';
pythonImportsCheck = [ "spyder" ];
meta = with lib; {
description = "Library providing a scientific python development environment";
longDescription = ''
@@ -81,6 +81,7 @@ buildPythonPackage rec {
homepage = "https://github.com/TileDB-Inc/TileDB-Py";
license = licenses.mit;
maintainers = with maintainers; [ fridh ];
# tiledb/core.cc:556:30: error: struct std::array<long unsigned int, 2> has no member named second
broken = true;
};
}
@@ -45,6 +45,6 @@ buildPythonPackage rec {
description = "PyTorch vision library";
homepage = "https://pytorch.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ ericsagnes SuperSandro2000 ];
maintainers = with maintainers; [ ericsagnes ];
};
}
@@ -1,21 +1,24 @@
{ lib, fetchFromGitHub, buildPythonPackage, isPy27
, awkward0, backports_lzma, cachetools, lz4, pandas
, pytestCheckHook, pytestrunner, pkgconfig, mock
, pytestCheckHook, pkgconfig, mock
, numpy, requests, uproot3-methods, xxhash, zstandard
}:
buildPythonPackage rec {
pname = "uproot3";
version = "3.14.2";
version = "3.14.4";
src = fetchFromGitHub {
owner = "scikit-hep";
repo = "uproot3";
rev = version;
sha256 = "sha256-6/e+qMgwyFUo8MRRTAaGp9WLPxE2fqMEK4paq26Epzc=";
sha256 = "sha256-hVJpKdYvyoCPyqgZzKYp30SvkYm+HWSNBdd9bYCYACE=";
};
nativeBuildInputs = [ pytestrunner ];
postPatch = ''
substituteInPlace setup.py \
--replace '"pytest-runner"' ""
'';
propagatedBuildInputs = [
awkward0