aboutsummaryrefslogtreecommitdiff
path: root/www-clients/brave-bin
diff options
context:
space:
mode:
Diffstat (limited to 'www-clients/brave-bin')
-rw-r--r--www-clients/brave-bin/Manifest1
-rw-r--r--www-clients/brave-bin/autogen.py59
-rw-r--r--www-clients/brave-bin/brave-bin-1.42.97.ebuild130
-rw-r--r--www-clients/brave-bin/files/brave-bin.desktop9
-rw-r--r--www-clients/brave-bin/files/braveAbout.pngbin0 -> 12109 bytes
-rw-r--r--www-clients/brave-bin/templates/brave-bin.tmpl130
6 files changed, 329 insertions, 0 deletions
diff --git a/www-clients/brave-bin/Manifest b/www-clients/brave-bin/Manifest
new file mode 100644
index 0000000..28d2e4d
--- /dev/null
+++ b/www-clients/brave-bin/Manifest
@@ -0,0 +1 @@
+DIST brave-browser-1.42.97-linux-amd64.zip 141060137 BLAKE2B 0660d0f09e97dea056543d618594f2468c9529b1e79a8b53f58dec0dde3583f51419ad103d6415d0dff628bc0e81a4a80c24d77c271373b16e3e8988f7dc3e1b SHA512 10185eacf918b44c846610205a104cba36cf3b3db1f1f09e43ae735d0fe080641f699da003935b9ffdf2447b721c03b3fc4a4994acd5c071aab683b10f8ff364
diff --git a/www-clients/brave-bin/autogen.py b/www-clients/brave-bin/autogen.py
new file mode 100644
index 0000000..c9ada62
--- /dev/null
+++ b/www-clients/brave-bin/autogen.py
@@ -0,0 +1,59 @@
+#!/usr/bin/env python3
+
+import json
+from datetime import timedelta
+from packaging import version
+
+
+def find_release(json_dict, channel="Release"):
+ releases = filter(
+ lambda x: x["prerelease"] is False
+ and x["draft"] is False
+ and x["name"].startswith(channel)
+ and not "Android" in x["name"],
+ json_dict,
+ )
+ releases = list(releases)
+ if not len(releases):
+ return None
+ return sorted(releases, key=lambda x: version.parse(x["tag_name"]))[-1]
+
+
+async def generate(hub, **pkginfo):
+
+ json_dict = await hub.pkgtools.fetch.get_page(
+ "https://api.github.com/repos/brave/brave-browser/releases?per_page=100", is_json=True, refresh_interval=timedelta(days=5)
+ )
+
+ # Try to use the latest release version, but fall back to latest nightly if none found:
+ release = None
+ dl_asset = None
+ for channel in ["Release", "Beta", "Dev", "Nightly"]:
+ r = find_release(json_dict, channel=channel)
+ if r:
+ dl_assets = list(
+ filter(
+ lambda x: x["browser_download_url"].endswith("-linux-amd64.zip")
+ or x["browser_download_url"].endswith("-linux-x64.zip"),
+ r["assets"],
+ )
+ )
+ if len(dl_assets):
+ release = r
+ dl_asset = dl_assets[0]
+ break
+
+ if release is None or dl_asset is None:
+ raise hub.pkgtools.ebuild.BreezyError("Can't find a suitable release of Brave.")
+
+ version = release["tag_name"][1:] # strip leading 'v'
+
+ url = dl_asset["browser_download_url"]
+
+ ebuild = hub.pkgtools.ebuild.BreezyBuild(
+ **pkginfo, version=version, artifacts=[hub.pkgtools.ebuild.Artifact(url=url)]
+ )
+ ebuild.push()
+
+
+# vim: ts=4 sw=4 noet
diff --git a/www-clients/brave-bin/brave-bin-1.42.97.ebuild b/www-clients/brave-bin/brave-bin-1.42.97.ebuild
new file mode 100644
index 0000000..b2a4289
--- /dev/null
+++ b/www-clients/brave-bin/brave-bin-1.42.97.ebuild
@@ -0,0 +1,130 @@
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+BRAVE_PN="${PN/-bin/}"
+
+CHROMIUM_LANGS="
+ am ar 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 kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk 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/v1.42.97/brave-browser-1.42.97-linux-amd64.zip -> brave-browser-1.42.97-linux-amd64.zip"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="gnome-keyring"
+
+DEPEND="gnome-base/gconf:2"
+RDEPEND="
+ ${DEPEND}
+ dev-libs/libpthread-stubs
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ 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
+ 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
+ dev-libs/atk
+ app-accessibility/at-spi2-core
+ app-accessibility/at-spi2-atk
+ x11-libs/gtk+
+ x11-libs/gdk-pixbuf
+ virtual/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
+"
+
+QA_PREBUILT="*"
+
+S=${WORKDIR}
+
+src_prepare() {
+ pushd "${S}/locales" > /dev/null || die
+ chromium_remove_language_paks
+ popd > /dev/null || die
+
+ default
+}
+
+src_install() {
+ declare BRAVE_HOME=/opt/${BRAVE_PN}
+
+ dodir ${BRAVE_HOME%/*}
+
+ insinto ${BRAVE_HOME}
+ doins -r *
+
+ exeinto ${BRAVE_HOME}
+ doexe brave
+ doexe chrome_crashpad_handler
+
+ dosym ${BRAVE_HOME}/brave /usr/bin/${PN} || die
+
+ 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
+ cp "${FILESDIR}"/${PN}.desktop "${S}"
+ domenu "${S}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ elog "If using a debian-sources(-lts) kernel, you will need to type the following to allow brave to run:"
+ elog
+ elog "echo 1 > /proc/sys/kernel/unprivileged_userns_clone"
+ elog
+ elog "To make this setting persistent after reboot, type:"
+ elog
+ elog "sysctl -w kernel.unprivileged_userns_clone=1"
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+} \ No newline at end of file
diff --git a/www-clients/brave-bin/files/brave-bin.desktop b/www-clients/brave-bin/files/brave-bin.desktop
new file mode 100644
index 0000000..cb81577
--- /dev/null
+++ b/www-clients/brave-bin/files/brave-bin.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Brave (bin)
+Comment=Brave Web Browser
+Exec=/usr/bin/brave-bin %u
+Icon=brave-bin
+Terminal=false
+Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
+Categories=Network;WebBrowser;
diff --git a/www-clients/brave-bin/files/braveAbout.png b/www-clients/brave-bin/files/braveAbout.png
new file mode 100644
index 0000000..e3eb155
--- /dev/null
+++ b/www-clients/brave-bin/files/braveAbout.png
Binary files differ
diff --git a/www-clients/brave-bin/templates/brave-bin.tmpl b/www-clients/brave-bin/templates/brave-bin.tmpl
new file mode 100644
index 0000000..3f4bb98
--- /dev/null
+++ b/www-clients/brave-bin/templates/brave-bin.tmpl
@@ -0,0 +1,130 @@
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+BRAVE_PN="${PN/-bin/}"
+
+CHROMIUM_LANGS="
+ am ar 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 kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv
+ sw ta te th tr uk vi zh-CN zh-TW
+"
+
+inherit chromium-2 xdg-utils desktop
+
+DESCRIPTION="Brave Web Browser"
+HOMEPAGE="https://brave.com"
+SRC_URI="{{artifacts[0].src_uri}}"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="*"
+IUSE="gnome-keyring"
+
+DEPEND="gnome-base/gconf:2"
+RDEPEND="
+ ${DEPEND}
+ dev-libs/libpthread-stubs
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ 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
+ 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
+ dev-libs/atk
+ app-accessibility/at-spi2-core
+ app-accessibility/at-spi2-atk
+ x11-libs/gtk+
+ x11-libs/gdk-pixbuf
+ virtual/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
+"
+
+QA_PREBUILT="*"
+
+S=${WORKDIR}
+
+src_prepare() {
+ pushd "${S}/locales" > /dev/null || die
+ chromium_remove_language_paks
+ popd > /dev/null || die
+
+ default
+}
+
+src_install() {
+ declare BRAVE_HOME=/opt/${BRAVE_PN}
+
+ dodir ${BRAVE_HOME%/*}
+
+ insinto ${BRAVE_HOME}
+ doins -r *
+
+ exeinto ${BRAVE_HOME}
+ doexe brave
+ doexe chrome_crashpad_handler
+
+ dosym ${BRAVE_HOME}/brave /usr/bin/${PN} || die
+
+ 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
+ cp "${FILESDIR}"/${PN}.desktop "${S}"
+ domenu "${S}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ elog "If using a debian-sources(-lts) kernel, you will need to type the following to allow brave to run:"
+ elog
+ elog "echo 1 > /proc/sys/kernel/unprivileged_userns_clone"
+ elog
+ elog "To make this setting persistent after reboot, type:"
+ elog
+ elog "sysctl -w kernel.unprivileged_userns_clone=1"
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}