We are migrating packages that meet below requirements:
1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration
The tool is here: https://github.com/Aleksanaa/by-name-migrate.
The indentation stripping semantics of strings are fairly bad and have a
few gotchas where the resulting string has not the intended indentation.
This commit fixes most if not all such instances in Nixpkgs.
I tried to strive a balance between keeping the diff small and
reformatting/refactoring the code to look better. In general,
reformatting should be left to Nixfmt.
Note that this causes a lot of rebuilds by design. All changes need to
be thoroughly vetted and reviewed for correctness. There is no automatic
way to prove correctness.
List of files to fix generated by running
https://gerrit.lix.systems/c/lix/+/2092 on Nixpkgs and looking at the
warnings.
Without the change `grub2` build occasionally fails as:
https://hydra.nixos.org/log/h04imslmgy9l33z6xxsaf9v4svqsc3n2-grub-2.12-rc1.drv
$ msgmerge --update --lang=de de.po grub.pot
$ msgmerge --update --lang=de de.po grub.pot
...
de.po:745: end-of-file within string
de.po:745: missing 'msgstr' section
Here `msgmerge --update` attempts to update `de.po` from two parallel
`make` calls when translation updates are happening.
The change works around `de.po` stomping bu regenerating translations
sequentially.
Co-authored-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
- build from latest git
- remove all the backports
- manually forward-port + vendor the hiddenentry patch (original link was dead btw)
- vendor (and check) the exact gnulib version grub wants
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
Fix an issue where initrd images are separated by ^ instead of
space. This was ocurring with menu entries for probed linux operating
systems.
See https://savannah.gnu.org/bugs/?47681
* GCC 10 support.
* clang 10 support.
* SBAT support.
* LUKS2 support.
* Drop small MBR gap support.
* Xen Security Modules (XSM/FLASK) support.
* The lockdown mechanism similar to the Linux kernel one.
* Disable the os-prober by default.
* Many backports of GRUB distros specific patches.
* BootHole and BootHole2 fixes.
* XFS bigtime support.
* ...and tons of other fixes and cleanups...