git: 3d482f736ed5 - main - devel/kdsingleapplication: New port: Class that helps implement applications that follow the single-instance policy

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Sun, 01 Sep 2024 14:38:45 UTC
The branch main has been updated by diizzy:

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

commit 3d482f736ed5db7ef897fdb3c35b2e0315065841
Author:     Daniel Engberg <diizzy@FreeBSD.org>
AuthorDate: 2024-09-01 14:30:35 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2024-09-01 14:38:05 +0000

    devel/kdsingleapplication: New port: Class that helps implement applications that follow the single-instance policy
    
    Class that helps implement applications that follow the single-instance
    policy referring to those applications that want to spawn a unique
    instance for a given user session. Even when launched multiple times,
    such applications will not spawn a number of separate instances.
    
    WWW: https://github.com/KDAB/KDSingleApplication/
---
 devel/Makefile                                      |  1 +
 devel/kdsingleapplication/Makefile                  | 21 +++++++++++++++++++++
 devel/kdsingleapplication/distinfo                  |  3 +++
 .../kdsingleapplication/files/patch-CMakeLists.txt  | 13 +++++++++++++
 devel/kdsingleapplication/pkg-descr                 |  4 ++++
 devel/kdsingleapplication/pkg-plist                 | 14 ++++++++++++++
 6 files changed, 56 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index c260517dcbf8..ad36909388b9 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1085,6 +1085,7 @@
     SUBDIR += kdev-python
     SUBDIR += kdevelop
     SUBDIR += kdevelop-pg-qt
+    SUBDIR += kdsingleapplication
     SUBDIR += kerl
     SUBDIR += kf5-extra-cmake-modules
     SUBDIR += kf5-kapidox
diff --git a/devel/kdsingleapplication/Makefile b/devel/kdsingleapplication/Makefile
new file mode 100644
index 000000000000..e34b215c4dad
--- /dev/null
+++ b/devel/kdsingleapplication/Makefile
@@ -0,0 +1,21 @@
+PORTNAME=	kdsingleapplication
+DISTVERSION=	1.1.0
+CATEGORIES=	devel
+MASTER_SITES=	https://github.com/KDAB/KDSingleApplication/releases/download/v${DISTVERSION}/
+
+MAINTAINER=	diizzy@FreeBSD.org
+COMMENT=	KDAB's helper class for single-instance policy applications
+WWW=		https://github.com/KDAB/KDSingleApplication
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+USES=		cmake compiler:c++17-lang qt:6
+USE_QT=		base
+USE_LDCONFIG=	yes
+
+CMAKE_OFF=	CMAKE_CXX_EXTENSIONS \
+		KDSingleApplication_EXAMPLES
+CMAKE_ON=	KDSingleApplication_QT6
+
+.include <bsd.port.mk>
diff --git a/devel/kdsingleapplication/distinfo b/devel/kdsingleapplication/distinfo
new file mode 100644
index 000000000000..041183dcb3a8
--- /dev/null
+++ b/devel/kdsingleapplication/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1718948356
+SHA256 (kdsingleapplication-1.1.0.tar.gz) = 31029fffa4873e2769c555668e8edaa6bd5721edbc445bff5e66cc6af3b9ed78
+SIZE (kdsingleapplication-1.1.0.tar.gz) = 73558
diff --git a/devel/kdsingleapplication/files/patch-CMakeLists.txt b/devel/kdsingleapplication/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..721b958b5163
--- /dev/null
+++ b/devel/kdsingleapplication/files/patch-CMakeLists.txt
@@ -0,0 +1,13 @@
+--- CMakeLists.txt.orig	2024-06-21 05:46:22 UTC
++++ CMakeLists.txt
+@@ -166,8 +166,8 @@ if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
+     set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib")
+     set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib")
+ 
+-    install(FILES LICENSE.txt README.md DESTINATION ${INSTALL_DOC_DIR})
+-    install(DIRECTORY LICENSES DESTINATION ${INSTALL_DOC_DIR})
++#    install(FILES LICENSE.txt README.md DESTINATION ${INSTALL_DOC_DIR})
++#    install(DIRECTORY LICENSES DESTINATION ${INSTALL_DOC_DIR})
+ 
+     # Generate .pri file for qmake users (except when using the VS generator)
+     if(NOT CMAKE_CONFIGURATION_TYPES)
diff --git a/devel/kdsingleapplication/pkg-descr b/devel/kdsingleapplication/pkg-descr
new file mode 100644
index 000000000000..1697930f9b68
--- /dev/null
+++ b/devel/kdsingleapplication/pkg-descr
@@ -0,0 +1,4 @@
+Class that helps implement applications that follow the single-instance policy
+referring to those applications that want to spawn a unique instance for a
+given user session. Even when launched multiple times, such applications will
+not spawn a number of separate instances.
diff --git a/devel/kdsingleapplication/pkg-plist b/devel/kdsingleapplication/pkg-plist
new file mode 100644
index 000000000000..9a68ee557370
--- /dev/null
+++ b/devel/kdsingleapplication/pkg-plist
@@ -0,0 +1,14 @@
+include/kdsingleapplication-qt6/KDSingleApplication
+include/kdsingleapplication-qt6/kdsingleapplication.h
+include/kdsingleapplication-qt6/kdsingleapplication_lib.h
+include/kdsingleapplication-qt6/kdsingleapplication_version.h
+lib/cmake/KDSingleApplication-qt6/KDSingleApplication-qt6Config.cmake
+lib/cmake/KDSingleApplication-qt6/KDSingleApplication-qt6ConfigVersion.cmake
+lib/cmake/KDSingleApplication-qt6/KDSingleApplication-qt6Targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/KDSingleApplication-qt6/KDSingleApplication-qt6Targets.cmake
+lib/cmake/KDSingleApplication-qt6/KDSingleApplicationTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/KDSingleApplication-qt6/KDSingleApplicationTargets.cmake
+lib/libkdsingleapplication-qt6.so
+lib/libkdsingleapplication-qt6.so.1.1
+lib/libkdsingleapplication-qt6.so.1.1.0
+%%QT_MKSPECDIR%%/modules/qt_KDSingleApplication.pri