Electron is an application framework built on top of Chromium and NodeJS. It allows creating cross-platform desktop apps using Web tech. [1] The main user of Electron is the Atom IDE [2]. Microsoft Visual Studio Code is also based on Electron. It is also useful for the creation of desktop wrappers for popular web services, e.g. Google Music [3]. Unfortunately, current upstream's approach to "building Electron from source" involves downloading a pre-built libchromiumcontent.so binary from the Internet, which poses obvious security and compatibility risks. This ebuild is based heavily on the Chromium ebuild and follows similar unbundling policy. Additionally, Electron-specific NodeJS headers are installed to /usr/include so that native modules built for Electron-based apps can be compiled against the correct version of NodeJS embedded in Electron. The ebuild is available in the atom overlay (available in layman) [4] and has been submitted for inclusion in a pull request [5]. [1] http://electron.atom.io/ [2] http://atom.io/ [3] https://github.com/twolfson/google-music-electron [4] https://github.com/elprans/atom-overlay [5] https://github.com/gentoo/gentoo/pull/1200
Thanks a lot for your contribution. We're going to merge this package
commit a55e29746e8dee096d59d4c60caa562b70c54c2e (HEAD -> master) Author: Elvis Pranskevichus <elvis@magic.io> AuthorDate: Tue Apr 5 12:29:26 2016 -0400 Commit: Patrice Clement <monsieurp@gentoo.org> CommitDate: Tue May 3 14:43:20 2016 +0000 dev-util/electron: Add ebuild for Github's Electron (v0.36.9) Electron is an application framework built on top of Chromium and NodeJS. It allows creating cross-platform desktop apps using Web tech. [1] The main user of Electron is the Atom IDE [2]. Microsoft Visual Studio Code is also based on Electron. It is also useful for the creation of desktop wrappers for popular web services, e.g. Google Music [3]. Unfortunately, current upstream's approach to "building Electron from source" involves downloading a pre-built libchromiumcontent.so binary from the Internet, which poses obvious security and compatibility risks. This ebuild is based heavily on the Chromium ebuild and follows similar unbunling policy. Additionally, Electron-specific NodeJS headers are installed to /usr/include so that native modules built for Electron-based apps can be compiled against the correct version of NodeJS embedded in Electron. [1] http://electron.atom.io/ [2] http://atom.io/ [3] https://github.com/twolfson/google-music-electron Gentoo-Bug: https://bugs.gentoo.org/579116 Closes: https://github.com/gentoo/gentoo/pull/1200 Package-Manager: portage-2.2.28 Acked-by: Mike Gilbert <floppym@gentoo.org> Signed-off-by: Patrice Clement <monsieurp@gentoo.org> dev-util/electron/Manifest | 7 + dev-util/electron/electron-0.36.12.ebuild | 722 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ dev-util/electron/files/brightray-gentoo-build-fixes.patch | 81 +++++++++++ dev-util/electron/files/chromium-disable-widevine.patch | 9 ++ dev-util/electron/files/chromium-lto-fixes.patch | 26 ++++ dev-util/electron/files/chromium-remove-gardiner-mod-font.patch | 13 ++ dev-util/electron/files/chromium-shared-v8.patch | 15 +++ dev-util/electron/files/chromium-system-ffmpeg-r0.patch | 54 ++++++++ dev-util/electron/files/chromium-system-jinja-r7.patch | 35 +++++ dev-util/electron/files/chromium-system-libvpx-r0.patch | 20 +++ dev-util/electron/files/electron-gentoo-build-fixes.patch | 157 ++++++++++++++++++++++ dev-util/electron/files/libchromiumcontent-gentoo-build-fixes.patch | 75 +++++++++++ dev-util/electron/files/node-gentoo-build-fixes.patch | 50 +++++++ dev-util/electron/metadata.xml | 22 +++ 14 files changed, 1286 insertions(+) create mode 100644 dev-util/electron/Manifest create mode 100644 dev-util/electron/electron-0.36.12.ebuild create mode 100644 dev-util/electron/files/brightray-gentoo-build-fixes.patch create mode 100644 dev-util/electron/files/chromium-disable-widevine.patch create mode 100644 dev-util/electron/files/chromium-lto-fixes.patch create mode 100644 dev-util/electron/files/chromium-remove-gardiner-mod-font.patch create mode 100644 dev-util/electron/files/chromium-shared-v8.patch create mode 100644 dev-util/electron/files/chromium-system-ffmpeg-r0.patch create mode 100644 dev-util/electron/files/chromium-system-jinja-r7.patch create mode 100644 dev-util/electron/files/chromium-system-libvpx-r0.patch create mode 100644 dev-util/electron/files/electron-gentoo-build-fixes.patch create mode 100644 dev-util/electron/files/libchromiumcontent-gentoo-build-fixes.patch create mode 100644 dev-util/electron/files/node-gentoo-build-fixes.patch create mode 100644 dev-util/electron/metadata.xml Please make sure to file a bug in 30 days to have our arch teams stabilise this package. Thanks!
(In reply to Patrice Clement from comment #2) > commit a55e29746e8dee096d59d4c60caa562b70c54c2e (HEAD -> master) > Author: Elvis Pranskevichus <elvis@magic.io> > AuthorDate: Tue Apr 5 12:29:26 2016 -0400 > Commit: Patrice Clement <monsieurp@gentoo.org> > CommitDate: Tue May 3 14:43:20 2016 +0000 Thanks! > dev-util/electron: Add ebuild for Github's Electron (v0.36.9) I get a checksum failure: !!! Previously fetched file: '/var/cache/portage/distfiles/chromium-47.0.2526.110.tar.xz' !!! Reason: Failed on SHA256 verification !!! Got: 65a86d9532e03f94844a4e9b1996af85baeb00c95effe962baa153352483463e !!! Expected: edab0d78709ba5edd35e85d82241de884d75dc46abdf7621b6178fa6647d14af > The main user of Electron is the Atom IDE [2]. Could the (currently terribly broken; see all the entries in this bugtracker) ebuild for app-editors/atom be adapted to use dev-util/electron? > Unfortunately, current upstream's approach to "building Electron from > source" involves downloading a pre-built libchromiumcontent.so binary > from the Internet, which poses obvious security and compatibility risks. Did you patch this, so it does not occur anymore? Is it possible to fix that to e.g. either build the file within dev-util/electron or use the one from www-client/chromium?
(In reply to Dennis Schridde from comment #3) > (In reply to Patrice Clement from comment #2) > > commit a55e29746e8dee096d59d4c60caa562b70c54c2e (HEAD -> master) > > Author: Elvis Pranskevichus <elvis@magic.io> > > AuthorDate: Tue Apr 5 12:29:26 2016 -0400 > > Commit: Patrice Clement <monsieurp@gentoo.org> > > CommitDate: Tue May 3 14:43:20 2016 +0000 > > Thanks! > > > dev-util/electron: Add ebuild for Github's Electron (v0.36.9) > > I get a checksum failure: > !!! Previously fetched file: > '/var/cache/portage/distfiles/chromium-47.0.2526.110.tar.xz' > !!! Reason: Failed on SHA256 verification > !!! Got: > 65a86d9532e03f94844a4e9b1996af85baeb00c95effe962baa153352483463e > !!! Expected: > edab0d78709ba5edd35e85d82241de884d75dc46abdf7621b6178fa6647d14af Please try again. I just regenerated the Manifest file and pushed it in 379039e996467fb47738c7b7f3937d8d0c4e5a17.
5428648423d696ece4537a73c749d3b28de6be16 actually. Sorry!
> Could the (currently terribly broken; see all the entries in this > bugtracker) ebuild for app-editors/atom be adapted to use dev-util/electron? > That's the intention. The atom ebuild that uses this version of electron can be found in the atom overlay: https://github.com/elprans/atom-overlay. It still needs unbundling/repackaging work before it can be submitted for inclusion in the main tree. > > Unfortunately, current upstream's approach to "building Electron from > > source" involves downloading a pre-built libchromiumcontent.so binary > > from the Internet, which poses obvious security and compatibility risks. > > Did you patch this, so it does not occur anymore? Is it possible to fix that > to e.g. either build the file within dev-util/electron or use the one from > www-client/chromium? dev-util/electron is complete source recompile, it includes no binary blobs.