microsoft-edge: remove (#407617)

Changed files
+1 -337
pkgs
by-name
mi
microsoft-edge
top-level
-293
pkgs/by-name/mi/microsoft-edge/package.nix
···
-
{
-
fetchurl,
-
lib,
-
makeWrapper,
-
patchelf,
-
stdenv,
-
-
# Linked dynamic libraries.
-
alsa-lib,
-
at-spi2-atk,
-
at-spi2-core,
-
atk,
-
cairo,
-
cups,
-
dbus,
-
expat,
-
fontconfig,
-
freetype,
-
gcc-unwrapped,
-
gdk-pixbuf,
-
glib,
-
gtk3,
-
gtk4,
-
libdrm,
-
libglvnd,
-
libkrb5,
-
libX11,
-
libxcb,
-
libXcomposite,
-
libXcursor,
-
libXdamage,
-
libXext,
-
libXfixes,
-
libXi,
-
libxkbcommon,
-
libXrandr,
-
libXrender,
-
libXScrnSaver,
-
libxshmfence,
-
libXtst,
-
libgbm,
-
nspr,
-
nss,
-
pango,
-
pipewire,
-
vulkan-loader,
-
wayland, # ozone/wayland
-
-
# Command line programs
-
coreutils,
-
-
# command line arguments which are always set e.g "--disable-gpu"
-
commandLineArgs ? "",
-
-
# Will crash without.
-
systemd,
-
-
# Loaded at runtime.
-
libexif,
-
pciutils,
-
-
# Additional dependencies according to other distros.
-
## Ubuntu
-
curl,
-
liberation_ttf,
-
util-linux,
-
wget,
-
xdg-utils,
-
## Arch Linux.
-
flac,
-
harfbuzz,
-
icu,
-
libopus,
-
libpng,
-
snappy,
-
speechd-minimal,
-
## Gentoo
-
bzip2,
-
libcap,
-
-
# Necessary for USB audio devices.
-
libpulseaudio,
-
pulseSupport ? true,
-
-
adwaita-icon-theme,
-
gsettings-desktop-schemas,
-
-
# For video acceleration via VA-API (--enable-features=VaapiVideoDecoder)
-
libva,
-
libvaSupport ? true,
-
-
# For Vulkan support (--enable-features=Vulkan)
-
addDriverRunpath,
-
-
# Edge AAD sync
-
cacert,
-
libsecret,
-
-
# Edge Specific
-
libuuid,
-
}:
-
-
let
-
-
opusWithCustomModes = libopus.override { withCustomModes = true; };
-
-
deps =
-
[
-
alsa-lib
-
at-spi2-atk
-
at-spi2-core
-
atk
-
bzip2
-
cacert
-
cairo
-
coreutils
-
cups
-
curl
-
dbus
-
expat
-
flac
-
fontconfig
-
freetype
-
gcc-unwrapped.lib
-
gdk-pixbuf
-
glib
-
harfbuzz
-
icu
-
libcap
-
libdrm
-
liberation_ttf
-
libexif
-
libglvnd
-
libkrb5
-
libpng
-
libX11
-
libxcb
-
libXcomposite
-
libXcursor
-
libXdamage
-
libXext
-
libXfixes
-
libXi
-
libxkbcommon
-
libXrandr
-
libXrender
-
libXScrnSaver
-
libxshmfence
-
libXtst
-
libgbm
-
nspr
-
nss
-
opusWithCustomModes
-
pango
-
pciutils
-
pipewire
-
snappy
-
speechd-minimal
-
systemd
-
util-linux
-
vulkan-loader
-
wayland
-
wget
-
libsecret
-
libuuid
-
]
-
++ lib.optional pulseSupport libpulseaudio
-
++ lib.optional libvaSupport libva
-
++ [
-
gtk3
-
gtk4
-
];
-
in
-
-
stdenv.mkDerivation (finalAttrs: {
-
pname = "microsoft-edge";
-
version = "136.0.3240.76";
-
-
src = fetchurl {
-
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
-
hash = "sha256-biNM1exJ/xUcmhZjH7ZcFF9cYVqsPavbbtsJnRVlyFo=";
-
};
-
-
# With strictDeps on, some shebangs were not being patched correctly
-
# ie, $out/share/microsoft/msedge/microsoft-edge
-
strictDeps = false;
-
-
nativeBuildInputs = [
-
makeWrapper
-
patchelf
-
];
-
-
buildInputs = [
-
# needed for XDG_ICON_DIRS
-
adwaita-icon-theme
-
glib
-
gtk3
-
gtk4
-
# needed for GSETTINGS_SCHEMAS_PATH
-
gsettings-desktop-schemas
-
];
-
-
unpackPhase = ''
-
runHook preUnpack
-
ar x $src
-
tar xf data.tar.xz
-
runHook postUnpack
-
'';
-
-
rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps;
-
binpath = lib.makeBinPath deps;
-
-
installPhase = ''
-
runHook preInstall
-
-
appname=msedge
-
dist=stable
-
-
exe=$out/bin/microsoft-edge
-
-
mkdir -p $out/bin $out/share
-
cp -v -a opt/* $out/share
-
cp -v -a usr/share/* $out/share
-
-
# replace bundled vulkan-loader
-
rm -v $out/share/microsoft/$appname/libvulkan.so.1
-
ln -v -s -t "$out/share/microsoft/$appname" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1"
-
-
substituteInPlace $out/share/microsoft/$appname/microsoft-edge \
-
--replace-fail 'CHROME_WRAPPER' 'WRAPPER'
-
substituteInPlace $out/share/applications/microsoft-edge.desktop \
-
--replace-fail /usr/bin/microsoft-edge-$dist $exe
-
substituteInPlace $out/share/gnome-control-center/default-apps/microsoft-edge.xml \
-
--replace-fail /opt/microsoft/msedge $exe
-
substituteInPlace $out/share/menu/microsoft-edge.menu \
-
--replace-fail /opt $out/share \
-
--replace-fail $out/share/microsoft/$appname/microsoft-edge $exe
-
-
for icon_file in $out/share/microsoft/msedge/product_logo_[0-9]*.png; do
-
num_and_suffix="''${icon_file##*logo_}"
-
if [ $dist = "stable" ]; then
-
icon_size="''${num_and_suffix%.*}"
-
else
-
icon_size="''${num_and_suffix%_*}"
-
fi
-
logo_output_prefix="$out/share/icons/hicolor"
-
logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
-
mkdir -p "$logo_output_path"
-
mv "$icon_file" "$logo_output_path/microsoft-edge.png"
-
done
-
-
# "--simulate-outdated-no-au" disables auto updates and browser outdated popup
-
makeWrapper "$out/share/microsoft/$appname/microsoft-edge" "$exe" \
-
--prefix LD_LIBRARY_PATH : "$rpath" \
-
--prefix PATH : "$binpath" \
-
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
-
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \
-
--set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" \
-
--set CHROME_WRAPPER "microsoft-edge-$dist" \
-
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
-
--add-flags "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'" \
-
--add-flags ${lib.escapeShellArg commandLineArgs}
-
-
# Make sure that libGL and libvulkan are found by ANGLE libGLESv2.so
-
patchelf --set-rpath $rpath $out/share/microsoft/$appname/lib*GL*
-
-
# Edge specific set liboneauth
-
patchelf --set-rpath $rpath $out/share/microsoft/$appname/liboneauth.so
-
-
for elf in $out/share/microsoft/$appname/{msedge,msedge-sandbox,msedge_crashpad_handler}; do
-
patchelf --set-rpath $rpath $elf
-
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf
-
done
-
-
runHook postInstall
-
'';
-
-
passthru.updateScript = ./update.py;
-
-
meta = {
-
changelog = "https://learn.microsoft.com/en-us/deployedge/microsoft-edge-relnote-stable-channel";
-
description = "Web browser from Microsoft";
-
homepage = "https://www.microsoft.com/en-us/edge";
-
license = lib.licenses.unfree;
-
mainProgram = "microsoft-edge";
-
maintainers = with lib.maintainers; [
-
kuwii
-
rhysmdnz
-
];
-
platforms = [ "x86_64-linux" ];
-
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
-
};
-
})
-44
pkgs/by-name/mi/microsoft-edge/update.py
···
-
#! /usr/bin/env nix-shell
-
#! nix-shell -i python3 -p python3Packages.packaging python3Packages.python-debian common-updater-scripts
-
-
import base64
-
import textwrap
-
import os
-
from urllib import request
-
-
from collections import OrderedDict
-
from debian.deb822 import Packages
-
from debian.debian_support import Version
-
from os.path import abspath, dirname
-
-
PIN_PATH = dirname(abspath(__file__)) + '/default.nix'
-
-
def packages():
-
packages_url = 'https://packages.microsoft.com/repos/edge/dists/stable/main/binary-amd64/Packages'
-
handle = request.urlopen(packages_url)
-
return handle
-
-
-
def latest_packages(packages: bytes):
-
latest_packages: OrderedDict[str, Packages] = {}
-
for package in Packages.iter_paragraphs(packages, use_apt_pkg=False):
-
name: str = package['Package']
-
if not name.startswith('microsoft-edge-stable'):
-
continue
-
channel = name.replace('microsoft-edge-', '')
-
if channel not in latest_packages:
-
latest_packages[channel] = package
-
else:
-
old_package = latest_packages[channel]
-
if old_package.get_version() < package.get_version(): # type: ignore
-
latest_packages[channel] = package
-
return OrderedDict(sorted(latest_packages.items(), key=lambda x:x[0]))
-
-
-
def write_expression():
-
latest = latest_packages(packages())
-
version = Version.re_valid_version.match(latest['stable']['Version']).group('upstream_version')
-
os.system(f'update-source-version microsoft-edge "{version}"')
-
-
-
write_expression()
+1
pkgs/top-level/aliases.nix
···
microcodeAmd = microcode-amd; # Added 2024-09-08
microcodeIntel = microcode-intel; # Added 2024-09-08
micropad = throw "micropad has been removed, since it was unmaintained and blocked the Electron 27 removal."; # Added 2025-02-24
+
microsoft-edge = throw "microsoft-edge has been removed due to lack of maintenance in nixpkgs"; # Added 2025-05-19
microsoft_gsl = microsoft-gsl; # Added 2023-05-26
MIDIVisualizer = midivisualizer; # Added 2024-06-12
mikutter = throw "'mikutter' has been removed because the package was broken and had no maintainers"; # Added 2024-10-01