diff --git a/backports/electron/APKBUILD b/backports/electron/APKBUILD index 4693590..95c65d6 100644 --- a/backports/electron/APKBUILD +++ b/backports/electron/APKBUILD @@ -1,7 +1,7 @@ # Contributor: lauren n. liberda # Maintainer: Antoine Martin (ayakael) pkgname=electron -pkgver=33.3.2 +pkgver=33.4.0 _gittag=v"${pkgver/_beta/-beta.}" pkgrel=0 _chromium=130.0.6723.191 @@ -544,7 +544,7 @@ lang() { } sha512sums=" -ba69856220482d94cc76548de0466983ef4ad89bc9e55186a6b672f7d443de1d42c7402375cbe496f95e5357bbd2f230a4654e7c633c09dc8a48905861dd81ec electron-v33.3.2-130.0.6723.191.tar.zst +b7a04b5c70d83dd377e3d047f7def7fb1e1b7795f9c3bfd95c01bda66a02603b47610c82696c57a6f7e7de5e995b3573fc8317ada28af570c4d69546f88d3711 electron-v33.4.0-130.0.6723.191.tar.zst 6138b3dbf3903c78f4ca1ed5a6c3c3c485471ded31976010484ce8893d03953df2b8f066a4fe84bbde5ae7ef9bbff664ef917e247b2e95dd471de40f2774d7d0 copium-129.1.tar.gz 29bb685e03356a77df5fd347cdf55194cc8b3265c421cc76e54d64edefc329dbcb052deb26b22e8f587ce68456876c071de1b7d258dd0fcc6ee66c875ec4a020 chromium-revert-drop-of-system-java.patch 53b7cdee8f7bfb4c9371cb385c473e34ed3d8ac7efaa43c0af061107560be30d8747b07fb0b16c01079b8c770f2c721bb5a8081313b7c126856ea4078a74da2a compiler.patch diff --git a/backports/electron/README.md b/backports/electron/README.md new file mode 100644 index 0000000..2a12409 --- /dev/null +++ b/backports/electron/README.md @@ -0,0 +1,59 @@ +# electron + +This is the `electron` package for Alpine Linux. + +Please report any issues [using Gitlab](https://gitlab.alpinelinux.org/alpine/aports/-/issues/new) and tag @ayakael + +## Building electron + +Electron is an application framework based on `chromium`. Just like `chromium`, +and any Google application, the build process is a form of [hostile +architecture] (https://en.wikipedia.org/wiki/Hostile_architecture) It's quite +literally chromium with patches applied on top for the most part. The build +process applies a series of git patches against `chromium` from directories +with a script. + +Its source code isn't available as a downloadable tarball. It is only fetchable +using Google's `gclient` available in `depot_tools` with a reimplemented +version in the `teapot` package. By executing, `abuild snapshot`, the tarball +can be fetched and packaged, as long as `gclient` is in your path. For ease of +maintenance, a workflow on [Ayakael's Forge](https://ayakael.net/mirrors/electron) +automatically fetches and packages the source code on new releases and makes it +available in a [generic Forgejo repository](https://ayakael.net/mirrors/-/packages/generic/electron). + +## Electron maintenance cycle + +Security / bug fixes land from upstream land randomly, but chromium security fixes land +basically weekly around Tuesday in `America/Los_Angeles`. Minor relases only require +an upgrade to the `electron` packages. It is advisable to follow chromium weekly +security fixes, although following `electron` minor releases is fine. + +Major version upgrades require a more thorough approach. For one, most changes +can be backported from `chromium` APKBUILD by diffing the previous version +packaged with `electron` with the current (set with `_chromium` var). You also +need to rebuild all `electron` apps, with patches sometimes necessary when +upstream bumps to a new `nodejs` major verion. Major electron releases are +every two `chromium` major releases, with [dates known well ahead] +(https://chromiumdash.appspot.com/schedule) with a few major releases of +`electron` [officially supported at a time](https://www.electronjs.org/docs/latest/tutorial/electron-timelines). + +Steps, in a nutshell: + +1. Set `pkgver` to up-to-date version + +2. Optional: fetch source-code using `abuild snapshot`, making sure `gclient` +is in your path + +3. Update source checksum using `abuild checksum` + +4. If major update, backport changes from `chromium` aport and bump `pkgrel` +for all electron-based applications. + +## Why is this package still in testing + +[Work is under way](https://gitlab.alpinelinux.org/alpine/aports/-/issues/15760) +to make this aport ready for `community` + +Until that happens, this package is also kept-to-date against the latest +release of Alpine Linux in [Ayakael's Forge](https://ayakael.net/forge/-/packages/alpine/signal-desktop) +This is true of all Ayakael's packages still in `testing`.