Matthieu Gras wrote:
It also has a quite painful and esoteric build process that is
difficult
to adapt to different packaging guidelines.
Before you can even start packaging VSCode in a way compliant to the
packaging guidelines, you first have to do that with Electron. So far nobody
even tried. All the Coprs that I've seen that try to ship Electron use blobs
at some level.
The normal Electron and Electron app build process relies heavily on
downloading prebuilt blobs at build time. To package this thing in a way
acceptable for Fedora, everything has to be built from source and packaged
separately, and then the build process has to be patched to use the system
version instead of attempting to download a blob from the Internet (which
cannot possibly work in Koji anyway).
You have to first build libchromiumcontent from source, which is comparable
in effort to the chromium and qt5-qtwebengine packages (but some of the work
done there can be reused), then build Electron from source using that
(upstream normally uses a libchromiumcontent blob if you try to build
Electron "from source" using their instructions), and only then you can
build applications such as VSCode (which will by default want to use an
Electron blob that even bundles the libchromiumcontent blob inside).
Kevin Kofler