git: b468e890e52a - main - x11/disman: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Thu, 04 Nov 2021 23:18:50 UTC
The branch main has been updated by jbeich:

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

commit b468e890e52a85bf97f5f06107d7e3797c6ea71b
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2021-10-14 15:23:56 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2021-11-04 23:16:51 +0000

    x11/disman: add new port
    
    Disman is a display management service and library.
    
    The service can communicate with the X11 windowing system and a
    multitude of Wayland compositors. The library provides convenient
    objects and methods for writing frontend GUI applications that
    interact with the service.
    
    Additionally the command line utility "dismanctl" is provided to query
    and modify display settings directly from the command line.
    
    https://gitlab.com/kwinft/disman
---
 x11/Makefile                          |  1 +
 x11/disman/Makefile                   | 35 ++++++++++++++++++++++++++
 x11/disman/distinfo                   |  3 +++
 x11/disman/files/patch-CMakeLists.txt | 25 +++++++++++++++++++
 x11/disman/pkg-descr                  | 11 +++++++++
 x11/disman/pkg-plist                  | 46 +++++++++++++++++++++++++++++++++++
 6 files changed, 121 insertions(+)

diff --git a/x11/Makefile b/x11/Makefile
index 60c7112f14af..dfeb6e84da91 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -48,6 +48,7 @@
     SUBDIR += deforaos-locker
     SUBDIR += deforaos-panel
     SUBDIR += deskmenu
+    SUBDIR += disman
     SUBDIR += dmenu
     SUBDIR += dmenu-wayland
     SUBDIR += docker-tray
