summaryrefslogtreecommitdiff
path: root/www-client/microsoft-edge-dev
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-09-15 16:25:10 -0500
committerroot <root@alpha.trunkmasters.com>2026-09-15 16:25:10 -0500
commit709cefca42ef2a976a9aff8afb44a95ffc545b79 (patch)
tree4a0c9baada24031c4187bce895ad742f7f5eb85f /www-client/microsoft-edge-dev
parentc012d247f03a893c117c88f73bcf6cb6494dcd22 (diff)
downloadbaldeagleos-repo-709cefca42ef2a976a9aff8afb44a95ffc545b79.tar.gz
baldeagleos-repo-709cefca42ef2a976a9aff8afb44a95ffc545b79.tar.xz
baldeagleos-repo-709cefca42ef2a976a9aff8afb44a95ffc545b79.zip
Adding metadata
Diffstat (limited to 'www-client/microsoft-edge-dev')
-rw-r--r--www-client/microsoft-edge-dev/metadata.xml2
-rw-r--r--www-client/microsoft-edge-dev/microsoft-edge-dev-155.0.4268.0-r1.ebuild165
2 files changed, 167 insertions, 0 deletions
diff --git a/www-client/microsoft-edge-dev/metadata.xml b/www-client/microsoft-edge-dev/metadata.xml
index 7f32d2114308..5109c133ebc6 100644
--- a/www-client/microsoft-edge-dev/metadata.xml
+++ b/www-client/microsoft-edge-dev/metadata.xml
@@ -10,6 +10,8 @@
sophisticated technology to make the web faster, safer, and easier.
</longdescription>
<use>
+ <flag name="gtk3">Pull in <pkg>x11-libs/gtk+</pkg> for the user interface.</flag>
+ <flag name="gtk4">Pull in <pkg>gui-libs/gtk</pkg> for the user interface.</flag>
<flag name="mip">Install Microsoft Information Protection plugin.</flag>
</use>
<origin>baldeagleos-repo</origin>
diff --git a/www-client/microsoft-edge-dev/microsoft-edge-dev-155.0.4268.0-r1.ebuild b/www-client/microsoft-edge-dev/microsoft-edge-dev-155.0.4268.0-r1.ebuild
new file mode 100644
index 000000000000..801a663b7ab4
--- /dev/null
+++ b/www-client/microsoft-edge-dev/microsoft-edge-dev-155.0.4268.0-r1.ebuild
@@ -0,0 +1,165 @@
+# Copyright 2011-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit chromium-2 desktop pax-utils unpacker xdg
+
+DESCRIPTION="The web browser from Microsoft"
+HOMEPAGE="https://www.microsoft.com/edge"
+
+if [[ ${PN} == microsoft-edge ]]; then
+ MY_PN=${PN}-stable
+else
+ MY_PN=${PN}
+fi
+
+MY_P="${MY_PN}_${PV}-1"
+SRC_URI="https://packages.microsoft.com/repos/edge/pool/main/m/${MY_PN}/${MY_P}_amd64.deb"
+S=${WORKDIR}
+
+LICENSE="microsoft-edge"
+SLOT="0"
+KEYWORDS="-* amd64"
+
+IUSE="gtk3 +gtk4 qt6"
+RESTRICT="bindist mirror strip"
+REQUIRED_USE="|| ( gtk3 gtk4 )"
+
+RDEPEND="
+ >=app-accessibility/at-spi2-core-2.46.0:2
+ app-crypt/libsecret
+ app-misc/ca-certificates
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ media-fonts/liberation-fonts
+ media-libs/alsa-lib
+ media-libs/mesa[gbm(+)]
+ net-misc/curl[ssl]
+ net-print/cups
+ sys-apps/dbus
+ sys-apps/util-linux
+ sys-libs/glibc
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libxshmfence
+ x11-libs/pango
+ x11-misc/xdg-utils
+ gtk3? ( x11-libs/gtk+:3[X] )
+ gtk4? ( gui-libs/gtk:4[X] )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+"
+
+QA_PREBUILT="*"
+QA_DESKTOP_FILE="usr/share/applications/microsoft-edge.*\\.desktop"
+EDGE_HOME="opt/microsoft/msedge${PN#microsoft-edge}"
+
+pkg_nofetch() {
+ eerror "Please wait 24 hours and sync your tree before reporting a bug for microsoft-edge fetch failures."
+}
+
+pkg_pretend() {
+ # Protect against people using autounmask overzealously
+ use amd64 || die "microsoft-edge only works on amd64"
+}
+
+pkg_setup() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ :
+}
+
+src_install() {
+ dodir /
+ cd "${ED}" || die
+ unpacker
+
+ rm -f _gpgorigin || die
+
+ mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+
+ # Microsoft Edge comes with its own bundled cron
+ # scripts which invoke `apt` directly. Useless on Gentoo!
+ rm -r etc/cron.daily || die "Failed to remove cron scripts"
+ rm -r "${EDGE_HOME}"/cron || die "Failed to remove cron scripts"
+
+ gzip -d usr/share/doc/${PF}/changelog.gz || die
+ gzip -d usr/share/man/man1/${MY_PN}.1.gz || die
+ if [[ -L usr/share/man/man1/${PN}.1.gz ]]; then
+ rm usr/share/man/man1/${PN}.1.gz || die
+ dosym ${MY_PN}.1 usr/share/man/man1/${PN}.1
+ fi
+
+ local size
+ # channel suffix: "" stable, "_channel" for beta/dev.
+ local channel=${PN#microsoft-edge}
+ channel=${channel/-/_}
+ for size in 16 24 32 48 64 128 256 ; do
+ newicon -s ${size} "${EDGE_HOME}/product_logo_${size}${channel}.png" ${PN}.png
+ done
+
+ rm "${EDGE_HOME}/libqt5_shim.so" || die
+ if ! use qt6; then
+ rm "${EDGE_HOME}/libqt6_shim.so" || die
+ fi
+
+ pax-mark m "${EDGE_HOME}/msedge"
+
+ # MS Edge includes channel information in the wrapper script, so rather than replace it like with Chromium,
+ # We'll inject additional logic to look for and use user-defined flags in /etc/msedge/*.
+ local wrapper="${ED}/${EDGE_HOME}/${PN}"
+ local inject="${T}/msedge-wrapper-flags.inc"
+ local wrapper_tmp="${T}/msedge-wrapper.new"
+
+ cat > "${inject}" <<'EOF'
+
+# Allow the user to override command-line flags, bug #357629.
+for f in /etc/msedge/*; do
+ case "${f}" in
+ *~|*.bak|*.old|*.swp|*.tmp|*/.*) continue ;;
+ esac
+ [[ -f "${f}" ]] && source "${f}"
+done
+
+# Prefer user-defined MSEDGE_USER_FLAGS over MSEDGE_FLAGS from /etc/msedge/default.
+MSEDGE_FLAGS=${MSEDGE_USER_FLAGS:-"$MSEDGE_FLAGS"}
+
+EOF
+
+ {
+ # shebang and copyright notice; hasn't changed in 15 years.
+ head -n 5 "${wrapper}" || die
+ cat "${inject}" || die
+ tail -n +7 "${wrapper}" | \
+ sed 's|^exec -a "\$0" "\$HERE/msedge" "\$@"$|exec -a "$0" "$HERE/msedge" ${MSEDGE_FLAGS} "$@"|' || die
+ } > "${wrapper_tmp}" || die "Failed to build wrapper with injected logic"
+
+ cat "${wrapper_tmp}" > "${wrapper}" || die "Failed to update wrapper logic"
+ rm -f "${wrapper_tmp}" || die "Failed to clean temporary wrapper"
+
+ grep -q 'exec -a "\$0" "\$HERE/msedge" ${MSEDGE_FLAGS} "\$@"' "${wrapper}" ||
+ die "Failed to update wrapper exec flags"
+}
+
+pkg_postinst() {
+ if use gtk4 && has_version x11-libs/gtk+; then
+ einfo "GTK4 has been selected, however x11-libs/gtk+ is also installed."
+ einfo "MS Edge will prefer GTK3 at runtime as a result; if you prefer GTK4,"
+ einfo "please create \`/etc/msedge/default\` and set \`MSEDGE_FLAGS=\"--gtk-version=4\"\`"
+ fi
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}