PKGBUILD 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # Maintainer: Qontinuum <qontinuum@artixlinux.org>
  2. # private key generated with `openssl genrsa 2048| openssl pkcs8 -topk8 -nocrypt -traditional`
  3. _extension='privacybadger'
  4. pkgname="chromium-extension-$_extension"
  5. pkgver=2024.2.6
  6. pkgrel=2
  7. pkgdesc="Block third party tracking in your browser"
  8. license=('GPL3')
  9. arch=('any')
  10. url="https://privacybadger.org/"
  11. depends=('chromium')
  12. makedepends=('jq' 'openssl')
  13. source=("$pkgname-$pkgver::https://github.com/EFForg/privacybadger/archive/refs/tags/release-$pkgver.tar.gz"
  14. "$_extension.pem")
  15. sha256sums=('e38c88f74236ef2549933603403428c43b45dabbf384964064d124135d5a0cfc'
  16. '0f6e6fa1bb901480be99d24d26104f4ff67b41b9d748595f01f1779b7fc2a642')
  17. build() {
  18. cd "$srcdir"
  19. mv "privacybadger-release-$pkgver/src" "$_extension-$pkgver"
  20. _extver="$(jq -r '.version' "$_extension-$pkgver/manifest.json")"
  21. pubkey="$(openssl rsa -in "$_extension.pem" -pubout -outform DER |base64 -w0)"
  22. # create extension json
  23. export _id="$(echo $pubkey |base64 -d |sha256sum |head -c32 |tr '0-9a-f' 'a-p')"
  24. echo "extenson id should be: $_id"
  25. cat << EOF > "$_id".json
  26. {
  27. "external_crx": "/usr/lib/$pkgname/$_extension-$pkgver.crx",
  28. "external_version": "$_extver"
  29. }
  30. EOF
  31. cd "$_extension-$pkgver"
  32. jq --ascii-output --arg key "$pubkey" '. + {key: $key}' manifest.json > manifest.json.new
  33. mv manifest.json.new manifest.json
  34. cd "$srcdir"
  35. tmpdir="$(mktemp -d chromium-pack-XXXXXX)"
  36. chromium --user-data-dir="$tmpdir" --pack-extension="$_extension-$pkgver" --pack-extension-key="$_extension.pem"
  37. }
  38. package() {
  39. install -Dm644 -t "$pkgdir/usr/share/chromium/extensions/" "$_id.json"
  40. install -Dm644 -t "$pkgdir/usr/lib/$pkgname/" "$_extension-$pkgver.crx"
  41. }