| 
 | 1 | +# Copyright 2011-2025 Gentoo Authors  | 
 | 2 | +# Distributed under the terms of the GNU General Public License v2  | 
 | 3 | + | 
 | 4 | +EAPI=8  | 
 | 5 | + | 
 | 6 | +CHROMIUM_LANGS="af am ar az bg bn ca cs da de el en-GB en-US es-419 es et fa fi fil fr  | 
 | 7 | +	gu he hi hr hu id it ja ka kk km kn ko lo lt lv mk ml mn mr ms my nb nl pl pt-BR  | 
 | 8 | +	pt-PT ro ru si sk sl sq sr-Latn sr sv sw ta te th tr uk ur uz vi zh-CN zh-TW"  | 
 | 9 | + | 
 | 10 | +inherit brave chromium-2 desktop pax-utils unpacker xdg  | 
 | 11 | + | 
 | 12 | +DESCRIPTION="The Brave Web Browser"  | 
 | 13 | +HOMEPAGE="https://brave.com/"  | 
 | 14 | + | 
 | 15 | +if [[ ${PN} == brave-browser ]]; then  | 
 | 16 | +	MY_PN=${PN}-stable  | 
 | 17 | +else  | 
 | 18 | +	MY_PN=${PN}  | 
 | 19 | +fi  | 
 | 20 | + | 
 | 21 | +SRC_URI="https://github.com/brave/brave-browser/releases/download/v${PV}/${PN}_${PV}_amd64.deb"  | 
 | 22 | +S=${WORKDIR}  | 
 | 23 | + | 
 | 24 | +LICENSE="MPL-2.0"  | 
 | 25 | +SLOT="0"  | 
 | 26 | +KEYWORDS="-* ~amd64"  | 
 | 27 | + | 
 | 28 | +IUSE="qt6 selinux"  | 
 | 29 | + | 
 | 30 | +RESTRICT="bindist mirror strip"  | 
 | 31 | + | 
 | 32 | +RDEPEND="  | 
 | 33 | +	>=app-accessibility/at-spi2-core-2.46.0:2  | 
 | 34 | +	app-misc/ca-certificates  | 
 | 35 | +	dev-libs/expat  | 
 | 36 | +	dev-libs/glib:2  | 
 | 37 | +	dev-libs/nspr  | 
 | 38 | +	>=dev-libs/nss-3.26  | 
 | 39 | +	media-fonts/liberation-fonts  | 
 | 40 | +	media-libs/alsa-lib  | 
 | 41 | +	media-libs/mesa[gbm(+)]  | 
 | 42 | +	net-misc/curl  | 
 | 43 | +	net-print/cups  | 
 | 44 | +	sys-apps/dbus  | 
 | 45 | +	sys-libs/glibc  | 
 | 46 | +	sys-libs/libcap  | 
 | 47 | +	x11-libs/cairo  | 
 | 48 | +	x11-libs/gdk-pixbuf:2  | 
 | 49 | +	|| (  | 
 | 50 | +		x11-libs/gtk+:3[X]  | 
 | 51 | +		gui-libs/gtk:4[X]  | 
 | 52 | +	)  | 
 | 53 | +	x11-libs/libdrm  | 
 | 54 | +	>=x11-libs/libX11-1.5.0  | 
 | 55 | +	x11-libs/libXcomposite  | 
 | 56 | +	x11-libs/libXdamage  | 
 | 57 | +	x11-libs/libXext  | 
 | 58 | +	x11-libs/libXfixes  | 
 | 59 | +	x11-libs/libXrandr  | 
 | 60 | +	x11-libs/libxcb  | 
 | 61 | +	x11-libs/libxkbcommon  | 
 | 62 | +	x11-libs/libxshmfence  | 
 | 63 | +	x11-libs/pango  | 
 | 64 | +	x11-misc/xdg-utils  | 
 | 65 | +	qt6? ( dev-qt/qtbase:6[gui,widgets] )  | 
 | 66 | +	selinux? ( sec-policy/selinux-chromium )  | 
 | 67 | +"  | 
 | 68 | + | 
 | 69 | +QA_PREBUILT="*"  | 
 | 70 | +QA_DESKTOP_FILE="usr/share/applications/brave-browser.*\\.desktop"  | 
 | 71 | +BRAVE_HOME="opt/brave.com/brave${PN#brave-browser}"  | 
 | 72 | + | 
 | 73 | +pkg_pretend() {  | 
 | 74 | +	# Protect against people using autounmask overzealously  | 
 | 75 | +	use amd64 || die "brave only works on amd64"  | 
 | 76 | +}  | 
 | 77 | + | 
 | 78 | +pkg_setup() {  | 
 | 79 | +	chromium_suid_sandbox_check_kernel_config  | 
 | 80 | +}  | 
 | 81 | + | 
 | 82 | +src_unpack() {  | 
 | 83 | +	:  | 
 | 84 | +}  | 
 | 85 | + | 
 | 86 | +src_install() {  | 
 | 87 | +	dodir /  | 
 | 88 | +	cd "${ED}" || die  | 
 | 89 | +	unpacker  | 
 | 90 | + | 
 | 91 | +	rm -r etc usr/share/menu || die  | 
 | 92 | +	mv usr/share/doc/${PN} usr/share/doc/${PF} || die  | 
 | 93 | + | 
 | 94 | +	gzip -d usr/share/doc/${PF}/changelog.gz || die  | 
 | 95 | +	gzip -d usr/share/man/man1/${MY_PN}.1.gz || die  | 
 | 96 | +	if [[ -L usr/share/man/man1/brave-browser.1.gz ]]; then  | 
 | 97 | +		rm usr/share/man/man1/brave-browser.1.gz || die  | 
 | 98 | +		dosym ${MY_PN}.1 usr/share/man/man1/brave-browser.1  | 
 | 99 | +	fi  | 
 | 100 | + | 
 | 101 | +	pushd "${BRAVE_HOME}/locales" > /dev/null || die  | 
 | 102 | +	chromium_remove_language_paks  | 
 | 103 | +	popd > /dev/null || die  | 
 | 104 | + | 
 | 105 | +	pushd "${BRAVE_HOME}/resources/brave_extension/_locales" > /dev/null || die  | 
 | 106 | +	brave_remove_language_dirs  | 
 | 107 | +	popd > /dev/null || die  | 
 | 108 | + | 
 | 109 | +	rm "${BRAVE_HOME}/libqt5_shim.so" || die  | 
 | 110 | +	if ! use qt6; then  | 
 | 111 | +		rm "${BRAVE_HOME}/libqt6_shim.so" || die  | 
 | 112 | +	fi  | 
 | 113 | + | 
 | 114 | +	local suffix=${PN#*browser}  | 
 | 115 | +	suffix=${suffix//-/_}  | 
 | 116 | + | 
 | 117 | +	local size icon_installed=0  | 
 | 118 | +	for size in 16 24 32 48 64 128 256 ; do  | 
 | 119 | +		[[ -f "${BRAVE_HOME}/product_logo_${size}${suffix}.png" ]] && \  | 
 | 120 | +			newicon -s ${size} "${BRAVE_HOME}/product_logo_${size}${suffix}.png" ${PN}.png && \  | 
 | 121 | +			icon_installed=1  | 
 | 122 | +	done  | 
 | 123 | +	[[ ${icon_installed} -eq 0 ]] && die "No program icons could be installed."  | 
 | 124 | + | 
 | 125 | +	pax-mark m "${BRAVE_HOME}/brave"  | 
 | 126 | +}  | 
0 commit comments