This is almost all find-and-replace.
I manually edited:
* pkgs/development/python-modules/notifications-android-tv/default.nix,
* pkgs/servers/home-assistant/default.nix,
* pkgs/development/tools/continuous-integration/buildbot/master.nix
A few files have not been changed in this PR because they would cause rebuilds.
This PR should have 0 rebuilds.
- add "-std=gnu17" to `env.NIX_CFLAGS_COMPILE`
Upstream had no updates since 2019
Fedora used 13k LOC patch instead and submitted it upstream:
43fad212adhttps://savannah.nongnu.org/bugs/index.php?66726
Fixes build failure with gcc15:
```
sighandle.c: In function 'SIG_handle':
sighandle.c:207:18: error: too many arguments to function
'this->handler'; expected 0, have 1
207 | (*this->handler)(sig);
| ~^~~~~~~~~~~~~~~ ~~~
sighandle.c:59:35: note: declared here
59 | RETSIGTYPE (*handler)();
| ^~~~~~~
```
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.
Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
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.
By being in sync with the pname, it makes it easier to walk back from
the pname that shows in the /nix/store back to the attribute.
This change should not cause any rebuild.
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:
nix-build ci -A fmt.check
This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).
This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).
Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).
If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
gebner has been an amazing maintainer, but appears to have moved on:
the last commit on nixpkgs appears to have been in Feb 2023, and
they have not been responding to pings (e.g.
https://github.com/NixOS/nixpkgs/issues/347764).
They also approved https://github.com/NixOS/nixpkgs/pull/337292 before,
but that PR had some additional changes and was closed without merging.
This PR is in no way intended to diminuish Gabriel's accomplishments,
and they're welcome to just say so if they'd prefer this PR not to
be merged. Also, even if it's merged, of course they're always welcome
to return to activity and be added back. The intent of this PR is to
give more realistic expectations around the maintainership of these
packages, and to invite others to step up for maintainership if they
rely on those packages.
This seems in line with https://github.com/NixOS/nixpkgs/tree/master/maintainers#how-to-lose-maintainer-status
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.
Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.
A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.
This commit was automatically created and can be verified using
nix-build a08b3a4d19.tar.gz \
--argstr baseRev 78e9caf153
result/bin/apply-formatting $NIXPKGS_PATH
We are migrating packages that meet below requirements:
1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration
The tool is here: https://github.com/Aleksanaa/by-name-migrate.