about summary refs log tree commit diff
path: root/pkgs/development/libraries/wlroots/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/wlroots/default.nix')
-rw-r--r--pkgs/development/libraries/wlroots/default.nix36
1 files changed, 28 insertions, 8 deletions
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index 789625f2f9f37..8b4abf7d5d12f 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitLab
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -20,6 +21,8 @@
 , seatd
 , vulkan-loader
 , glslang
+, libliftoff
+, libdisplay-info
 , nixosTests
 
 , enableXWayland ? true
@@ -27,7 +30,7 @@
 }:
 
 let
-  generic = { version, hash, extraBuildInputs ? [ ], extraNativeBuildInputs ? [ ], extraPatch ? "" }:
+  generic = { version, hash, extraBuildInputs ? [ ], extraNativeBuildInputs ? [ ], patches ? [ ], postPatch ? "" }:
     stdenv.mkDerivation (finalAttrs: {
       pname = "wlroots";
       inherit version;
@@ -42,7 +45,7 @@ let
         inherit hash;
       };
 
-      postPatch = extraPatch;
+      inherit patches postPatch;
 
       # $out for the library and $examples for the example programs (in examples):
       outputs = [ "out" "examples" ];
@@ -94,7 +97,7 @@ let
       # Test via TinyWL (the "minimum viable product" Wayland compositor based on wlroots):
       passthru.tests.tinywl = nixosTests.tinywl;
 
-      meta = with lib; {
+      meta = {
         description = "A modular Wayland compositor library";
         longDescription = ''
           Pluggable, composable, unopinionated modules for building a Wayland
@@ -102,9 +105,9 @@ let
         '';
         inherit (finalAttrs.src.meta) homepage;
         changelog = "https://gitlab.freedesktop.org/wlroots/wlroots/-/tags/${version}";
-        license = licenses.mit;
-        platforms = platforms.linux;
-        maintainers = with maintainers; [ primeos synthetica ];
+        license = lib.licenses.mit;
+        platforms = lib.platforms.linux;
+        maintainers = with lib.maintainers; [ primeos synthetica rewine ];
       };
     });
 
@@ -118,11 +121,28 @@ rec {
   wlroots_0_16 = generic {
     version = "0.16.2";
     hash = "sha256-JeDDYinio14BOl6CbzAPnJDOnrk4vgGNMN++rcy2ItQ=";
-    extraPatch = ''
+    postPatch = ''
       substituteInPlace backend/drm/meson.build \
         --replace /usr/share/hwdata/ ${hwdata}/share/hwdata/
     '';
   };
 
-  wlroots = wlroots_0_16;
+  wlroots_0_17 = generic {
+    version = "0.17.0";
+    hash = "sha256-VUrnSG4UAAH0cBy15lG0w8RernwegD6lkOdLvWU3a4c=";
+    extraBuildInputs = [
+      hwdata
+      libliftoff
+      libdisplay-info
+    ];
+    patches = [
+      (fetchpatch {
+        name = "tinywl-fix-wlroots-dependency-constraint-in-Makefile.patch";
+        url = "https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/fe53ec693789afb44c899cad8c2df70c8f9f9023.patch";
+        hash = "sha256-wU62hXgmsAyT5j/bWeCFBkvM9cYjUntdCycQt5HAhb8=";
+      })
+    ];
+  };
+
+  wlroots = wlroots_0_17;
 }