Martin Weinelt ae4a1a485a
treewide: add explicit format attribute for Python packages
If a Python package does not come with either `format` or `pyproject` we
consider it a setuptools build, that calls `setup.py` directly, which is
deprecated.

This change, as a first step, migrates a large chunk of these packages to
set setuptools as their explicit format

This is so we can unify the problem space for the next step of the
migration.
2025-07-02 05:56:47 +02:00

71 lines
1.3 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
isPy27,
pythonAtLeast,
coloredlogs,
humanfriendly,
property-manager,
fasteners,
six,
pytestCheckHook,
mock,
virtualenv,
}:
buildPythonPackage rec {
pname = "executor";
version = "23.2";
format = "setuptools";
# pipes is removed in python 3.13
disabled = isPy27 || pythonAtLeast "3.13";
src = fetchFromGitHub {
owner = "xolox";
repo = "python-executor";
tag = version;
hash = "sha256-Gjv+sUtnP11cM8GMGkFzXHVx0c2XXSU56L/QwoQxINc=";
};
build-system = [
setuptools
];
dependencies = [
coloredlogs
humanfriendly
property-manager
fasteners
six
];
nativeCheckInputs = [
pytestCheckHook
mock
virtualenv
];
# ignore impure tests
disabledTests = [
"option"
"retry"
"remote"
"ssh"
"foreach"
"local_context"
"release" # meant to be ran on ubuntu to succeed
];
meta = {
changelog = "https://github.com/xolox/python-executor/blob/${version}/CHANGELOG.rst";
description = "Programmer friendly subprocess wrapper";
mainProgram = "executor";
homepage = "https://github.com/xolox/python-executor";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ eyjhb ];
};
}