FS#74278 - [apm] Force me to be stuck in Node v16 instead of latest

Attached to Project: Community Packages
Opened by Axel Navarro (navarroaxel) - Wednesday, 30 March 2022, 11:46 GMT
Last edited by Caleb Maclennan (alerque) - Monday, 22 August 2022, 11:13 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Caleb Maclennan (alerque)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 7
Private No

Details

Description:
In this change https://github.com/archlinux/svntogit-community/commit/c4849b77116e0637c9282af18567c428507374eb
depends=('nodejs>=10') was replaced with depends=(nodejs-lts-gallium)
This force the users to use a specific nodejs package.


Additional info:
* package version(s)
apm 2.6.5-1 or latert
* config and/or log files etc.
* link to upstream bug report, if any

Steps to reproduce:
In a clean Arch Linux installation
- Install nodejs package via pacman.
- Install atom package, the apm 2.6.5-2 will be installed as a dependency.
- Pacman prompt to confirm replacing nodejs with nodejs-lts-gallium because it's in conflict.
This task depends upon

Closed by  Caleb Maclennan (alerque)
Monday, 22 August 2022, 11:13 GMT
Reason for closing:  Won't fix
Additional comments about closing:  Package dropped to AUR.
Comment by Caleb Maclennan (alerque) - Thursday, 07 April 2022, 14:32 GMT
I'd be happy do consider patches that allow apm and atom to build with newer nodejs, but upstream does not official support such new node versions yet and I was hitting a wall trying to get anything to build. The alternative was dropping atom & apm packages from the [community] repos altogether—which nearly happened. As of right now there is at least a combination that works again.

Now that the bump to Electron 11 is past it might be easier to work out how to patch for Nodejs 17+, but I don't have more time to sink into this right now. Again patches welcome!

If it would help anybody I think I could also do with with depends=('nodejs<17') so that older node-lts packages could be used as well. I only locked it to gallium because that was the newest one I could get to work. If being able to use old ones is useful let me know.
Comment by Axel Navarro (navarroaxel) - Thursday, 07 April 2022, 15:06 GMT
I just compiled the apm package using Node.js v17.8 in archlinux:base-devel Docker image using only this change: 'nodejs>=16'.
BTW, checking the GitHub repo for apm, only v12 and v14 is officially supported in the CI workflow.

Comment by Caleb Maclennan (alerque) - Thursday, 07 April 2022, 17:39 GMT
@navarroaxel APM isn't a huge problem because I switched to 2.6.5 (which is missing the Git tag but seems to have been intended to be a release. Support for >=16 is in there.

However I can't say the same for atom itself. My attempts to build this worked fine for the cli package manager, but trying to compile atom using atm when built with a newer nodejs failed. That's the deal breaker right now as for as I know. Happy to be proven wrong or see patch that makes it work.
Comment by Caleb Maclennan (alerque) - Thursday, 07 April 2022, 17:52 GMT
It's possible that whatever I was hung up on with new nodejs builds might have gotten fixed via other routes later in my overhaul. I'm running a couple more builds now to check that there actually still is a hold up....
Comment by Caleb Maclennan (alerque) - Thursday, 07 April 2022, 18:26 GMT
No, this is still a problem; the atom build dies a hard death on nodejs > 16. apm builds fine, but atom doesn't follow suit. Since they need to match, we're stuck on this.

The culprit seems to be the fs-admin module, but I honestly don't have time to debug this right now. For my purposes using the LTS release isn't the end of the world and I have a 3 day old daughter to care for in my "spare" time.

Again I'm happy to accept patches if anybody can make apm+atom both build and cooperate.
Comment by Caleb Maclennan (alerque) - Thursday, 07 April 2022, 18:28 GMT
By the way for anyone messing with this I left the nodejs=17 build of apm in [community-staging] for now, if you play with the atom build you can use `staging-x86_64-build` from the devtools package to test build it against that apm.
Comment by Caleb Maclennan (alerque) - Monday, 22 August 2022, 11:12 GMT
As a result of being discontinued upstream and so unmaintained that packaging was problematic Atom & APM have been dropped from Arch official packaging to the AUR.

Loading...