git: ddb6258f0377 - main - www/wslay: Add pkgconfig file for CMake build

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Thu, 28 Aug 2025 14:07:02 UTC
The branch main has been updated by vvd:

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

commit ddb6258f037736efc9cf61d9beb041b98f1a997e
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2025-08-28 13:49:59 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-08-28 14:06:53 +0000

    www/wslay: Add pkgconfig file for CMake build
    
    For example required for unbundle wslay from devel/godot.
    
    PR:             288868
    Approved by:    yuri (maintainer, timeout 2 weeks)
    Obtained from:  https://github.com/tatsuhiro-t/wslay/pull/43
---
 www/wslay/Makefile                   |  4 ++++
 www/wslay/files/patch-CMakeLists.txt | 13 +++++++++++++
 www/wslay/files/wslay.pc.cmake.in    | 13 +++++++++++++
 www/wslay/pkg-plist                  |  1 +
 4 files changed, 31 insertions(+)

diff --git a/www/wslay/Makefile b/www/wslay/Makefile
index dbac3828d03d..8646a926c82a 100644
--- a/www/wslay/Makefile
+++ b/www/wslay/Makefile
@@ -2,6 +2,7 @@ PORTNAME=	wslay
 DISTVERSIONPREFIX=	release-
 DISTVERSION=	1.1.1-22
 DISTVERSIONSUFFIX=	-g45d2258
+PORTREVISION=	1
 CATEGORIES=	www devel
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -23,4 +24,7 @@ CMAKE_OFF=	WSLAY_STATIC
 
 CMAKE_TESTING_ON=	WSLAY_TESTS
 
+post-extract:
+	${CP} ${FILESDIR}/wslay.pc.cmake.in ${WRKSRC}
+
 .include <bsd.port.mk>
diff --git a/www/wslay/files/patch-CMakeLists.txt b/www/wslay/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..ac649aafdd1f
--- /dev/null
+++ b/www/wslay/files/patch-CMakeLists.txt
@@ -0,0 +1,13 @@
+--- CMakeLists.txt.orig	2021-01-15 10:48:52 UTC
++++ CMakeLists.txt
+@@ -35,4 +35,10 @@ if (WSLAY_CONFIGURE_INSTALL)
+ 	configure_file(wslay-config.cmake.in wslay-config.cmake @ONLY)
+ 	install(FILES ${CMAKE_CURRENT_BINARY_DIR}/wslay-config.cmake
+ 		DESTINATION ${INSTALL_CMAKE_DIR})
++
++	set(INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib)
++	set(INSTALL_INC_DIR ${CMAKE_INSTALL_PREFIX}/include)
++	configure_file(wslay.pc.cmake.in libwslay.pc @ONLY)
++	set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
++	install(FILES ${CMAKE_BINARY_DIR}/libwslay.pc DESTINATION "${INSTALL_PKGCONFIG_DIR}")
+ endif()
diff --git a/www/wslay/files/wslay.pc.cmake.in b/www/wslay/files/wslay.pc.cmake.in
new file mode 100644
index 000000000000..11ea4f98366a
--- /dev/null
+++ b/www/wslay/files/wslay.pc.cmake.in
@@ -0,0 +1,13 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@INSTALL_LIB_DIR@
+sharedlibdir=@INSTALL_LIB_DIR@
+includedir=@INSTALL_INC_DIR@
+
+Name: wslay
+Description: The WebSocket library in C
+Version: @PACKAGE_VERSION@
+
+Requires:
+Libs: -L${libdir} -L${sharedlibdir} -lwslay_shared
+Cflags: -I${includedir}
diff --git a/www/wslay/pkg-plist b/www/wslay/pkg-plist
index df71549a96c7..3258ab761a41 100644
--- a/www/wslay/pkg-plist
+++ b/www/wslay/pkg-plist
@@ -4,3 +4,4 @@ lib/cmake/wslay/wslay-config.cmake
 lib/cmake/wslay/wslay-%%CMAKE_BUILD_TYPE%%.cmake
 lib/cmake/wslay/wslay.cmake
 lib/libwslay_shared.so
+libdata/pkgconfig/libwslay.pc