summaryrefslogtreecommitdiff
path: root/www-plugins
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
commitdda948891d3731927b821ce31f9d9a2d03ba20c5 (patch)
tree99cd40be4cbb0606260da212cd81b8ab2db9da9b /www-plugins
parenta3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff)
downloadbaldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip
Adding metadata
Diffstat (limited to 'www-plugins')
-rw-r--r--www-plugins/browserpass/Manifest4
-rw-r--r--www-plugins/browserpass/browserpass-3.1.2-r1.ebuild52
-rw-r--r--www-plugins/browserpass/browserpass-3.1.2.ebuild45
-rw-r--r--www-plugins/browserpass/metadata.xml9
-rw-r--r--www-plugins/chrome-binary-plugins/Manifest9
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.167.ebuild60
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.178.ebuild60
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.215.ebuild60
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.14_beta.ebuild60
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.22_beta.ebuild60
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.53_beta.ebuild60
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7828.2_alpha.ebuild60
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7838.0_alpha.ebuild60
-rw-r--r--www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7846.4_alpha.ebuild60
-rw-r--r--www-plugins/chrome-binary-plugins/metadata.xml9
-rw-r--r--www-plugins/firefoxpwa/Manifest8
-rw-r--r--www-plugins/firefoxpwa/firefoxpwa-2.17.2.ebuild170
-rw-r--r--www-plugins/firefoxpwa/firefoxpwa-2.18.0.ebuild169
-rw-r--r--www-plugins/firefoxpwa/firefoxpwa-2.18.2.ebuild169
-rw-r--r--www-plugins/firefoxpwa/metadata.xml33
-rw-r--r--www-plugins/lightspark/Manifest1
-rw-r--r--www-plugins/lightspark/lightspark-0.9.0.ebuild100
-rw-r--r--www-plugins/lightspark/metadata.xml13
-rw-r--r--www-plugins/metadata.xml28
-rw-r--r--www-plugins/passff-host/Manifest4
-rw-r--r--www-plugins/passff-host/metadata.xml11
-rw-r--r--www-plugins/passff-host/passff-host-1.2.4.ebuild68
-rw-r--r--www-plugins/passff-host/passff-host-1.2.5.ebuild67
-rw-r--r--www-plugins/pdfjs/Manifest4
-rw-r--r--www-plugins/pdfjs/metadata.xml10
-rw-r--r--www-plugins/pdfjs/pdfjs-4.10.38.ebuild22
-rw-r--r--www-plugins/pdfjs/pdfjs-4.5.136.ebuild22
-rw-r--r--www-plugins/pdfjs/pdfjs-4.9.155.ebuild22
-rw-r--r--www-plugins/pdfjs/pdfjs-5.0.375.ebuild22
-rw-r--r--www-plugins/tridactyl-native/Manifest2
-rw-r--r--www-plugins/tridactyl-native/metadata.xml16
-rw-r--r--www-plugins/tridactyl-native/tridactyl-native-0.5.0.ebuild59
37 files changed, 1688 insertions, 0 deletions
diff --git a/www-plugins/browserpass/Manifest b/www-plugins/browserpass/Manifest
new file mode 100644
index 000000000000..d3a5e795c386
--- /dev/null
+++ b/www-plugins/browserpass/Manifest
@@ -0,0 +1,4 @@
+DIST browserpass-3.1.2-deps.tar.xz 741508 BLAKE2B 797c24cd0abccf8da423205664933ab8c1531099e91f7ef8221da973745cc740e755a2bc5154a654e257fc8c4148fed7a97455da985b834a5ae36d7bdc581a36 SHA512 6fbf1351dcf5643de0278f168cc9d2ae7e540b463cd64bd7fd73b5b1dffb8b6e84654096b6ad918eb279c1ac35a2f41198fed8a1016eea5f93e249f452b55833
+DIST browserpass-3.1.2.tar.gz 23030 BLAKE2B 39530f2f29011c1574c2308549ca4298a2c9b3eb09b3008819b747e70c792bfa530ba2b430f001aa6c212b30de24cbf7ad7f59b407712f874e3dc95484d2e87f SHA512 d715897198776a9aac37578fedf39cb6a9353ef7cf8cd98d7264255db919a636816f721c3f4baed7fa3f4ceebc6cce59d775677bed4f5684fccb36cdc330a344
+DIST browserpass-native-3.1.2-src.tar.gz 27980150 BLAKE2B baa1d900a7190f7c5e4422d353dd54d7fe3a7819ed49319fd646b49f66c77287ee452e9eda379f8937211b3359e0b97f5aa36b8b52acbdf85fd1d20342788aa0 SHA512 49e1459e235dec5c4f4419922724d0aabad74188cc716b869e8a16d07bcb394d65a13eea0ec1a93653035e0c137063f8604c71d6dd07d6ea3639dfa9e466dd40
+DIST browserpass-native-3.1.2-src.tar.gz.asc 228 BLAKE2B 8dfa3c2ca63e649a0d20bfd8276dfff3ffe031a9cce7c723d64e2e926fde3b6f3aebeab31efcccfeef1eb20d8bda78f681cafc872ffda30aca82c0c53dc3ac03 SHA512 5943fc22b125bd7f3b8a00d7f80defb11747cc65866030ddf27f1aff09eb7e25c9e9f05fe80d468c9dd4dff7bbca5dda1cdfa3a21c631eae045f351a44723b80
diff --git a/www-plugins/browserpass/browserpass-3.1.2-r1.ebuild b/www-plugins/browserpass/browserpass-3.1.2-r1.ebuild
new file mode 100644
index 000000000000..1f14a2962bab
--- /dev/null
+++ b/www-plugins/browserpass/browserpass-3.1.2-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/maxbaz.asc
+inherit go-module verify-sig
+MY_PN=browserpass-native
+
+DESCRIPTION="WebExtension host binary for app-admin/pass, a UNIX password manager"
+HOMEPAGE="https://github.com/browserpass/browserpass-native"
+SRC_URI="
+ https://github.com/browserpass/browserpass-native/releases/download/v${PV}/${MY_PN}-3.1.2-src.tar.gz
+ verify-sig? (
+ https://github.com/browserpass/browserpass-native/releases/download/v${PV}/${MY_PN}-3.1.2-src.tar.gz.asc
+ )
+"
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+LICENSE="BSD ISC MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="app-crypt/gnupg"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-maxbaz )"
+
+src_compile() {
+ ego build || die
+
+ sed -e "s|%%replace%%|${EPREFIX}/usr/libexec/browserpass-native|" \
+ -i browser-files/firefox-host.json browser-files/chromium-host.json || die
+}
+
+src_install() {
+ exeinto /usr/libexec
+ doexe browserpass-native
+
+ insinto /usr/lib/mozilla/native-messaging-hosts
+ newins browser-files/firefox-host.json com.github.browserpass.native.json
+
+ insinto /usr/lib64/mozilla/native-messaging-hosts
+ newins browser-files/firefox-host.json com.github.browserpass.native.json
+
+ insinto /etc/chromium/native-messaging-hosts
+ newins browser-files/chromium-host.json com.github.browserpass.native.json
+
+ insinto /etc/opt/chrome/native-messaging-hosts
+ newins browser-files/chromium-host.json com.github.browserpass.native.json
+
+ insinto /etc/opt/vivaldi/native-messaging-hosts
+ newins browser-files/chromium-host.json com.github.browserpass.native.json
+}
diff --git a/www-plugins/browserpass/browserpass-3.1.2.ebuild b/www-plugins/browserpass/browserpass-3.1.2.ebuild
new file mode 100644
index 000000000000..b0eb0b7f903c
--- /dev/null
+++ b/www-plugins/browserpass/browserpass-3.1.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit go-module
+MY_PN=browserpass-native
+
+DESCRIPTION="WebExtension host binary for app-admin/pass, a UNIX password manager"
+HOMEPAGE="https://github.com/browserpass/browserpass-native"
+
+SRC_URI="https://github.com/browserpass/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~mattst88/distfiles/${P}-deps.tar.xz"
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+LICENSE="BSD ISC MIT"
+SLOT="0"
+KEYWORDS="amd64"
+RDEPEND="app-crypt/gnupg"
+
+src_compile() {
+ ego build || die
+
+ sed -e "s|%%replace%%|${EPREFIX}/usr/libexec/browserpass-native|" \
+ -i browser-files/firefox-host.json browser-files/chromium-host.json || die
+}
+
+src_install() {
+ exeinto /usr/libexec
+ doexe browserpass-native
+
+ insinto /usr/lib/mozilla/native-messaging-hosts
+ newins browser-files/firefox-host.json com.github.browserpass.native.json
+
+ insinto /usr/lib64/mozilla/native-messaging-hosts
+ newins browser-files/firefox-host.json com.github.browserpass.native.json
+
+ insinto /etc/chromium/native-messaging-hosts
+ newins browser-files/chromium-host.json com.github.browserpass.native.json
+
+ insinto /etc/opt/chrome/native-messaging-hosts
+ newins browser-files/chromium-host.json com.github.browserpass.native.json
+
+ insinto /etc/opt/vivaldi/native-messaging-hosts
+ newins browser-files/chromium-host.json com.github.browserpass.native.json
+}
diff --git a/www-plugins/browserpass/metadata.xml b/www-plugins/browserpass/metadata.xml
new file mode 100644
index 000000000000..2799e35f0d0e
--- /dev/null
+++ b/www-plugins/browserpass/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mattst88@gentoo.org</email>
+ <name>Matt Turner</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-plugins/chrome-binary-plugins/Manifest b/www-plugins/chrome-binary-plugins/Manifest
new file mode 100644
index 000000000000..7012068ed386
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/Manifest
@@ -0,0 +1,9 @@
+DIST google-chrome-beta_149.0.7827.14-1_amd64.deb 130208972 BLAKE2B 53ff1d579c4aefbf13e9f680e83b1db736ade11b25e9f86f3d4f8e73ba0cf87de0a574ab060d5b7a69daa3ab395a9de5cf4e45f76fcbf8bbc8db07201cdce1bc SHA512 0f8faed507ea01cb11a91994c7b1a07860b72bcda81daa7e5f5be5da48a8892e9d0039e16fff3042ba866cd140976dc0fa0a6b035f7be2cce062b34f7dd4017c
+DIST google-chrome-beta_149.0.7827.22-1_amd64.deb 130360996 BLAKE2B 7f67f6f3304b33ad34049d43c4f34bed1b227dc7888b3d4ad583c3312cf2ffcca88fc399b2d75412a1c0f3132c2bde7e3710178038847a7ed57fc26b040091a4 SHA512 83e900eb0d803d4d70577eafa8d8b0aafec1c49878d3abfda7c1ad267cc18fae6cb3e410d2978670998746a35b14626be704e61da273aa96bae532503d066755
+DIST google-chrome-beta_149.0.7827.53-1_amd64.deb 130395104 BLAKE2B e17eb9b3d002fd956b1cefc4e7c79f99930fdbfd8dce62740ef222445edc4619ff6a8d9d34693a090453537891ab06c79886199fc047f9333f95ba3e9531d329 SHA512 467434bc3908cb9e9dff56a0c27c931d533f12f2bc195096bcd8b37910d2dc21318bc70f871a602dc147c019f95e9813a0bdcf6f5b2f606adb84551953755581
+DIST google-chrome-stable_148.0.7778.167-1_amd64.deb 130047612 BLAKE2B 4319e02458e79597a76ccc96cae13891d8142e0b4043548173dcf4d886629b60ac9a1c31b2906b6d2e3c87fed11e2666fbdd9890f2bc3fb51e599b2b9ee8f2ef SHA512 d84abda401d55783043a8b2702a15e10f20828211617e20590d61987054540066951fd7439296adecd5e1cd9dac462f10e06fbb138403cec72d991a9721673f3
+DIST google-chrome-stable_148.0.7778.178-1_amd64.deb 129520856 BLAKE2B e71df1b18f1474aadee22366e10c5344325cccfc0289c01beffc800b54c5d13790af1e124daa486a9c21866f6f4142735b6db11d2c4e5f5a5965f39600eee829 SHA512 e9ff36a1ae98193e62ddba35b97b66809c472efa820b1f669fd297b82a7451758d7cc6278df77649c8bf62d139f410da6d1ae9aa8212d1bdea87ce0da76f9a10
+DIST google-chrome-stable_148.0.7778.215-1_amd64.deb 129833324 BLAKE2B c5db9d3457a32d85fe7b4bfd05ea779d86aa6a4476259a3c77ec407b0831c661e941fc068802e1cbb6d5504a6484d24d10793c9bd6264e7b4212c86d3c1fffb5 SHA512 f03c199eb67a79604ce4e1af68ba0414f387a65049a16a54bf938805527b904816284240dc41b9389718c723e95e56788649b0da1a71da18676a63b993a28759
+DIST google-chrome-unstable_150.0.7828.2-1_amd64.deb 130693424 BLAKE2B 58e60c36f7c1fb7475f066964898c7c3a9f912d0a028261289e08180bb2e4d2bd4dbe04c04f2379eb1d2c7110b3d74c0ccdbc4991ff83257c51cf13560fad289 SHA512 c3fee580dd3aef80bd00a012727257f8853c242fe0b862c2211cc1a91350e814a44eada1b1caafcbcde04a7e1a8e41c9d8f430f48fee6a8bb7a0228c198210d4
+DIST google-chrome-unstable_150.0.7838.0-1_amd64.deb 130783808 BLAKE2B e6688cc842b72b464c43e8d941790fda69484e1063fedd04339b1b18b8bb6c72e40ea190303d65fec88772536e4ce263fdf41c4880e63ff26ccd3671ec7773d9 SHA512 70aad0b462a5e939ab24e3565544c56ef1822e01e37d1904bc5f7ffe677e5315a6c09d1dbf52cbb6230122641ce28bb058e8f08fc76453718a12f0836d7e399d
+DIST google-chrome-unstable_150.0.7846.4-1_amd64.deb 131201324 BLAKE2B 502ff9b6360b6aa3a03765aaaa92d2d03b09e3321964a82c6544849351b3e95a9bbef4272d868b548b06cd1fb6e4390e41f4f712b522fc8d705de758b1fe4e56 SHA512 89a98512a3210775c3a2416441b57052e2b127a5de908cb94ddd265bf0027b7c5e75b350cc947d974dbd244dd9dd6cacff59d69b74dc458fb547ed193206c44c
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.167.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.167.ebuild
new file mode 100644
index 000000000000..e423403b65b9
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.167.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2012-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Binary plugins from Google Chrome for use in Chromium"
+HOMEPAGE="https://www.google.com/chrome/"
+
+case ${PV} in
+ *_alpha*)
+ SLOT="unstable"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_alpha}-1
+ ;;
+ *_beta*)
+ SLOT="beta"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_beta}-1
+ ;;
+ *)
+ SLOT="stable"
+ CHROMEDIR="opt/google/chrome"
+ MY_PV=${PV}-1
+ ;;
+esac
+
+MY_PN="google-chrome-${SLOT}"
+MY_P="${MY_PN}_${MY_PV}"
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+S="${WORKDIR}/${CHROMEDIR}"
+
+LICENSE="google-chrome"
+KEYWORDS="amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-libs/glibc
+"
+
+for x in 0 beta stable unstable; do
+ if [[ ${SLOT} != ${x} ]]; then
+ RDEPEND+=" !${CATEGORY}/${PN}:${x}"
+ fi
+done
+
+QA_PREBUILT="*"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your portage tree before reporting fetch failures."
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/chromium-browser"
+ doins -r WidevineCdm
+}
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.178.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.178.ebuild
new file mode 100644
index 000000000000..e423403b65b9
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.178.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2012-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Binary plugins from Google Chrome for use in Chromium"
+HOMEPAGE="https://www.google.com/chrome/"
+
+case ${PV} in
+ *_alpha*)
+ SLOT="unstable"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_alpha}-1
+ ;;
+ *_beta*)
+ SLOT="beta"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_beta}-1
+ ;;
+ *)
+ SLOT="stable"
+ CHROMEDIR="opt/google/chrome"
+ MY_PV=${PV}-1
+ ;;
+esac
+
+MY_PN="google-chrome-${SLOT}"
+MY_P="${MY_PN}_${MY_PV}"
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+S="${WORKDIR}/${CHROMEDIR}"
+
+LICENSE="google-chrome"
+KEYWORDS="amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-libs/glibc
+"
+
+for x in 0 beta stable unstable; do
+ if [[ ${SLOT} != ${x} ]]; then
+ RDEPEND+=" !${CATEGORY}/${PN}:${x}"
+ fi
+done
+
+QA_PREBUILT="*"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your portage tree before reporting fetch failures."
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/chromium-browser"
+ doins -r WidevineCdm
+}
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.215.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.215.ebuild
new file mode 100644
index 000000000000..e423403b65b9
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-148.0.7778.215.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2012-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Binary plugins from Google Chrome for use in Chromium"
+HOMEPAGE="https://www.google.com/chrome/"
+
+case ${PV} in
+ *_alpha*)
+ SLOT="unstable"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_alpha}-1
+ ;;
+ *_beta*)
+ SLOT="beta"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_beta}-1
+ ;;
+ *)
+ SLOT="stable"
+ CHROMEDIR="opt/google/chrome"
+ MY_PV=${PV}-1
+ ;;
+esac
+
+MY_PN="google-chrome-${SLOT}"
+MY_P="${MY_PN}_${MY_PV}"
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+S="${WORKDIR}/${CHROMEDIR}"
+
+LICENSE="google-chrome"
+KEYWORDS="amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-libs/glibc
+"
+
+for x in 0 beta stable unstable; do
+ if [[ ${SLOT} != ${x} ]]; then
+ RDEPEND+=" !${CATEGORY}/${PN}:${x}"
+ fi
+done
+
+QA_PREBUILT="*"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your portage tree before reporting fetch failures."
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/chromium-browser"
+ doins -r WidevineCdm
+}
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.14_beta.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.14_beta.ebuild
new file mode 100644
index 000000000000..0e735527188d
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.14_beta.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2012-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Binary plugins from Google Chrome for use in Chromium"
+HOMEPAGE="https://www.google.com/chrome/"
+
+case ${PV} in
+ *_alpha*)
+ SLOT="unstable"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_alpha}-1
+ ;;
+ *_beta*)
+ SLOT="beta"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_beta}-1
+ ;;
+ *)
+ SLOT="stable"
+ CHROMEDIR="opt/google/chrome"
+ MY_PV=${PV}-1
+ ;;
+esac
+
+MY_PN="google-chrome-${SLOT}"
+MY_P="${MY_PN}_${MY_PV}"
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+S="${WORKDIR}/${CHROMEDIR}"
+
+LICENSE="google-chrome"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-libs/glibc
+"
+
+for x in 0 beta stable unstable; do
+ if [[ ${SLOT} != ${x} ]]; then
+ RDEPEND+=" !${CATEGORY}/${PN}:${x}"
+ fi
+done
+
+QA_PREBUILT="*"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your portage tree before reporting fetch failures."
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/chromium-browser"
+ doins -r WidevineCdm
+}
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.22_beta.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.22_beta.ebuild
new file mode 100644
index 000000000000..0e735527188d
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.22_beta.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2012-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Binary plugins from Google Chrome for use in Chromium"
+HOMEPAGE="https://www.google.com/chrome/"
+
+case ${PV} in
+ *_alpha*)
+ SLOT="unstable"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_alpha}-1
+ ;;
+ *_beta*)
+ SLOT="beta"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_beta}-1
+ ;;
+ *)
+ SLOT="stable"
+ CHROMEDIR="opt/google/chrome"
+ MY_PV=${PV}-1
+ ;;
+esac
+
+MY_PN="google-chrome-${SLOT}"
+MY_P="${MY_PN}_${MY_PV}"
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+S="${WORKDIR}/${CHROMEDIR}"
+
+LICENSE="google-chrome"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-libs/glibc
+"
+
+for x in 0 beta stable unstable; do
+ if [[ ${SLOT} != ${x} ]]; then
+ RDEPEND+=" !${CATEGORY}/${PN}:${x}"
+ fi
+done
+
+QA_PREBUILT="*"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your portage tree before reporting fetch failures."
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/chromium-browser"
+ doins -r WidevineCdm
+}
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.53_beta.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.53_beta.ebuild
new file mode 100644
index 000000000000..0e735527188d
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-149.0.7827.53_beta.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2012-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Binary plugins from Google Chrome for use in Chromium"
+HOMEPAGE="https://www.google.com/chrome/"
+
+case ${PV} in
+ *_alpha*)
+ SLOT="unstable"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_alpha}-1
+ ;;
+ *_beta*)
+ SLOT="beta"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_beta}-1
+ ;;
+ *)
+ SLOT="stable"
+ CHROMEDIR="opt/google/chrome"
+ MY_PV=${PV}-1
+ ;;
+esac
+
+MY_PN="google-chrome-${SLOT}"
+MY_P="${MY_PN}_${MY_PV}"
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+S="${WORKDIR}/${CHROMEDIR}"
+
+LICENSE="google-chrome"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-libs/glibc
+"
+
+for x in 0 beta stable unstable; do
+ if [[ ${SLOT} != ${x} ]]; then
+ RDEPEND+=" !${CATEGORY}/${PN}:${x}"
+ fi
+done
+
+QA_PREBUILT="*"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your portage tree before reporting fetch failures."
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/chromium-browser"
+ doins -r WidevineCdm
+}
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7828.2_alpha.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7828.2_alpha.ebuild
new file mode 100644
index 000000000000..0e735527188d
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7828.2_alpha.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2012-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Binary plugins from Google Chrome for use in Chromium"
+HOMEPAGE="https://www.google.com/chrome/"
+
+case ${PV} in
+ *_alpha*)
+ SLOT="unstable"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_alpha}-1
+ ;;
+ *_beta*)
+ SLOT="beta"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_beta}-1
+ ;;
+ *)
+ SLOT="stable"
+ CHROMEDIR="opt/google/chrome"
+ MY_PV=${PV}-1
+ ;;
+esac
+
+MY_PN="google-chrome-${SLOT}"
+MY_P="${MY_PN}_${MY_PV}"
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+S="${WORKDIR}/${CHROMEDIR}"
+
+LICENSE="google-chrome"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-libs/glibc
+"
+
+for x in 0 beta stable unstable; do
+ if [[ ${SLOT} != ${x} ]]; then
+ RDEPEND+=" !${CATEGORY}/${PN}:${x}"
+ fi
+done
+
+QA_PREBUILT="*"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your portage tree before reporting fetch failures."
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/chromium-browser"
+ doins -r WidevineCdm
+}
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7838.0_alpha.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7838.0_alpha.ebuild
new file mode 100644
index 000000000000..0e735527188d
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7838.0_alpha.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2012-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Binary plugins from Google Chrome for use in Chromium"
+HOMEPAGE="https://www.google.com/chrome/"
+
+case ${PV} in
+ *_alpha*)
+ SLOT="unstable"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_alpha}-1
+ ;;
+ *_beta*)
+ SLOT="beta"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_beta}-1
+ ;;
+ *)
+ SLOT="stable"
+ CHROMEDIR="opt/google/chrome"
+ MY_PV=${PV}-1
+ ;;
+esac
+
+MY_PN="google-chrome-${SLOT}"
+MY_P="${MY_PN}_${MY_PV}"
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+S="${WORKDIR}/${CHROMEDIR}"
+
+LICENSE="google-chrome"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-libs/glibc
+"
+
+for x in 0 beta stable unstable; do
+ if [[ ${SLOT} != ${x} ]]; then
+ RDEPEND+=" !${CATEGORY}/${PN}:${x}"
+ fi
+done
+
+QA_PREBUILT="*"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your portage tree before reporting fetch failures."
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/chromium-browser"
+ doins -r WidevineCdm
+}
diff --git a/www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7846.4_alpha.ebuild b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7846.4_alpha.ebuild
new file mode 100644
index 000000000000..0e735527188d
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/chrome-binary-plugins-150.0.7846.4_alpha.ebuild
@@ -0,0 +1,60 @@
+# Copyright 2012-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+DESCRIPTION="Binary plugins from Google Chrome for use in Chromium"
+HOMEPAGE="https://www.google.com/chrome/"
+
+case ${PV} in
+ *_alpha*)
+ SLOT="unstable"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_alpha}-1
+ ;;
+ *_beta*)
+ SLOT="beta"
+ CHROMEDIR="opt/google/chrome-${SLOT}"
+ MY_PV=${PV%_beta}-1
+ ;;
+ *)
+ SLOT="stable"
+ CHROMEDIR="opt/google/chrome"
+ MY_PV=${PV}-1
+ ;;
+esac
+
+MY_PN="google-chrome-${SLOT}"
+MY_P="${MY_PN}_${MY_PV}"
+SRC_URI="https://dl.google.com/linux/chrome/deb/pool/main/g/${MY_PN}/${MY_P}_amd64.deb"
+S="${WORKDIR}/${CHROMEDIR}"
+
+LICENSE="google-chrome"
+KEYWORDS="~amd64"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ sys-libs/glibc
+"
+
+for x in 0 beta stable unstable; do
+ if [[ ${SLOT} != ${x} ]]; then
+ RDEPEND+=" !${CATEGORY}/${PN}:${x}"
+ fi
+done
+
+QA_PREBUILT="*"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your portage tree before reporting fetch failures."
+}
+
+src_install() {
+ insinto "/usr/$(get_libdir)/chromium-browser"
+ doins -r WidevineCdm
+}
diff --git a/www-plugins/chrome-binary-plugins/metadata.xml b/www-plugins/chrome-binary-plugins/metadata.xml
new file mode 100644
index 000000000000..4bad1eb3f3f6
--- /dev/null
+++ b/www-plugins/chrome-binary-plugins/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>chromium@gentoo.org</email>
+ <name>Chromium in Gentoo Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-plugins/firefoxpwa/Manifest b/www-plugins/firefoxpwa/Manifest
new file mode 100644
index 000000000000..eef4a93fe219
--- /dev/null
+++ b/www-plugins/firefoxpwa/Manifest
@@ -0,0 +1,8 @@
+DIST WebAppManifestRS-c3329f3378a0039c96bd2b3f32529ea6b438c350.gh.tar.gz 21247 BLAKE2B a001dd5ab5ac660a8067ba433290a69a5226a6f34e943b3aee2501d9d7fc463fd40587f18ff251276fa61a198fc5f653422e74673b0cb12b7e9e7bf2488dfe2c SHA512 7c98796631165ff83b6b1795b28844d850249de0aab5ec27ef51d81d7e3f2bcf6f7481e1e9dea2aa6b0e370b6e59f5c7cdf41d3d26dec893574581d8566baa73
+DIST firefoxpwa-2.17.2-crates.tar.xz 37768108 BLAKE2B a3eae27a858607167715737a3a247bf7ff0a9ed257ad1f9e154952220289e06159fd98eb9483d84d57d375b7f80f9baa1d12f33b41ec2aa3589c944ed12c8476 SHA512 777e6c6edfbd9cdd75c328cb8d658a60e952149ed7ab8eb19b5555f3c67a05d069dcc4a5b6eab7ee7443d41e16f8828643785fd3f1e3a19aa607f4894b655272
+DIST firefoxpwa-2.17.2.tar.gz 557008 BLAKE2B 8bd5a4ee3435fb24b92bcee506231021b43d5ef2251a9cabe93d92536bfbe514b23cb766b891b952be829fd149e7568b1d998b7f2204a328945adef66a3ab939 SHA512 fe7e4a2beb9fc05780b9121bf8f048a91f752399dcddad0f56e989df4030b207a7cf88f19339ee7eae2fda3eecbd5458b783d1c9373319e2c64e42c2b626c41d
+DIST firefoxpwa-2.18.0-crates.tar.xz 38164476 BLAKE2B 03e6b73a8593d898b51c2aa5c747fd2d58a859fe00c075dc4a037d5ab26597cff6f4353ad83db5c9f70ebdb6370887e78f19779c5752abdff77a80481f294d57 SHA512 4057a4738ade1d57fb69eeab20aeac1732f52736260d96c612d3928bd649e8d77af80c93d8f46bc1ca949e8e4e047a0117e692804b3cad43e057ba9bda5b9712
+DIST firefoxpwa-2.18.0.tar.gz 560595 BLAKE2B 5cb0428bf8a683db44d869d065a0f3063bca228d5c08581c77299ed53598b3d5019ec0fbb71e797dd3dbd5911bbacbdfce406028d1e20261d67bcf2280c532d0 SHA512 289b152de62417aa16010734319d6fb322d61b5246e952fc0f0cef759da77680bd8a009eb3838403150a3a6b4cdb8688dc93144428da64d41874fc2815f58620
+DIST firefoxpwa-2.18.2-crates.tar.xz 36434064 BLAKE2B 819e7af82900a34d3ab48a0254dc63f3fd17e54b884d9b9e008ad8524bfc416767c5ec7096e3627c4d526c235ca40e92ed520a067343c811cf19fd10cb8ad754 SHA512 f176cc9c4da73275651e8bc766c66f1b62730e97abc837cfa7c2ea246da6d1eb8bab423647342cf8c4382cd3b8da6612eee931b096ba4b1f75393862be1888b6
+DIST firefoxpwa-2.18.2.tar.gz 570988 BLAKE2B 18b1590a7b23855dd0610151f0247e438a005e1b0134c8bfd7353598298dd15dbd03955d204fb678b6648e59151106405a8b8935faa133ba60cdaf3fcb3e4e63 SHA512 bb16c7db69d4a829a2f9613a159fb300444707d115c0ac987b704be891adb2e3055f7a4d4cd79872ca797e9b8088f568c8a298f747c65e9468c9cac1b260329d
+DIST mime-e3e2e55459d2989a3f4699566ff8f203a8720add.gh.tar.gz 22279 BLAKE2B 76215be308af32d324decd54afb37f8df4ef36aa1a19464f0870b6268fa800642febf923c863c6ca7c49bc178af42d9dc0f72867907b5f5dc33b840a308aebf7 SHA512 ba2ddb9566a76eb7888a00701ceb142487b1f1bd76449122b152e637de2d65fd3d54e445b7e125da9c80d289cff5351d8cb78468b6d2c61e653e4b2add992324
diff --git a/www-plugins/firefoxpwa/firefoxpwa-2.17.2.ebuild b/www-plugins/firefoxpwa/firefoxpwa-2.17.2.ebuild
new file mode 100644
index 000000000000..1ca037808f11
--- /dev/null
+++ b/www-plugins/firefoxpwa/firefoxpwa-2.17.2.ebuild
@@ -0,0 +1,170 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [mime-parse]='https://github.com/filips123/mime;e3e2e55459d2989a3f4699566ff8f203a8720add;mime-%commit%/mime-parse'
+ [mime]='https://github.com/filips123/mime;e3e2e55459d2989a3f4699566ff8f203a8720add;mime-%commit%'
+ [web_app_manifest]='https://github.com/filips123/WebAppManifestRS;c3329f3378a0039c96bd2b3f32529ea6b438c350;WebAppManifestRS-%commit%'
+)
+
+inherit cargo desktop flag-o-matic shell-completion toolchain-funcs xdg
+
+DESCRIPTION="A tool to install, manage and use PWAs in Mozilla Firefox (native component)"
+HOMEPAGE="https://pwasforfirefox.filips.si/"
+
+SRC_URI="
+ https://github.com/filips123/PWAsForFirefox/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/filips123/PWAsForFirefox/releases/download/v${PV}/firefoxpwa-${PV}-crates.tar.xz
+ ${CARGO_CRATE_URIS}
+ "
+fi
+
+S="${WORKDIR}/PWAsForFirefox-${PV}/native"
+
+# Main project license
+LICENSE="MPL-2.0"
+
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0
+ UoI-NCSA Unicode-3.0 ZLIB
+"
+
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="custom-cflags lto static"
+
+DEPEND="
+ !static? (
+ app-arch/zstd:=
+ app-arch/xz-utils:=
+ dev-libs/openssl:=
+ )
+"
+RDEPEND="${DEPEND}"
+# As Rust produces LLVM IR when using LTO, lld is needed to link. Furthermore,
+# as some crates contain C code, clang should be used to compile them to produce
+# compatible IR.
+BDEPEND="
+ lto? (
+ !custom-cflags? (
+ llvm-core/clang
+ llvm-core/lld
+ )
+ )
+ !static? ( virtual/pkgconfig )
+"
+
+QA_FLAGS_IGNORED="
+ usr/bin/firefoxpwa
+ usr/libexec/firefoxpwa-connector
+"
+
+src_prepare() {
+ default
+
+ # Set version in source files as per build instructions
+ sed -i "s/version = \"0.0.0\"/version = \"${PV}\"/g" Cargo.toml || die
+ sed -i "s/DISTRIBUTION_VERSION = '0.0.0'/DISTRIBUTION_VERSION = '${PV}'/g" \
+ userchrome/profile/chrome/pwa/chrome.sys.mjs || die
+}
+
+src_configure() {
+ # Setup toolchain
+ export CARGO_PROFILE_RELEASE_LTO=$(usex lto true false)
+ strip-flags
+
+ if use lto; then
+ if ! use custom-cflags; then
+ CC="${CHOST}-clang"
+ CXX="${CHOST}-clang++"
+ RUSTFLAGS="-Clinker=clang -Clink-arg=-fuse-ld=lld ${RUSTFLAGS}"
+
+ # Fix -flto[=n] not being recognized by clang
+ if tc-is-clang && is-flag "-flto=*"; then
+ replace-flags "-flto=*" "-flto"
+ fi
+ fi
+ else
+ filter-lto
+ fi
+
+ # Ask to use system dependencies
+ if ! use static; then
+ export PKG_CONFIG_ALLOW_CROSS=1
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ export OPENSSL_NO_VENDOR=1
+ fi
+
+ # Configure features
+ local myfeatures=(
+ $(usev static)
+ )
+
+ cargo_src_configure
+}
+
+src_install() {
+ # Executables
+ dobin $(cargo_target_dir)/firefoxpwa
+ exeinto /usr/libexec
+ doexe $(cargo_target_dir)/firefoxpwa-connector
+
+ # Manifest
+ local target_dirs=( /usr/lib{,64}/mozilla/native-messaging-hosts )
+ for target_dir in "${target_dirs[@]}"; do
+ insinto "${target_dir}"
+ newins manifests/linux.json firefoxpwa.json
+ done
+
+ # Completions
+ newbashcomp $(cargo_target_dir)/completions/firefoxpwa.bash firefoxpwa
+ dofishcomp $(cargo_target_dir)/completions/firefoxpwa.fish
+ dozshcomp $(cargo_target_dir)/completions/_firefoxpwa
+
+ # UserChrome
+ insinto /usr/share/firefoxpwa
+ doins -r ./userchrome
+
+ # Documentation
+ dodoc ../README.md
+ newdoc ../native/README.md README-NATIVE.md
+ newdoc ../extension/README.md README-EXTENSION.md
+
+ # AppStream Metadata
+ insinto /usr/share/metainfo
+ doins packages/appstream/si.filips.FirefoxPWA.metainfo.xml
+
+ # Icon
+ doicon -s scalable packages/appstream/si.filips.FirefoxPWA.svg
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "You have successfully installed the native part of the PWAsForFirefox project."
+ elog "You should also install the Firefox extension if you haven't already."
+ elog
+ elog "Download: https://addons.mozilla.org/firefox/addon/pwas-for-firefox/"
+ fi
+
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ if [[ ! ${REPLACED_BY_VERSION} ]]; then
+ elog "Runtime, profiles and web apps are still installed in user directories."
+ elog "You can remove them manually after this package is uninstalled."
+ elog "Doing that will remove all installed web apps and their data."
+ fi
+
+ xdg_pkg_postrm
+}
diff --git a/www-plugins/firefoxpwa/firefoxpwa-2.18.0.ebuild b/www-plugins/firefoxpwa/firefoxpwa-2.18.0.ebuild
new file mode 100644
index 000000000000..f7fe11795dee
--- /dev/null
+++ b/www-plugins/firefoxpwa/firefoxpwa-2.18.0.ebuild
@@ -0,0 +1,169 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [mime-parse]='https://github.com/filips123/mime;e3e2e55459d2989a3f4699566ff8f203a8720add;mime-%commit%/mime-parse'
+ [mime]='https://github.com/filips123/mime;e3e2e55459d2989a3f4699566ff8f203a8720add;mime-%commit%'
+ [web_app_manifest]='https://github.com/filips123/WebAppManifestRS;c3329f3378a0039c96bd2b3f32529ea6b438c350;WebAppManifestRS-%commit%'
+)
+
+inherit cargo desktop flag-o-matic shell-completion toolchain-funcs xdg
+
+DESCRIPTION="A tool to install, manage and use PWAs in Mozilla Firefox (native component)"
+HOMEPAGE="https://pwasforfirefox.filips.si/"
+
+SRC_URI="
+ https://github.com/filips123/PWAsForFirefox/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/filips123/PWAsForFirefox/releases/download/v${PV}/firefoxpwa-${PV}-crates.tar.xz
+ ${CARGO_CRATE_URIS}
+ "
+fi
+
+S="${WORKDIR}/PWAsForFirefox-${PV}/native"
+
+# Main project license
+LICENSE="MPL-2.0"
+
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 UoI-NCSA Unicode-3.0 ZLIB
+"
+
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="custom-cflags lto static"
+
+DEPEND="
+ !static? (
+ app-arch/zstd:=
+ app-arch/xz-utils:=
+ dev-libs/openssl:=
+ )
+"
+RDEPEND="${DEPEND}"
+# As Rust produces LLVM IR when using LTO, lld is needed to link. Furthermore,
+# as some crates contain C code, clang should be used to compile them to produce
+# compatible IR.
+BDEPEND="
+ lto? (
+ !custom-cflags? (
+ llvm-core/clang
+ llvm-core/lld
+ )
+ )
+ !static? ( virtual/pkgconfig )
+"
+
+QA_FLAGS_IGNORED="
+ usr/bin/firefoxpwa
+ usr/libexec/firefoxpwa-connector
+"
+
+src_prepare() {
+ default
+
+ # Set version in source files as per build instructions
+ sed -i "s/version = \"0.0.0\"/version = \"${PV}\"/g" Cargo.toml || die
+ sed -i "s/DISTRIBUTION_VERSION = '0.0.0'/DISTRIBUTION_VERSION = '${PV}'/g" \
+ userchrome/profile/chrome/pwa/chrome.sys.mjs || die
+}
+
+src_configure() {
+ # Setup toolchain
+ export CARGO_PROFILE_RELEASE_LTO=$(usex lto true false)
+ strip-flags
+
+ if use lto; then
+ if ! use custom-cflags; then
+ CC="${CHOST}-clang"
+ CXX="${CHOST}-clang++"
+ RUSTFLAGS="-Clinker=clang -Clink-arg=-fuse-ld=lld ${RUSTFLAGS}"
+
+ # Fix -flto[=n] not being recognized by clang
+ if tc-is-clang && is-flag "-flto=*"; then
+ replace-flags "-flto=*" "-flto"
+ fi
+ fi
+ else
+ filter-lto
+ fi
+
+ # Ask to use system dependencies
+ if ! use static; then
+ export PKG_CONFIG_ALLOW_CROSS=1
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ export OPENSSL_NO_VENDOR=1
+ fi
+
+ # Configure features
+ local myfeatures=(
+ $(usev static)
+ )
+
+ cargo_src_configure
+}
+
+src_install() {
+ # Executables
+ dobin $(cargo_target_dir)/firefoxpwa
+ exeinto /usr/libexec
+ doexe $(cargo_target_dir)/firefoxpwa-connector
+
+ # Manifest
+ local target_dirs=( /usr/lib{,64}/mozilla/native-messaging-hosts )
+ for target_dir in "${target_dirs[@]}"; do
+ insinto "${target_dir}"
+ newins manifests/linux.json firefoxpwa.json
+ done
+
+ # Completions
+ newbashcomp $(cargo_target_dir)/completions/firefoxpwa.bash firefoxpwa
+ dofishcomp $(cargo_target_dir)/completions/firefoxpwa.fish
+ dozshcomp $(cargo_target_dir)/completions/_firefoxpwa
+
+ # UserChrome
+ insinto /usr/share/firefoxpwa
+ doins -r ./userchrome
+
+ # Documentation
+ dodoc ../README.md
+ newdoc ../native/README.md README-NATIVE.md
+ newdoc ../extension/README.md README-EXTENSION.md
+
+ # AppStream Metadata
+ insinto /usr/share/metainfo
+ doins packages/appstream/si.filips.FirefoxPWA.metainfo.xml
+
+ # Icon
+ doicon -s scalable packages/appstream/si.filips.FirefoxPWA.svg
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "You have successfully installed the native part of the PWAsForFirefox project."
+ elog "You should also install the Firefox extension if you haven't already."
+ elog
+ elog "Download: https://addons.mozilla.org/firefox/addon/pwas-for-firefox/"
+ fi
+
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ if [[ ! ${REPLACED_BY_VERSION} ]]; then
+ elog "Runtime, profiles and web apps are still installed in user directories."
+ elog "You can remove them manually after this package is uninstalled."
+ elog "Doing that will remove all installed web apps and their data."
+ fi
+
+ xdg_pkg_postrm
+}
diff --git a/www-plugins/firefoxpwa/firefoxpwa-2.18.2.ebuild b/www-plugins/firefoxpwa/firefoxpwa-2.18.2.ebuild
new file mode 100644
index 000000000000..f7fe11795dee
--- /dev/null
+++ b/www-plugins/firefoxpwa/firefoxpwa-2.18.2.ebuild
@@ -0,0 +1,169 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [mime-parse]='https://github.com/filips123/mime;e3e2e55459d2989a3f4699566ff8f203a8720add;mime-%commit%/mime-parse'
+ [mime]='https://github.com/filips123/mime;e3e2e55459d2989a3f4699566ff8f203a8720add;mime-%commit%'
+ [web_app_manifest]='https://github.com/filips123/WebAppManifestRS;c3329f3378a0039c96bd2b3f32529ea6b438c350;WebAppManifestRS-%commit%'
+)
+
+inherit cargo desktop flag-o-matic shell-completion toolchain-funcs xdg
+
+DESCRIPTION="A tool to install, manage and use PWAs in Mozilla Firefox (native component)"
+HOMEPAGE="https://pwasforfirefox.filips.si/"
+
+SRC_URI="
+ https://github.com/filips123/PWAsForFirefox/archive/v${PV}.tar.gz -> ${P}.tar.gz
+"
+
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/filips123/PWAsForFirefox/releases/download/v${PV}/firefoxpwa-${PV}-crates.tar.xz
+ ${CARGO_CRATE_URIS}
+ "
+fi
+
+S="${WORKDIR}/PWAsForFirefox-${PV}/native"
+
+# Main project license
+LICENSE="MPL-2.0"
+
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 UoI-NCSA Unicode-3.0 ZLIB
+"
+
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="custom-cflags lto static"
+
+DEPEND="
+ !static? (
+ app-arch/zstd:=
+ app-arch/xz-utils:=
+ dev-libs/openssl:=
+ )
+"
+RDEPEND="${DEPEND}"
+# As Rust produces LLVM IR when using LTO, lld is needed to link. Furthermore,
+# as some crates contain C code, clang should be used to compile them to produce
+# compatible IR.
+BDEPEND="
+ lto? (
+ !custom-cflags? (
+ llvm-core/clang
+ llvm-core/lld
+ )
+ )
+ !static? ( virtual/pkgconfig )
+"
+
+QA_FLAGS_IGNORED="
+ usr/bin/firefoxpwa
+ usr/libexec/firefoxpwa-connector
+"
+
+src_prepare() {
+ default
+
+ # Set version in source files as per build instructions
+ sed -i "s/version = \"0.0.0\"/version = \"${PV}\"/g" Cargo.toml || die
+ sed -i "s/DISTRIBUTION_VERSION = '0.0.0'/DISTRIBUTION_VERSION = '${PV}'/g" \
+ userchrome/profile/chrome/pwa/chrome.sys.mjs || die
+}
+
+src_configure() {
+ # Setup toolchain
+ export CARGO_PROFILE_RELEASE_LTO=$(usex lto true false)
+ strip-flags
+
+ if use lto; then
+ if ! use custom-cflags; then
+ CC="${CHOST}-clang"
+ CXX="${CHOST}-clang++"
+ RUSTFLAGS="-Clinker=clang -Clink-arg=-fuse-ld=lld ${RUSTFLAGS}"
+
+ # Fix -flto[=n] not being recognized by clang
+ if tc-is-clang && is-flag "-flto=*"; then
+ replace-flags "-flto=*" "-flto"
+ fi
+ fi
+ else
+ filter-lto
+ fi
+
+ # Ask to use system dependencies
+ if ! use static; then
+ export PKG_CONFIG_ALLOW_CROSS=1
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+ export OPENSSL_NO_VENDOR=1
+ fi
+
+ # Configure features
+ local myfeatures=(
+ $(usev static)
+ )
+
+ cargo_src_configure
+}
+
+src_install() {
+ # Executables
+ dobin $(cargo_target_dir)/firefoxpwa
+ exeinto /usr/libexec
+ doexe $(cargo_target_dir)/firefoxpwa-connector
+
+ # Manifest
+ local target_dirs=( /usr/lib{,64}/mozilla/native-messaging-hosts )
+ for target_dir in "${target_dirs[@]}"; do
+ insinto "${target_dir}"
+ newins manifests/linux.json firefoxpwa.json
+ done
+
+ # Completions
+ newbashcomp $(cargo_target_dir)/completions/firefoxpwa.bash firefoxpwa
+ dofishcomp $(cargo_target_dir)/completions/firefoxpwa.fish
+ dozshcomp $(cargo_target_dir)/completions/_firefoxpwa
+
+ # UserChrome
+ insinto /usr/share/firefoxpwa
+ doins -r ./userchrome
+
+ # Documentation
+ dodoc ../README.md
+ newdoc ../native/README.md README-NATIVE.md
+ newdoc ../extension/README.md README-EXTENSION.md
+
+ # AppStream Metadata
+ insinto /usr/share/metainfo
+ doins packages/appstream/si.filips.FirefoxPWA.metainfo.xml
+
+ # Icon
+ doicon -s scalable packages/appstream/si.filips.FirefoxPWA.svg
+}
+
+pkg_postinst() {
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "You have successfully installed the native part of the PWAsForFirefox project."
+ elog "You should also install the Firefox extension if you haven't already."
+ elog
+ elog "Download: https://addons.mozilla.org/firefox/addon/pwas-for-firefox/"
+ fi
+
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ if [[ ! ${REPLACED_BY_VERSION} ]]; then
+ elog "Runtime, profiles and web apps are still installed in user directories."
+ elog "You can remove them manually after this package is uninstalled."
+ elog "Doing that will remove all installed web apps and their data."
+ fi
+
+ xdg_pkg_postrm
+}
diff --git a/www-plugins/firefoxpwa/metadata.xml b/www-plugins/firefoxpwa/metadata.xml
new file mode 100644
index 000000000000..aa69bdff5da2
--- /dev/null
+++ b/www-plugins/firefoxpwa/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>John-Henry Lim</name>
+ <email>johnhenrylim12@gmail.com</email>
+ </maintainer>
+ <longdescription>
+ Progressive Web Apps (PWAs) are web apps that use web APIs and features along
+ with progressive enhancement strategy to bring a native app-like user
+ experience to cross-platform web applications. Although Firefox supports many
+ of Progressive Web App APIs, it does not support functionality to install them
+ as a standalone system app with an app-like experience.
+
+ This project creates a custom modified Firefox runtime to allow websites to be
+ installed as standalone apps and provides a console tool and browser extension
+ to install, manage and use them.
+
+ This package contains only the native part of the PWAsForFirefox project. You
+ should also install the browser extension if you haven't already. You can
+ download it from &lt;https://addons.mozilla.org/firefox/addon/pwas-for-firefox/&gt;.
+ </longdescription>
+ <upstream>
+ <maintainer>
+ <name>Filip Štamcar</name>
+ <email>projects@filips.si</email>
+ </maintainer>
+ <bugs-to>https://github.com/filips123/PWAsForFirefox/issues</bugs-to>
+ <changelog>https://github.com/filips123/PWAsForFirefox/releases</changelog>
+ <doc>https://pwasforfirefox.filips.si/</doc>
+ </upstream>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-plugins/lightspark/Manifest b/www-plugins/lightspark/Manifest
new file mode 100644
index 000000000000..8741cc5420be
--- /dev/null
+++ b/www-plugins/lightspark/Manifest
@@ -0,0 +1 @@
+DIST lightspark-0.9.0.tar.gz 96346962 BLAKE2B 21133fcaf6f9b6b4cbd6842c68bb4d25b63a8654fe7d9c200600dd762bf4bc631164110ea25b4d8808a1d90b46bc1b2ab99e1df5a4d07202ecec422391da3737 SHA512 e2570a1d603685ae0d2945049b4db07a80e5b782d601f94f09a31b12f9e2f4c359a2596be7238f1b4ea9a204778c4bb7f994f8c7cd575619178f9e83393ad0da
diff --git a/www-plugins/lightspark/lightspark-0.9.0.ebuild b/www-plugins/lightspark/lightspark-0.9.0.ebuild
new file mode 100644
index 000000000000..337bb7318c77
--- /dev/null
+++ b/www-plugins/lightspark/lightspark-0.9.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake xdg-utils
+
+DESCRIPTION="High performance flash player"
+HOMEPAGE="https://lightspark.github.io/"
+SRC_URI="
+ https://github.com/lightspark/lightspark/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+S=${WORKDIR}/${P/_rc*/}
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_sse2 curl ffmpeg gles2-only nsplugin ppapi profile rtmp"
+
+# Note: no LLVM since it's broken upstream
+RDEPEND="
+ app-arch/xz-utils:=
+ dev-libs/glib
+ dev-libs/libpcre:=[cxx]
+ media-fonts/liberation-fonts
+ media-libs/freetype:=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/libsdl2
+ virtual/zlib:=
+ x11-libs/cairo
+ x11-libs/libX11
+ x11-libs/pango
+ curl? ( net-misc/curl:= )
+ ffmpeg? ( media-video/ffmpeg:= )
+ gles2-only? ( media-libs/libglvnd )
+ !gles2-only? (
+ >=media-libs/glew-1.5.3:=
+ virtual/opengl:0=
+ )
+ rtmp? ( media-video/rtmpdump:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/nasm )
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_CURL=$(usex curl)
+ -DENABLE_GLES2=$(usex gles2-only)
+ -DENABLE_LIBAVCODEC=$(usex ffmpeg)
+ -DENABLE_RTMP=$(usex rtmp)
+
+ -DENABLE_MEMORY_USAGE_PROFILING=$(usex profile)
+ -DENABLE_PROFILING=$(usex profile)
+ -DENABLE_SSE2=$(usex cpu_flags_x86_sse2)
+
+ -DCOMPILE_NPAPI_PLUGIN=$(usex nsplugin)
+ -DPLUGIN_DIRECTORY="${EPREFIX}"/usr/$(get_libdir)/${PN}/plugins
+ # TODO: install /etc/chromium file? block adobe-flash?
+ -DCOMPILE_PPAPI_PLUGIN=$(usex ppapi)
+ -DPPAPI_PLUGIN_DIRECTORY="${EPREFIX}"/usr/$(get_libdir)/chromium-browser/${PN}
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use nsplugin; then
+ # copied from nsplugins.eclass, that's broken in EAPI 7
+ dodir /usr/$(get_libdir)/nsbrowser/plugins
+ dosym ../../lightspark/plugins/liblightsparkplugin.so \
+ /usr/$(get_libdir)/nsbrowser/plugins/liblightsparkplugin.so
+ fi
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+
+ if use nsplugin && has_version "www-plugins/gnash[nsplugin]"; then
+ elog "Having two plugins installed for the same MIME type may confuse"
+ elog "Mozilla based browsers. It is recommended to disable the nsplugin"
+ elog "USE flag for either gnash or lightspark. For details, see"
+ elog "https://bugzilla.mozilla.org/show_bug.cgi?id=581848"
+ fi
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+}
diff --git a/www-plugins/lightspark/metadata.xml b/www-plugins/lightspark/metadata.xml
new file mode 100644
index 000000000000..4a5d621bc55a
--- /dev/null
+++ b/www-plugins/lightspark/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="ppapi">Install the PPAPI plugin (for Chromium)</flag>
+ <flag name="rtmp">Enable Real Time Messaging Protocol using librtmp</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-plugins/metadata.xml b/www-plugins/metadata.xml
new file mode 100644
index 000000000000..a65d9302bae1
--- /dev/null
+++ b/www-plugins/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+<longdescription lang="en">
+ The www-plugins category contains plug-ins for Web browsers.
+</longdescription>
+<longdescription lang="de">
+ Die Kategorie www-plugins enthält Plug-ins für Webbrowser.
+</longdescription>
+<longdescription lang="es">
+ La categoría www-plugins contiene plug-ins para navegadores Web.
+</longdescription>
+<longdescription lang="fr">
+ La catégorie www-plugins contient des plugins pour navigateurs Web.
+</longdescription>
+<longdescription lang="it">
+ La categoria www-plugins contiene plugins per i browser web.
+</longdescription>
+<longdescription lang="nl">
+ De www-plugins categorie bevat webbrowserplugins.
+</longdescription>
+<longdescription lang="pl">
+ Kategoria www-plugins zawiera wtyczki dla przeglądarek internetowych.
+</longdescription>
+<longdescription lang="pt">
+ A categoria www-plugins contém plugins para navegadores da Web.
+</longdescription>
+</catmetadata>
diff --git a/www-plugins/passff-host/Manifest b/www-plugins/passff-host/Manifest
new file mode 100644
index 000000000000..5c4006457b37
--- /dev/null
+++ b/www-plugins/passff-host/Manifest
@@ -0,0 +1,4 @@
+DIST passff-host-1.2.4.json 176 BLAKE2B 8eddc19cd0c072d25afff5cfa86a95d960ae7b986727099a04a1d983b887922f9ad77e940a2c80e0838a169afe81fa3f6529a901998bb98a6750ac888a09c264 SHA512 e4a4b90fb5323c6dbec339b9e67a7d546c6d7a95754fe03b3a4d96396c28de1caba3068b4e936ee0ce0997f865c8b5e53a3da1fb34f0123a04c5889302c28911
+DIST passff-host-1.2.4.py 4427 BLAKE2B 495947577f9ee7b2e02e42e5200d29896c63234f33dd3576b9d19fb986ac9419685f39c6bfd061fcc3754ab386030a62b08147b0967a6f49ac2be79268ea8e5a SHA512 ddc14a634f5ae33d3dd8db211fbea0e7728eb8fec8bca366b1860f0d92abc019556c1e3643fbcf85e92cbfbe99a4a67dda0c1d9c5651d20676fdd63b3635ffaa
+DIST passff-host-1.2.5.json 176 BLAKE2B 8eddc19cd0c072d25afff5cfa86a95d960ae7b986727099a04a1d983b887922f9ad77e940a2c80e0838a169afe81fa3f6529a901998bb98a6750ac888a09c264 SHA512 e4a4b90fb5323c6dbec339b9e67a7d546c6d7a95754fe03b3a4d96396c28de1caba3068b4e936ee0ce0997f865c8b5e53a3da1fb34f0123a04c5889302c28911
+DIST passff-host-1.2.5.py 4769 BLAKE2B dcf07b93758ab8560b29b41a621547e84262c5524fdff830e8e25e4d3cbb5518c1d78e470867d14b2125784d27f291ff1fd89f4507d2665bc507699ea731ce5e SHA512 52bdb5984b75d9de98aff2daf3eb0ba1d5d2f36ddd3e6d3600c99e33942f021dff74b0954566b41744ef56cfe3143988d4fbf99cea589e972bfaaf9287561f78
diff --git a/www-plugins/passff-host/metadata.xml b/www-plugins/passff-host/metadata.xml
new file mode 100644
index 000000000000..2377ba168587
--- /dev/null
+++ b/www-plugins/passff-host/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="chrome">Install plugin for chrome (which also includes opera)</flag>
+ <flag name="chromium">Install plugin for chromium</flag>
+ <flag name="firefox">Install plugin for firefox</flag>
+ <flag name="vivaldi">Install plugin for vivaldi</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-plugins/passff-host/passff-host-1.2.4.ebuild b/www-plugins/passff-host/passff-host-1.2.4.ebuild
new file mode 100644
index 000000000000..d941ad76d53b
--- /dev/null
+++ b/www-plugins/passff-host/passff-host-1.2.4.ebuild
@@ -0,0 +1,68 @@
+# Copyright 2018-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit python-single-r1
+
+DESCRIPTION="Host app for the PassFF WebExtension"
+HOMEPAGE="https://github.com/passff/passff-host"
+
+SRC_URI="
+ https://github.com/passff/passff-host/releases/download/${PV}/passff.py -> ${P}.py
+ https://github.com/passff/passff-host/releases/download/${PV}/passff.json -> ${P}.json
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 ~x86"
+IUSE="chrome chromium +firefox vivaldi"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( chrome chromium firefox vivaldi )
+"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-crypt/pinentry
+"
+
+S="${WORKDIR}"
+
+src_unpack() {
+ cp "${DISTDIR}/${P}.json" . || die
+ cp "${DISTDIR}/${P}.py" . || die
+}
+
+src_prepare() {
+ default
+ python_fix_shebang "${P}.py"
+}
+
+src_install() {
+ local target_dirs=()
+
+ use chrome && target_dirs+=( "/etc/opt/chrome/native-messaging-hosts" )
+ use chromium && target_dirs+=( "/etc/chromium/native-messaging-hosts" )
+ use firefox && target_dirs+=( "/usr/$(get_libdir)/mozilla/native-messaging-hosts" )
+ # www-client/firefox-bin compile-time dir is under /usr/lib/
+ use firefox && target_dirs+=( "/usr/lib/mozilla/native-messaging-hosts" )
+ use vivaldi && target_dirs+=( "/etc/vivaldi/native-messaging-hosts" )
+
+ for target_dir in "${target_dirs[@]}"; do
+ sed "s;PLACEHOLDER;${target_dir}/passff.py;g" "${P}.json" > "passff.json" || die
+
+ insinto "${target_dir}"
+ doins passff.json
+ exeinto "${target_dir}"
+ newexe "${P}.py" passff.py
+ done
+}
+
+pkg_postinst() {
+ elog "Make sure to use graphical version of pinentry for ${PN} to work properly"
+ elog "Run 'eselect pinentry list'"
+ elog "And select 'pinentry-qt5' or 'pinentry-gnome'. efl might work too."
+}
diff --git a/www-plugins/passff-host/passff-host-1.2.5.ebuild b/www-plugins/passff-host/passff-host-1.2.5.ebuild
new file mode 100644
index 000000000000..6420cb7a77e2
--- /dev/null
+++ b/www-plugins/passff-host/passff-host-1.2.5.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2018-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit python-single-r1
+
+DESCRIPTION="Host app for the PassFF WebExtension"
+HOMEPAGE="https://codeberg.org/PassFF/passff-host"
+SRC_URI="
+ https://codeberg.org/PassFF/passff-host/releases/download/${PV}/passff.py -> ${P}.py
+ https://codeberg.org/PassFF/passff-host/releases/download/${PV}/passff.json -> ${P}.json
+"
+S="${WORKDIR}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="chrome chromium +firefox vivaldi"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( chrome chromium firefox vivaldi )
+"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ app-crypt/pinentry
+"
+
+src_unpack() {
+ cp "${DISTDIR}/${P}.json" . || die
+ cp "${DISTDIR}/${P}.py" . || die
+}
+
+src_prepare() {
+ default
+ python_fix_shebang "${P}.py"
+}
+
+src_install() {
+ local target_dirs=()
+
+ use chrome && target_dirs+=( "/etc/opt/chrome/native-messaging-hosts" )
+ use chromium && target_dirs+=( "/etc/chromium/native-messaging-hosts" )
+ use firefox && target_dirs+=( "/usr/$(get_libdir)/mozilla/native-messaging-hosts" )
+ # www-client/firefox-bin compile-time dir is under /usr/lib/
+ use firefox && target_dirs+=( "/usr/lib/mozilla/native-messaging-hosts" )
+ use vivaldi && target_dirs+=( "/etc/vivaldi/native-messaging-hosts" )
+
+ local target_dir
+ for target_dir in "${target_dirs[@]}"; do
+ sed "s;PLACEHOLDER;${target_dir}/passff.py;g" "${P}.json" > "passff.json" || die
+
+ insinto "${target_dir}"
+ doins passff.json
+ exeinto "${target_dir}"
+ newexe "${P}.py" passff.py
+ done
+}
+
+pkg_postinst() {
+ elog "Make sure to use graphical version of pinentry for ${PN} to work properly"
+ elog "Run 'eselect pinentry list'"
+ elog "And select 'pinentry-qt5' or 'pinentry-gnome'. efl might work too."
+}
diff --git a/www-plugins/pdfjs/Manifest b/www-plugins/pdfjs/Manifest
new file mode 100644
index 000000000000..f2d8c024a7ff
--- /dev/null
+++ b/www-plugins/pdfjs/Manifest
@@ -0,0 +1,4 @@
+DIST pdfjs-4.10.38.zip 6066797 BLAKE2B f8a8bfa5d8b7c17cd27edcd872e58e0f2c5ce0d81b292786d0f791ef800217bb91f6bd24c9ef523a3c5e581b0a8565712bf5f4d76209cb8d082699e483585379 SHA512 5619751cc14122638a9ba248c088f19ab3ef05b6b6bc9de652b27212eb17a83087a01f24f8aae5d5c2b52e2b6803938b059093662e99db0bffe0f347674d1d22
+DIST pdfjs-4.5.136.zip 5885918 BLAKE2B 9741c202381f845756ecb2b80299a2c85f5ce3de47fc9b89de3d264695ef039043e8455845b0ac0b5c01b2b17b31066660bfaa83e9bdc011d7a2b7f2b648a029 SHA512 1062c1794335333ec23c44f717c8c0eac683594818678078338fb839ac8b72ba72be81074a6c33492994a2044c2fa66e2d219b56fbc36364ef9a43db86337e7f
+DIST pdfjs-4.9.155.zip 6040165 BLAKE2B 1fcc39dc64a72d92588dccfce69780d969b3f5da5872703a98d5604523266107abb5222f2f1b87075e3ff01214ec68d53834e94614b8880cdc102946966ea934 SHA512 9f6b9c8007c1590f688cf71690af0ff271b280551ce347cb64726e07cb03372e4e22724ff4d6aaf06e66b34c3496e554e96fde1aadfc1ba1dd4269bab031786d
+DIST pdfjs-5.0.375.zip 6231693 BLAKE2B 68b2c0834dbe00eee208cf809f253d55dba89251ce933242e38565a53788aae07d0c477316acbbfde4cd4aefb9a1db2e8251df8e25be863f3b506681e49521bb SHA512 f3bab47997fd94b19c407c8b9fd0a4937bd86da91aceecf100620b9412926a540627e640d1e0303e32a0101fb700c166c09b9217df485d5ab6b1288ba638a9b1
diff --git a/www-plugins/pdfjs/metadata.xml b/www-plugins/pdfjs/metadata.xml
new file mode 100644
index 000000000000..07b775a77a19
--- /dev/null
+++ b/www-plugins/pdfjs/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>voyageur@gentoo.org</email>
+ <name>Bernard Cafarelli</name>
+ </maintainer>
+ <stabilize-allarches />
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-plugins/pdfjs/pdfjs-4.10.38.ebuild b/www-plugins/pdfjs/pdfjs-4.10.38.ebuild
new file mode 100644
index 000000000000..cc5757c78ec3
--- /dev/null
+++ b/www-plugins/pdfjs/pdfjs-4.10.38.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A PDF reader in JavaScript"
+HOMEPAGE="https://mozilla.github.io/pdf.js/"
+SRC_URI="https://github.com/mozilla/pdf.js/releases/download/v${PV}/${P}-dist.zip -> ${P}.zip"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="app-arch/unzip"
+
+src_install() {
+ insinto /usr/share/pdf.js/
+
+ doins -r build
+ doins -r web
+}
diff --git a/www-plugins/pdfjs/pdfjs-4.5.136.ebuild b/www-plugins/pdfjs/pdfjs-4.5.136.ebuild
new file mode 100644
index 000000000000..463a0a0be25e
--- /dev/null
+++ b/www-plugins/pdfjs/pdfjs-4.5.136.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A PDF reader in JavaScript"
+HOMEPAGE="https://mozilla.github.io/pdf.js/"
+SRC_URI="https://github.com/mozilla/pdf.js/releases/download/v${PV}/${P}-dist.zip -> ${P}.zip"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~x86"
+
+BDEPEND="app-arch/unzip"
+
+src_install() {
+ insinto /usr/share/pdf.js/
+
+ doins -r build
+ doins -r web
+}
diff --git a/www-plugins/pdfjs/pdfjs-4.9.155.ebuild b/www-plugins/pdfjs/pdfjs-4.9.155.ebuild
new file mode 100644
index 000000000000..a7c66a412285
--- /dev/null
+++ b/www-plugins/pdfjs/pdfjs-4.9.155.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A PDF reader in JavaScript"
+HOMEPAGE="https://mozilla.github.io/pdf.js/"
+SRC_URI="https://github.com/mozilla/pdf.js/releases/download/v${PV}/${P}-dist.zip -> ${P}.zip"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="app-arch/unzip"
+
+src_install() {
+ insinto /usr/share/pdf.js/
+
+ doins -r build
+ doins -r web
+}
diff --git a/www-plugins/pdfjs/pdfjs-5.0.375.ebuild b/www-plugins/pdfjs/pdfjs-5.0.375.ebuild
new file mode 100644
index 000000000000..cc5757c78ec3
--- /dev/null
+++ b/www-plugins/pdfjs/pdfjs-5.0.375.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A PDF reader in JavaScript"
+HOMEPAGE="https://mozilla.github.io/pdf.js/"
+SRC_URI="https://github.com/mozilla/pdf.js/releases/download/v${PV}/${P}-dist.zip -> ${P}.zip"
+S="${WORKDIR}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="app-arch/unzip"
+
+src_install() {
+ insinto /usr/share/pdf.js/
+
+ doins -r build
+ doins -r web
+}
diff --git a/www-plugins/tridactyl-native/Manifest b/www-plugins/tridactyl-native/Manifest
new file mode 100644
index 000000000000..910284b5d531
--- /dev/null
+++ b/www-plugins/tridactyl-native/Manifest
@@ -0,0 +1,2 @@
+DIST tridactyl-native-0.5.0-deps.tar.xz 7311360 BLAKE2B 179bd93f134093935d6d1e66c4e15ee5fb9d9e90c7baaa3a4eb04877074593d924dab9dce5513e1e09b2021f98aa17e77a3c658875c454d3af30b429b11ac87a SHA512 59acbd48a41be8b4b1c73de7b10efc20ae4545496f7867b6f04eeb1490ac49eb070e0b6ef8882a1d0bf0b8fbfda0d44a92b528f2778bc7640b4b8b6148d94aca
+DIST tridactyl-native-0.5.0.tar.gz 91457 BLAKE2B cc9a3b2b473f4a61f8b071a235bfc1fa7b48194c15e90b8c8fb6250f8a3b5559eeb73f312fdadf2c1cb2f64bfcd77b5201cce6329832e539742d7b059ade00c9 SHA512 90c30a6769723985b350f7e68dbfcfb3d447b555c24196384ce1bc40fdee294c88399ebd04fc08d6426a2cc1313148bb247ea7bd9d8d1eff7a8d178e57653caf
diff --git a/www-plugins/tridactyl-native/metadata.xml b/www-plugins/tridactyl-native/metadata.xml
new file mode 100644
index 000000000000..042056b826c8
--- /dev/null
+++ b/www-plugins/tridactyl-native/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ingenarel_neojesus@disroot.org</email>
+ <name>ingenarel</name>
+ </maintainer>
+ <longdescription>
+ This small application allows Tridactyl to communicate with your system, allowing Tridactyl to read files on your
+ computer, including "RC" configuration files; write files to your computer launch applications, including opening
+ about:* tabs in Firefox and generally do arbitrary stuff in userspace. It therefore greatly increases the amount of
+ damage bugs in Tridactyl can do to your machine, although, arguably, not to your life, since almost all of that is
+ on the internet anyway.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/www-plugins/tridactyl-native/tridactyl-native-0.5.0.ebuild b/www-plugins/tridactyl-native/tridactyl-native-0.5.0.ebuild
new file mode 100644
index 000000000000..60dd7b8c8f85
--- /dev/null
+++ b/www-plugins/tridactyl-native/tridactyl-native-0.5.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit nim-utils
+
+# inherit nimble
+# simply isn't working for this package's use case
+# need to probably rewrite another whole nimble eclass sooner or later
+# also the eclass uses nimbus instead of the official nim package manager nimble
+DESCRIPTION="Native messenger for Tridactyl, a vim-like web-extension"
+HOMEPAGE="https://github.com/tridactyl/native_messenger"
+SRC_URI="
+ https://github.com/tridactyl/native_messenger/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/ingenarel/guru-depfiles/releases/download/${P}-deps.tar.xz/${P}-deps.tar.xz
+"
+# use these commands to generate the deps
+# nimble build --localdeps
+# find nimbledeps -exec file --mime-type {} \; |
+# sed -nE 's/^(.+): (text\/\S+|application\/json)$/\1/p' |
+# xargs tar --create --verbose --file nimbledeps.tar.xz
+S="${WORKDIR}/native_messenger-${PV}"
+
+LICENSE="BSD-2"
+
+SLOT="0"
+
+KEYWORDS="~amd64"
+
+BDEPEND="dev-lang/nim"
+
+src_configure(){
+ nim_gen_config
+}
+
+src_compile() {
+ nimble\
+ --verbose\
+ --offline\
+ --localDeps\
+ --nimbleDir:"${WORKDIR}/nimbledeps"\
+ --useSystemNim\
+ build ||
+ die "build failed!"
+}
+
+src_install() {
+ exeinto /usr/libexec/tridactyl
+ doexe native_main
+ sed -i -e "s|REPLACE_ME_WITH_SED|${EPREFIX}/usr/libexec/tridactyl/native_main|" ./tridactyl.json ||
+ die "trying to sed installation path in tridactyl.json failed!"
+ local target_dirs=( /usr/{lib,$(get_libdir)}/mozilla/native-messaging-hosts )
+ local target_dir
+ for target_dir in "${target_dirs[@]}"; do
+ insinto "${target_dir}"
+ doins tridactyl.json
+ done
+}