Commit graph

1125 commits

Author SHA1 Message Date
sternenseemann 250924fd7d maintainers/update-hackage.sh: don't print diff if no changes
Bug introduced in 1158f20f15.
2025-07-18 00:45:30 +02:00
nixpkgs-ci[bot] f10aa089db
Merge d7c8095791 into haskell-updates 2025-07-16 00:23:09 +00:00
Silvan Mosberger b68cc636d3 treewide: Remove nixfmt-rfc-style from update script shebangs
Based on the Nixpkgs used and the version of nixfmt-rfc-style in that
version, it's likely that not the correct version is used.

Update scripts should instead run within a Nixpkgs development shell
(`nix-shell`/`nix develop`/`direnv`), where the correct version of
`nixfmt` (although `treefmt` should be preferred) is always available.
2025-07-15 23:27:22 +02:00
Silvan Mosberger d1a4769b38 treewide: nixfmt-rfc-style -> nixfmt
Except:
- Instances in documentation, because people in older versions
  can't switch to nixfmt yet due to it having pointed to nixfmt-classic
  before
- In code that runs based on a CI Nixpkgs version, which is also a bit
  older still
- In update script shebangs, because many of them don't pin Nixpkgs, and run
  with whatever is in NIX_PATH (and it's not easy to fix this, see
  https://github.com/NixOS/nixpkgs/issues/425551)
2025-07-15 22:14:18 +02:00
K900 a2f4f88315 scripts/kde: handle missing hashes gracefully 2025-07-15 14:14:37 +03:00
sternenseemann 34c51b70fb maintainers/scripts/haskell: unify pkg set update into single commit
Currently, every package set consists of three commits, generated by
update-hackage.sh, update-stackage.sh and
regenerate-hackage-packages.sh, respectively. This is suboptimal, as it
necessarly causes intermediate states of Nixpkgs where the generated
hackage-packages.nix and all-cabal-hasehs and/or the hackage2nix
configuration files are out of sync. Ideally, running
regenerate-hackage-packages.sh is a no-op for every Nixpkgs revision.

This is achieved by adding a wrapper script, update-package-set.sh,
which runs the individual moving parts and commits the result.
2025-07-10 18:06:02 +02:00
sternenseemann 5e758ae573 maintainers/haskell/regen-h-packages.sh: let user edit commit msg
Calling git commit with --edit here, allows the user to rephrase the
very nondescript default message, in doing so e.g. clarifying why the
regeneration was necessary etc. This should hopefully encourage better
commit mesages.
2025-07-10 18:06:02 +02:00
sternenseemann f834f1dacc maintainers/scripts/haskell: briefer commit message bodies
The “This commit was generated by …” message is very wordy and often
exceeds 72 characters which is a good (loose) target for wrapping lines
in commit messages.
2025-07-10 18:06:02 +02:00
sternenseemann 1158f20f15 maintainers/haskell/update*: print version diff when not committing
This allows other scripts to detect whether anything changed without
resorting to git-diff(1): If nothing changed, stdout will be empty (i.e.
we now enforce that other messages go to stderr). To make sure that this
behavior is retained in the future, the scripts' behavior is briefly
documented in the files' header.
2025-07-10 18:06:02 +02:00
OPNA2608 23244c7f77 maintainers/scripts/bootstrap-files: Add ELFv1 powerpc64 to CROSS_TARGETS 2025-07-07 09:30:17 +02:00
nixpkgs-ci[bot] 8f1e3c063d
Merge d55716bb59 into haskell-updates 2025-07-03 00:22:50 +00:00
nixpkgs-ci[bot] 5645eb91c0
Merge staging-next into staging 2025-07-03 00:18:50 +00:00
Philip Taron df42f855db
treewide: add --extra-experimental-features nix-command to nix hash invocations 2025-07-02 08:34:40 -07:00
sternenseemann c85656eae6 maintainers/scripts/haskell: don't redundantly add C++ Nix to env
Since the shebang calls nix-shell, we can safely assume that Nix (Lix,
C++ Nix) is installed. Our scripts should support a wide enough range of
Nix versions so that using the “impure” version of the tool is not a
problem.

This works around #400784. My theory is that the Nix frontend commands
no longer work with older versions of the Nix daemon nor the Lix daemon
in our workloads.
2025-06-30 16:18:48 +02:00
Wolfgang Walther b4532efe93
**/README.md: one sentence per line
As documented in doc/README.md.
2025-06-29 21:14:32 +02:00
June Stepp a5539704d7 luaPackages.lrexlib-oniguruma: init at 2.9.2-1 2025-06-24 14:23:28 +02:00
K900 1cccb99d45
maintainers/scripts/kde: update skiplists 2025-06-17 14:18:22 +02:00
K900 5ff48726ed Merge remote-tracking branch 'origin/master' into staging-next 2025-06-10 16:28:43 +03:00
Aleksana a0282ec582
maintainers/scripts: update example in get-maintainer.sh's documentation (#415571) 2025-06-10 21:22:11 +08:00
nicoo 44e10eca27 maintainers/scripts/get-maintainer.sh: update data in documentation 2025-06-10 13:14:31 +00:00
nixpkgs-ci[bot] 58e6bb171e
Merge master into staging-next 2025-06-08 00:19:12 +00:00
Jakob Beckmann f7d136fea7 chore: add luajitPackages.sofa 2025-06-07 22:27:16 +02:00
K900 37a72a5aa2 Merge remote-tracking branch 'origin/staging-next' into staging 2025-05-29 12:02:16 +03:00
Wolfgang Walther ad4b36d2d2
ci/check-cherry-picks: move from maintainers/scripts
The script is part of CI and changes to it should be reviewed by the CI
owners. Thus moving it to ci/ is the most sensible thing to do.
2025-05-28 12:52:36 +02:00
K900 a3612e2210 Merge remote-tracking branch 'origin/staging-next' into staging 2025-05-28 11:42:18 +03:00
Wolfgang Walther 642de212a6
maintainer/scripts/check-cherry-picks: fix calling from outside nixpkgs
The CI job calls this as trusted/maintainers/..., i.e. with a working
directory outside the checkout. The git commands inside the script
assume to be inside the checkout, though, so let's force that.
2025-05-27 20:00:24 +02:00
Wolfgang Walther d283c3b36f
maintainer/scripts/check-cherry-picks: propagate git errors instead of passing silently
Bash will not propagate the exit code from a subshell within a
herestring, so the script silently passes when git throws an error
there. Re-arranging things a bit and an error will now be thrown.
2025-05-27 19:59:28 +02:00
nixpkgs-ci[bot] 8417ab1dd2
Merge staging-next into staging 2025-05-22 12:07:48 +00:00
Simon Hollingshead 6b6e23bfda
treewide: maintainers-list.nix -> maintainer-list.nix (#409585) 2025-05-22 15:42:16 +05:30
nixpkgs-ci[bot] 0ecde18f90
Merge staging-next into staging 2025-05-18 18:06:11 +00:00
Austin Horstman 31bc320fd1
pluginupdate: fix AttributeError when handling HTTPResponse objects
Fix an issue in the vim-plugins-updater where it was trying to access the

'normalized_name' attribute on an HTTPResponse object, causing the updater

to crash with:

AttributeError: 'HTTPResponse' object has no attribute 'normalized_name'

The fix adds type checking to ensure we only access normalized_name on

Plugin objects, and properly handle other types like Exceptions and

HTTPResponse objects.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-18 09:06:48 -05:00
Austin Horstman 9831a2b6c3
pluginupdate.py: GITHUB_API_TOKEN -> GITHUB_TOKEN
Should use the standard token variable that github and the rest of the
codebase uses.
2025-05-18 01:02:23 -05:00
Leona Maroni fd7f2c1f9c
Merge remote-tracking branch 'origin/staging' into haskell-updates 2025-05-16 10:42:56 +02:00
nixpkgs-ci[bot] b001494032
Merge d53a0ca3e8 into haskell-updates 2025-05-09 00:20:41 +00:00
nixpkgs-ci[bot] 7b793f256a
Merge master into staging-next 2025-05-08 18:05:13 +00:00
K900 2ea454c9aa maintainers/scripts/kde: fix Rust update logic 2025-05-08 15:04:52 +03:00
nixpkgs-ci[bot] 9b6e6d2b7a
Merge b3582c75c7 into haskell-updates 2025-05-07 00:21:09 +00:00
Jan Tojnar bfe2ceeb18 Merge branch 'staging-next' into staging 2025-05-07 02:00:46 +02:00
Jan Tojnar 2e0c34649b maintainers/scripts/update.nix: Fix reverse toposort with independent packages
When updating GNOME packages in reverse topological order using the following command:

    nix-shell maintainers/scripts/update.nix --arg predicate '(path: pkg: builtins.any (team: team.shortName == "GNOME") pkg.meta.teams or [])' --argstr order reverse-topological

the `update.py` script would crash with `ValueError` on calling `ordered.index("adwaita-fonts")`.

This happened because the `adwaita-fonts` does not depend on any other GNOME package, nor it is depended upon by one.
As a result, it had been discarded by the `reverse_edges` function.

Co-authored-by: Philip Taron <philip.taron@gmail.com>
2025-05-07 00:49:25 +02:00
Wolfgang Walther 224de839f1
workflows/check-maintainers-sorted: drop and replace with keep-sorted
We already have a generic keep-sorted workflow, so we don't need to roll
our own for the maintainers list.

This will result in a slightly different order, because the nix script
ignored "-" and "_", while keep-sorted sorts them first. But, the order
is consistent and that's what matters.
2025-05-06 21:29:26 +02:00
Wolfgang Walther b2bd43391d
maintainers/scripts/haskell: sort case- and locale-insensitively consistently
sort -i actually means "ignore nonprinting", not "ignore case". Also, we
need to set LC_ALL to get proper sorting for "-".
2025-05-05 22:13:07 +02:00
sternenseemann b1b52bc7ba Merge commit 72d7521374 into haskell-updates 2025-05-01 16:03:05 +02:00
nixpkgs-ci[bot] c283e7a623
Merge staging-next into staging 2025-05-01 06:06:34 +00:00
K900 24e0fd90ea Merge remote-tracking branch 'origin/master' into staging-next 2025-05-01 08:20:39 +03:00
Anton Tetov bcb6da4a23 luaPackages.http: 0.3.0->0.4.0 2025-05-01 01:06:59 +02:00
Gaétan Lepage d12267ab0a
luaPackages.luv: 1.48.0-2 -> 1.50.0-1 (#393966) 2025-04-26 09:13:12 +02:00
nixpkgs-ci[bot] 6a17058f9f
Merge 2169c86993 into haskell-updates 2025-04-26 00:19:31 +00:00
K900 c8c30c91d5 Merge remote-tracking branch 'origin/master' into staging-next 2025-04-25 16:12:45 +03:00
aleksana 80e51660ea maintainers/scripts/bootstrap-files: Add loongarch64 to CROSS_TARGETS 2025-04-23 22:57:38 +08:00
aleksana 9d2c9b5be4 maintainers/scripts/bootstrap-files: fix generated file formatting 2025-04-23 22:57:37 +08:00
nixpkgs-ci[bot] 30095bf054
Merge 21c17995f5 into haskell-updates 2025-04-22 00:19:52 +00:00
Tristan Ross 88f0276649
check-meta: add a teams attribute (#394797) 2025-04-20 16:17:39 -07:00
sternenseemann 6eafb08399 Merge commit ee446f457b into haskell-updates 2025-04-19 20:48:13 +02:00
K900 61f47d87d6
kdePackages: Gear 24.12 -> 25.04, assorted cleanups (#399446) 2025-04-18 13:22:35 +03:00
Morgan Jones 0173b12099
maintainers/scripts: add get-maintainer-pings-between.sh
Sometimes it is useful to see which maintainers your change will ping,
to know who you are going to spam in advance.
2025-04-17 23:54:30 -07:00
K900 6045aeb8e0 maintainers/scripts/kde: support updating cargoDeps 2025-04-17 13:19:36 +03:00
Pol Dellaiera 8a61921ea9
typst: add initial support for typst packages (#369283) 2025-04-17 09:43:04 +00:00
nixpkgs-ci[bot] 73a1ced090
Merge c73deb7619 into haskell-updates 2025-04-17 00:19:30 +00:00
Austin Horstman ec2ff51350
luaPackages.bit32: 5.3.0-1 -> 5.3.5.1-1
Switches from the archived lua-compat-5.2 repository to the maintained
lua-compat-5.3 version.
2025-04-16 08:58:31 -05:00
nixpkgs-ci[bot] f1ca36684b
Merge aed881aa96 into haskell-updates 2025-04-11 00:19:43 +00:00
Matthieu C. 446feb2c0c luaPackages.grug-far-nvim: init at 20250304
I've added the tests because I like the ability to check the behavior of
the plugin when run in the sandbox without my crazy config.
It also helps documenting how to check the plugin when running updates.
2025-04-10 19:06:35 +02:00
Wolfgang Walther c1e7bdadb0
maintainers/scripts/haskell/regenerate-hackage-packages.sh: run nixfmt without --fast as well 2025-04-06 11:35:14 +02:00
Gongqi Huang c47a2a8ac7 typst: add support to instantiate typst with a set of typst packages 2025-04-06 09:02:03 +02:00
Gongqi Huang d976d61d9e typst: add typst packages from typst universe 2025-04-06 09:01:58 +02:00
Wolfgang Walther 4b1644526a
maintainers/scripts/haskell/regenerate-hackage-packages.sh: run nixfmt on hackage-packages.nix 2025-04-05 14:20:08 +02:00
Stanislav Asunkin 51934865ad luaPackages.luv: use manual packaging
* add tests
* add update script
* build with shared libluv
2025-04-03 23:32:32 +03:00
Stanislav Asunkin 317e618079 luaPackages.luv: 1.48.0-2 -> 1.50.0-1 2025-04-03 23:24:43 +03:00
nixpkgs-ci[bot] caaed78d07
Merge e607ef1af0 into haskell-updates 2025-03-12 00:18:31 +00:00
Jan Tojnar 1238304c25
Merge maintainers/scripts/update: Allow updating in (reverse) topological order (#386490) 2025-03-11 11:28:44 +01:00
nixpkgs-ci[bot] 7a8e4b332f
Merge 1eeeaa0843 into haskell-updates 2025-03-05 00:18:32 +00:00
Matthieu C. 3b33c51443 vimPlugins.mini-test: build from lua package
I needed the lua package to run the tests for grug-far-nvim
2025-03-04 22:47:32 +01:00
Jan Tojnar ce96c79779 maintainers/scripts/update: Allow updating in (reverse) topological order
Previously, when updating multiple packages, we just updated them in arbitrary order. However, when some of those packages depended on each other, it could happen that some of the intermediary commits would not build because of version constraints on dependencies.

If we want each commit in the history to build when feasible, we need to consider four different scenarios:

1. Updated dependant is compatible with both the old and the new version of the dependency. Order of commits does not matter. But updating dependents first (i.e. reverse topological order) is useful since it allows building each package on the commit that updates it with minimal rebuilds.
2. Updated dependant raises the minimal dependency version. Dependency needs to be updated first (i.e. topological order).
3. Old dependant sets the maximal dependency version. Dependant needs to be updated first (i.e. reverse topological order).
4. Updated dependant depends on exact version of dependency and they are expected to be updated in lockstep. The earlier commit will be broken no matter the order.

This change allows selecting the order of updates to facilitate the first three scenarios. Since most package sets only have loose version constraints, the reverse topological order will generally be the most convenient. In major package set updates like bumping GNOME release, there will be exceptions (e.g. libadwaita typically requires GTK 4 from the same release) but those were probably in broken order before as well.

The downside of this feature is that it is quite slow – it requires instantiating each package and then querying Nix store for requisites.
It may also fail to detect dependency if there are multiple variants of the package and dependant uses a different one than the canonical one.

Testing with:

    env GNOME_UPDATE_STABILITY=unstable NIX_PATH=nixpkgs=$HOME/Projects/nixpkgs nix-shell maintainers/scripts/update.nix --arg predicate '(path: pkg: path == ["gnome-shell"] || path == ["mutter"] || path == ["glib"] || path == ["gtk3"] || path == ["pango"] || path == ["gnome-text-editor"])' --argstr order reverse-topological --argstr commit true --argstr max-workers 4
2025-03-03 00:46:17 +01:00
Jan Tojnar 1d2c1810eb maintainers/scripts/update: Prepare for ordered updates
Just minor refactorings:

- Extract `updater_tasks` into a variable.
- Make `main` itself async.
2025-03-03 00:46:17 +01:00
Jan Tojnar f54d20c3a1 maintainers/scripts/update: Do not try to print error when there is not one
This can happen e.g. due to an error during `merge_changes` since we do not do `stderr=PIPE` for git commands.
2025-03-03 00:46:06 +01:00
Jan Tojnar e3772a9bcb maintainers/scripts/update: Mark queue jobs as done
I believe this is only relevant if we were to `join` the queue itself but it is a good practice anyway.
https://docs.python.org/3/library/asyncio-queue.html#asyncio.Queue.task_done
2025-03-02 23:03:12 +01:00
Jan Tojnar fdea10b433 maintainers/scripts/update: Fix update_info type
This was revealed when we added return type to `check_subprocess_output`.
2025-03-02 23:03:12 +01:00
Jan Tojnar 76f44542a8 maintainers/scripts/update: Add missing type hints 2025-03-02 23:03:12 +01:00
Jan Tojnar 81aed8eb80 maintainers/scripts/update: Modernize types
`list`, `dict` and `tuple` can accept generic arguments since Python 3.9:
https://docs.python.org/3.9/whatsnew/3.9.html#type-hinting-generics-in-standard-collections

`T | None` can be used instead of `Optional` since 3.10:
https://docs.python.org/3.10/whatsnew/3.10.html#pep-604-new-type-union-operator
2025-03-02 23:03:12 +01:00
Jan Tojnar b91cb89649 maintainers/scripts/update: Format with black 2025-03-02 23:03:12 +01:00
nixpkgs-ci[bot] 183c86b4a8
Merge f03c983c83 into haskell-updates 2025-03-02 00:19:46 +00:00
Austin Horstman b81fe3458f luarocks-packages: fix papis.nvim name 2025-03-01 12:29:26 +01:00
sternenseemann 12502a289b Merge commit e4dd0c7064 into haskell-updates 2025-02-24 18:52:02 +01:00
PerchunPak 70705198f6
nvim-dbee: build manually instead of using luarocks package
https://github.com/kndndrj/nvim-dbee/issues/189
2025-02-22 12:16:35 +01:00
sternenseemann d9bdd7128e Merge commit bbdc2b27 into haskell-updates 2025-02-20 12:05:07 +01:00
K900 20fe96061c maintainers/scripts/kde: handle duplicate tarballs properly 2025-02-19 12:58:07 +03:00
Wolfgang Walther 13517dc5da maintainers/scripts/haskell: add unbreak.nu script
The new script runs through all packages marked as broken in
broken.yaml, tries to build them, and removes them from the file if they
do.
2025-02-17 01:59:39 +01:00
nixpkgs-ci[bot] e2f714df2d
Merge f16bb6e46d into haskell-updates 2025-02-17 00:19:29 +00:00
Matthieu C. f30319b36f lua51Packages.lualine-nvim: init
vimPlugins.lualine-nvim: use buildNeovimPlugin instead

now packaged from lua
2025-02-16 22:44:26 +01:00
Matthieu C. 9cd7492b3e vimPlugins.oil-nvim: rebuild via lua51Packages
I tried to run the tests but got ~13 errors so I gave up
2025-02-16 21:19:56 +01:00
Gaétan Lepage 1fd181c4a3
vimPlugins.lzextras: init at 0.1.19 (#381371) 2025-02-16 12:22:12 +01:00
nixpkgs-ci[bot] b8a1cd2fb3
Merge 350c5970da into haskell-updates 2025-02-16 00:19:51 +00:00
Matthieu C. daa17d7a0d vimPlugins.nvim-web-devicons: use buildNeovimPlugin instead
now packaged from lua
2025-02-15 17:41:28 +01:00
BirdeeHub 7b2e8203fd vimPlugins.lzextras: init at 0.1.17
extensions repository for https://github.com/BirdeeHub/lze
2025-02-13 16:59:40 -08:00
sternenseemann b3d74de2a1 maintainers/haskell/merge-and-open-pr.sh: target staging
We can't update the package list after the merge since it may be weeks
until the changes propagate to master and the channels.
2025-02-12 12:34:15 +01:00
nixpkgs-ci[bot] caa383afc4
Merge 83a2581c81 into haskell-updates 2025-02-12 00:18:13 +00:00
K900 65ecf34ce2 scripts/kde/generate-sources: use download.kde.org file listings directly 2025-02-11 14:31:37 +03:00
nixpkgs-ci[bot] a9df14cc6a
Merge e3e90b8e62 into haskell-updates 2025-02-11 00:17:52 +00:00
PerchunPak 49e10c7b80
luaPackages.nvim-dbee: init at 0.1.9-1 2025-02-10 14:17:41 +01:00
nixpkgs-ci[bot] 01d7c7caba
Merge 0dc3049ff7 into haskell-updates 2025-02-02 00:18:39 +00:00
Austin Horstman 48ac58753b
luarocks-packages: fix sorting 2025-01-28 15:33:33 -06:00