Weston: add patches to fix the build.
The patches fix two issues: - screenshooter-client-protocol.h missing from tarball - missing flags for include paths and definitions I had to add auto* as inputs to be able to call autoreconf, as one patch modifies a Makefile.am. Both issues are already reported upstream.
This commit is contained in:
parent
b60d016a0a
commit
ec99d9603c
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, wayland, mesa90x, libxkbcommon, pixman
|
{ stdenv, fetchurl, pkgconfig, wayland, mesa90x, libxkbcommon, pixman
|
||||||
, cairo, libxcb, libXcursor, x11, udev, libdrm2_4_39, mtdev
|
, cairo, libxcb, libXcursor, x11, udev, libdrm2_4_39, mtdev
|
||||||
, libjpeg, pam }:
|
, libjpeg, pam, autoconf, automake, libtool }:
|
||||||
|
|
||||||
let version = "1.0.2"; in
|
let version = "1.0.2"; in
|
||||||
|
|
||||||
@ -12,9 +12,16 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1496l8hmpxx7pivdpp14pv0hi30q18dmnaxz471v9jiqsnnrr11k";
|
sha256 = "1496l8hmpxx7pivdpp14pv0hi30q18dmnaxz471v9jiqsnnrr11k";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./screenshooter-client-protocol_h.patch
|
||||||
|
./makefile.patch
|
||||||
|
];
|
||||||
|
|
||||||
buildInputs = [ pkgconfig wayland mesa90x libxkbcommon pixman
|
buildInputs = [ pkgconfig wayland mesa90x libxkbcommon pixman
|
||||||
cairo libxcb libXcursor x11 udev libdrm2_4_39 mtdev
|
cairo libxcb libXcursor x11 udev libdrm2_4_39 mtdev
|
||||||
libjpeg pam ];
|
libjpeg pam autoconf automake libtool ];
|
||||||
|
|
||||||
|
preConfigure = "autoreconf -vfi";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Reference implementation of a Wayland compositor";
|
description = "Reference implementation of a Wayland compositor";
|
||||||
|
45
pkgs/applications/window-managers/weston/makefile.patch
Normal file
45
pkgs/applications/window-managers/weston/makefile.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
diff --git a/clients/Makefile.am b/clients/Makefile.am
|
||||||
|
index 81d1b57..fec50af 100644
|
||||||
|
--- a/clients/Makefile.am
|
||||||
|
+++ b/clients/Makefile.am
|
||||||
|
@@ -80,6 +80,8 @@ libtoytoolkit_a_SOURCES = \
|
||||||
|
text-cursor-position-client-protocol.h \
|
||||||
|
workspaces-protocol.c \
|
||||||
|
workspaces-client-protocol.h
|
||||||
|
+libtoytoolkit_a_CPPFLAGS = \
|
||||||
|
+ $(AM_CPPFLAGS) $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS)
|
||||||
|
|
||||||
|
toolkit_libs = \
|
||||||
|
libtoytoolkit.a \
|
||||||
|
@@ -96,6 +98,7 @@ weston_terminal_SOURCES = terminal.c
|
||||||
|
weston_terminal_LDADD = $(toolkit_libs) -lutil
|
||||||
|
|
||||||
|
image_SOURCES = image.c
|
||||||
|
+image_CPPFLAGS = $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS)
|
||||||
|
image_LDADD = $(toolkit_libs)
|
||||||
|
|
||||||
|
cliptest_SOURCES = cliptest.c
|
||||||
|
@@ -103,6 +106,7 @@ cliptest_CPPFLAGS = $(AM_CPPFLAGS) $(PIXMAN_CFLAGS)
|
||||||
|
cliptest_LDADD = $(toolkit_libs) $(PIXMAN_LIBS)
|
||||||
|
|
||||||
|
dnd_SOURCES = dnd.c
|
||||||
|
+dnd_CPPFLAGS = $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS)
|
||||||
|
dnd_LDADD = $(toolkit_libs)
|
||||||
|
|
||||||
|
smoke_SOURCES = smoke.c
|
||||||
|
@@ -141,12 +145,15 @@ weston_desktop_shell_SOURCES = \
|
||||||
|
desktop-shell.c \
|
||||||
|
desktop-shell-client-protocol.h \
|
||||||
|
desktop-shell-protocol.c
|
||||||
|
+weston_desktop_shell_CPPFLAGS = \
|
||||||
|
+ $(AM_CPPFLAGS) $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS)
|
||||||
|
weston_desktop_shell_LDADD = $(toolkit_libs)
|
||||||
|
|
||||||
|
weston_tablet_shell_SOURCES = \
|
||||||
|
tablet-shell.c \
|
||||||
|
tablet-shell-client-protocol.h \
|
||||||
|
tablet-shell-protocol.c
|
||||||
|
+weston_tablet_shell_CPPFLAGS = $(PIXMAN_CFLAGS) $(CAIRO_CFLAGS)
|
||||||
|
weston_tablet_shell_LDADD = $(toolkit_libs)
|
||||||
|
|
||||||
|
BUILT_SOURCES = \
|
@ -0,0 +1,72 @@
|
|||||||
|
diff --git a/clients/screenshooter-client-protocol.h b/clients/screenshooter-client-protocol.h
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..8782ca1
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/clients/screenshooter-client-protocol.h
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
|
+#ifndef SCREENSHOOTER_CLIENT_PROTOCOL_H
|
||||||
|
+#define SCREENSHOOTER_CLIENT_PROTOCOL_H
|
||||||
|
+
|
||||||
|
+#ifdef __cplusplus
|
||||||
|
+extern "C" {
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#include <stdint.h>
|
||||||
|
+#include <stddef.h>
|
||||||
|
+#include "wayland-client.h"
|
||||||
|
+
|
||||||
|
+struct wl_client;
|
||||||
|
+struct wl_resource;
|
||||||
|
+
|
||||||
|
+struct screenshooter;
|
||||||
|
+
|
||||||
|
+extern const struct wl_interface screenshooter_interface;
|
||||||
|
+
|
||||||
|
+struct screenshooter_listener {
|
||||||
|
+ /**
|
||||||
|
+ * done - (none)
|
||||||
|
+ */
|
||||||
|
+ void (*done)(void *data,
|
||||||
|
+ struct screenshooter *screenshooter);
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+static inline int
|
||||||
|
+screenshooter_add_listener(struct screenshooter *screenshooter,
|
||||||
|
+ const struct screenshooter_listener *listener, void *data)
|
||||||
|
+{
|
||||||
|
+ return wl_proxy_add_listener((struct wl_proxy *) screenshooter,
|
||||||
|
+ (void (**)(void)) listener, data);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#define SCREENSHOOTER_SHOOT 0
|
||||||
|
+
|
||||||
|
+static inline void
|
||||||
|
+screenshooter_set_user_data(struct screenshooter *screenshooter, void *user_data)
|
||||||
|
+{
|
||||||
|
+ wl_proxy_set_user_data((struct wl_proxy *) screenshooter, user_data);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static inline void *
|
||||||
|
+screenshooter_get_user_data(struct screenshooter *screenshooter)
|
||||||
|
+{
|
||||||
|
+ return wl_proxy_get_user_data((struct wl_proxy *) screenshooter);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static inline void
|
||||||
|
+screenshooter_destroy(struct screenshooter *screenshooter)
|
||||||
|
+{
|
||||||
|
+ wl_proxy_destroy((struct wl_proxy *) screenshooter);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static inline void
|
||||||
|
+screenshooter_shoot(struct screenshooter *screenshooter, struct wl_output *output, struct wl_buffer *buffer)
|
||||||
|
+{
|
||||||
|
+ wl_proxy_marshal((struct wl_proxy *) screenshooter,
|
||||||
|
+ SCREENSHOOTER_SHOOT, output, buffer);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#ifdef __cplusplus
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#endif
|
Loading…
x
Reference in New Issue
Block a user