From 6881edcd733cc9a8b7f827c57bf525b87650aa6e Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Mon, 3 Jun 2024 11:18:13 +0200 Subject: [PATCH 1/3] libliftoff: refactor into versioned package Signed-off-by: Sefa Eyeoglu --- .../libraries/libliftoff/default.nix | 51 +++++++------------ .../libraries/libliftoff/generic.nix | 29 +++++++++++ pkgs/top-level/all-packages.nix | 3 +- 3 files changed, 48 insertions(+), 35 deletions(-) create mode 100644 pkgs/development/libraries/libliftoff/generic.nix diff --git a/pkgs/development/libraries/libliftoff/default.nix b/pkgs/development/libraries/libliftoff/default.nix index 4bcf6ae166a0..a02f9a72aa81 100644 --- a/pkgs/development/libraries/libliftoff/default.nix +++ b/pkgs/development/libraries/libliftoff/default.nix @@ -1,35 +1,18 @@ -{ 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="; } diff --git a/pkgs/development/libraries/libliftoff/generic.nix b/pkgs/development/libraries/libliftoff/generic.nix new file mode 100644 index 000000000000..a9d0c45e2f3d --- /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://github.com/emersion/libliftoff/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ primeos Scrumplex ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5fd2c7817aa9..654e2fe663e8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22207,7 +22207,8 @@ with pkgs; liblc3 = callPackage ../development/libraries/liblc3 { }; - libliftoff = callPackage ../development/libraries/libliftoff { }; + inherit (callPackages ../development/libraries/libliftoff { }) libliftoff_0_4; + libliftoff = libliftoff_0_4; liblqr1 = callPackage ../development/libraries/liblqr-1 { inherit (darwin.apple_sdk.frameworks) Carbon AppKit; From a676f12533a4c39d4ea4525807c99beee331d139 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Mon, 3 Jun 2024 11:18:45 +0200 Subject: [PATCH 2/3] libliftoff: 0.4.1 -> 0.5.0 Signed-off-by: Sefa Eyeoglu --- pkgs/development/libraries/libliftoff/default.nix | 1 + pkgs/development/libraries/wlroots/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 8 ++++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/libliftoff/default.nix b/pkgs/development/libraries/libliftoff/default.nix index a02f9a72aa81..8d695b2b9afd 100644 --- a/pkgs/development/libraries/libliftoff/default.nix +++ b/pkgs/development/libraries/libliftoff/default.nix @@ -15,4 +15,5 @@ let 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/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 654e2fe663e8..2c4a05ca262c 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 { }; @@ -22207,8 +22211,8 @@ with pkgs; liblc3 = callPackage ../development/libraries/liblc3 { }; - inherit (callPackages ../development/libraries/libliftoff { }) libliftoff_0_4; - libliftoff = libliftoff_0_4; + 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; From 666c37f04dbe9677b12461140b7949e1e5886368 Mon Sep 17 00:00:00 2001 From: Sefa Eyeoglu Date: Mon, 3 Jun 2024 11:49:52 +0200 Subject: [PATCH 3/3] libliftoff: fix changelog link Signed-off-by: Sefa Eyeoglu --- pkgs/development/libraries/libliftoff/generic.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libliftoff/generic.nix b/pkgs/development/libraries/libliftoff/generic.nix index a9d0c45e2f3d..0f347a6a9b00 100644 --- a/pkgs/development/libraries/libliftoff/generic.nix +++ b/pkgs/development/libraries/libliftoff/generic.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { on them, and libliftoff will pick planes for these layers if possible. ''; inherit (finalAttrs.src.meta) homepage; - changelog = "https://github.com/emersion/libliftoff/releases/tag/v${finalAttrs.version}"; + 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 ];