fix zen-browser audio/video codecs with ffmpeg-full

This commit is contained in:
2026-03-11 16:35:46 +00:00
parent 520177b9a5
commit 0e854495ff
+18 -21
View File
@@ -1,6 +1,5 @@
{ ... }: { { lib, ... }: {
perSystem = { pkgs, ... }: let perSystem = { pkgs, ... }: let
zen-appimage = pkgs.appimageTools.wrapType2 rec {
pname = "zen-browser"; pname = "zen-browser";
version = "1.19.1b"; version = "1.19.1b";
@@ -9,36 +8,34 @@
hash = "sha256-h3lza2C+SxptpcX897Uf/nM8dNILUBXScSNQZlvSIQg="; hash = "sha256-h3lza2C+SxptpcX897Uf/nM8dNILUBXScSNQZlvSIQg=";
}; };
extraInstallCommands = let appimageContents = pkgs.appimageTools.extract { inherit pname version src; };
contents = pkgs.appimageTools.extract { inherit pname version src; }; in {
in '' packages.zen-browser = pkgs.appimageTools.wrapType2 {
desktop_file=$(find ${contents} -name "*.desktop" | head -n1) inherit pname version src;
extraPkgs = pkgs: [ pkgs.ffmpeg-full ];
extraInstallCommands = ''
desktop_file=$(find ${appimageContents} -name "*.desktop" | head -n1)
if [ -n "$desktop_file" ]; then if [ -n "$desktop_file" ]; then
install -m 444 -D "$desktop_file" "$out/share/applications/${pname}.desktop" install -m 444 -D "$desktop_file" "$out/share/applications/${pname}.desktop"
# The desktop file uses 'zen' as the binary name
substituteInPlace "$out/share/applications/${pname}.desktop" \ substituteInPlace "$out/share/applications/${pname}.desktop" \
--replace 'Exec=zen' 'Exec=${pname}' --replace 'Exec=zen' 'Exec=${pname}'
fi fi
if [ -d ${contents}/usr/share/icons ]; then if [ -d ${appimageContents}/usr/share/icons ]; then
cp -r ${contents}/usr/share/icons $out/share cp -r ${appimageContents}/usr/share/icons $out/share
fi fi
# Also provide 'zen' binary since some apps expect it
ln -s $out/bin/${pname} $out/bin/zen ln -s $out/bin/${pname} $out/bin/zen
''; '';
meta = {
description = "Experience tranquillity while browsing the web without people tracking you!";
homepage = "https://zen-browser.app";
license = lib.licenses.mpl20;
platforms = [ "x86_64-linux" ];
}; };
in {
packages.zen-browser = pkgs.symlinkJoin {
name = "zen-browser";
paths = [ zen-appimage ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/zen-browser \
--prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.ffmpeg ]}
wrapProgram $out/bin/zen \
--prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.ffmpeg ]}
'';
}; };
}; };
} }