python3Packages.apipkg: 2.1.1 -> 3.0.1

This commit is contained in:
Martin Weinelt 2022-07-16 12:58:56 +02:00
parent a70989643d
commit 3bfa89f878

View file

@ -1,41 +1,47 @@
{ lib, buildPythonPackage, fetchPypi
, pytest, setuptools-scm, isPy3k }:
{ lib
, buildPythonPackage
, fetchFromGitHub
, hatch-vcs
, hatchling
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "apipkg";
version = "2.1.1";
version = "3.0.1";
format = "pyproject";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-zKNAIkFKE5duM6HjjWoJBWfve2jQNy+SPGmaj4wIivw=";
src = fetchFromGitHub {
owner = "pytest-dev";
repo = pname;
rev = "v${version}";
hash = "sha256-gf84SzfuKLGYfI88IzPRJCqMZWwowUR10FgIbwXjwuY=";
};
nativeBuildInputs = [ setuptools-scm ];
checkInputs = [ pytest ];
SETUPTOOLS_SCM_PRETEND_VERSION = version;
# Fix pytest 4 support. See: https://github.com/pytest-dev/apipkg/issues/14
postPatch = ''
substituteInPlace "test_apipkg.py" \
--replace "py.test.ensuretemp('test_apipkg')" "py.path.local('test_apipkg')"
'';
nativeBuildInputs = [
hatch-vcs
hatchling
];
# Failing tests on Python 3
# https://github.com/pytest-dev/apipkg/issues/17
checkPhase = let
disabledTests = lib.optionals isPy3k [
"test_error_loading_one_element"
"test_aliasmodule_proxy_methods"
"test_eagerload_on_bython"
];
testExpression = lib.optionalString (disabledTests != [])
"-k 'not ${lib.concatStringsSep " and not " disabledTests}'";
in ''
py.test ${testExpression}
'';
checkInputs = [
pytestCheckHook
];
pytestFlagsArray = [
"test_apipkg.py"
];
pythonImportsCheck = [
"apipkg"
];
meta = with lib; {
changelog = "https://github.com/pytest-dev/apipkg/blob/main/CHANGELOG";
description = "Namespace control and lazy-import mechanism";
homepage = "https://github.com/pytest-dev/apipkg";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}