# Adapted from: https://github.com/MarceColl/zen-browser-flake { lib , stdenv , makeWrapper , copyDesktopItems , libGL , fontconfig , libxkbcommon , zlib , freetype , gtk3 , libxml2 , dbus , xcb-util-cursor , alsa-lib , pango , atk , cairo , gdk-pixbuf , glib , xorg }: stdenv.mkDerivation rec { name = "zenBrowser"; version = "1.0.0-a.27"; src = builtins.fetchTarball { url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen.linux-specific.tar.bz2"; sha256 = "sha256:0vmn10qpr96b4i8j24sa6ipg3fcxiiigkjwclbr5fknkfj3r6ds7"; }; desktopSrc = ./.; phases = [ "installPhase" "fixupPhase" ]; nativeBuildInputs = [ makeWrapper copyDesktopItems ]; installPhase = '' mkdir -p $out/bin && cp -r $src/* $out/bin install -D $desktopSrc/zen.desktop $out/share/applications/dev.zen.Zen.desktop install -D $src/browser/chrome/icons/default/default128.png $out/share/icons/hicolor/128x128/apps/zen.png ''; fixupPhase = let runtimeLibs = [ libGL stdenv.cc.cc fontconfig libxkbcommon zlib freetype gtk3 libxml2 dbus xcb-util-cursor alsa-lib pango atk cairo gdk-pixbuf glib ] ++ (with xorg; [ libxcb libX11 libXcursor libXrandr libXi libXext libXcomposite libXdamage libXfixes ]); in '' chmod 755 $out/bin/* patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/zen wrapProgram $out/bin/zen --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}" patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/zen-bin wrapProgram $out/bin/zen-bin --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}" patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/glxtest wrapProgram $out/bin/glxtest --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}" patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/updater wrapProgram $out/bin/updater --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}" patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/vaapitest wrapProgram $out/bin/vaapitest --set LD_LIBRARY_PATH "${lib.makeLibraryPath runtimeLibs}" ''; }