-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
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
bgpalerter: init at 1.28.1 #115474
bgpalerter: init at 1.28.1 #115474
Conversation
buildPhase = '' | ||
runHook preBuild | ||
|
||
ln -s ${buildEnv}/lib/node_modules node_modules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
6000 lines is a too much code for a single package. Can you look pkgs/development/node-packages/node-packages.json
on how to create build dependencies that gets added shared node packages set.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, that's done. I've added the new packages in a separate commit as the regenerated file affects other packages as well.
50f42a5
to
c26860d
Compare
Added the dependencies into the shared node package set as suggested, and cleaned up the expression. The new generated node package set will affect other packages so I've added it in a separate commit. |
@zhaofengli please resolve the merge conflicts. |
I rebased the bgpalerter here: https://github.com/Mic92/nixpkgs/tree/bgpalerter-rebased |
Hi, sorry, been using bgpalerter in an overlay with yarn2nix and haven't kept this PR up to date. Let me test and push the rebased version from @Mic92 in a bit. |
Well, 1.27.1 with the latest nodePackages fails with the use of a deprecated function:
This is where I want to bring this HN comment up. To quote the author:
I have to agree with their point here. We want to deliver upstream's original intent, and when the upstream clearly specifies which exact versions of dependencies they want to use in their lock file, we should respect that and use those exact versions. Yes, it's deprecated. And yes, we should bump up to 1.28.1 and things will be alright. But this whole thing is impossible to maintain without silently breaking things everywhere (here the program starts but does not work). BGPAlerter is part of my monitoring system, and I expect it to work and keep working. Not a dig at the JavaScript folks, but npm is not a very disciplined ecosystem of packages. Many packages there are goofy and don't care about semver. And here we are, ignoring semver completely (this is even worse than The developer experience is abysmal as well, to say the least. This PR and #126664 are just two examples of endless merge conflicts resulting from frequent completely unchecked change-the-world updates to a single file. To add to this madness, Now for the actionable part. "6000 lines is a too much code for a single package." is a valid concern, but we have had alternative approaches where we use fixed-output derivations and don't interfere with language-specific package managers. In the spirit of Okay, thank you for listening to my TED talk. Updated the PR to bump the package to 1.28.1 and re-generate the packages with |
Just created a draft PR at #128749 for the proposed fetcher. |
Don't get me wrong. node2nix sucks for many reasons (like the scalability you mentioned) but non of the alternatives where suitable for nixpkgs so far. Here is a issue regarding caching/parallel downloads: svanderburg/node2nix#181 |
Maybe just skip node-packages.nix for now and only update the json... |
As I mentioned in #128749, the alternative that I proposed does not attempt to Nixify the dependencies or reimplement the fetching. It simply uses the regular language-specific package manager which happens to provide the reproducibility we need.
Sure, I'll let the merger do the generation for now. (from linked issue)
It's naive assumptions like this that is making |
Also pinging @adisbladis out of courtesy since they seem to be the person referred to in the HN comment who suggested the approach. Please read my comment as well as #128749. |
I marked this as stale due to inactivity. → More info |
Will be folded into #128749. |
Motivation for this change
BGPAlerter is a self-configuring BGP monitoring tool.
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)