Skip to content

treewide: switch instances of lib.teams.*.members to the new meta.teams attribute#400458

Merged
numinit merged 2 commits intoNixOS:masterfrom
SigmaSquadron:push-umvsrxumyuqv
Apr 26, 2025
Merged

treewide: switch instances of lib.teams.*.members to the new meta.teams attribute#400458
numinit merged 2 commits intoNixOS:masterfrom
SigmaSquadron:push-umvsrxumyuqv

Conversation

@SigmaSquadron
Copy link
Contributor

@SigmaSquadron SigmaSquadron commented Apr 21, 2025

Follow-up to #394797.

This is my first treewide, and I don't think I broke anything, but I would appreciate a thorough review.

Things done

  • Evaluated on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: kernel The Linux kernel 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: golang Go is a high-level general purpose programming language that is statically typed and compiled. 6.topic: erlang General-purpose, concurrent, functional high-level programming language 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: xfce The Xfce Desktop Environment 6.topic: stdenv Standard environment 6.topic: pantheon The Pantheon desktop environment 6.topic: cinnamon Desktop environment 6.topic: java Including JDK, tooling, other languages, other VMs 6.topic: R R is a programming language for statistical computing and data visualization. 6.topic: LXQt The Lightweight Qt Desktop Environment 6.topic: Lumina DE The Lumina Desktop Environment 6.topic: Enlightenment DE The Enlightenment Desktop Environment 6.topic: cuda Parallel computing platform and API 6.topic: mate The MATE Desktop Environment 6.topic: vscode A free and versatile code editor that supports almost every major programming language. 6.topic: zig Zig is an imperative, general-purpose, statically typed, compiled system programming language. 6.topic: jupyter Interactive computing tooling: kernels, notebook, jupyterlab 6.topic: rocm ROCm is an Advanced Micro Devices software stack for graphics processing unit programming. 6.topic: php PHP is a general-purpose scripting language geared towards web development. 6.topic: k3s Kubernates distribution (https://k3s.io/) 6.topic: deepin 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 6.topic: xen-project Issues and PRs related to the Xen Project Hypervisor. labels Apr 21, 2025
SigmaSquadron added a commit to SigmaSquadron/nixpkgs that referenced this pull request Apr 26, 2025
This was an edge case that NixOS#400458 missed, as there was no
reason to evaluate NixOS configurations during the review process.

This fixes the meta attribute inheritance in the wrapped version of
`xfce.thunar`, which would only be called by a NixOS module, and does
not appear in the main package set.

Reported-by: stormytuna <[email protected]>
Signed-off-by: Fernando Rodrigues <[email protected]>
@jopejoe1
Copy link
Member

jopejoe1 commented Apr 26, 2025

This broke eval of packages under nextcloud30Packages.apps with:

error:
       … while calling a functor (an attribute set with a '__functor' attribute)
         at /nix/store/7lrywm0zarcd43mbdw93j03yl2n57ik6-source/pkgs/servers/nextcloud/packages/default.nix:52:11:
           51|           pname: data:
           52|           self.mkNextcloudDerivation {
             |           ^
           53|             inherit pname data;

       … while calling a functor (an attribute set with a '__functor' attribute)
         at /nix/store/7lrywm0zarcd43mbdw93j03yl2n57ik6-source/pkgs/servers/nextcloud/packages/default.nix:31:9:
           30|         { pname, data }:
           31|         pkgs.fetchNextcloudApp {
             |         ^
           32|           appName = pname;

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: function 'anonymous lambda' called with unexpected argument 'teams'
       at /nix/store/7lrywm0zarcd43mbdw93j03yl2n57ik6-source/pkgs/build-support/fetchnextcloudapp/default.nix:8:1:
            7| }:
            8| {
             | ^
            9|   url,

and also of varnish60Packages.{digest,dynamic,modules}:

error:
       … in the condition of the assert statement
         at /nix/store/pskdfhj9vaw5q9ixfw3mcaqivx212n11-source/lib/customisation.nix:419:9:
          418|       drvPath =
          419|         assert condition;
             |         ^
          420|         drv.drvPath;

       … while evaluating 'validity' to select 'handled' on it
         at /nix/store/pskdfhj9vaw5q9ixfw3mcaqivx212n11-source/pkgs/stdenv/generic/make-derivation.nix:733:22:
          732|
          733|     extendDerivation validity.handled (
             |                      ^
          734|       {

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: attribute 'maintainers' missing
       at /nix/store/pskdfhj9vaw5q9ixfw3mcaqivx212n11-source/pkgs/servers/varnish/digest.nix:50:46:
           49|     homepage = "https://github.com/varnish/libvmod-digest";
           50|     inherit (varnish.meta) license platforms maintainers;
             |                                              ^
           51|   };

@magneticflux-
Copy link
Contributor

@jopejoe1 I think this should work, it just didn't match any previous use patterns.

diff --git a/pkgs/build-support/fetchnextcloudapp/default.nix b/pkgs/build-support/fetchnextcloudapp/default.nix
index ccc079b70204..31f35c0568d3 100644
--- a/pkgs/build-support/fetchnextcloudapp/default.nix
+++ b/pkgs/build-support/fetchnextcloudapp/default.nix
@@ -16,6 +16,7 @@
   description ? null,
   homepage ? null,
   maintainers ? [ ],
+  teams ? [ ],
   unpack ? false, # whether to use fetchzip rather than fetchurl
 }:
 applyPatches (
@@ -27,7 +28,7 @@ applyPatches (
         {
           license = lib.licenses.${license};
           longDescription = description;
-          inherit homepage maintainers;
+          inherit homepage maintainers teams;
         }
         // lib.optionalAttrs (description != null) {
           longDescription = description;

numinit pushed a commit that referenced this pull request Apr 27, 2025
Another edge case of #400458.

Reported-by: jopejoe1 <[email protected]>
Signed-off-by: Fernando Rodrigues <[email protected]>
numinit pushed a commit that referenced this pull request Apr 27, 2025
Another edge case of #400458.

Reported-by: jopejoe1 <[email protected]>
Signed-off-by: Fernando Rodrigues <[email protected]>
jtojnar added a commit to nix-community/nixpkgs-update that referenced this pull request Apr 28, 2025
NixOS/nixpkgs#400458 broke this by replacing `meta.maintainers = [ teams.gnome.members ]` with `meta.teams = [ teams.gnome ]`
rhendric pushed a commit to nix-community/nixpkgs-update that referenced this pull request Apr 28, 2025
NixOS/nixpkgs#400458 broke this by replacing `meta.maintainers = [ teams.gnome.members ]` with `meta.teams = [ teams.gnome ]`
mkg20001 pushed a commit to mkg20001/nixpkgs that referenced this pull request Apr 29, 2025
This was an edge case that NixOS#400458 missed, as there was no
reason to evaluate NixOS configurations during the review process.

This fixes the meta attribute inheritance in the wrapped version of
`xfce.thunar`, which would only be called by a NixOS module, and does
not appear in the main package set.

Reported-by: stormytuna <[email protected]>
Signed-off-by: Fernando Rodrigues <[email protected]>
@khaneliman
Copy link
Contributor

Nixos package search doesn't pull the teams members anymore, so now there are lots of packages with missing maintainer information.

@JohnRTitor
Copy link
Member

We need to PR for nixos-search.

@RossComputerGuy
Copy link
Member

Already mentioned, NixOS/nixos-search#914. This PR just needs someone who is knowledgeable with NixOS search to figure out how to test it.

@khaneliman
Copy link
Contributor

Already mentioned, NixOS/nixos-search#914. This PR just needs someone who is knowledgeable with NixOS search to figure out how to test it.

Sorry, was hidden by github...

@RossComputerGuy
Copy link
Member

Repology now has a PR to make things visible again repology/repology-updater#1492

winterqt pushed a commit that referenced this pull request May 7, 2025
This is a work-around that resolves the issues that spawned from #400458 by adding the team members from teams declared in `meta.teams` to `meta.maintainers`, effectively restoring the original behaviour of the `maintainers` attribute, and thus allowing downstreams to keep consuming `meta.maintainers` without any extra changes to support `meta.teams`.

Follow-up to #394797.

Signed-off-by: Fernando Rodrigues <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: cinnamon Desktop environment 6.topic: cuda Parallel computing platform and API 6.topic: Enlightenment DE The Enlightenment Desktop Environment 6.topic: erlang General-purpose, concurrent, functional high-level programming language 6.topic: flutter Open-source UI software development kit for cross-platform applications 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: golang Go is a high-level general purpose programming language that is statically typed and compiled. 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: java Including JDK, tooling, other languages, other VMs 6.topic: jupyter Interactive computing tooling: kernels, notebook, jupyterlab 6.topic: k3s Kubernates distribution (https://k3s.io/) 6.topic: kernel The Linux kernel 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 6.topic: Lumina DE The Lumina Desktop Environment 6.topic: LXQt The Lightweight Qt Desktop Environment 6.topic: mate The MATE Desktop Environment 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: pantheon The Pantheon desktop environment 6.topic: php PHP is a general-purpose scripting language geared towards web development. 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: R R is a programming language for statistical computing and data visualization. 6.topic: rocm ROCm is an Advanced Micro Devices software stack for graphics processing unit programming. 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: stdenv Standard environment 6.topic: testing Tooling for automated testing of packages and modules 6.topic: vim Advanced text editor 6.topic: vscode A free and versatile code editor that supports almost every major programming language. 6.topic: xen-project Issues and PRs related to the Xen Project Hypervisor. 6.topic: xfce The Xfce Desktop Environment 6.topic: zig Zig is an imperative, general-purpose, statically typed, compiled system programming language. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

10 participants