mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-23 05:53:12 -04:00
net-libs/ixwebsocket: Add new package
Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Adrian Schollmeyer <nex+b-g-o@nexadn.de>
This commit is contained in:
1
net-libs/ixwebsocket/Manifest
Normal file
1
net-libs/ixwebsocket/Manifest
Normal file
@@ -0,0 +1 @@
|
|||||||
|
DIST ixwebsocket-11.2.8.tar.gz 583075 BLAKE2B 014af74ec236a49b8bad574761e6d861348ef22f3cbda798862f87591c27c2ee8b94f740d534ed7f6fc0736ea2e06788c64a208dab65575aa815d40472c6c50d SHA512 7938c2b59b5f310afa1a0c94171dd55a4e8821ac0763feb11528d520f1d3bf1037bb8d53d31eec1952888f601f597c00c9490e15cfca7f9c3aa6d80614d7b1f5
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 77d2f6b..665c35f 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -206,14 +206,6 @@ if (USE_ZLIB)
|
||||||
|
target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_ZLIB)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-# brew install libdeflate
|
||||||
|
-find_package(Deflate)
|
||||||
|
-if (DEFLATE_FOUND)
|
||||||
|
- include_directories(${DEFLATE_INCLUDE_DIRS})
|
||||||
|
- target_link_libraries(ixwebsocket ${DEFLATE_LIBRARIES})
|
||||||
|
- target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_DEFLATE)
|
||||||
|
-endif()
|
||||||
|
-
|
||||||
|
if (WIN32)
|
||||||
|
target_link_libraries(ixwebsocket wsock32 ws2_32 shlwapi)
|
||||||
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
|
||||||
|
index 661aebb..bab73c7 100644
|
||||||
|
--- a/test/CMakeLists.txt
|
||||||
|
+++ b/test/CMakeLists.txt
|
||||||
|
@@ -11,15 +11,12 @@ option(USE_TLS "Add TLS support" ON)
|
||||||
|
|
||||||
|
# Shared sources
|
||||||
|
set (TEST_TARGET_NAMES
|
||||||
|
- IXSocketTest
|
||||||
|
IXSocketConnectTest
|
||||||
|
IXWebSocketServerTest
|
||||||
|
IXWebSocketTestConnectionDisconnection
|
||||||
|
IXUrlParserTest
|
||||||
|
- IXHttpClientTest
|
||||||
|
IXUnityBuildsTest
|
||||||
|
IXHttpTest
|
||||||
|
- IXDNSLookupTest
|
||||||
|
IXWebSocketSubProtocolTest
|
||||||
|
# IXWebSocketBroadcastTest ## FIXME was depending on cobra / take a broadcast server from ws
|
||||||
|
IXStrCaseCompareTest
|
||||||
|
@@ -33,7 +30,6 @@ if (UNIX)
|
||||||
|
|
||||||
|
# Fail on Windows in CI probably because the pathing is wrong and
|
||||||
|
# some resource files cannot be found
|
||||||
|
- IXHttpServerTest
|
||||||
|
IXWebSocketChatTest
|
||||||
|
)
|
||||||
|
endif()
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 77d2f6b..4c64106 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -238,23 +238,25 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||||
|
target_compile_options(ixwebsocket PRIVATE /MP)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+include(GNUInstallDirs)
|
||||||
|
+
|
||||||
|
target_include_directories(ixwebsocket PUBLIC
|
||||||
|
$<BUILD_INTERFACE:${IXWEBSOCKET_INCLUDE_DIRS}/>
|
||||||
|
- $<INSTALL_INTERFACE:include/ixwebsocket>
|
||||||
|
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/ixwebsocket>
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties(ixwebsocket PROPERTIES PUBLIC_HEADER "${IXWEBSOCKET_HEADERS}")
|
||||||
|
|
||||||
|
install(TARGETS ixwebsocket
|
||||||
|
EXPORT ixwebsocket
|
||||||
|
- ARCHIVE DESTINATION lib
|
||||||
|
- PUBLIC_HEADER DESTINATION include/ixwebsocket/
|
||||||
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ixwebsocket/
|
||||||
|
)
|
||||||
|
|
||||||
|
install(EXPORT ixwebsocket
|
||||||
|
FILE ixwebsocket-config.cmake
|
||||||
|
NAMESPACE ixwebsocket::
|
||||||
|
- DESTINATION lib/cmake/ixwebsocket)
|
||||||
|
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ixwebsocket)
|
||||||
|
|
||||||
|
if (USE_WS OR USE_TEST)
|
||||||
|
include(FetchContent)
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 77d2f6b..86c7172 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -257,13 +257,9 @@ install(EXPORT ixwebsocket
|
||||||
|
DESTINATION lib/cmake/ixwebsocket)
|
||||||
|
|
||||||
|
if (USE_WS OR USE_TEST)
|
||||||
|
- include(FetchContent)
|
||||||
|
- FetchContent_Declare(spdlog
|
||||||
|
- GIT_REPOSITORY "https://github.com/gabime/spdlog"
|
||||||
|
- GIT_TAG "v1.8.0"
|
||||||
|
- GIT_SHALLOW 1)
|
||||||
|
-
|
||||||
|
- FetchContent_MakeAvailable(spdlog)
|
||||||
|
+ find_package(spdlog REQUIRED)
|
||||||
|
+ find_package(fmt REQUIRED)
|
||||||
|
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSPDLOG_FMT_EXTERNAL")
|
||||||
|
|
||||||
|
if (USE_WS)
|
||||||
|
add_subdirectory(ws)
|
||||||
|
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
|
||||||
|
index 661aebb..ab0c92e 100644
|
||||||
|
--- a/test/CMakeLists.txt
|
||||||
|
+++ b/test/CMakeLists.txt
|
||||||
|
@@ -66,7 +66,7 @@ target_include_directories(ixwebsocket_test PRIVATE
|
||||||
|
../third_party
|
||||||
|
)
|
||||||
|
target_link_libraries(ixwebsocket_test ixwebsocket)
|
||||||
|
-target_link_libraries(ixwebsocket_test spdlog)
|
||||||
|
+target_link_libraries(ixwebsocket_test spdlog::spdlog fmt::fmt)
|
||||||
|
|
||||||
|
foreach(TEST_TARGET_NAME ${TEST_TARGET_NAMES})
|
||||||
|
add_executable(${TEST_TARGET_NAME}
|
||||||
|
@@ -89,7 +89,7 @@ foreach(TEST_TARGET_NAME ${TEST_TARGET_NAMES})
|
||||||
|
target_link_libraries(${TEST_TARGET_NAME} ixwebsocket_test)
|
||||||
|
target_link_libraries(${TEST_TARGET_NAME} ixwebsocket)
|
||||||
|
|
||||||
|
- target_link_libraries(${TEST_TARGET_NAME} spdlog)
|
||||||
|
+ target_link_libraries(${TEST_TARGET_NAME} spdlog fmt)
|
||||||
|
|
||||||
|
add_test(NAME ${TEST_TARGET_NAME}
|
||||||
|
COMMAND ${TEST_TARGET_NAME}
|
||||||
|
diff --git a/ws/CMakeLists.txt b/ws/CMakeLists.txt
|
||||||
|
index 98f15de..10834e5 100644
|
||||||
|
--- a/ws/CMakeLists.txt
|
||||||
|
+++ b/ws/CMakeLists.txt
|
||||||
|
@@ -31,6 +31,6 @@ add_executable(ws
|
||||||
|
# library with the most dependencies come first
|
||||||
|
target_link_libraries(ws ixwebsocket)
|
||||||
|
|
||||||
|
-target_link_libraries(ws spdlog)
|
||||||
|
+target_link_libraries(ws spdlog::spdlog fmt::fmt)
|
||||||
|
|
||||||
|
install(TARGETS ws RUNTIME DESTINATION bin)
|
||||||
62
net-libs/ixwebsocket/ixwebsocket-11.2.8.ebuild
Normal file
62
net-libs/ixwebsocket/ixwebsocket-11.2.8.ebuild
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# Copyright 2021 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
inherit cmake
|
||||||
|
|
||||||
|
MY_P="IXWebSocket-${PV}"
|
||||||
|
|
||||||
|
DESCRIPTION="C++ websocket client and server library"
|
||||||
|
HOMEPAGE="https://github.com/machinezone/IXWebSocket"
|
||||||
|
SRC_URI="https://github.com/machinezone/IXWebSocket/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||||
|
|
||||||
|
LICENSE="BSD"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="~amd64 ~x86"
|
||||||
|
IUSE="+ssl test zlib ws"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
sys-libs/zlib:=
|
||||||
|
|
||||||
|
ws? (
|
||||||
|
>=dev-libs/spdlog-1.8.0:=
|
||||||
|
)
|
||||||
|
test? (
|
||||||
|
>=dev-libs/spdlog-1.8.0:=
|
||||||
|
)
|
||||||
|
"
|
||||||
|
RDEPEND="
|
||||||
|
sys-libs/zlib:=
|
||||||
|
"
|
||||||
|
BDEPEND=""
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
# Upstream installs to hardcoded lib- and include-dirs
|
||||||
|
"${FILESDIR}/${P}-use-gnuinstalldirs.patch"
|
||||||
|
# Some tests require network connectivity
|
||||||
|
"${FILESDIR}/${P}-remove-network-tests.patch"
|
||||||
|
# Upstream uses git submodules
|
||||||
|
"${FILESDIR}/${P}-use-system-spdlog.patch"
|
||||||
|
# Upstream detects deflate dynamically, so let's remove it
|
||||||
|
"${FILESDIR}/${P}-remove-deflate.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local mycmakeargs=(
|
||||||
|
-DUSE_TLS="$(usex ssl)"
|
||||||
|
-DUSE_ZLIB="$(usex zlib)"
|
||||||
|
-DUSE_WS="$(usex ws)"
|
||||||
|
-DUSE_TEST="$(usex test)"
|
||||||
|
)
|
||||||
|
cmake_src_configure
|
||||||
|
}
|
||||||
|
|
||||||
|
src_test() {
|
||||||
|
cd "${BUILD_DIR}" || die
|
||||||
|
ctest --output-on-failure || die
|
||||||
|
}
|
||||||
11
net-libs/ixwebsocket/metadata.xml
Normal file
11
net-libs/ixwebsocket/metadata.xml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<maintainer type="person">
|
||||||
|
<name>Adrian Schollmeyer</name>
|
||||||
|
<email>nex+b-g-o@nexadn.de</email>
|
||||||
|
</maintainer>
|
||||||
|
<use>
|
||||||
|
<flag name="ws">Build the ws utility</flag>
|
||||||
|
</use>
|
||||||
|
</pkgmetadata>
|
||||||
Reference in New Issue
Block a user