···8687Attribute Set `lib.platforms` defines [various common lists](https://github.com/NixOS/nixpkgs/blob/master/lib/systems/doubles.nix) of platforms types.
880000000000000000089### `tests` {#var-meta-tests}
9091::: {.warning}
···173174### `hydraPlatforms` {#var-meta-hydraPlatforms}
175176-The list of Nix platform types for which the Hydra instance at `hydra.nixos.org` will build the package. (Hydra is the Nix-based continuous build system.) It defaults to the value of `meta.platforms`. Thus, the only reason to set `meta.hydraPlatforms` is if you want `hydra.nixos.org` to build the package on a subset of `meta.platforms`, or not at all, e.g.
177178```nix
179meta.platforms = lib.platforms.linux;
···8687Attribute Set `lib.platforms` defines [various common lists](https://github.com/NixOS/nixpkgs/blob/master/lib/systems/doubles.nix) of platforms types.
8889+### `badPlatforms` {#var-meta-badPlatforms}
90+91+The list of Nix [platform types](https://github.com/NixOS/nixpkgs/blob/b03ac42b0734da3e7be9bf8d94433a5195734b19/lib/meta.nix#L75-L81) on which the package is known not to be buildable.
92+Hydra will never create prebuilt binaries for these platform types, even if they are in [`meta.platforms`](#var-meta-platforms).
93+In general it is preferable to set `meta.platforms = lib.platforms.all` and then exclude any platforms on which the package is known not to build.
94+For example, a package which requires dynamic linking and cannot be linked statically could use this:
95+96+```nix
97+meta.platforms = lib.platforms.all;
98+meta.badPlatforms = [ lib.systems.inspect.patterns.isStatic ];
99+```
100+101+The [`lib.meta.availableOn`](https://github.com/NixOS/nixpkgs/blob/b03ac42b0734da3e7be9bf8d94433a5195734b19/lib/meta.nix#L95-L106) function can be used to test whether or not a package is available (i.e. buildable) on a given platform.
102+Some packages use this to automatically detect the maximum set of features with which they can be built.
103+For example, `systemd` [requires dynamic linking](https://github.com/systemd/systemd/issues/20600#issuecomment-912338965), and [has a `meta.badPlatforms` setting](https://github.com/NixOS/nixpkgs/blob/b03ac42b0734da3e7be9bf8d94433a5195734b19/pkgs/os-specific/linux/systemd/default.nix#L752) similar to the one above.
104+Packages which can be built with or without `systemd` support will use `lib.meta.availableOn` to detect whether or not `systemd` is available on the [`hostPlatform`](#ssec-cross-platform-parameters) for which they are being built; if it is not available (e.g. due to a statically-linked host platform like `pkgsStatic`) this support will be disabled by default.
105+106### `tests` {#var-meta-tests}
107108::: {.warning}
···190191### `hydraPlatforms` {#var-meta-hydraPlatforms}
192193+The list of Nix platform types for which the [Hydra](https://github.com/nixos/hydra) [instance at `hydra.nixos.org`](https://nixos.org/hydra) will build the package. (Hydra is the Nix-based continuous build system.) It defaults to the value of `meta.platforms`. Thus, the only reason to set `meta.hydraPlatforms` is if you want `hydra.nixos.org` to build the package on a subset of `meta.platforms`, or not at all, e.g.
194195```nix
196meta.platforms = lib.platforms.linux;
···189 ];
190 };
19100000000192 linux_testing = let
193 testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
194 kernelPatches = [
···565 linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
566 linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1);
567 linux_6_2 = recurseIntoAttrs (packagesFor kernels.linux_6_2);
0568 } // lib.optionalAttrs config.allowAliases {
569 linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11"; # Added 2022-11-08
570 linux_5_18 = throw "linux 5.18 was removed because it reached its end of life upstream"; # Added 2022-09-17
···632 packageAliases = {
633 linux_default = packages.linux_6_1;
634 # Update this when adding the newest kernel major version!
635- linux_latest = packages.linux_6_2;
636 linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake";
637 linux_rt_default = packages.linux_rt_5_4;
638 linux_rt_latest = packages.linux_rt_6_1;
···189 ];
190 };
191192+ linux_6_3 = callPackage ../os-specific/linux/kernel/linux-6.3.nix {
193+ kernelPatches = [
194+ kernelPatches.bridge_stp_helper
195+ kernelPatches.request_key_helper
196+ kernelPatches.fix-em-ice-bonding
197+ ];
198+ };
199+200 linux_testing = let
201 testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
202 kernelPatches = [
···573 linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15);
574 linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1);
575 linux_6_2 = recurseIntoAttrs (packagesFor kernels.linux_6_2);
576+ linux_6_3 = recurseIntoAttrs (packagesFor kernels.linux_6_3);
577 } // lib.optionalAttrs config.allowAliases {
578 linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11"; # Added 2022-11-08
579 linux_5_18 = throw "linux 5.18 was removed because it reached its end of life upstream"; # Added 2022-09-17
···641 packageAliases = {
642 linux_default = packages.linux_6_1;
643 # Update this when adding the newest kernel major version!
644+ linux_latest = packages.linux_6_3;
645 linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake";
646 linux_rt_default = packages.linux_rt_5_4;
647 linux_rt_latest = packages.linux_rt_6_1;
+1
pkgs/top-level/python-aliases.nix
···186 pushbullet = pushbullet-py; # Added 2022-10-15
187 Pweave = pweave; # added 2023-02-19
188 pyalmond = throw "pyalmond has been removed, since its API endpoints have been shutdown"; # added 2023-02-02
0189 pydrive = throw "pydrive is broken and deprecated and has been replaced with pydrive2."; # added 2022-06-01
190 PyGithub = pygithub; # added 2023-02-19
191 pyGtkGlade = throw "Glade support for pygtk has been removed"; # added 2022-01-15
···186 pushbullet = pushbullet-py; # Added 2022-10-15
187 Pweave = pweave; # added 2023-02-19
188 pyalmond = throw "pyalmond has been removed, since its API endpoints have been shutdown"; # added 2023-02-02
189+ pyblake2 = throw "pyblake2 is deprecated in favor of hashlib"; # added 2023-04-23
190 pydrive = throw "pydrive is broken and deprecated and has been replaced with pydrive2."; # added 2022-06-01
191 PyGithub = pygithub; # added 2023-02-19
192 pyGtkGlade = throw "Glade support for pygtk has been removed"; # added 2022-01-15