template
2.9 KB · 125 lines# Template file for 'brave'
pkgname=brave
version=1.95.102
revision=1
archs="x86_64 aarch64"
create_wrksrc=yes
depends="
alsa-lib
at-spi2-core
cairo
cups
dbus
expat
glib
gtk+3
libX11
libXcomposite
libXdamage
libXext
libXfixes
libXrandr
libXScrnSaver
libdrm
libxcb
libxkbcommon
mesa
nspr
nss
pango
xdg-utils
"
short_desc="Web browser that blocks ads and trackers by default"
maintainer="AmarBego <[email protected]>"
license="MPL-2.0, BSD-3-Clause, custom:chromium"
homepage="https://brave.com"
# Binary repackage
restricted=yes
nopie=yes
nostrip=yes
noshlibprovides=yes
_baseurl="https://github.com/brave/brave-browser/releases/download/v${version}"
case "$XBPS_TARGET_MACHINE" in
x86_64)
_arch_class=linux-amd64
checksum=c5be7c420d3f256d63335464d8f689f5d4868791ff59db136dacaa70492ab53f
;;
aarch64)
_arch_class=linux-arm64
checksum=f58f081779a8b13f2a7c5e75f71a7a24fc465023b2e8274b727b48193b6462eb
;;
esac
distfiles="${_baseurl}/brave-browser-${version}-${_arch_class}.zip"
hostmakedepends="unzip"
do_extract() {
mkdir -p "$wrksrc"
unzip -q "${XBPS_SRCDISTDIR}/${pkgname}-${version}/brave-browser-${version}-${_arch_class}.zip" -d "$wrksrc"
}
do_install() {
# Extract and copy contents
vmkdir opt/brave
vcopy "*" opt/brave
# Allow suid sandbox
chmod 4755 ${DESTDIR}/opt/brave/chrome-sandbox
# Create wrapper script
cat > brave.sh <<EOF
#!/bin/bash
XDG_CONFIG_HOME=\${XDG_CONFIG_HOME:-~/.config}
# Allow users to override command-line options
if [[ -f \$XDG_CONFIG_HOME/brave-flags.conf ]]; then
BRAVE_USER_FLAGS="\$(sed 's/#.*//' \$XDG_CONFIG_HOME/brave-flags.conf | tr '\n' ' ')"
fi
# Wayland native support
if [[ \$XDG_SESSION_TYPE == "wayland" ]]; then
WAYLAND_FLAGS="--ozone-platform=wayland --enable-features=WaylandWindowDecorations"
fi
exec /opt/brave/brave "\$@" \$WAYLAND_FLAGS \$BRAVE_USER_FLAGS
EOF
vbin brave.sh brave
# Desktop file
cat > brave.desktop <<EOF
[Desktop Entry]
Name=Brave Web Browser
Comment=Web browser that blocks ads and trackers by default
GenericName=Web Browser
Exec=brave %U
Icon=brave
Type=Application
StartupNotify=true
StartupWMClass=brave-browser
Categories=Network;WebBrowser;
MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ipfs;x-scheme-handler/ipns;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Exec=brave
[Desktop Action new-private-window]
Name=New Private Window
Exec=brave --incognito
EOF
vinstall brave.desktop 644 usr/share/applications
# Icons
for size in 16 24 32 48 64 128 256; do
vinstall "${DESTDIR}/opt/brave/product_logo_${size}.png" 644 usr/share/icons/hicolor/${size}x${size}/apps brave.png
done
vinstall "${DESTDIR}/opt/brave/product_logo_128.png" 644 usr/share/pixmaps brave.png
# License
vlicense "${DESTDIR}/opt/brave/LICENSE"
}
Part of brave