Group C: rebuild as source packages without the -bin suffix
These three have no upstream Linux binary to point at, but also no
equivalent in the AUR or the official repositories - so unlike the packages
dropped in 46ddf59 they can legitimately exist, just as source packages.
bazaar-bin -> bazaar
timetable-bin -> timetable
chromium-widevine-helper-bin -> chromium-widevine-helper
bazaar and timetable now build their meson projects in build(); the
checksum-only CI path still applies, since the source is upstream's release
tarball.
chromium-widevine-helper compiles nothing (Python script, JSON manifests and
extension assets). Upstream publishes neither releases nor tags, so the
package pins the main commit carrying the version from the Fedora spec and
verifies the two agree in prepare() - being tied to a specific version, it
needs no -git suffix. refresh_checksums() moves the pin.
The AUR repos for the new names are created by the first push; the old -bin
packages are left to the pending deletion requests.
This commit is contained in:
1 parent
46ddf5915c
commit
0229020278
17 files changed
+301
-280
No files matched your search
@@ -0,0 +1,25 @@
|
||||
pkgbase = chromium-widevine-helper
|
||||
pkgdesc = Extension + native helper that installs Google's Widevine CDM into Chromium-based browser profiles
|
||||
pkgver = 1.0.8
|
||||
pkgrel = 1
|
||||
url = https://github.com/GloriousEggroll/chromium-widevine-helper
|
||||
arch = any
|
||||
license = GPL-3.0-only
|
||||
depends = python
|
||||
depends = procps-ng
|
||||
depends = ca-certificates
|
||||
backup = etc/helium/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/net.imput.helium/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/chromium/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/chromium-browser/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/opt/chrome/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/opt/edge/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/brave/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/vivaldi/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/opera/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/thorium/native-messaging-hosts/org.chromium.widevine.json
|
||||
backup = etc/iridium/native-messaging-hosts/org.chromium.widevine.json
|
||||
source = chromium-widevine-helper-1.0.8.tar.gz::https://github.com/GloriousEggroll/chromium-widevine-helper/archive/2851c31896aa7cd43895e4c4d9b749ca08188aec.tar.gz
|
||||
sha256sums = d1ded7b511351a39c6a38c0f2a5666c6b27dc05236808a4c4acebebf9a9d4364
|
||||
|
||||
pkgname = chromium-widevine-helper
|
||||
@@ -0,0 +1,73 @@
|
||||
# Maintainer: Felitendo
|
||||
# This PKGBUILD is updated automatically:
|
||||
# https://github.com/Felitendo/PKGBUILDS
|
||||
|
||||
pkgname=chromium-widevine-helper
|
||||
pkgver=1.0.8
|
||||
pkgrel=1
|
||||
pkgdesc="Extension + native helper that installs Google's Widevine CDM into Chromium-based browser profiles"
|
||||
arch=('any')
|
||||
url="https://github.com/GloriousEggroll/chromium-widevine-helper"
|
||||
license=('GPL-3.0-only')
|
||||
depends=('python' 'procps-ng' 'ca-certificates')
|
||||
backup=('etc/helium/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/net.imput.helium/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/chromium/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/chromium-browser/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/opt/chrome/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/opt/edge/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/brave/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/vivaldi/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/opera/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/thorium/native-messaging-hosts/org.chromium.widevine.json'
|
||||
'etc/iridium/native-messaging-hosts/org.chromium.widevine.json')
|
||||
# Upstream publishes neither releases nor tags; the canonical version lives in
|
||||
# %global helper_version in Packaging/rpm/chromium-widevine-helper.spec. The
|
||||
# package is pinned to the commit that carries the packaged version, so it is
|
||||
# tied to a specific version and needs no -git suffix.
|
||||
_commit="2851c31896aa7cd43895e4c4d9b749ca08188aec"
|
||||
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/${_commit}.tar.gz")
|
||||
sha256sums=('d1ded7b511351a39c6a38c0f2a5666c6b27dc05236808a4c4acebebf9a9d4364')
|
||||
|
||||
prepare() {
|
||||
local _specver
|
||||
_specver="$(grep -Po '^%global helper_version \K[0-9.]+' \
|
||||
"${pkgname}-${_commit}/Packaging/rpm/chromium-widevine-helper.spec")"
|
||||
[[ "$_specver" == "$pkgver" ]] || {
|
||||
echo "pinned commit declares $_specver, expected $pkgver" >&2
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${pkgname}-${_commit}"
|
||||
|
||||
# Fedora's /usr/libexec, which Arch does not use
|
||||
install -Dm755 helper/chromium-widevine \
|
||||
"$pkgdir/usr/lib/chromium-widevine/chromium-widevine"
|
||||
install -d "$pkgdir/usr/bin"
|
||||
ln -s /usr/lib/chromium-widevine/chromium-widevine \
|
||||
"$pkgdir/usr/bin/chromium-widevine"
|
||||
|
||||
# The extension is shipped so it can be loaded unpacked from
|
||||
# chrome://extensions (chromium-widevine --install-native-hosts then
|
||||
# registers whatever ID the browser assigned it).
|
||||
install -d "$pkgdir/usr/share/chromium-widevine"
|
||||
cp -a extension "$pkgdir/usr/share/chromium-widevine/extension"
|
||||
find "$pkgdir/usr/share/chromium-widevine" -type d -exec chmod 755 {} +
|
||||
find "$pkgdir/usr/share/chromium-widevine" -type f -exec chmod 644 {} +
|
||||
|
||||
# upstream ships no license file; GPL-3.0-only is a common license
|
||||
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
|
||||
|
||||
# System-wide native messaging host manifests for the same browser lookup
|
||||
# roots upstream's RPM covers.
|
||||
local _hostdir
|
||||
for _hostdir in helium net.imput.helium chromium chromium-browser \
|
||||
opt/chrome opt/edge brave vivaldi opera thorium iridium; do
|
||||
install -Dm644 helper/chromium-widevine-native-host.json \
|
||||
"$pkgdir/etc/$_hostdir/native-messaging-hosts/org.chromium.widevine.json"
|
||||
done
|
||||
find "$pkgdir/etc" -name 'org.chromium.widevine.json' -exec \
|
||||
sed -i 's|/usr/libexec/chromium-widevine/|/usr/lib/chromium-widevine/|' {} +
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
# chromium-widevine-helper - Chromium extension + native messaging helper
|
||||
# that installs Google's Widevine CDM into Chromium-based browser profiles
|
||||
# (https://github.com/GloriousEggroll/chromium-widevine-helper).
|
||||
#
|
||||
# Upstream publishes neither releases nor tags; the canonical version lives in
|
||||
# the Fedora RPM spec on the main branch. The package pins the main commit
|
||||
# that carries that version, so it stays tied to a specific version (no -git
|
||||
# suffix) - refresh_checksums() moves the pin along with the version.
|
||||
#
|
||||
# Nothing is compiled: the payload is a Python script, JSON manifests and the
|
||||
# extension assets, so package() alone does the work.
|
||||
|
||||
UPSTREAM_REPO="GloriousEggroll/chromium-widevine-helper"
|
||||
SPEC_PATH="Packaging/rpm/chromium-widevine-helper.spec"
|
||||
|
||||
BUILD_DEPS=()
|
||||
|
||||
spec_version() {
|
||||
grep -Po '^%global helper_version \K[0-9.]+'
|
||||
}
|
||||
|
||||
latest_version() {
|
||||
curl -sf "https://raw.githubusercontent.com/$UPSTREAM_REPO/main/$SPEC_PATH" \
|
||||
| spec_version
|
||||
}
|
||||
|
||||
# refresh_checksums <version> <pkgbuild-path>
|
||||
refresh_checksums() {
|
||||
local ver="$1" pkgbuild="$2"
|
||||
local commit specver sha
|
||||
|
||||
commit="$(gh api "repos/$UPSTREAM_REPO/commits/main" --jq '.sha')"
|
||||
|
||||
# main may have moved between the version check and this lookup
|
||||
specver="$(curl -sf "https://raw.githubusercontent.com/$UPSTREAM_REPO/$commit/$SPEC_PATH" \
|
||||
| spec_version)"
|
||||
if [[ "$specver" != "$ver" ]]; then
|
||||
echo "main is at $specver, not the requested $ver - try again" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
sha="$(curl -sfL "https://github.com/$UPSTREAM_REPO/archive/$commit.tar.gz" \
|
||||
| sha256sum | cut -d' ' -f1)"
|
||||
|
||||
sed -i \
|
||||
-e "s|^_commit=.*|_commit=\"$commit\"|" \
|
||||
-e "s|^sha256sums=.*|sha256sums=('$sha')|" \
|
||||
"$pkgbuild"
|
||||
}
|
||||
Reference in new issue
Block a user