2024-08-21 08:05:26 +00:00
|
|
|
{
|
|
|
|
description = "Zen Browser";
|
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; };
|
2024-08-21 08:05:26 +00:00
|
|
|
|
|
|
|
outputs = { self, nixpkgs }:
|
|
|
|
let
|
|
|
|
system = "x86_64-linux";
|
2024-10-20 02:45:48 +00:00
|
|
|
version = "1.0.1-a.12";
|
2024-08-22 08:07:02 +00:00
|
|
|
downloadUrl = {
|
|
|
|
"specific" = {
|
2024-10-20 02:45:48 +00:00
|
|
|
url =
|
|
|
|
"https://github.com/zen-browser/desktop/releases/download/${version}/zen.linux-specific.tar.bz2";
|
|
|
|
sha256 =
|
|
|
|
"sha256:0jkzdrsd1qdw3pwdafnl5xb061vryxzgwmvp1a6ghdwgl2dm2fcz";
|
|
|
|
};
|
|
|
|
"generic" = {
|
|
|
|
url =
|
|
|
|
"https://github.com/zen-browser/desktop/releases/download/${version}/zen.linux-generic.tar.bz2";
|
|
|
|
sha256 =
|
|
|
|
"sha256:17c1ayxjdn8c28c5xvj3f94zjyiiwn8fihm3nq440b9dhkg01qcz";
|
|
|
|
};
|
2024-08-22 08:07:02 +00:00
|
|
|
};
|
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
pkgs = import nixpkgs { inherit system; };
|
|
|
|
|
|
|
|
runtimeLibs = with pkgs;
|
|
|
|
[
|
|
|
|
libGL
|
|
|
|
libGLU
|
|
|
|
libevent
|
|
|
|
libffi
|
|
|
|
libjpeg
|
|
|
|
libpng
|
|
|
|
libstartup_notification
|
|
|
|
libvpx
|
|
|
|
libwebp
|
|
|
|
stdenv.cc.cc
|
|
|
|
fontconfig
|
|
|
|
libxkbcommon
|
|
|
|
zlib
|
|
|
|
freetype
|
|
|
|
gtk3
|
|
|
|
libxml2
|
|
|
|
dbus
|
|
|
|
xcb-util-cursor
|
|
|
|
alsa-lib
|
|
|
|
libpulseaudio
|
|
|
|
pango
|
|
|
|
atk
|
|
|
|
cairo
|
|
|
|
gdk-pixbuf
|
|
|
|
glib
|
|
|
|
udev
|
|
|
|
libva
|
|
|
|
mesa
|
|
|
|
libnotify
|
|
|
|
cups
|
|
|
|
pciutils
|
|
|
|
ffmpeg
|
|
|
|
libglvnd
|
|
|
|
pipewire
|
|
|
|
] ++ (with pkgs.xorg; [
|
|
|
|
libxcb
|
|
|
|
libX11
|
|
|
|
libXcursor
|
|
|
|
libXrandr
|
|
|
|
libXi
|
|
|
|
libXext
|
|
|
|
libXcomposite
|
|
|
|
libXdamage
|
|
|
|
libXfixes
|
|
|
|
libXScrnSaver
|
|
|
|
]);
|
2024-08-21 08:05:26 +00:00
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
mkZen = { variant }:
|
|
|
|
let downloadData = downloadUrl."${variant}";
|
|
|
|
in pkgs.stdenv.mkDerivation {
|
|
|
|
inherit version;
|
|
|
|
pname = "zen-browser";
|
2024-08-21 08:05:26 +00:00
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
src = builtins.fetchTarball {
|
|
|
|
url = downloadData.url;
|
|
|
|
sha256 = downloadData.sha256;
|
|
|
|
};
|
2024-08-22 08:07:02 +00:00
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
desktopSrc = ./.;
|
2024-08-22 08:07:02 +00:00
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
phases = [ "installPhase" "fixupPhase" ];
|
2024-08-22 08:07:02 +00:00
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
nativeBuildInputs =
|
|
|
|
[ pkgs.makeWrapper pkgs.copyDesktopItems pkgs.wrapGAppsHook ];
|
2024-08-22 08:07:02 +00:00
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
installPhase =
|
|
|
|
" mkdir -p $out/bin && cp -r $src/* $out/bin\n install -D $desktopSrc/zen.desktop $out/share/applications/zen.desktop\n install -D $src/browser/chrome/icons/default/default128.png $out/share/icons/hicolor/128x128/apps/zen.png\n";
|
2024-08-22 08:07:02 +00:00
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
fixupPhase = ''
|
|
|
|
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 "${
|
|
|
|
pkgs.lib.makeLibraryPath runtimeLibs
|
|
|
|
}" \
|
|
|
|
--set MOZ_LEGACY_PROFILES 1 --set MOZ_ALLOW_DOWNGRADE 1 --set MOZ_APP_LAUNCHER zen --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
|
|
|
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/zen-bin
|
|
|
|
wrapProgram $out/bin/zen-bin --set LD_LIBRARY_PATH "${
|
|
|
|
pkgs.lib.makeLibraryPath runtimeLibs
|
|
|
|
}" \
|
|
|
|
--set MOZ_LEGACY_PROFILES 1 --set MOZ_ALLOW_DOWNGRADE 1 --set MOZ_APP_LAUNCHER zen --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
|
|
|
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/glxtest
|
|
|
|
wrapProgram $out/bin/glxtest --set LD_LIBRARY_PATH "${
|
|
|
|
pkgs.lib.makeLibraryPath runtimeLibs
|
|
|
|
}"
|
|
|
|
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/updater
|
|
|
|
wrapProgram $out/bin/updater --set LD_LIBRARY_PATH "${
|
|
|
|
pkgs.lib.makeLibraryPath runtimeLibs
|
|
|
|
}"
|
|
|
|
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/vaapitest
|
|
|
|
wrapProgram $out/bin/vaapitest --set LD_LIBRARY_PATH "${
|
|
|
|
pkgs.lib.makeLibraryPath runtimeLibs
|
|
|
|
}"
|
|
|
|
'';
|
2024-08-23 22:45:22 +00:00
|
|
|
|
2024-10-20 02:45:48 +00:00
|
|
|
meta.mainProgram = "zen";
|
|
|
|
};
|
|
|
|
in {
|
2024-08-22 08:07:02 +00:00
|
|
|
packages."${system}" = {
|
|
|
|
generic = mkZen { variant = "generic"; };
|
|
|
|
specific = mkZen { variant = "specific"; };
|
2024-10-20 02:45:48 +00:00
|
|
|
default = self.packages."${system}".specific;
|
2024-08-21 08:05:26 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|