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). (cherry picked from commit 203c8edcdac9491912cb21fa9d84392cb6a69eef)
This commit is contained in:
parent
edba06511c
commit
bec2f8e481
|
@ -17,6 +17,11 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0ixl45g0m8b75gvbjm3gf5qg0yplspgs0xpm2619wn5sygc47sb1";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# To fix the build with wlroots 0.14.0:
|
||||
./wlroots-0_14.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config wayland scdoc makeWrapper ];
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
From 9a4523d47efeafd674d419169fe161e5a3b31cb3 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Beich <jbeich@FreeBSD.org>
|
||||
Date: Thu, 3 Jun 2021 17:53:11 +0000
|
||||
Subject: [PATCH 1/3] view: chase swaywm/wlroots@9e58301df7f0
|
||||
|
||||
view.c:238:52: error: no member named 'subsurfaces' in 'struct wlr_surface'
|
||||
wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces, parent_link) {
|
||||
~~~~~~~~~~~~~~~~~ ^
|
||||
/usr/include/wayland-util.h:443:30: note: expanded from macro 'wl_list_for_each'
|
||||
for (pos = wl_container_of((head)->next, pos, member); \
|
||||
^~~~
|
||||
/usr/include/wayland-util.h:409:32: note: expanded from macro 'wl_container_of'
|
||||
(__typeof__(sample))((char *)(ptr) - \
|
||||
^~~
|
||||
|
||||
Based on https://github.com/swaywm/sway/commit/3162766eef14
|
||||
---
|
||||
view.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/view.c b/view.c
|
||||
index b9ba9c2..3f3b0ed 100644
|
||||
--- a/view.c
|
||||
+++ b/view.c
|
||||
@@ -235,7 +235,10 @@ view_map(struct cg_view *view, struct wlr_surface *surface)
|
||||
view->wlr_surface = surface;
|
||||
|
||||
struct wlr_subsurface *subsurface;
|
||||
- wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces, parent_link) {
|
||||
+ wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces_below, parent_link) {
|
||||
+ subsurface_create(view, subsurface);
|
||||
+ }
|
||||
+ wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces_above, parent_link) {
|
||||
subsurface_create(view, subsurface);
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cairo
|
||||
, fontconfig
|
||||
, libxkbcommon
|
||||
|
@ -31,6 +32,15 @@ stdenv.mkDerivation rec {
|
|||
hash = "sha256-1IztedN5/I/4TDKHLJ26fSrDsvJ5QAr+cbzS2PQITDE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# To fix the build with wlroots 0.14.0:
|
||||
(fetchpatch {
|
||||
# Add fixes for wlroots 0.14.0
|
||||
url = "https://github.com/project-repo/cagebreak/commit/d57869d43add58331386fc8e89c14bb2b74afe17.patch";
|
||||
sha256 = "0g6sl8y4kk0bm5x6pxqbxw2j0gyg3ybr2v9m70q2pxp70kms4lqg";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
meson
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, meson
|
||||
, ninja
|
||||
|
@ -30,6 +31,15 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0rhniv5j4bypqxxj0nbpa3hclmn8znal9rldv0mrgbizn3wsbs54";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# To fix the build with wlroots 0.14:
|
||||
(fetchpatch {
|
||||
# output: access texture width/height directly
|
||||
url = "https://github.com/johanmalm/labwc/commit/892e93dd84c514b4e6f34a0fab01c727edd2d8de.patch";
|
||||
sha256 = "1p1pg1kd98727wlcspa2sffl7ijhvsfad6bj2rxsw322q0bz3yrh";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config meson ninja scdoc ];
|
||||
buildInputs = [
|
||||
cairo
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner
|
||||
, libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
|
||||
, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
|
||||
, libpng, ffmpeg, libuuid, xcbutilrenderutil, xwayland
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wlroots";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "swaywm";
|
||||
repo = "wlroots";
|
||||
rev = version;
|
||||
sha256 = "01plhbnsp5yg18arz0v8fr0pr9l4w4pdzwkg9px486qdvb3s1vgy";
|
||||
};
|
||||
|
||||
# $out for the library and $examples for the example programs (in examples):
|
||||
outputs = [ "out" "examples" ];
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
|
||||
|
||||
buildInputs = [
|
||||
libGL wayland wayland-protocols libinput libxkbcommon pixman
|
||||
xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
|
||||
libpng ffmpeg libuuid xcbutilrenderutil xwayland
|
||||
];
|
||||
|
||||
mesonFlags = [ "-Dlogind-provider=systemd" "-Dlibseat=disabled" ];
|
||||
|
||||
postFixup = ''
|
||||
# Install ALL example programs to $examples:
|
||||
# screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle
|
||||
# screenshot output-layout multi-pointer rotation tablet touch pointer
|
||||
# simple
|
||||
mkdir -p $examples/bin
|
||||
cd ./examples
|
||||
for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do
|
||||
cp "$binary" "$examples/bin/wlroots-$binary"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A modular Wayland compositor library";
|
||||
longDescription = ''
|
||||
Pluggable, composable, unopinionated modules for building a Wayland
|
||||
compositor; or about 50,000 lines of code you were going to write anyway.
|
||||
'';
|
||||
inherit (src.meta) homepage;
|
||||
changelog = "https://github.com/swaywm/wlroots/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ primeos synthetica ];
|
||||
};
|
||||
}
|
|
@ -1,18 +1,18 @@
|
|||
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner
|
||||
, libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
|
||||
, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
|
||||
, libpng, ffmpeg, libuuid, xcbutilrenderutil, xwayland
|
||||
, libpng, ffmpeg, xcbutilrenderutil, xwayland, libseat
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wlroots";
|
||||
version = "0.13.0";
|
||||
version = "0.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "swaywm";
|
||||
repo = "wlroots";
|
||||
rev = version;
|
||||
sha256 = "01plhbnsp5yg18arz0v8fr0pr9l4w4pdzwkg9px486qdvb3s1vgy";
|
||||
sha256 = "103sf9bsyqw18kmaih11mlxwqi9ddymm95w1lfxz06pf69xwhd39";
|
||||
};
|
||||
|
||||
# $out for the library and $examples for the example programs (in examples):
|
||||
|
@ -23,11 +23,9 @@ stdenv.mkDerivation rec {
|
|||
buildInputs = [
|
||||
libGL wayland wayland-protocols libinput libxkbcommon pixman
|
||||
xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
|
||||
libpng ffmpeg libuuid xcbutilrenderutil xwayland
|
||||
libpng ffmpeg xcbutilrenderutil xwayland libseat
|
||||
];
|
||||
|
||||
mesonFlags = [ "-Dlogind-provider=systemd" "-Dlibseat=disabled" ];
|
||||
|
||||
postFixup = ''
|
||||
# Install ALL example programs to $examples:
|
||||
# screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle
|
||||
|
|
|
@ -24188,8 +24188,11 @@ in
|
|||
};
|
||||
|
||||
wlroots_0_12 = callPackage ../development/libraries/wlroots/0.12.nix {};
|
||||
wlroots_0_13 = callPackage ../development/libraries/wlroots/0.13.nix {};
|
||||
|
||||
sway-unwrapped = callPackage ../applications/window-managers/sway { };
|
||||
sway-unwrapped = callPackage ../applications/window-managers/sway {
|
||||
wlroots = wlroots_0_13;
|
||||
};
|
||||
sway = callPackage ../applications/window-managers/sway/wrapper.nix { };
|
||||
swaybg = callPackage ../applications/window-managers/sway/bg.nix { };
|
||||
swayidle = callPackage ../applications/window-managers/sway/idle.nix { };
|
||||
|
@ -24209,7 +24212,9 @@ in
|
|||
|
||||
wbg = callPackage ../applications/misc/wbg { };
|
||||
|
||||
hikari = callPackage ../applications/window-managers/hikari { };
|
||||
hikari = callPackage ../applications/window-managers/hikari {
|
||||
wlroots = wlroots_0_13;
|
||||
};
|
||||
|
||||
i3 = callPackage ../applications/window-managers/i3 {
|
||||
xcb-util-cursor = if stdenv.isDarwin then xcb-util-cursor-HEAD else xcb-util-cursor;
|
||||
|
@ -27185,7 +27190,8 @@ in
|
|||
wayfireApplications = wayfireApplications-unwrapped.withPlugins (plugins: [ plugins.wf-shell ]);
|
||||
inherit (wayfireApplications) wayfire wcm;
|
||||
wayfireApplications-unwrapped = recurseIntoAttrs (
|
||||
callPackage ../applications/window-managers/wayfire/applications.nix { }
|
||||
(callPackage ../applications/window-managers/wayfire/applications.nix { }).
|
||||
extend (_: _: { wlroots = wlroots_0_13; })
|
||||
);
|
||||
wayfirePlugins = recurseIntoAttrs (
|
||||
callPackage ../applications/window-managers/wayfire/plugins.nix {
|
||||
|
@ -27235,7 +27241,9 @@ in
|
|||
|
||||
weston = callPackage ../applications/window-managers/weston { pipewire = pipewire_0_2; };
|
||||
|
||||
wio = callPackage ../applications/window-managers/wio { };
|
||||
wio = callPackage ../applications/window-managers/wio {
|
||||
wlroots = wlroots_0_13;
|
||||
};
|
||||
|
||||
whitebox-tools = callPackage ../applications/gis/whitebox-tools {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
|
|
Loading…
Reference in New Issue