diff --git a/pkgs/development/libraries/libliftoff/default.nix b/pkgs/development/libraries/libliftoff/default.nix index 4bcf6ae166a0..8d695b2b9afd 100644 --- a/pkgs/development/libraries/libliftoff/default.nix +++ b/pkgs/development/libraries/libliftoff/default.nix @@ -1,35 +1,19 @@ -{ lib, stdenv, fetchFromGitLab -, meson, pkg-config, ninja -, libdrm -}: - -stdenv.mkDerivation rec { - pname = "libliftoff"; - version = "0.4.1"; - - src = fetchFromGitLab { - domain = "gitlab.freedesktop.org"; - owner = "emersion"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-NPwhsd6IOQ0XxNQQNdaaM4kmwoLftokV86WYhoa5csY="; - }; - - nativeBuildInputs = [ meson pkg-config ninja ]; - - buildInputs = [ libdrm ]; - - meta = with lib; { - description = "Lightweight KMS plane library"; - longDescription = '' - libliftoff eases the use of KMS planes from userspace without standing in - your way. Users create "virtual planes" called layers, set KMS properties - on them, and libliftoff will pick planes for these layers if possible. - ''; - inherit (src.meta) homepage; - changelog = "https://github.com/emersion/libliftoff/releases/tag/v${version}"; - license = licenses.mit; - platforms = platforms.linux; - maintainers = with maintainers; [ primeos Scrumplex ]; - }; +{ callPackage, fetchFromGitLab, ... }: +let + mkVariant = + version: hash: + callPackage ./generic.nix { + inherit version; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "emersion"; + repo = "libliftoff"; + rev = "v${version}"; + inherit hash; + }; + }; +in +{ + libliftoff_0_4 = mkVariant "0.4.1" "sha256-NPwhsd6IOQ0XxNQQNdaaM4kmwoLftokV86WYhoa5csY="; + libliftoff_0_5 = mkVariant "0.5.0" "sha256-PcQY8OXPqfn8C30+GAYh0Z916ba5pik8U0fVpZtFb5g="; } diff --git a/pkgs/development/libraries/libliftoff/generic.nix b/pkgs/development/libraries/libliftoff/generic.nix new file mode 100644 index 000000000000..0f347a6a9b00 --- /dev/null +++ b/pkgs/development/libraries/libliftoff/generic.nix @@ -0,0 +1,29 @@ +{ lib, stdenv +, meson, pkg-config, ninja +, libdrm +, version +, src +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libliftoff"; + inherit version src; + + nativeBuildInputs = [ meson pkg-config ninja ]; + + buildInputs = [ libdrm ]; + + meta = { + description = "Lightweight KMS plane library"; + longDescription = '' + libliftoff eases the use of KMS planes from userspace without standing in + your way. Users create "virtual planes" called layers, set KMS properties + on them, and libliftoff will pick planes for these layers if possible. + ''; + inherit (finalAttrs.src.meta) homepage; + changelog = "https://gitlab.freedesktop.org/emersion/libliftoff/-/tags/v${finalAttrs.version}"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ primeos Scrumplex ]; + }; +}) diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix index 10fb01d86d41..335e8b2431ce 100644 --- a/pkgs/development/libraries/wlroots/default.nix +++ b/pkgs/development/libraries/wlroots/default.nix @@ -21,7 +21,7 @@ , seatd , vulkan-loader , glslang -, libliftoff +, libliftoff_0_4 , libdisplay-info , nixosTests @@ -132,7 +132,7 @@ rec { ]; extraBuildInputs = [ ffmpeg - libliftoff + libliftoff_0_4 libdisplay-info ]; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1238e7cf37f4..5a6c4a9c18c2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5487,6 +5487,10 @@ with pkgs; hypr = callPackage ../applications/window-managers/hyprwm/hypr { cairo = cairo.override { xcbSupport = true; }; }; + hyprland = callPackage ../by-name/hy/hyprland/package.nix { + libliftoff = libliftoff_0_4; + }; + hyprland-autoname-workspaces = callPackage ../applications/misc/hyprland-autoname-workspaces { }; hyprland-per-window-layout = callPackage ../tools/wayland/hyprland-per-window-layout { }; @@ -22205,7 +22209,8 @@ with pkgs; liblc3 = callPackage ../development/libraries/liblc3 { }; - libliftoff = callPackage ../development/libraries/libliftoff { }; + inherit (callPackages ../development/libraries/libliftoff { }) libliftoff_0_4 libliftoff_0_5; + libliftoff = libliftoff_0_5; liblqr1 = callPackage ../development/libraries/liblqr-1 { inherit (darwin.apple_sdk.frameworks) Carbon AppKit;