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

55 lines
1.0 KiB
Nix

{
lib,
buildPythonPackage,
fetchPypi,
pythonAtLeast,
pytestCheckHook,
cheroot,
legacy-cgi,
dbutils,
mysqlclient,
pymysql,
mysql-connector,
psycopg2,
}:
buildPythonPackage rec {
version = "0.62";
format = "setuptools";
pname = "web.py";
src = fetchPypi {
inherit pname version;
sha256 = "5ce684caa240654cae5950da8b4b7bc178812031e08f990518d072bd44ab525e";
};
propagatedBuildInputs = [
cheroot
] ++ lib.optional (pythonAtLeast "3.13") legacy-cgi;
# requires multiple running databases
doCheck = false;
pythonImportsCheck = [ "web" ];
nativeCheckInputs = [
pytestCheckHook
dbutils
mysqlclient
pymysql
mysql-connector
psycopg2
];
meta = with lib; {
description = "Makes web apps";
longDescription = ''
Think about the ideal way to write a web app.
Write the code to make it happen.
'';
homepage = "https://webpy.org/";
license = licenses.publicDomain;
maintainers = with maintainers; [ layus ];
};
}