summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/yandex-browser/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/browsers/yandex-browser/default.nix')
-rw-r--r--pkgs/applications/networking/browsers/yandex-browser/default.nix45
1 files changed, 37 insertions, 8 deletions
diff --git a/pkgs/applications/networking/browsers/yandex-browser/default.nix b/pkgs/applications/networking/browsers/yandex-browser/default.nix
index e7a9f8cf680..24148153cf8 100644
--- a/pkgs/applications/networking/browsers/yandex-browser/default.nix
+++ b/pkgs/applications/networking/browsers/yandex-browser/default.nix
@@ -47,19 +47,42 @@
 , at-spi2-atk
 , at-spi2-core
 , libqt5pas
+, qt6
+, vivaldi-ffmpeg-codecs
+, edition ? "stable"
 }:
 
-stdenv.mkDerivation rec {
-  pname = "yandex-browser";
-  version = "23.7.1.1148-1";
+let
+  version = {
+    corporate = "23.9.1.1016-1";
+    beta = "23.9.1.1028-1";
+    stable = "23.9.1.962-1";
+  }.${edition};
+
+  hash = {
+    corporate = "sha256-A/MjphA6vefDzPmShpPbgjDTl4WnCiZWuHofy1Djrzc=";
+    beta = "sha256-vnz1weMwR3V/mBNzrJ0iqnA/aifYTCucW+9kyy/0SnA=";
+    stable = "sha256-VrDqFLvK7RdnV6Yt1DILu7mV1WFcilOH5+VKlCdpXjc=";
+  }.${edition};
+
+  app = {
+    corporate = "";
+    beta = "-beta";
+    stable = "";
+  }.${edition};
+
+in stdenv.mkDerivation rec {
+  pname = "yandex-browser-${edition}";
+  inherit version;
 
   src = fetchurl {
-    url = "http://repo.yandex.ru/yandex-browser/deb/pool/main/y/${pname}-beta/${pname}-beta_${version}_amd64.deb";
-    sha256 = "sha256-SJbuT2MnsXcqOSk4xCUokseDotjbWgAnvwnfNPF9zi4=";
+    url = "http://repo.yandex.ru/yandex-browser/deb/pool/main/y/${pname}/${pname}_${version}_amd64.deb";
+    inherit hash;
   };
 
   nativeBuildInputs = [
     autoPatchelfHook
+    qt6.wrapQtAppsHook
     wrapGAppsHook
   ];
 
@@ -108,6 +131,7 @@ stdenv.mkDerivation rec {
     pango
     stdenv.cc.cc.lib
     libqt5pas
+    qt6.qtbase
   ];
 
   unpackPhase = ''
@@ -118,15 +142,20 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     cp $TMP/ya/{usr/share,opt} $out/ -R
-    substituteInPlace $out/share/applications/yandex-browser-beta.desktop --replace /usr/ $out/
-    ln -sf $out/opt/yandex/browser-beta/yandex_browser $out/bin/yandex-browser
-    ln -sf $out/opt/yandex/browser-beta/yandex_browser $out/bin/yandex-browser-beta
+    cp $out/share/applications/yandex-browser${app}.desktop $out/share/applications/${pname}.desktop || true
+    rm -f $out/share/applications/yandex-browser.desktop
+    substituteInPlace $out/share/applications/${pname}.desktop --replace /usr/ $out/
+    substituteInPlace $out/share/menu/yandex-browser${app}.menu --replace /opt/ $out/opt/
+    substituteInPlace $out/share/gnome-control-center/default-apps/yandex-browser${app}.xml --replace /opt/ $out/opt/
+    ln -sf ${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so $out/opt/yandex/browser${app}/libffmpeg.so
+    ln -sf $out/opt/yandex/browser${app}/yandex-browser${app} $out/bin/${pname}
   '';
 
   runtimeDependencies = map lib.getLib [
     libpulseaudio
     curl
     systemd
+    vivaldi-ffmpeg-codecs
   ] ++ buildInputs;
 
   meta = with lib; {