git: 4ea852fab0aa - main - x11-wm/phoc: bundle wlroots 0.12.0-1-gb2fd6d8d a la x11-wm/gamescope

Jan Beich jbeich at FreeBSD.org
Mon Sep 6 03:31:20 UTC 2021


The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4ea852fab0aa90f3b0f5113c3be5a21114b56f13

commit 4ea852fab0aa90f3b0f5113c3be5a21114b56f13
Author:     Jan Beich <jbeich at FreeBSD.org>
AuthorDate: 2021-09-06 02:52:41 +0000
Commit:     Jan Beich <jbeich at FreeBSD.org>
CommitDate: 2021-09-06 03:31:08 +0000

    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
---
 x11-wm/phoc/Makefile                    | 33 ++++++++++------------
 x11-wm/phoc/distinfo                    | 16 ++---------
 x11-wm/phoc/files/patch-private-wlroots | 35 +++++++++++++++++++++++
 x11-wm/phoc/files/patch-wlroots-0.14    | 50 ---------------------------------
 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 at 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;


More information about the dev-commits-ports-main mailing list