microsoft-edge: remove (#407617)
This commit is contained in:
@@ -1,293 +0,0 @@
|
||||
{
|
||||
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 ];
|
||||
};
|
||||
})
|
||||
@@ -1,44 +0,0 @@
|
||||
#! /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()
|
||||
@@ -1218,6 +1218,7 @@ mapAliases {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user