···61- `reaction` has been updated to version 2, which includes some breaking changes.
62 For more information, [check the release article](https://blog.ppom.me/en-reaction-v2).
6300006465### Deprecations {#sec-nixpkgs-release-25.11-lib-deprecations}
66
···61- `reaction` has been updated to version 2, which includes some breaking changes.
62 For more information, [check the release article](https://blog.ppom.me/en-reaction-v2).
6364+- The `buildPythonPackage` and `buildPythonApplication` functions now require
65+ an explicit `format` attribute. Previously the default format used setuptools
66+ and called `setup.py` from the source tree, which is deprecated.
67+ The modern alternative is to configure `pyproject = true` with `build-system = [ setuptools ]`.
6869### Deprecations {#sec-nixpkgs-release-25.11-lib-deprecations}
70
···10buildPythonApplication rec {
11 pname = "twitch-chat-downloader";
12 version = "2.5.4";
01314 # NOTE: Using maintained fork because upstream has stopped working, and it has
15 # not been updated in a while.
···10buildPythonApplication rec {
11 pname = "twitch-chat-downloader";
12 version = "2.5.4";
13+ format = "setuptools";
1415 # NOTE: Using maintained fork because upstream has stopped working, and it has
16 # not been updated in a while.
···11buildPythonApplication rec {
12 pname = "git-review";
13 version = "2.5.0";
01415 # Manually set version because prb wants to get it from the git
16 # upstream repository (and we are installing from tarball instead)
···11buildPythonApplication rec {
12 pname = "git-review";
13 version = "2.5.0";
14+ format = "setuptools";
1516 # Manually set version because prb wants to get it from the git
17 # upstream repository (and we are installing from tarball instead)
···28python.pkgs.buildPythonApplication rec {
29 pname = "gdtoolkit3";
30 version = "3.5.0";
03132 # If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?)
33 src = fetchFromGitHub {
···28python.pkgs.buildPythonApplication rec {
29 pname = "gdtoolkit3";
30 version = "3.5.0";
31+ format = "setuptools";
3233 # If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?)
34 src = fetchFromGitHub {
···36buildPythonApplication rec {
37 pname = "haxor-news";
38 version = "unstable-2020-10-20";
03940 # haven't done a stable release in 3+ years, but actively developed
41 src = fetchFromGitHub {
···36buildPythonApplication rec {
37 pname = "haxor-news";
38 version = "unstable-2020-10-20";
39+ format = "setuptools";
4041 # haven't done a stable release in 3+ years, but actively developed
42 src = fetchFromGitHub {
···11python3Packages.buildPythonApplication rec {
12 pname = "multiqc";
13 version = "1.29";
01415 # Two data sources. One for the code, another for the test data
16 srcs = [
···11python3Packages.buildPythonApplication rec {
12 pname = "multiqc";
13 version = "1.29";
14+ format = "setuptools";
1516 # Two data sources. One for the code, another for the test data
17 srcs = [
···15 # seemingly abandoned D-Bus package pydbus and started using maintained
16 # dbus-next. So let's use latest from GitHub.
17 version = "0-unstable-2023-12-16";
01819 src = fetchFromGitHub {
20 owner = "mdellweg";
···15 # seemingly abandoned D-Bus package pydbus and started using maintained
16 # dbus-next. So let's use latest from GitHub.
17 version = "0-unstable-2023-12-16";
18+ format = "setuptools";
1920 src = fetchFromGitHub {
21 owner = "mdellweg";
···6python3.pkgs.buildPythonApplication rec {
7 pname = "perfect-hash";
8 version = "0.4.1";
0910 # Archive on pypi does not contain examples, which are very helpful to
11 # understand how to use this program, so we use git source.
···6python3.pkgs.buildPythonApplication rec {
7 pname = "perfect-hash";
8 version = "0.4.1";
9+ format = "setuptools";
1011 # Archive on pypi does not contain examples, which are very helpful to
12 # understand how to use this program, so we use git source.
···11buildPythonApplication rec {
12 pname = "pwgen-secure";
13 version = "0.9.1";
01415 # it needs `secrets` which was introduced in 3.6
16 disabled = pythonOlder "3.6";
···11buildPythonApplication rec {
12 pname = "pwgen-secure";
13 version = "0.9.1";
14+ format = "setuptools";
1516 # it needs `secrets` which was introduced in 3.6
17 disabled = pythonOlder "3.6";
···6python312Packages.buildPythonApplication {
7 pname = "vanguards";
8 version = "0.3.1-unstable-2023-10-31";
0910 dependencies = [ python312Packages.stem ];
11 #tries to access the network during the tests, which fails
···6python312Packages.buildPythonApplication {
7 pname = "vanguards";
8 version = "0.3.1-unstable-2023-10-31";
9+ format = "setuptools";
1011 dependencies = [ python312Packages.stem ];
12 #tries to access the network during the tests, which fails
···211 else if format != null then
212 format
213 else
214- "setuptools";
215216 withDistOutput = withDistOutput' format';
217···268269 isSetuptoolsDependency = isSetuptoolsDependency' (attrs.pname or null);
27000271 in
272 (cleanAttrs attrs)
273 // {
274-275- name = namePrefix + attrs.name or "${finalAttrs.pname}-${finalAttrs.version}";
276277 inherit catchConflicts;
278
···211 else if format != null then
212 format
213 else
214+ throw "${name} does not configure a `format`. To build with setuptools as before, set `pyproject = true` and `build-system = [ setuptools ]`.`";
215216 withDistOutput = withDistOutput' format';
217···268269 isSetuptoolsDependency = isSetuptoolsDependency' (attrs.pname or null);
270271+ name = namePrefix + attrs.name or "${finalAttrs.pname}-${finalAttrs.version}";
272+273 in
274 (cleanAttrs attrs)
275 // {
276+ inherit name;
0277278 inherit catchConflicts;
279
···9buildPythonPackage {
10 pname = "pipetools";
11 version = "1.1.0";
01213 # Used github as the src since the pypi package does not include the tests
14 src = fetchFromGitHub {
···9buildPythonPackage {
10 pname = "pipetools";
11 version = "1.1.0";
12+ format = "setuptools";
1314 # Used github as the src since the pypi package does not include the tests
15 src = fetchFromGitHub {
···20 # If you need these, you can just add them to your environment.
2122 version = "4.57.1";
023 pname = "hypothesis";
2425 # Use github tarballs that includes tests
···20 # If you need these, you can just add them to your environment.
2122 version = "4.57.1";
23+ format = "setuptools";
24 pname = "hypothesis";
2526 # Use github tarballs that includes tests
···29 # downloads break constantly. Because of that, updates should always be backported
30 # to the latest stable release.
31 version = "2021.12.17";
03233 src = fetchurl {
34 url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
···29 # downloads break constantly. Because of that, updates should always be backported
30 # to the latest stable release.
31 version = "2021.12.17";
32+ format = "setuptools";
3334 src = fetchurl {
35 url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";