+2
-4
pkgs/by-name/README.md
+2
-4
pkgs/by-name/README.md
···-This is the recommended way to add new top-level packages to Nixpkgs [when possible](#limitations).+Packages found in the name-based structure are automatically included, without needing to be added to `all-packages.nix`. However if the implicit attribute defaults need to be changed for a package, this [must still be declared in `all-packages.nix`](#changing-implicit-attribute-defaults).
+2
pkgs/test/nixpkgs-check-by-name/README.md
+2
pkgs/test/nixpkgs-check-by-name/README.md
···- New manual definitions of `pkgs.${name}` (e.g. in `pkgs/top-level/all-packages.nix`) with `args = { }`+- New top-level packages defined using `pkgs.callPackage` must be defined with a package directory.
+4
pkgs/test/nixpkgs-check-by-name/default.nix
+4
pkgs/test/nixpkgs-check-by-name/default.nix
······# We'd run into https://github.com/NixOS/nix/issues/2706 unless the store is initialised first···
+29
-7
pkgs/test/nixpkgs-check-by-name/src/eval.nix
+29
-7
pkgs/test/nixpkgs-check-by-name/src/eval.nix
···
+89
-10
pkgs/test/nixpkgs-check-by-name/src/eval.rs
+89
-10
pkgs/test/nixpkgs-check-by-name/src/eval.rs
···························
+28
-8
pkgs/test/nixpkgs-check-by-name/src/main.rs
+28
-8
pkgs/test/nixpkgs-check-by-name/src/main.rs
························
+61
pkgs/test/nixpkgs-check-by-name/src/nixpkgs_problem.rs
+61
pkgs/test/nixpkgs-check-by-name/src/nixpkgs_problem.rs
·········+"pkgs.{attr_name}: This attribute is defined using `_internalCallByNamePackageFile`, which is an internal function not intended for manual use.",+"pkgs.{package_name}: This top-level package was previously defined in {}, but is now manually defined as `callPackage {call_package_arg} {{ }}` (e.g. in `pkgs/top-level/all-packages.nix`). Please move the package back and remove the manual `callPackage`.",+"pkgs.{package_name}: This top-level package was previously defined in {}, but is now manually defined as `callPackage {call_package_arg} {{ ... }}` (e.g. in `pkgs/top-level/all-packages.nix`). While the manual `callPackage` is still needed, it's not necessary to move the package files.",+"Since the second `callPackage` argument is `{ }`, no manual `callPackage` (e.g. in `pkgs/top-level/all-packages.nix`) is needed anymore."+"Since the second `callPackage` argument is not `{ }`, the manual `callPackage` (e.g. in `pkgs/top-level/all-packages.nix`) is still needed."+"pkgs.{package_name}: This is a new top-level package of the form `callPackage {call_package_arg} {{ }}`. Please define it in {} instead. See `pkgs/by-name/README.md` for more details. {extra}",
+50
-8
pkgs/test/nixpkgs-check-by-name/src/ratchet.rs
+50
-8
pkgs/test/nixpkgs-check-by-name/src/ratchet.rs
·········+/// This checks that all new package defined using callPackage must be defined via pkgs/by-name+/// It also checks that once a package uses pkgs/by-name, it can't switch back to all-packages.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/broken-autocall/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/broken-autocall/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/empty-base/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/empty-base/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/incorrect-shard/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/incorrect-shard/default.nix
+3
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/all-packages.nix
+3
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/all-packages.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/default.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/default.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/expected
+1
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/expected
···+pkgs.foo: This attribute is defined using `_internalCallByNamePackageFile`, which is an internal function not intended for manual use.
+1
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/foo.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/foo.nix
···
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/pkgs/by-name/README.md
pkgs/test/nixpkgs-check-by-name/tests/internalCallPackage/pkgs/by-name/README.md
This is a binary file and will not be displayed.
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/invalid-package-name/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/invalid-package-name/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/invalid-shard-name/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/invalid-shard-name/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/missing-package-nix/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/missing-package-nix/default.nix
+4
-20
pkgs/test/nixpkgs-check-by-name/tests/mock-nixpkgs.nix
+4
-20
pkgs/test/nixpkgs-check-by-name/tests/mock-nixpkgs.nix
···
+10
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/all-packages.nix
+10
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/all-packages.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/default.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/default.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/pkgs/by-name/fo/foo1/package.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/pkgs/by-name/fo/foo1/package.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/pkgs/by-name/fo/foo2/package.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/pkgs/by-name/fo/foo2/package.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/pkgs/by-name/fo/foo3/package.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/pkgs/by-name/fo/foo3/package.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/pkgs/by-name/fo/foo4/package.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/base/pkgs/by-name/fo/foo4/package.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/default.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/default.nix
···
+4
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/expected
+4
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/expected
···+pkgs.foo1: This top-level package was previously defined in pkgs/by-name/fo/foo1/package.nix, but is now manually defined as `callPackage ... { }` (e.g. in `pkgs/top-level/all-packages.nix`). Please move the package back and remove the manual `callPackage`.+pkgs.foo2: This top-level package was previously defined in pkgs/by-name/fo/foo2/package.nix, but is now manually defined as `callPackage ./without-config.nix { }` (e.g. in `pkgs/top-level/all-packages.nix`). Please move the package back and remove the manual `callPackage`.+pkgs.foo3: This top-level package was previously defined in pkgs/by-name/fo/foo3/package.nix, but is now manually defined as `callPackage ... { ... }` (e.g. in `pkgs/top-level/all-packages.nix`). While the manual `callPackage` is still needed, it's not necessary to move the package files.+pkgs.foo4: This top-level package was previously defined in pkgs/by-name/fo/foo4/package.nix, but is now manually defined as `callPackage ./with-config.nix { ... }` (e.g. in `pkgs/top-level/all-packages.nix`). While the manual `callPackage` is still needed, it's not necessary to move the package files.
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/pkgs/by-name/README.md
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/pkgs/by-name/README.md
This is a binary file and will not be displayed.
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/with-config.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/with-config.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/without-config.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/move-to-non-by-name/without-config.nix
···
+11
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/all-packages.nix
+11
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/all-packages.nix
···
+5
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/base/all-packages.nix
+5
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/base/all-packages.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/base/default.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/base/default.nix
···
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/base/pkgs/by-name/README.md
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/base/pkgs/by-name/README.md
This is a binary file and will not be displayed.
+1
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/default.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/default.nix
···
+4
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/expected
+4
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/expected
···+pkgs.new1: This is a new top-level package of the form `callPackage ... { }`. Please define it in pkgs/by-name/ne/new1/package.nix instead. See `pkgs/by-name/README.md` for more details. Since the second `callPackage` argument is `{ }`, no manual `callPackage` (e.g. in `pkgs/top-level/all-packages.nix`) is needed anymore.+pkgs.new2: This is a new top-level package of the form `callPackage ./without-config.nix { }`. Please define it in pkgs/by-name/ne/new2/package.nix instead. See `pkgs/by-name/README.md` for more details. Since the second `callPackage` argument is `{ }`, no manual `callPackage` (e.g. in `pkgs/top-level/all-packages.nix`) is needed anymore.+pkgs.new3: This is a new top-level package of the form `callPackage ... { }`. Please define it in pkgs/by-name/ne/new3/package.nix instead. See `pkgs/by-name/README.md` for more details. Since the second `callPackage` argument is not `{ }`, the manual `callPackage` (e.g. in `pkgs/top-level/all-packages.nix`) is still needed.+pkgs.new4: This is a new top-level package of the form `callPackage ./with-config.nix { }`. Please define it in pkgs/by-name/ne/new4/package.nix instead. See `pkgs/by-name/README.md` for more details. Since the second `callPackage` argument is not `{ }`, the manual `callPackage` (e.g. in `pkgs/top-level/all-packages.nix`) is still needed.
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/pkgs/by-name/README.md
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/pkgs/by-name/README.md
This is a binary file and will not be displayed.
+1
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/with-config.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/with-config.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/without-config.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/new-package-non-by-name/without-config.nix
···
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/no-by-name/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/no-by-name/default.nix
+3
pkgs/test/nixpkgs-check-by-name/tests/no-eval/all-packages.nix
+3
pkgs/test/nixpkgs-check-by-name/tests/no-eval/all-packages.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/no-eval/default.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/no-eval/default.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/no-eval/pkgs/by-name/fo/foo/package.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/no-eval/pkgs/by-name/fo/foo/package.nix
···
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/non-attrs/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/non-attrs/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/non-derivation/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/non-derivation/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/one-letter/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/one-letter/default.nix
+16
pkgs/test/nixpkgs-check-by-name/tests/only-callPackage-derivations/all-packages.nix
+16
pkgs/test/nixpkgs-check-by-name/tests/only-callPackage-derivations/all-packages.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/only-callPackage-derivations/default.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/only-callPackage-derivations/default.nix
···
pkgs/test/nixpkgs-check-by-name/tests/only-callPackage-derivations/pkgs/by-name/README.md
pkgs/test/nixpkgs-check-by-name/tests/only-callPackage-derivations/pkgs/by-name/README.md
This is a binary file and will not be displayed.
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-different-file/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-different-file/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-empty-arg-gradual/base/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-empty-arg-gradual/base/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-empty-arg-gradual/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-empty-arg-gradual/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-empty-arg/base/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-empty-arg/base/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-empty-arg/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-empty-arg/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-no-call-package/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-no-call-package/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-no-file/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-no-file/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-success/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/override-success/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/package-dir-is-file/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/package-dir-is-file/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/package-nix-dir/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/package-nix-dir/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-absolute/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-absolute/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-escape/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-escape/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-nix-path/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-nix-path/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-parse-failure/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-parse-failure/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-path-subexpr/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-path-subexpr/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-success/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/ref-success/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/shard-file/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/shard-file/default.nix
+6
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/all-packages.nix
+6
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/all-packages.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/default.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/default.nix
···
+4
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/expected
+4
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/expected
···+pkgs.a: This attribute is manually defined (most likely in pkgs/top-level/all-packages.nix), which is only allowed if the definition is of the form `pkgs.callPackage pkgs/by-name/a/a/package.nix { ... }` with a non-empty second argument.+pkgs.b: This is a new top-level package of the form `callPackage ... { }`. Please define it in pkgs/by-name/b/b/package.nix instead. See `pkgs/by-name/README.md` for more details. Since the second `callPackage` argument is `{ }`, no manual `callPackage` (e.g. in `pkgs/top-level/all-packages.nix`) is needed anymore.+pkgs.c: This attribute is manually defined (most likely in pkgs/top-level/all-packages.nix), which is only allowed if the definition is of the form `pkgs.callPackage pkgs/by-name/c/c/package.nix { ... }` with a non-empty second argument.+pkgs.d: This is a new top-level package of the form `callPackage ... { }`. Please define it in pkgs/by-name/d/d/package.nix instead. See `pkgs/by-name/README.md` for more details. Since the second `callPackage` argument is `{ }`, no manual `callPackage` (e.g. in `pkgs/top-level/all-packages.nix`) is needed anymore.
+1
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/pkgs/by-name/a/a/package.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/pkgs/by-name/a/a/package.nix
···
+1
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/pkgs/by-name/c/c/package.nix
+1
pkgs/test/nixpkgs-check-by-name/tests/sorted-order/pkgs/by-name/c/c/package.nix
···
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/success/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/success/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/symlink-escape/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/symlink-escape/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/symlink-invalid/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/symlink-invalid/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/uppercase/default.nix
+1
-1
pkgs/test/nixpkgs-check-by-name/tests/uppercase/default.nix