mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 15:22:59 +01:00
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
3 changed files with 126 additions and 2 deletions
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, fetchurl, pkgconfig, wayland, mesa90x, libxkbcommon, pixman
|
||||
, cairo, libxcb, libXcursor, x11, udev, libdrm2_4_39, mtdev
|
||||
, libjpeg, pam }:
|
||||
, libjpeg, pam, autoconf, automake, libtool }:
|
||||
|
||||
let version = "1.0.2"; in
|
||||
|
||||
|
@ -12,9 +12,16 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1496l8hmpxx7pivdpp14pv0hi30q18dmnaxz471v9jiqsnnrr11k";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./screenshooter-client-protocol_h.patch
|
||||
./makefile.patch
|
||||
];
|
||||
|
||||
buildInputs = [ pkgconfig wayland mesa90x libxkbcommon pixman
|
||||
cairo libxcb libXcursor x11 udev libdrm2_4_39 mtdev
|
||||
libjpeg pam ];
|
||||
libjpeg pam autoconf automake libtool ];
|
||||
|
||||
preConfigure = "autoreconf -vfi";
|
||||
|
||||
meta = {
|
||||
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…
Reference in a new issue