aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2021-09-06 02:52:41 +0000
committerJan Beich <jbeich@FreeBSD.org>2021-09-06 03:31:08 +0000
commit4ea852fab0aa90f3b0f5113c3be5a21114b56f13 (patch)
treed27b42cbda33c57035f434114243f758543a0948
parente3e44b1a47721e3a51f1911b74a88095339bb951 (diff)
downloadports-4ea852fab0aa90f3b0f5113c3be5a21114b56f13.tar.gz
ports-4ea852fab0aa90f3b0f5113c3be5a21114b56f13.zip
x11-wm/phoc: bundle wlroots 0.12.0-1-gb2fd6d8d a la x11-wm/gamescope
Buggy with wlroots >= 0.13 and breaks with >= 0.15. Alpine, Fedora, Debian use system wlroots-0.12 but in ports/ it'd cause package conflicts. Inspired by: NixPkgs
-rw-r--r--x11-wm/phoc/Makefile33
-rw-r--r--x11-wm/phoc/distinfo16
-rw-r--r--x11-wm/phoc/files/patch-private-wlroots35
-rw-r--r--x11-wm/phoc/files/patch-wlroots-0.1450
4 files changed, 52 insertions, 82 deletions
diff --git a/x11-wm/phoc/Makefile b/x11-wm/phoc/Makefile
index ef2d3c217bf5..431a952276d7 100644
--- a/x11-wm/phoc/Makefile
+++ b/x11-wm/phoc/Makefile
@@ -1,17 +1,9 @@
PORTNAME= phoc
DISTVERSIONPREFIX= v
DISTVERSION= 0.8.0
+PORTREVISION= 1
CATEGORIES= x11-wm
-PATCH_SITES= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/
-PATCHFILES+= 4912c5a9454b.patch:-p1 # https://gitlab.gnome.org/World/Phosh/phoc/-/merge_requests/241
-PATCHFILES+= 00e5da6dd7a2.patch:-p1 # https://gitlab.gnome.org/World/Phosh/phoc/-/merge_requests/241
-PATCHFILES+= b278fd6b4f57.patch:-p1 # https://gitlab.gnome.org/World/Phosh/phoc/-/merge_requests/241
-PATCHFILES+= 3f418c11d813.patch:-p1 # https://gitlab.gnome.org/World/Phosh/phoc/-/merge_requests/241
-PATCHFILES+= 4a688ffec053.patch:-p1 # https://gitlab.gnome.org/World/Phosh/phoc/-/merge_requests/241
-PATCHFILES+= 8010e3d9ca00.patch:-p1 # https://gitlab.gnome.org/World/Phosh/phoc/-/merge_requests/241
-PATCHFILES+= 8ec2886673d3.patch:-p1 # https://gitlab.gnome.org/World/Phosh/phoc/-/merge_requests/241
-
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Phone compositor
@@ -19,7 +11,7 @@ LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
- wlroots>=0.14.0:x11-toolkits/wlroots
+ wlroots>=0.12.0<0.13.0:x11-toolkits/wlroots
LIB_DEPENDS= libwayland-server.so:graphics/wayland \
libwlroots.so:x11-toolkits/wlroots \
libinput.so:x11/libinput \
@@ -39,13 +31,18 @@ CFLAGS+= -Wno-error=format-nonliteral # clang
PLIST_FILES= bin/${PORTNAME}
GLIB_SCHEMAS= sm.puri.phoc.gschema.xml
-post-extract:
-# Avoid confusing Meson instead of forcing -Dembed-wlroots=disabled
- @${RMDIR} ${WRKSRC}/subprojects/wlroots
-.if defined(PATCHFILES) && ${PATCHFILES:M4912c5a9454b*}
-# Pretend to be a regular file for vendor patch to apply as is
- @${ECHO_CMD} "Subproject commit 3d227f140e3c4af42d759477fc38e82a4c3dc4ef" \
- >${WRKSRC}/subprojects/wlroots
-.endif
+# https://gitlab.gnome.org/World/Phosh/phoc/-/merge_requests/241
+BUILD_DEPENDS:= ${BUILD_DEPENDS:N*wlroots*}
+LIB_DEPENDS:= ${LIB_DEPENDS:N*wlroots*} \
+ libudev.so:devel/libudev-devd \
+ libdrm.so:graphics/libdrm \
+ libseat.so:sysutils/seatd \
+ libxcb-errors.so:x11/xcb-util-errors \
+ libxcb-icccm.so:x11/xcb-util-wm
+RUN_DEPENDS+= xwayland-devel>0:x11-servers/xwayland-devel
+USE_XORG+= x11
+USE_GL+= gbm egl
+GL_TUPLE+= https://source.puri.sm:Librem5:wlroots:b2fd6d8dd88d67ee48be67f5be4ee614a5826b13:wlroots/subprojects/wlroots
+PLIST_FILES+= "@comment libdata/pkgconfig/wlroots.pc"
.include <bsd.port.mk>
diff --git a/x11-wm/phoc/distinfo b/x11-wm/phoc/distinfo
index 3120e0c32e2a..96f0d532b5bf 100644
--- a/x11-wm/phoc/distinfo
+++ b/x11-wm/phoc/distinfo
@@ -1,17 +1,5 @@
TIMESTAMP = 1625875601
SHA256 (World/Phosh-phoc-527689df1300277af2cdfc872474c8322e38f690_GL0.tar.gz) = 3403ef0eb064013ec5e2b6df966bf461649d16aab2f8d8df8c632cec81dffb53
SIZE (World/Phosh-phoc-527689df1300277af2cdfc872474c8322e38f690_GL0.tar.gz) = 144698
-SHA256 (4912c5a9454b.patch) = dc833187095b92132df7cdef804e3aa5521cad360b43fc4370bd6b72e708c84f
-SIZE (4912c5a9454b.patch) = 23928
-SHA256 (00e5da6dd7a2.patch) = 123d7e9d13c178ef98fbeea55fedd1204061185fe3ea740333dc51ba6439fdbb
-SIZE (00e5da6dd7a2.patch) = 5575
-SHA256 (b278fd6b4f57.patch) = 851dcb0fa5a9cc537bdb71dc6ca30e19228580094ebbaf88c735af69a94640fa
-SIZE (b278fd6b4f57.patch) = 4110
-SHA256 (3f418c11d813.patch) = 45ca59ff8bcc4316286c814b6264d202866b561bbc431514537d9d86b51396de
-SIZE (3f418c11d813.patch) = 3930
-SHA256 (4a688ffec053.patch) = 5c1ba160d978e2b2a6543db22b83ae9f54308684ed2475afaa1d01e2442cff32
-SIZE (4a688ffec053.patch) = 3583
-SHA256 (8010e3d9ca00.patch) = f485ed1d76c932d262752fd9d1b6bc242fa03c39b312b72cddfb8b8ef84d4ed2
-SIZE (8010e3d9ca00.patch) = 1378
-SHA256 (8ec2886673d3.patch) = 1524f637af620b62d6eecb043703ff0ab6615b1fecb2563880f179e6dae28c53
-SIZE (8ec2886673d3.patch) = 2753
+SHA256 (Librem5-wlroots-b2fd6d8dd88d67ee48be67f5be4ee614a5826b13_GL0.tar.gz) = ed0a9dd277d0943c46d9aca7e2ed88bae3315044bcc5ad76c7565e45dadafea8
+SIZE (Librem5-wlroots-b2fd6d8dd88d67ee48be67f5be4ee614a5826b13_GL0.tar.gz) = 477031
diff --git a/x11-wm/phoc/files/patch-private-wlroots b/x11-wm/phoc/files/patch-private-wlroots
new file mode 100644
index 000000000000..79c207c2cf4a
--- /dev/null
+++ b/x11-wm/phoc/files/patch-private-wlroots
@@ -0,0 +1,35 @@
+wlroots 0.12.0 is out-of-date and has no other consumers. Keep it
+private to phoc package for now.
+
+--- subprojects/wlroots/include/meson.build.orig 2021-08-20 08:28:34 UTC
++++ subprojects/wlroots/include/meson.build
+@@ -8,7 +8,9 @@ if conf_data.get('WLR_HAS_XWAYLAND', 0) != 1
+ exclude_files += 'xwayland.h'
+ endif
+
++if not meson.is_subproject()
+ install_subdir('wlr',
+ install_dir: get_option('includedir'),
+ exclude_files: exclude_files,
+ )
++endif
+--- subprojects/wlroots/include/wlr/meson.build.orig 2021-08-20 08:28:34 UTC
++++ subprojects/wlroots/include/wlr/meson.build
+@@ -16,4 +16,6 @@ ver_h = configure_file(
+ configuration: version_data,
+ )
+
++if not meson.is_subproject()
+ install_headers(conf_h, ver_h, subdir: 'wlr')
++endif
+--- subprojects/wlroots/meson.build.orig 2021-08-20 08:28:34 UTC
++++ subprojects/wlroots/meson.build
+@@ -161,7 +161,7 @@ lib_wlr = library(
+ soversion: soversion,
+ dependencies: wlr_deps,
+ include_directories: [wlr_inc, proto_inc],
+- install: true,
++ install: not meson.is_subproject(),
+ link_args : symbols_flag,
+ link_depends: symbols_file,
+ )
diff --git a/x11-wm/phoc/files/patch-wlroots-0.14 b/x11-wm/phoc/files/patch-wlroots-0.14
deleted file mode 100644
index 48871450bc20..000000000000
--- a/x11-wm/phoc/files/patch-wlroots-0.14
+++ /dev/null
@@ -1,50 +0,0 @@
-../src/desktop.c:17:10: fatal error: 'wlr/types/wlr_gtk_primary_selection.h' file not found
-#include <wlr/types/wlr_gtk_primary_selection.h>
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from ../tests/test-xdg-shell.c:7:
-In file included from ../tests/testlib.h:6:
-In file included from ../src/server.h:14:
-../src/desktop.h:11:10: fatal error: 'wlr/types/wlr_gtk_primary_selection.h' file not found
-#include <wlr/types/wlr_gtk_primary_selection.h>
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
---- src/desktop.c.orig 2021-07-10 00:06:41 UTC
-+++ src/desktop.c
-@@ -14,7 +14,7 @@
- #include <wlr/types/wlr_data_control_v1.h>
- #include <wlr/types/wlr_export_dmabuf_v1.h>
- #include <wlr/types/wlr_gamma_control_v1.h>
--#include <wlr/types/wlr_gtk_primary_selection.h>
-+#include <wlr/types/wlr_primary_selection_v1.h>
- #include <wlr/types/wlr_idle.h>
- #include <wlr/types/wlr_input_inhibitor.h>
- #include <wlr/types/wlr_layer_shell_v1.h>
-@@ -600,7 +600,7 @@ phoc_desktop_constructed (GObject *object)
- WLR_SERVER_DECORATION_MANAGER_MODE_CLIENT);
- self->idle = wlr_idle_create(server->wl_display);
- self->primary_selection_device_manager =
-- wlr_gtk_primary_selection_device_manager_create(server->wl_display);
-+ wlr_primary_selection_v1_device_manager_create(server->wl_display);
- self->input_inhibit =
- wlr_input_inhibit_manager_create(server->wl_display);
- self->input_inhibit_activate.notify = input_inhibit_activate;
---- src/desktop.h.orig 2021-07-10 00:06:41 UTC
-+++ src/desktop.h
-@@ -8,7 +8,7 @@
- #include <wlr/types/wlr_compositor.h>
- #include <wlr/types/wlr_foreign_toplevel_management_v1.h>
- #include <wlr/types/wlr_gamma_control_v1.h>
--#include <wlr/types/wlr_gtk_primary_selection.h>
-+#include <wlr/types/wlr_primary_selection.h>
- #include <wlr/types/wlr_idle.h>
- #include <wlr/types/wlr_input_inhibitor.h>
- #include <wlr/types/wlr_input_method_v2.h>
-@@ -68,7 +68,7 @@ struct _PhocDesktop {
- struct wlr_export_dmabuf_manager_v1 *export_dmabuf_manager_v1;
- struct wlr_server_decoration_manager *server_decoration_manager;
- struct wlr_xdg_decoration_manager_v1 *xdg_decoration_manager;
-- struct wlr_gtk_primary_selection_device_manager *primary_selection_device_manager;
-+ struct wlr_primary_selection_v1_device_manager *primary_selection_device_manager;
- struct wlr_idle *idle;
- struct wlr_input_inhibit_manager *input_inhibit;
- struct wlr_layer_shell_v1 *layer_shell;