microsoft-edge: re-init at 137.0.3296.68 (#411663)
This commit is contained in:
commit
6a1d52eacb
@ -13947,6 +13947,12 @@
|
|||||||
githubId = 567634;
|
githubId = 567634;
|
||||||
name = "Daniel Kuehn";
|
name = "Daniel Kuehn";
|
||||||
};
|
};
|
||||||
|
leleuvilela = {
|
||||||
|
email = "viniciusvilela19@gmail.com";
|
||||||
|
github = "leleuvilela";
|
||||||
|
githubId = 19839085;
|
||||||
|
name = "Vinicius Vilela";
|
||||||
|
};
|
||||||
lelgenio = {
|
lelgenio = {
|
||||||
email = "lelgenio@lelgenio.com";
|
email = "lelgenio@lelgenio.com";
|
||||||
github = "lelgenio";
|
github = "lelgenio";
|
||||||
@ -14950,6 +14956,13 @@
|
|||||||
name = "Mæve";
|
name = "Mæve";
|
||||||
keys = [ { fingerprint = "96C9 D086 CC9D 7BD7 EF24 80E2 9168 796A 1CC3 AEA2"; } ];
|
keys = [ { fingerprint = "96C9 D086 CC9D 7BD7 EF24 80E2 9168 796A 1CC3 AEA2"; } ];
|
||||||
};
|
};
|
||||||
|
maeve-oake = {
|
||||||
|
email = "maeve@oa.ke";
|
||||||
|
matrix = "@maeve:oa.ke";
|
||||||
|
github = "maeve-oake";
|
||||||
|
githubId = 38541651;
|
||||||
|
name = "maeve";
|
||||||
|
};
|
||||||
mafo = {
|
mafo = {
|
||||||
email = "Marc.Fontaine@gmx.de";
|
email = "Marc.Fontaine@gmx.de";
|
||||||
github = "MarcFontaine";
|
github = "MarcFontaine";
|
||||||
|
|||||||
299
pkgs/by-name/mi/microsoft-edge/package.nix
Normal file
299
pkgs/by-name/mi/microsoft-edge/package.nix
Normal file
@ -0,0 +1,299 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchurl,
|
||||||
|
makeWrapper,
|
||||||
|
patchelf,
|
||||||
|
dpkg,
|
||||||
|
|
||||||
|
# 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,
|
||||||
|
|
||||||
|
# For QT support
|
||||||
|
qt6,
|
||||||
|
|
||||||
|
# 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
|
||||||
|
gtk3
|
||||||
|
gtk4
|
||||||
|
qt6.qtbase
|
||||||
|
qt6.qtwayland
|
||||||
|
]
|
||||||
|
++ lib.optionals pulseSupport [ libpulseaudio ]
|
||||||
|
++ lib.optionals libvaSupport [ libva ];
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "microsoft-edge";
|
||||||
|
version = "137.0.3296.68";
|
||||||
|
|
||||||
|
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-dgmQF6zpd8dAYKoTSiidk8VU6dZ/ZWEDlYD91IPaDEE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# With strictDeps on, some shebangs were not being patched correctly
|
||||||
|
# ie, $out/share/microsoft/msedge/microsoft-edge
|
||||||
|
strictDeps = false;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
makeWrapper
|
||||||
|
patchelf
|
||||||
|
dpkg
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
# needed for XDG_ICON_DIRS
|
||||||
|
adwaita-icon-theme
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
gtk4
|
||||||
|
# needed for GSETTINGS_SCHEMAS_PATH
|
||||||
|
gsettings-desktop-schemas
|
||||||
|
];
|
||||||
|
|
||||||
|
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
|
||||||
|
cp -v -a usr/share $out/share
|
||||||
|
cp -v -a opt/microsoft $out/share/microsoft
|
||||||
|
|
||||||
|
# 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/applications/com.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 QT_PLUGIN_PATH : "${qt6.qtbase}/lib/qt-6/plugins" \
|
||||||
|
--prefix QT_PLUGIN_PATH : "${qt6.qtwayland}/lib/qt-6/plugins" \
|
||||||
|
--prefix NIXPKGS_QT6_QML_IMPORT_PATH : "${qt6.qtwayland}/lib/qt-6/qml" \
|
||||||
|
--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 --wayland-text-input-version=3}}" \
|
||||||
|
--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; [
|
||||||
|
cholli
|
||||||
|
ulrikstrid
|
||||||
|
emaryn
|
||||||
|
maeve-oake
|
||||||
|
leleuvilela
|
||||||
|
];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||||
|
};
|
||||||
|
})
|
||||||
45
pkgs/by-name/mi/microsoft-edge/update.py
Normal file
45
pkgs/by-name/mi/microsoft-edge/update.py
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i python3 -p python3Packages.packaging python3Packages.python-debian common-updater-scripts
|
||||||
|
|
||||||
|
import os
|
||||||
|
from collections import OrderedDict
|
||||||
|
from os.path import abspath, dirname
|
||||||
|
from urllib import request
|
||||||
|
|
||||||
|
from debian.deb822 import Packages
|
||||||
|
from debian.debian_support import Version
|
||||||
|
|
||||||
|
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()
|
||||||
@ -1245,7 +1245,6 @@ mapAliases {
|
|||||||
microcodeAmd = microcode-amd; # Added 2024-09-08
|
microcodeAmd = microcode-amd; # Added 2024-09-08
|
||||||
microcodeIntel = microcode-intel; # 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
|
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
|
microsoft_gsl = microsoft-gsl; # Added 2023-05-26
|
||||||
midori = throw "'midori' original project has been abandonned upstream and the package was broken for a while in nixpkgs"; # Added 2025-05-19
|
midori = throw "'midori' original project has been abandonned upstream and the package was broken for a while in nixpkgs"; # Added 2025-05-19
|
||||||
midori-unwrapped = midori; # Added 2025-05-19
|
midori-unwrapped = midori; # Added 2025-05-19
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user