depot/third_party/nixpkgs/pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix

71 lines
1.8 KiB
Nix
Raw Normal View History

{ fetchFromGitLab
, hyprland
, wlroots
, lib
, libdisplay-info
, libliftoff
, hwdata
, enableNvidiaPatches ? false
}:
let
libdisplay-info-new = libdisplay-info.overrideAttrs (old: {
version = "0.1.1+date=2023-03-02";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "emersion";
repo = old.pname;
rev = "147d6611a64a6ab04611b923e30efacaca6fc678";
sha256 = "sha256-/q79o13Zvu7x02SBGu0W5yQznQ+p7ltZ9L6cMW5t/o4=";
};
});
libliftoff-new = libliftoff.overrideAttrs (old: {
version = "0.5.0-dev";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "emersion";
repo = old.pname;
rev = "d98ae243280074b0ba44bff92215ae8d785658c0";
sha256 = "sha256-DjwlS8rXE7srs7A8+tHqXyUsFGtucYSeq6X0T/pVOc8=";
};
NIX_CFLAGS_COMPILE = toString [
"-Wno-error=sign-conversion"
];
});
in
wlroots.overrideAttrs
(old: {
version = "0.17.0-dev";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "wlroots";
repo = "wlroots";
rev = "5de9e1a99d6642c2d09d589aa37ff0a8945dcee1";
hash = "sha256-HXu98PyBMKEWLqiTb8viuLDznud/SdkdJsx5A5CWx7I=";
};
pname =
old.pname
+ "-hyprland"
+ lib.optionalString enableNvidiaPatches "-nvidia";
patches =
(old.patches or [ ])
++ (lib.optionals enableNvidiaPatches [
"${hyprland.src}/nix/patches/wlroots-nvidia.patch"
]);
# don't need old.postPatch for hwdata's path in wlroots 0.16
postPatch = lib.optionalString enableNvidiaPatches ''
substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();"
'';
buildInputs = old.buildInputs ++ [
hwdata
libdisplay-info-new
libliftoff-new
];
})