leycec/raiagent

[Bug] `nodejs-r1` eclass does *not* require `npm` in `${BDEPEND}`

Closed this issue · 3 comments

Hi @leycec !
I was trying to find an overlay that contained a pyright ebuild. I have to say, yours looks amazing! Great explanations on the README.md.

Thing is, when I tried to install pyright, portage told me to compile nodejs with the npm use flag enabled. I had disabled it in order to minimize the presence of other package managers in my system.

I manually changed the nodejs eclass and removed the [npm] use flag requirement. I was able to install pyright and get it working immediately (using emacs).

So my question is, why is it enforced? I have to preface this by noting that I am not familiar with the nodejs eco system at all.
However, when I looked at the eclass, I wasn't able to find "npm" used anywhere.
Is there something I am missing? How come pyright works?

Thanks in advance!

leycec commented

Excellent questions! The answer to all of your questions and more is: "I have no idea, I should not be trusted, and I am probably (but not necessarily) dumb."

In short, I cobbled together this nodejr-r1 eclass from a few other third-party NodeJS eclasses I grepped online. Like you, I mostly have no idea what NodeJS even is. I just copy-pasted from everybody else, washed my unclean hands, and called it a day. Everybody else includes:

What Are You Trying to Say, @leycec?

That... you're totally right! I'll drop the npm requirement from BDEPEND (i.e., build-time dependencies) straight away. I suspect this is a holdover from a prior iteration of this eclass, which did once actually require npm. But that's all commented out and water under the bridge, now.

Thanks for bringing this to my attention, @lima-limon-inc. You are the ultimate citrus fruit rich in vitamin C. 🍋

( ゚▽゚)/

Thanks for bringing this to my attention, @lima-limon-inc. You are the ultimate citrus fruit rich in vitamin C. 🍋

Thank you @leycec ! I do not know why, but people always call me bitter! ;)

leycec commented

Resolved by 4597cc5. Tomas truly is the best human.