Fixing `bazel_4` after #234710
Error example
https://hydra.nixos.org/build/241174862/nixlog/1
```
Execution platform: //:default_host_platform
third_party/zlib/gzwrite.c:89:20: error: call to undeclared function 'write'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
writ = write(state->fd, strm->next_in, put);
^
```
Similar to #269481 and #269297
Fixing `bazel_5` after #234710
Error example
https://hydra.nixos.org/build/241240612/nixlog/1
```
external/com_google_absl/absl/meta/type_traits.h:560:8: error: builtin __has_trivial_assign is deprecated; use __is_trivially_assignable instead [-Werror,-Wdeprecated-builtins]
(__has_trivial_assign(ExtentsRemoved) || !kIsCopyOrMoveAssignable) &&
```
Similar to #269297, and remaining `bazel_4` is WIP for another PR
The Nixpkgs documentation on the linux kernel builders focused on
using and extending kernels that were already packaged, but never
mentioned that it's possible to also build a kernel almost "from
scratch".
The NixOS documentation went a bit deeper on manual linux kernel
configs, but that information wasn't particularly NixOS-specific.
This commit consolidates the information related to building the
kernel on Nixpkgs's documentation, while keeping any additional
NixOS-specific information on NixOS's documentation.
An additional README.md was created for contributor-facing
documentation.
And also the following refactoring:
hare:
1. Replace `NIX_BUILD_TOP` usage with `mktemp`
2. Enable parallel building
3. Get rid of `config-template.mk`, by using `makeFlagsArray` instead
4. Move `wrapProgram` call to `postFixup`
5. Set the `LOCALVER` environment variable to `nix`, so that the `hare
version` command outputs `dev-nix`[1]
6. Set `meta` attribute `mainProgram`
7. Make the package accessible through `all-packages.nix` instead of
`aliases.nix`
8. Move package path from `pkgs/development/compilers/hare/hare` to
`pkgs/development/compilers/hare`, since the scope is now made at
`pkgs/top-level/hare-packages.nix`
harec:
1. Remove `hardeningDisable = [ "fortify" ];`, since both harec and hare
compile normally with it enabled
2. Enable parallel building
3. Set `meta` attribute `mainProgram`
4. Make the package accessible through `all-packages.nix` instead of
`aliases.nix`
5. Move package path from `pkgs/development/compilers/hare/harec` to
`pkgs/development/compilers/harec`, since the scope is now made at
`pkgs/top-level/hare-packages.nix`
harePackages:
1. Move hare packages scope from
`pkgs/development/compilers/hare/default.nix` to
`pkgs/top-level/hare-packages.nix`
2. Remove `hare` and `harec` from `aliases.nix`, moving them to
`all-packages.nix`
3. Change the `callPackage` argument in `all-packages.nix` from
`../development/compilers/hare` to `./hare-packages.nix`
[1]: 1048620a7a/item/scripts/version (L2)
Co-authored-by: starzation <nixpkgs@starzation.net>