wlroots: 0.13.0 -> 0.14.0

The new release comes with breaking changes so we temporarily introduce
wlroots_0_13 for packages that don't yet support wlroots 0.14.
For the rest of the packages the required upstream patches for this new
wlroots release are fetched (if feasible).

+132 -10
+5
pkgs/applications/window-managers/cage/default.nix
··· 17 sha256 = "0ixl45g0m8b75gvbjm3gf5qg0yplspgs0xpm2619wn5sygc47sb1"; 18 }; 19 20 nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ]; 21 22 buildInputs = [
··· 17 sha256 = "0ixl45g0m8b75gvbjm3gf5qg0yplspgs0xpm2619wn5sygc47sb1"; 18 }; 19 20 + patches = [ 21 + # To fix the build with wlroots 0.14.0: 22 + ./wlroots-0_14.patch 23 + ]; 24 + 25 nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ]; 26 27 buildInputs = [
+36
pkgs/applications/window-managers/cage/wlroots-0_14.patch
···
··· 1 + From 9a4523d47efeafd674d419169fe161e5a3b31cb3 Mon Sep 17 00:00:00 2001 2 + From: Jan Beich <jbeich@FreeBSD.org> 3 + Date: Thu, 3 Jun 2021 17:53:11 +0000 4 + Subject: [PATCH 1/3] view: chase swaywm/wlroots@9e58301df7f0 5 + 6 + view.c:238:52: error: no member named 'subsurfaces' in 'struct wlr_surface' 7 + wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces, parent_link) { 8 + ~~~~~~~~~~~~~~~~~ ^ 9 + /usr/include/wayland-util.h:443:30: note: expanded from macro 'wl_list_for_each' 10 + for (pos = wl_container_of((head)->next, pos, member); \ 11 + ^~~~ 12 + /usr/include/wayland-util.h:409:32: note: expanded from macro 'wl_container_of' 13 + (__typeof__(sample))((char *)(ptr) - \ 14 + ^~~ 15 + 16 + Based on https://github.com/swaywm/sway/commit/3162766eef14 17 + --- 18 + view.c | 5 ++++- 19 + 1 file changed, 4 insertions(+), 1 deletion(-) 20 + 21 + diff --git a/view.c b/view.c 22 + index b9ba9c2..3f3b0ed 100644 23 + --- a/view.c 24 + +++ b/view.c 25 + @@ -235,7 +235,10 @@ view_map(struct cg_view *view, struct wlr_surface *surface) 26 + view->wlr_surface = surface; 27 + 28 + struct wlr_subsurface *subsurface; 29 + - wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces, parent_link) { 30 + + wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces_below, parent_link) { 31 + + subsurface_create(view, subsurface); 32 + + } 33 + + wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces_above, parent_link) { 34 + subsurface_create(view, subsurface); 35 + } 36 +
+10
pkgs/applications/window-managers/cagebreak/default.nix
··· 1 { lib 2 , stdenv 3 , fetchFromGitHub 4 , cairo 5 , fontconfig 6 , libxkbcommon ··· 30 rev = version; 31 hash = "sha256-1IztedN5/I/4TDKHLJ26fSrDsvJ5QAr+cbzS2PQITDE="; 32 }; 33 34 nativeBuildInputs = [ 35 makeWrapper
··· 1 { lib 2 , stdenv 3 , fetchFromGitHub 4 + , fetchpatch 5 , cairo 6 , fontconfig 7 , libxkbcommon ··· 31 rev = version; 32 hash = "sha256-1IztedN5/I/4TDKHLJ26fSrDsvJ5QAr+cbzS2PQITDE="; 33 }; 34 + 35 + patches = [ 36 + # To fix the build with wlroots 0.14.0: 37 + (fetchpatch { 38 + # Add fixes for wlroots 0.14.0 39 + url = "https://github.com/project-repo/cagebreak/commit/d57869d43add58331386fc8e89c14bb2b74afe17.patch"; 40 + sha256 = "0g6sl8y4kk0bm5x6pxqbxw2j0gyg3ybr2v9m70q2pxp70kms4lqg"; 41 + }) 42 + ]; 43 44 nativeBuildInputs = [ 45 makeWrapper
+10
pkgs/applications/window-managers/labwc/default.nix
··· 1 { lib 2 , stdenv 3 , fetchFromGitHub 4 , pkg-config 5 , meson 6 , ninja ··· 29 rev = "fddeb74527e5b860d9c1a91a237d390041c758b6"; 30 sha256 = "0rhniv5j4bypqxxj0nbpa3hclmn8znal9rldv0mrgbizn3wsbs54"; 31 }; 32 33 nativeBuildInputs = [ pkg-config meson ninja scdoc ]; 34 buildInputs = [
··· 1 { lib 2 , stdenv 3 , fetchFromGitHub 4 + , fetchpatch 5 , pkg-config 6 , meson 7 , ninja ··· 30 rev = "fddeb74527e5b860d9c1a91a237d390041c758b6"; 31 sha256 = "0rhniv5j4bypqxxj0nbpa3hclmn8znal9rldv0mrgbizn3wsbs54"; 32 }; 33 + 34 + patches = [ 35 + # To fix the build with wlroots 0.14: 36 + (fetchpatch { 37 + # output: access texture width/height directly 38 + url = "https://github.com/johanmalm/labwc/commit/892e93dd84c514b4e6f34a0fab01c727edd2d8de.patch"; 39 + sha256 = "1p1pg1kd98727wlcspa2sffl7ijhvsfad6bj2rxsw322q0bz3yrh"; 40 + }) 41 + ]; 42 43 nativeBuildInputs = [ pkg-config meson ninja scdoc ]; 44 buildInputs = [
+55
pkgs/development/libraries/wlroots/0.13.nix
···
··· 1 + { lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner 2 + , libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman 3 + , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa 4 + , libpng, ffmpeg, libuuid, xcbutilrenderutil, xwayland 5 + }: 6 + 7 + stdenv.mkDerivation rec { 8 + pname = "wlroots"; 9 + version = "0.13.0"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "swaywm"; 13 + repo = "wlroots"; 14 + rev = version; 15 + sha256 = "01plhbnsp5yg18arz0v8fr0pr9l4w4pdzwkg9px486qdvb3s1vgy"; 16 + }; 17 + 18 + # $out for the library and $examples for the example programs (in examples): 19 + outputs = [ "out" "examples" ]; 20 + 21 + nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ]; 22 + 23 + buildInputs = [ 24 + libGL wayland wayland-protocols libinput libxkbcommon pixman 25 + xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa 26 + libpng ffmpeg libuuid xcbutilrenderutil xwayland 27 + ]; 28 + 29 + mesonFlags = [ "-Dlogind-provider=systemd" "-Dlibseat=disabled" ]; 30 + 31 + postFixup = '' 32 + # Install ALL example programs to $examples: 33 + # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle 34 + # screenshot output-layout multi-pointer rotation tablet touch pointer 35 + # simple 36 + mkdir -p $examples/bin 37 + cd ./examples 38 + for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do 39 + cp "$binary" "$examples/bin/wlroots-$binary" 40 + done 41 + ''; 42 + 43 + meta = with lib; { 44 + description = "A modular Wayland compositor library"; 45 + longDescription = '' 46 + Pluggable, composable, unopinionated modules for building a Wayland 47 + compositor; or about 50,000 lines of code you were going to write anyway. 48 + ''; 49 + inherit (src.meta) homepage; 50 + changelog = "https://github.com/swaywm/wlroots/releases/tag/${version}"; 51 + license = licenses.mit; 52 + platforms = platforms.linux; 53 + maintainers = with maintainers; [ primeos synthetica ]; 54 + }; 55 + }
+4 -6
pkgs/development/libraries/wlroots/default.nix
··· 1 { lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner 2 , libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman 3 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa 4 - , libpng, ffmpeg, libuuid, xcbutilrenderutil, xwayland 5 }: 6 7 stdenv.mkDerivation rec { 8 pname = "wlroots"; 9 - version = "0.13.0"; 10 11 src = fetchFromGitHub { 12 owner = "swaywm"; 13 repo = "wlroots"; 14 rev = version; 15 - sha256 = "01plhbnsp5yg18arz0v8fr0pr9l4w4pdzwkg9px486qdvb3s1vgy"; 16 }; 17 18 # $out for the library and $examples for the example programs (in examples): ··· 23 buildInputs = [ 24 libGL wayland wayland-protocols libinput libxkbcommon pixman 25 xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa 26 - libpng ffmpeg libuuid xcbutilrenderutil xwayland 27 ]; 28 - 29 - mesonFlags = [ "-Dlogind-provider=systemd" "-Dlibseat=disabled" ]; 30 31 postFixup = '' 32 # Install ALL example programs to $examples:
··· 1 { lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner 2 , libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman 3 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa 4 + , libpng, ffmpeg, xcbutilrenderutil, xwayland, libseat 5 }: 6 7 stdenv.mkDerivation rec { 8 pname = "wlroots"; 9 + version = "0.14.0"; 10 11 src = fetchFromGitHub { 12 owner = "swaywm"; 13 repo = "wlroots"; 14 rev = version; 15 + sha256 = "103sf9bsyqw18kmaih11mlxwqi9ddymm95w1lfxz06pf69xwhd39"; 16 }; 17 18 # $out for the library and $examples for the example programs (in examples): ··· 23 buildInputs = [ 24 libGL wayland wayland-protocols libinput libxkbcommon pixman 25 xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa 26 + libpng ffmpeg xcbutilrenderutil xwayland libseat 27 ]; 28 29 postFixup = '' 30 # Install ALL example programs to $examples:
+12 -4
pkgs/top-level/all-packages.nix
··· 24541 }; 24542 24543 wlroots_0_12 = callPackage ../development/libraries/wlroots/0.12.nix {}; 24544 24545 - sway-unwrapped = callPackage ../applications/window-managers/sway { }; 24546 sway = callPackage ../applications/window-managers/sway/wrapper.nix { }; 24547 swaybg = callPackage ../applications/window-managers/sway/bg.nix { }; 24548 swayidle = callPackage ../applications/window-managers/sway/idle.nix { }; ··· 24562 24563 wbg = callPackage ../applications/misc/wbg { }; 24564 24565 - hikari = callPackage ../applications/window-managers/hikari { }; 24566 24567 i3 = callPackage ../applications/window-managers/i3 { 24568 xcb-util-cursor = if stdenv.isDarwin then xcb-util-cursor-HEAD else xcb-util-cursor; ··· 27564 wayfireApplications = wayfireApplications-unwrapped.withPlugins (plugins: [ plugins.wf-shell ]); 27565 inherit (wayfireApplications) wayfire wcm; 27566 wayfireApplications-unwrapped = recurseIntoAttrs ( 27567 - callPackage ../applications/window-managers/wayfire/applications.nix { } 27568 ); 27569 wayfirePlugins = recurseIntoAttrs ( 27570 callPackage ../applications/window-managers/wayfire/plugins.nix { ··· 27614 27615 weston = callPackage ../applications/window-managers/weston { pipewire = pipewire_0_2; }; 27616 27617 - wio = callPackage ../applications/window-managers/wio { }; 27618 27619 whitebox-tools = callPackage ../applications/gis/whitebox-tools { 27620 inherit (darwin.apple_sdk.frameworks) Security;
··· 24541 }; 24542 24543 wlroots_0_12 = callPackage ../development/libraries/wlroots/0.12.nix {}; 24544 + wlroots_0_13 = callPackage ../development/libraries/wlroots/0.13.nix {}; 24545 24546 + sway-unwrapped = callPackage ../applications/window-managers/sway { 24547 + wlroots = wlroots_0_13; 24548 + }; 24549 sway = callPackage ../applications/window-managers/sway/wrapper.nix { }; 24550 swaybg = callPackage ../applications/window-managers/sway/bg.nix { }; 24551 swayidle = callPackage ../applications/window-managers/sway/idle.nix { }; ··· 24565 24566 wbg = callPackage ../applications/misc/wbg { }; 24567 24568 + hikari = callPackage ../applications/window-managers/hikari { 24569 + wlroots = wlroots_0_13; 24570 + }; 24571 24572 i3 = callPackage ../applications/window-managers/i3 { 24573 xcb-util-cursor = if stdenv.isDarwin then xcb-util-cursor-HEAD else xcb-util-cursor; ··· 27569 wayfireApplications = wayfireApplications-unwrapped.withPlugins (plugins: [ plugins.wf-shell ]); 27570 inherit (wayfireApplications) wayfire wcm; 27571 wayfireApplications-unwrapped = recurseIntoAttrs ( 27572 + (callPackage ../applications/window-managers/wayfire/applications.nix { }). 27573 + extend (_: _: { wlroots = wlroots_0_13; }) 27574 ); 27575 wayfirePlugins = recurseIntoAttrs ( 27576 callPackage ../applications/window-managers/wayfire/plugins.nix { ··· 27620 27621 weston = callPackage ../applications/window-managers/weston { pipewire = pipewire_0_2; }; 27622 27623 + wio = callPackage ../applications/window-managers/wio { 27624 + wlroots = wlroots_0_13; 27625 + }; 27626 27627 whitebox-tools = callPackage ../applications/gis/whitebox-tools { 27628 inherit (darwin.apple_sdk.frameworks) Security;