librewolf-bin/PKGBUILD

169 lines
6.2 KiB
Text
Raw Normal View History

2025-09-02 21:29:08 +02:00
# Maintainer: Christian Schendel <doppelhelix@gmail.com>
# Contributor: lsf <lsf at pfho dot net>
pkgname=librewolf-bin
provides=(${pkgname//-bin/""})
conflicts=(${pkgname//-bin/""})
epoch=1
pkgver=143.0.3_1
2025-09-02 21:29:08 +02:00
_fixedfirefoxver="${pkgver%_*}" # Version of Firefox this LibreWolf version is based on, but the Firefox patch number is always included
_librewolfver="${pkgver#*_}"
_firefoxver="${_fixedfirefoxver%.0}" # Removes ".0" from the end. For "136.0.0" this will result in "136.0" but for "136.0.1" won't do anything.
pkgrel=2
2025-09-02 21:29:08 +02:00
pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom."
arch=(x86_64 aarch64)
license=(MPL-2.0)
url="https://librewolf.net/"
makedepends=(git)
optdepends=(
'hunspell-en_US: Spell checking, American English'
'libnotify: Notification integration'
'networkmanager: Location detection via available WiFi networks'
'pulseaudio: Audio support'
'speech-dispatcher: Text-to-Speech'
'xdg-desktop-portal: Screensharing with Wayland'
)
validpgpkeys=('662E3CDD6FE329002D0CA5BB40339DD82B12EF16') # librewolf maintainers
backup=(
'usr/lib/librewolf/librewolf.cfg'
'usr/lib/librewolf/distribution/policies.json'
)
options=(!emptydirs)
install='librewolf-bin.install'
_project_id=44042130
_base_url=https://gitlab.com/api/v4/projects/${_project_id}/packages/generic/${pkgname//-bin/""}/$_firefoxver-$_librewolfver
_uploadpath_aarch64=${_base_url}/${pkgname//-bin/""}-$_firefoxver-$_librewolfver-linux-arm64-package.tar.xz
_uploadpath_x86_64=${_base_url}/${pkgname//-bin/""}-$_firefoxver-$_librewolfver-linux-x86_64-package.tar.xz
_uploadpath_sig_aarch64=${_uploadpath_aarch64}.sig
_uploadpath_sig_x86_64=${_uploadpath_x86_64}.sig
_source_tag="$_firefoxver-$_librewolfver"
source=(
"git+https://gitlab.com/${pkgname//-bin/""}-community/browser/source.git#tag=${_source_tag}"
default192x192.png
librewolf.svg
librewolf-symbolic.svg
io.gitlab.librewolf-community.desktop
"https://raw.githubusercontent.com/flathub/io.gitlab.librewolf-community/refs/heads/master/io.gitlab.librewolf-community.appdata.xml"
2025-09-02 21:29:08 +02:00
)
source_aarch64=(
"${_uploadpath_aarch64}"
"${_uploadpath_sig_aarch64}"
)
source_x86_64=(
"${_uploadpath_x86_64}"
"${_uploadpath_sig_x86_64}"
)
b2sums=('39dd42ed3eb94479fceab04147bd4a97b25e0499e6afc12d2e927fd36d93fe2b001f364be960e7cced12589416d208eb9842481e4169555cc617415e8639f201'
2025-09-02 21:29:08 +02:00
'bc8d69df64681bd0e6d74bb791576371ce5853d4d4596781f2b7e6d8a9c04256758df45c284ecb450eec53cbf5038e38c09476d436ad4e03b7b5ce672714c67b'
'c5ae312758c58b75ca5aca02b9baef2e1c5a7a45c30c27714882be62871b79016ac7f7dcee76c1f17f544e0fe0977224adddc9fbc78cdb5993533f1618c60773'
'054348c3b31c398bb35140f77e752c624b78f7e6a0172798338ab88a88b70da10304c810d8457d95929c3ab3fe08a06eed54d56d192d122b695838e9f909023f'
'0b4788bc1264a1e66acc66277a06f6fe39522f8da819fd741081f17f157a840ec3e4dc419e53fcb1ddd9de5efcb8d54843e4de1673d55989a39e0e805f863aef'
'f931d408dd228b91fd5ff000d757217d0c84036299ef08ae5c7126e42787e8b82f2ddda0523af6c9fd9f529c4b6b14964c68a51e0a91ee7adef3dea347c07f74')
b2sums_x86_64=('5d7246382f2ac182bf105e660372f7941c26b70361bedb539d919245d2354773ff583b95a460579263363e0fda54ce504255069af99301e80b4ded26a7e10691'
2025-09-02 21:29:08 +02:00
'SKIP')
b2sums_aarch64=('009f409c69549d30861c0aaeb63cead1559bfdb20197bf6fbfdec6eaf03bcad5030db8b546036fd9d0f091a4dc07199e26507f2c40b9df1ae2e16a9a8073ad85'
2025-09-02 21:29:08 +02:00
'SKIP')
package() {
depends+=(
alsa-lib
at-spi2-core
bash
cairo
dbus
ffmpeg
fontconfig
freetype2
gcc-libs
gdk-pixbuf2
glib2
glibc
gtk3
hicolor-icon-theme
libpulse
libx11
libxcb
libxcomposite
libxcursor
libxdamage
libxext
libxfixes
libxi
libxrandr
libxrender
libxt
mime-types
nspr
nss
pango
startup-notification
ttf-font
)
# Yep, that's somewhat redundant. But it works.
install -dm 755 ${pkgdir}/usr/lib/librewolf
install -dm 755 ${pkgdir}/usr/bin
cp -r "${srcdir}"/${pkgname//-bin/""}/* "${pkgdir}"/usr/lib/librewolf
cd ${srcdir}/${pkgname//-bin/""}
local vendorjs="$pkgdir/usr/lib/${pkgname//-bin/""}/browser/defaults/preferences/vendor.js"
install -Dvm644 /dev/stdin "$vendorjs" <<END
// Use system-provided dictionaries
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
// Don't disable extensions in the application directory
// done in librewolf.cfg
// pref("extensions.autoDisableScopes", 11);
END
local distini="$pkgdir/usr/lib/${pkgname//-bin/""}/distribution/distribution.ini"
install -Dvm644 /dev/stdin "$distini" <<END
[Global]
id=io.gitlab.${pkgname//-bin/""}-community
version=1.0
about=LibreWolf
[Preferences]
app.distributor="LibreWolf Community"
app.distributor.channel=${pkgname//-bin/""}
app.partner.librewolf=${pkgname//-bin/""}
END
install -Dvm644 ${srcdir}/librewolf.svg \
"$pkgdir/usr/share/icons/hicolor/scalable/apps/${pkgname//-bin/""}.svg"
# arch upstream provides a separate svg for this. we don't have that, so let's re-use 16.png
install -Dvm644 ${srcdir}/librewolf-symbolic.svg \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/${pkgname//-bin/""}-symbolic.svg"
install -Dvm644 ${srcdir}/io.gitlab.librewolf-community.desktop \
"$pkgdir/usr/share/applications/io.gitlab.librewolf-community.desktop"
install -Dvm644 ${srcdir}/io.gitlab.librewolf-community.appdata.xml \
"$pkgdir/usr/share/metainfo/io.gitlab.librewolf-community.appdata.xml"
2025-09-02 21:29:08 +02:00
# Install a wrapper to avoid confusion about binary path
install -Dvm755 /dev/stdin "$pkgdir/usr/bin/${pkgname//-bin/""}" <<END
#!/bin/sh
exec /usr/lib/${pkgname//-bin/""}/librewolf "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -srfv "$pkgdir/usr/bin/${pkgname//-bin/""}" \
"$pkgdir/usr/lib/${pkgname//-bin/""}/librewolf-bin"
2025-09-02 21:29:08 +02:00
# Use system certificates
local nssckbi="$pkgdir/usr/lib/${pkgname//-bin/""}/libnssckbi.so"
if [[ -e $nssckbi ]]; then
ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
fi
}
# vim: set ft=sh ts=4 sw=4 et: