# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 BRAVE_PN="${PN/-bin/}" CHROMIUM_LANGS=" af am ar az bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi hr hu id it ja ka km kn ko lt lv ml mk mn mr ms my nb nl pl pt-BR pt-PT ro ru si sk sl sq sr sr-Latn sv sw ta te th tr uk ur uz vi zh-CN zh-TW " inherit chromium-2 xdg-utils desktop DESCRIPTION="Brave Web Browser" HOMEPAGE="https://brave.com" SRC_URI="https://github.com/brave/brave-browser/releases/download/v${PV}/brave-browser-${PV}-linux-amd64.zip -> ${P}.zip" S=${WORKDIR} LICENSE="MPL-2.0" SLOT="0" KEYWORDS="~amd64" IUSE="keyring" # New runtime dependencies based on ldd /usr/bin/brave-bin RDEPEND=" >=app-accessibility/at-spi2-core-2.46.0 app-arch/bzip2 app-arch/zstd app-crypt/p11-kit dev-libs/expat dev-libs/fribidi dev-libs/glib dev-libs/gmp dev-libs/libffi dev-libs/libpcre2 dev-libs/libtasn1 dev-libs/libunistring dev-libs/nettle dev-libs/nspr dev-libs/nss media-gfx/graphite2 media-libs/alsa-lib media-libs/fontconfig media-libs/freetype media-libs/harfbuzz media-libs/libpng media-libs/mesa net-dns/avahi net-dns/libidn2 net-libs/gnutls net-print/cups sys-apps/dbus sys-apps/util-linux sys-devel/gcc sys-libs/libcap sys-libs/zlib x11-libs/cairo x11-libs/libdrm x11-libs/libX11 x11-libs/libXau x11-libs/libxcb x11-libs/libXcomposite x11-libs/libXdamage x11-libs/libXdmcp x11-libs/libXext x11-libs/libXfixes x11-libs/libXi x11-libs/libxkbcommon x11-libs/libXrandr x11-libs/libXrender x11-libs/pango x11-libs/pixman " # gconf is deprecated. # DEPEND="gnome-base/gconf:2" #RDEPEND=" # ${DEPEND} # dev-libs/libpthread-stubs # x11-libs/libxcb # x11-libs/libXcomposite # x11-libs/libXcursor # x11-libs/libXdamage # x11-libs/libXext # x11-libs/libXfixes # x11-libs/libXi # x11-libs/libXrender # x11-libs/libXtst # x11-libs/libxshmfence # x11-libs/libXxf86vm # x11-libs/libXScrnSaver # x11-libs/libXrandr # x11-libs/libXau # x11-libs/libXdmcp # x11-libs/libXinerama # x11-libs/libxkbcommon # dev-libs/glib # dev-libs/nss # dev-libs/nspr # net-print/cups # sys-apps/dbus # dev-libs/expat # media-libs/alsa-lib # x11-libs/pango # x11-libs/cairo # dev-libs/gobject-introspection # >=app-accessibility/at-spi2-core-2.46.0 # x11-libs/gtk+ # x11-libs/gdk-pixbuf # dev-libs/libffi # dev-libs/libpcre # net-libs/gnutls # sys-libs/zlib # dev-libs/fribidi # media-libs/harfbuzz # media-libs/fontconfig # media-libs/freetype # x11-libs/pixman # >=media-libs/libpng-1.6.34 # media-libs/libepoxy # dev-libs/libbsd # dev-libs/libunistring # dev-libs/libtasn1 # dev-libs/nettle # dev-libs/gmp # net-dns/libidn2 # media-gfx/graphite2 # app-arch/bzip2 #" BDEPEND="app-arch/unzip" QA_PREBUILT="*" src_prepare() { pushd "${S}/locales" > /dev/null || die chromium_remove_language_paks popd > /dev/null || die default } src_install() ( shopt -s extglob local BRAVE_HOME=/opt/${BRAVE_PN} dodir ${BRAVE_HOME%/*} insinto ${BRAVE_HOME} doins -r * # Brave has a bug in 1.27.105 where it needs crashpad_handler chmodded # Delete crashpad_handler when https://github.com/brave/brave-browser/issues/16985 is resolved. exeinto ${BRAVE_HOME} doexe brave chrome_crashpad_handler dodir /opt/bin dosym ${BRAVE_HOME}/${BRAVE_PN} /opt/bin/${PN} || die # Install Icons for Brave. newicon "${FILESDIR}/braveAbout.png" "${PN}.png" || die newicon -s 128 "${FILESDIR}/braveAbout.png" "${PN}.png" || die # install-xattr doesnt approve using domenu or doins from FILESDIR make_desktop_entry 'brave-bin %u' Brave brave-bin 'Network;WebBrowser' #cp "${FILESDIR}"/${PN}.desktop "${S}" #domenu "${S}"/${PN}.desktop ) pkg_postinst() { xdg_desktop_database_update xdg_mimeinfo_database_update xdg_icon_cache_update elog "If upgrading from 1.50.x release or earlier, note that Brave has changed the format of the" elog "password file, and ALL YOUR OLD PASSWORDS WILL NOT WORK." elog "YOUR BRAVE REWARDS WILL NOT WORK EITHER." elog "The solution is to temporarily downgrade back to 1.50.x (legacy ebuild provided)," elog "so you can export passwords from Brave's Password Manager." elog "once you're back in a newer build, import passwords from inside Brave's Password Manager," elog "and select the file you saved." }