-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build MELPA package sets without null packages #83378
Build MELPA package sets without null packages #83378
Conversation
293ad70
to
ce3028e
Compare
The current algorithm creates attributes with null values for packages with no source in a variant of MELPA. Though will satify dependencies they produce no files, and though a build that transitively depends on one them will be successful, Emacs won't find them and any code depending on them won't work. The solution with minimal code change would have been filtering the list of results from melpaDerivation by comparing the value against null, but that leads to an infinite recursion. This commit also moves legacy renames from the shared to the unstable set, as the corresponding null value elements won't exist in the stable set anymore. The test used for the problem was: $ nix-build --show-trace ./default.nix -A emacs26Packages.melpaStablePackages.findr error: expression does not evaluate to a derivation (or a set or list of those) The expected output, obtained with this commit is: $ nix-build --show-trace ./default.nix -A emacs26Packages.melpaStablePackages.findr error: attribute 'findr' in selection path 'emacs26Packages.melpaStablePackages.findr' not found
a2f112e
to
b2c8626
Compare
@GrahamcOfBorg build emacs26Packages.melpaStablePackages.findr |
@adisbladis do you have time to review this? |
@adisbladis this affects 20.03 as well, and this branch can be cleanly merged into |
@afrepues Could you cherry-pick this on top of 20.03 and send a separate PR? (Use |
@adisbladis backport to 20.03 in !86213 |
This is a follow up of [1]. With that PR applied, packages will not be null. [1]: NixOS#83378
Motivation for this change
The current algorithm creates attributes with null values for packages
with no source in a variant of MELPA. Though will satify dependencies
they produce no files, and though a build that transitively depends on
one them will be successful, Emacs won't find them and any code
depending on them won't work.
The solution with minimal code change would have been filtering the
list of results from melpaDerivation by comparing the value against
null, but that leads to an infinite recursion.
This commit also moves legacy renames from the shared to the unstable
set, as the corresponding null value elements won't exist in the
stable set anymore.
The test used for the problem was:
The expected output, obtained with this commit is:
Merging into other branches
This can be cleanly merged into release-20.03, merging into an older branch will need to be done by cherry picking.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)