diff options
Diffstat (limited to 'pkgs/applications/window-managers/hyprwm/hyprland/default.nix')
-rw-r--r-- | pkgs/applications/window-managers/hyprwm/hyprland/default.nix | 89 |
1 files changed, 46 insertions, 43 deletions
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/default.nix b/pkgs/applications/window-managers/hyprwm/hyprland/default.nix index 4d50b39ebedad..88fe9c31f0456 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprland/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprland/default.nix @@ -4,6 +4,7 @@ , pkg-config , makeWrapper , meson +, cmake , ninja , binutils , cairo @@ -21,15 +22,19 @@ , mesa , pango , pciutils +, python3 , systemd , tomlplusplus -, udis86-hyprland , wayland , wayland-protocols , wayland-scanner -, wlroots-hyprland , xcbutilwm , xwayland +, hwdata +, seatd +, libdisplay-info +, libliftoff +, xorg , debug ? false , enableXWayland ? true , legacyRenderer ? false @@ -44,24 +49,17 @@ assert lib.assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been remov assert lib.assertMsg (!enableNvidiaPatches) "The option `enableNvidiaPatches` has been removed."; assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland"; -let - wlr = wlroots-hyprland.override { inherit enableXWayland; }; -in stdenv.mkDerivation (finalAttrs: { pname = "hyprland" + lib.optionalString debug "-debug"; version = "0.39.1"; src = fetchFromGitHub { owner = "hyprwm"; repo = finalAttrs.pname; + fetchSubmodules = true; rev = "v${finalAttrs.version}"; - hash = "sha256-Urb/njWiHYUudXpmK8EKl9Z58esTIG0PxXw5LuM2r5g="; + hash = "sha256-7L5rqQRYH2iyyP5g3IdXJSlATfgnKhuYMf65E48MVKw="; }; - patches = [ - # make meson use the provided dependencies instead of the git submodules - "${finalAttrs.src}/nix/patches/meson-build.patch" - ]; - postPatch = '' # Fix hardcoded paths to /usr installation sed -i "s#/usr#$out#" src/render/OpenGL.cpp @@ -69,12 +67,12 @@ stdenv.mkDerivation (finalAttrs: { # Generate version.h cp src/version.h.in src/version.h substituteInPlace src/version.h \ - --replace "@HASH@" '${finalAttrs.src.rev}' \ - --replace "@BRANCH@" "" \ - --replace "@MESSAGE@" "" \ - --replace "@DATE@" "2024-04-16" \ - --replace "@TAG@" "" \ - --replace "@DIRTY@" "" + --replace-fail "@HASH@" '${finalAttrs.src.rev}' \ + --replace-fail "@BRANCH@" "" \ + --replace-fail "@MESSAGE@" "" \ + --replace-fail "@DATE@" "2024-04-16" \ + --replace-fail "@TAG@" "" \ + --replace-fail "@DIRTY@" "" ''; depsBuildBuild = [ @@ -89,6 +87,8 @@ stdenv.mkDerivation (finalAttrs: { ninja pkg-config wayland-scanner + cmake # for subproject udis86 + python3 ]; outputs = [ @@ -97,36 +97,40 @@ stdenv.mkDerivation (finalAttrs: { "dev" ]; - buildInputs = - wlr.buildInputs ++ [ - cairo - git - hyprcursor - hyprland-protocols - hyprlang - libGL - libdrm - libinput - libxkbcommon - mesa - udis86-hyprland - wayland - wayland-protocols - pango - pciutils - tomlplusplus - wlr - ] - ++ lib.optionals stdenv.hostPlatform.isMusl [ libexecinfo ] - ++ lib.optionals enableXWayland [ libxcb xcbutilwm xwayland ] - ++ lib.optionals withSystemd [ systemd ]; + buildInputs = [ + cairo + git + hyprcursor + hyprland-protocols + hyprlang + libGL + libdrm + libinput + libxkbcommon + mesa + wayland + wayland-protocols + pango + pciutils + tomlplusplus + # for subproject wlroots-hyprland + hwdata + seatd + libliftoff + libdisplay-info + xorg.xcbutilerrors + xorg.xcbutilrenderutil + ] + ++ lib.optionals stdenv.hostPlatform.isMusl [ libexecinfo ] + ++ lib.optionals enableXWayland [ libxcb xcbutilwm xwayland ] + ++ lib.optionals withSystemd [ systemd ]; mesonBuildType = if debug then "debug" else "release"; - mesonAutoFeatures = "disabled"; + mesonAutoFeatures = "enabled"; mesonFlags = [ (lib.mesonEnable "xwayland" enableXWayland) @@ -135,7 +139,6 @@ stdenv.mkDerivation (finalAttrs: { ]; postInstall = '' - ln -s ${wlr}/include/wlr $dev/include/hyprland/wlroots ${lib.optionalString wrapRuntimeDeps '' wrapProgram $out/bin/Hyprland \ --suffix PATH : ${lib.makeBinPath [binutils pciutils stdenv.cc]} @@ -150,6 +153,6 @@ stdenv.mkDerivation (finalAttrs: { license = licenses.bsd3; maintainers = with maintainers; [ wozeparrot fufexan ]; mainProgram = "Hyprland"; - platforms = wlr.meta.platforms; + platforms = lib.platforms.linux; }; }) |