90 lines
2.4 KiB
Nix
90 lines
2.4 KiB
Nix
# 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}"
|
|
'';
|
|
}
|