diff --git a/x11/disman/Makefile b/x11/disman/Makefile
new file mode 100644
index 000000000000..2ff763bbfb68
--- /dev/null
+++ b/x11/disman/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	disman
+DISTVERSIONPREFIX=	${PORTNAME}@
+DISTVERSION=	0.523.0
+CATEGORIES=	x11
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Qt/C++ display management library
+
+LICENSE=	LGPL21+
+LICENSE_FILE=	${WRKSRC}/COPYING.LIB
+
+TEST_DEPENDS=	${qt-testlib_PORT:T}>0:${qt-testlib_PORT}
+
+USES=		cmake:testing kde:5 qt:5
+USE_GITLAB=	yes
+USE_KDE=	ecm_build coreaddons
+USE_LDCONFIG=	yes
+USE_QT=		qmake_build buildtools_build core dbus gui
+GL_ACCOUNT=	kwinft
+GL_COMMIT=	fd261a3b0c8991d1deb81e2d78e575bd96f5be60
+PLIST_SUB=	VERSION=${PORTVERSION}
+
+OPTIONS_DEFINE=	WAYLAND X11
+OPTIONS_DEFAULT=WAYLAND X11
+OPTIONS_SUB=	yes
+
+WAYLAND_LIB_DEPENDS=	libWraplandClient.so:graphics/wrapland
+WAYLAND_USE=		KDE=wayland
+WAYLAND_CMAKE_BOOL_OFF=	${KF5Wayland Wrapland:L:S/^/CMAKE_DISABLE_FIND_PACKAGE_/}
+
+X11_USES=		xorg
+X11_USE=		QT=x11extras XORG=xcb
+X11_CMAKE_BOOL_OFF=	${Qt5X11Extras XCB:L:S/^/CMAKE_DISABLE_FIND_PACKAGE_/}
+
+.include <bsd.port.mk>
diff --git a/x11/disman/distinfo b/x11/disman/distinfo
new file mode 100644
index 000000000000..263bb4080a58
--- /dev/null
+++ b/x11/disman/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1634225036
+SHA256 (kwinft-disman-fd261a3b0c8991d1deb81e2d78e575bd96f5be60_GL0.tar.gz) = 1ffb7f62974c7ba2d03058b553eb000f772e9a07e07512240fa58cd3663b4021
+SIZE (kwinft-disman-fd261a3b0c8991d1deb81e2d78e575bd96f5be60_GL0.tar.gz) = 153098
diff --git a/x11/disman/files/patch-CMakeLists.txt b/x11/disman/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..f620c68b1996
--- /dev/null
+++ b/x11/disman/files/patch-CMakeLists.txt
@@ -0,0 +1,25 @@
+CMake Error at /usr/local/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package):
+  find_package for module Qt5Test called with REQUIRED, but
+  CMAKE_DISABLE_FIND_PACKAGE_Qt5Test is enabled.  A REQUIRED package cannot
+  be disabled.
+Call Stack (most recent call first):
+  CMakeLists.txt:27 (find_package)
+
+--- CMakeLists.txt.orig	2021-10-14 15:23:56 UTC
++++ CMakeLists.txt
+@@ -28,7 +28,6 @@ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED
+   Core
+   DBus
+   Gui
+-  Test
+ )
+ 
+ # Wayland backend plugin KWayland
+@@ -66,6 +65,7 @@ add_subdirectory(service)
+ add_subdirectory(ctl)
+ add_subdirectory(backends)
+ if(BUILD_TESTING)
++  find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Test)
+   add_subdirectory(autotests)
+   add_subdirectory(tests)
+ endif()
diff --git a/x11/disman/pkg-descr b/x11/disman/pkg-descr
new file mode 100644
index 000000000000..09456abca5bd
--- /dev/null
+++ b/x11/disman/pkg-descr
@@ -0,0 +1,11 @@
+Disman is a display management service and library.
+
+The service can communicate with the X11 windowing system and a
+multitude of Wayland compositors. The library provides convenient
+objects and methods for writing frontend GUI applications that
+interact with the service.
+
+Additionally the command line utility "dismanctl" is provided to query
+and modify display settings directly from the command line.
+
+WWW: https://gitlab.com/kwinft/disman
diff --git a/x11/disman/pkg-plist b/x11/disman/pkg-plist
new file mode 100644
index 000000000000..686077568d32
--- /dev/null
+++ b/x11/disman/pkg-plist
@@ -0,0 +1,46 @@
+bin/dismanctl
+include/disman/backendmanager_p.h
+include/disman/config.h
+include/disman/configmonitor.h
+include/disman/configoperation.h
+include/disman/disman_export.h
+include/disman/generator.h
+include/disman/getconfigoperation.h
+include/disman/log.h
+include/disman/mode.h
+include/disman/output.h
+include/disman/screen.h
+include/disman/setconfigoperation.h
+include/disman/types.h
+include/disman/wayland/disman_wayland_export.h
+include/disman/wayland/wayland_interface.h
+include/disman/wayland/waylandoutput.h
+include/disman_version.h
+include/disman_wayland_version.h
+lib/cmake/Disman/DismanConfig.cmake
+lib/cmake/Disman/DismanConfigVersion.cmake
+lib/cmake/Disman/DismanTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Disman/DismanTargets.cmake
+lib/cmake/DismanWayland/DismanWaylandConfig.cmake
+lib/cmake/DismanWayland/DismanWaylandConfigVersion.cmake
+lib/cmake/DismanWayland/DismanWaylandTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/DismanWayland/DismanWaylandTargets.cmake
+lib/libDisman.so
+lib/libDisman.so.0
+lib/libDisman.so.%%VERSION%%
+lib/libDismanWayland.so
+lib/libDismanWayland.so.0
+lib/libDismanWayland.so.%%VERSION%%
+lib/libexec/disman_backend_launcher
+%%QT_MKSPECDIR%%/modules/qt_Disman.pri
+%%QT_PLUGINDIR%%/disman/fake.so
+%%QT_PLUGINDIR%%/disman/qscreen.so
+%%X11%%%%QT_PLUGINDIR%%/disman/randr.so
+%%QT_PLUGINDIR%%/disman/wayland.so
+%%WAYLAND%%%%QT_PLUGINDIR%%/disman/wayland/kwayland.so
+%%WAYLAND%%%%QT_PLUGINDIR%%/disman/wayland/kwinft.so
+%%WAYLAND%%%%QT_PLUGINDIR%%/disman/wayland/wlroots-wrapland.so
+libdata/pkgconfig/disman-wayland.pc
+libdata/pkgconfig/disman.pc
+share/dbus-1/services/org.kwinft.disman.service
+share/qlogging-categories5/Disman.categories