An automated assembly line for Visual Studio Code on ARM
headmelted.com
headmelted.com
How is this better than a fork? Git seems like it would handle merges much better than this DIY patch pile.
I agree - I was originally doing this with rebases. The problem I ran into over time was that because things upstream were changing around without my knowledge (which they should), files would move and the replayed steps would break. Even worse was when the rebase would succeed due to no merge conflicts, only to find out later on that the code file is now jibberish as the core team have taken a different direction earlier in the file / in an import / removed a variable etc.
I could have gone through and manually worked around this, but so much was changing, and so quickly (which is a good thing) that it was an uphill battle.
It's also possible that this is a solved problem in git rebase that I'm not aware of (I'm far from an expert), but by that point I'd kind of come to the realisation I was doing it wrong anyway (hacking together multiple Ubuntu versions, pulling packages from different releases etc.)
I now have a docker container I've put together that I intend to expand on (it's "cobbler" in my github, and referenced from this project) that builds the toolchain as a layer over Xenial - this takes a lot of the other hackery out of the equation.
It's beside the point but given that the goal of this when I set out was better tools on ARM and Chromebooks, I'm hoping to expand the docker image out to all of the architectures that debian supports (should be trivial) with static user-space QEMU enabled for all of them with mounted binfmt support (less trivial, but privileged mode should make it doable) - the idea being that adding a foreign architecture for something that's already building on Travis / Circle / Gitlab etc. should be as simple as "switch-arch arm64" before compiling and testing. Obviously, this assumes no exotic platform-specific calls.
Sorry for the rambling response, and thanks for the question.
I'm making slow progress through the build system to work out what needs to be done - others are likely to be faster than I!
I wanted to have arm64 packages out in the meantime that people could use now - Electron will run as a 32-bit executable, but everything else (like the native extensions) are compiled to ARM64 (things like Oniguruma and node-gyp) to reap whatever benefits can be had from ARMv8 on those devices.
It also means that if/when Electron starts shipping ARM64 binaries I can switch over without breaking anything (users would likely not even know unless they had your shell savvy-ness!)
Edit: By the way, if you're looking for a starting point check out Chromium Embedded Framework (CEF), that's where we'd need to start with building out ARM64 support last I looked (then Electron, then this project).
Will take a look at CEF, though my dev skills have atrophied in recent years.
Would the Travis CI cron job system work?
Thanks!