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
|
2025-10-16 10:16:34 +02:00
|
|
|
pkgver=144.0.0_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.
|
2025-10-31 06:14:25 +01:00
|
|
|
pkgrel=3
|
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
|
2025-10-31 06:14:25 +01:00
|
|
|
librewolf.desktop
|
2025-10-04 21:20:48 +02:00
|
|
|
"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}"
|
|
|
|
|
)
|
2025-10-16 10:16:34 +02:00
|
|
|
b2sums=('8f3cd23075c4acbfbb482e8689396add7c7135bd6db627bc05ebf6b46a13aea2a4833c79987372070e9b76ab3c5f3e6f60ddda207052a484f8e796073ab507eb'
|
2025-09-02 21:29:08 +02:00
|
|
|
'bc8d69df64681bd0e6d74bb791576371ce5853d4d4596781f2b7e6d8a9c04256758df45c284ecb450eec53cbf5038e38c09476d436ad4e03b7b5ce672714c67b'
|
|
|
|
|
'c5ae312758c58b75ca5aca02b9baef2e1c5a7a45c30c27714882be62871b79016ac7f7dcee76c1f17f544e0fe0977224adddc9fbc78cdb5993533f1618c60773'
|
|
|
|
|
'054348c3b31c398bb35140f77e752c624b78f7e6a0172798338ab88a88b70da10304c810d8457d95929c3ab3fe08a06eed54d56d192d122b695838e9f909023f'
|
2025-10-31 06:14:25 +01:00
|
|
|
'12af7f5829f6c8a85e6bc11c211e1456209411d11319b615590128369e9882a63932fc8f12b0f4dea12aa631587d2655aa1b9d77b1068242d49d806de260d633'
|
2025-10-04 21:20:48 +02:00
|
|
|
'f931d408dd228b91fd5ff000d757217d0c84036299ef08ae5c7126e42787e8b82f2ddda0523af6c9fd9f529c4b6b14964c68a51e0a91ee7adef3dea347c07f74')
|
2025-10-16 10:16:34 +02:00
|
|
|
b2sums_x86_64=('61ff73034942786102f617bde7cc1eb77df1283174a2872db97fd99d0293f020adbaa892b85cb778994e3bbe25b92a807087689dec5e6ce8cb1b4badd5577e5f'
|
2025-09-02 21:29:08 +02:00
|
|
|
'SKIP')
|
2025-10-16 10:16:34 +02:00
|
|
|
b2sums_aarch64=('c6d0ee2049f7dce307e9817e425e24fbdd268f7afe139eeb02573df4c0c631e3d2216248d6065ab2033e291eb40e30cbcf22778e9758e2494f22eea970ab4736'
|
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
|
|
|
|
|
|
|
|
|
|
|
2025-10-31 06:14:25 +01:00
|
|
|
install -Dvm644 "${srcdir}/librewolf.svg" \
|
2025-09-02 21:29:08 +02:00
|
|
|
"$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
|
2025-10-31 06:14:25 +01:00
|
|
|
install -Dvm644 "${srcdir}/librewolf-symbolic.svg" \
|
2025-09-02 21:29:08 +02:00
|
|
|
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/${pkgname//-bin/""}-symbolic.svg"
|
|
|
|
|
|
2025-10-31 06:14:25 +01:00
|
|
|
install -Dvm644 "${srcdir}/librewolf.desktop" \
|
|
|
|
|
"$pkgdir/usr/share/applications/librewolf.desktop"
|
|
|
|
|
sed -i 's/io.gitlab.librewolf-community.desktop/librewolf.desktop/' \
|
|
|
|
|
"${srcdir}/io.gitlab.librewolf-community.appdata.xml"
|
|
|
|
|
install -Dvm644 "${srcdir}/io.gitlab.librewolf-community.appdata.xml" \
|
2025-10-04 21:20:48 +02:00
|
|
|
"$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
|
2025-10-04 21:20:48 +02:00
|
|
|
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:
|