summaryrefslogtreecommitdiff
path: root/dev-cpp/websocketpp
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/websocketpp')
-rw-r--r--dev-cpp/websocketpp/Manifest2
-rw-r--r--dev-cpp/websocketpp/files/websocketpp-0.7.0-cmake-install.patch28
-rw-r--r--dev-cpp/websocketpp/files/websocketpp-0.8.1-disable-test_transport-test_transport_asio_timers.patch46
-rw-r--r--dev-cpp/websocketpp/files/websocketpp-0.8.2-c++20-compat.patch94
-rw-r--r--dev-cpp/websocketpp/files/websocketpp-0.8.2-cmake4.patch23
-rw-r--r--dev-cpp/websocketpp/files/websocketpp-0.8.2-fix-boost1.89.patch54
-rw-r--r--dev-cpp/websocketpp/files/websocketpp-0.8.2-fix-clang.patch25
-rw-r--r--dev-cpp/websocketpp/metadata.xml5
-rw-r--r--dev-cpp/websocketpp/websocketpp-0.8.2-r1.ebuild58
9 files changed, 335 insertions, 0 deletions
diff --git a/dev-cpp/websocketpp/Manifest b/dev-cpp/websocketpp/Manifest
new file mode 100644
index 000000000000..180d626c386e
--- /dev/null
+++ b/dev-cpp/websocketpp/Manifest
@@ -0,0 +1,2 @@
+DIST websocketpp-0.8.2-boost-1.87-compat.patch.xz 17316 BLAKE2B 11f43ba92b9e8c10c7833fa2a423cfc0ca6d66721db388c6f08003a1141669bed0aec790a41964ddd9399eb18c627e01054b7c0247cbedfca7111869e4909ddf SHA512 21ee3e279722c3761328475b437ce57e38455df83ef9e291802520047164c7cb879430b541623212e320d1a55b10d17b77fe97b73d1846069a240032b7b82db7
+DIST websocketpp-0.8.2.tar.gz 701364 BLAKE2B dacee33832f493d465afe208f9edea1393414a22c8db8f8c86b8f913521d0d8d68b95673a2e82b7479acfbab1ac541eda2d713a55d5de387b3879461d5884df7 SHA512 b2afc63edb69ce81a3a6c06b3d857b3e8820f0e22300ac32bb20ab30ff07bd58bd5ada3e526ed8ab52de934e0e3a26cad2118b0e68ecf3e5e9e8d7101348fd06
diff --git a/dev-cpp/websocketpp/files/websocketpp-0.7.0-cmake-install.patch b/dev-cpp/websocketpp/files/websocketpp-0.7.0-cmake-install.patch
new file mode 100644
index 000000000000..4548c650759d
--- /dev/null
+++ b/dev-cpp/websocketpp/files/websocketpp-0.7.0-cmake-install.patch
@@ -0,0 +1,28 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f60caa1..9ff2211 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -15,13 +15,20 @@ set (WEBSOCKETPP_VERSION ${WEBSOCKETPP_MAJOR_VERSION}.${WEBSOCKETPP_MINOR_VERSIO
+
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
++get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
++if ("${LIB64}" STREQUAL "TRUE")
++ set(LIBSUFFIX 64)
++else()
++ set(LIBSUFFIX "")
++endif()
++
+ set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files")
++set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}")
+ if (WIN32 AND NOT CYGWIN)
+- set (DEF_INSTALL_CMAKE_DIR cmake)
++ set (INSTALL_CMAKE_DIR cmake)
+ else ()
+- set (DEF_INSTALL_CMAKE_DIR lib/cmake/websocketpp)
++ set (INSTALL_CMAKE_DIR ${LIB_INSTALL_DIR}/cmake/websocketpp)
+ endif ()
+-set (INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files")
+
+ # Make relative paths absolute (needed later on)
+ foreach (p INCLUDE CMAKE)
diff --git a/dev-cpp/websocketpp/files/websocketpp-0.8.1-disable-test_transport-test_transport_asio_timers.patch b/dev-cpp/websocketpp/files/websocketpp-0.8.1-disable-test_transport-test_transport_asio_timers.patch
new file mode 100644
index 000000000000..8d6c93fcec30
--- /dev/null
+++ b/dev-cpp/websocketpp/files/websocketpp-0.8.1-disable-test_transport-test_transport_asio_timers.patch
@@ -0,0 +1,46 @@
+--- a/test/transport/CMakeLists.txt
++++ b/test/transport/CMakeLists.txt
+@@ -1,24 +1,24 @@
+ if (OPENSSL_FOUND)
+
+-# Test transport integration
+-file (GLOB SOURCE integration.cpp)
+-
+-init_target (test_transport)
+-build_test (${TARGET_NAME} ${SOURCE})
+-link_boost ()
+-link_openssl()
+-final_target ()
+-set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
+-
+-# Test transport asio timers
+-file (GLOB SOURCE asio/timers.cpp)
+-
+-init_target (test_transport_asio_timers)
+-build_test (${TARGET_NAME} ${SOURCE})
+-link_boost ()
+-link_openssl()
+-final_target ()
+-set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
++## Test transport integration
++#file (GLOB SOURCE integration.cpp)
++#
++#init_target (test_transport)
++#build_test (${TARGET_NAME} ${SOURCE})
++#link_boost ()
++#link_openssl()
++#final_target ()
++#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
++#
++## Test transport asio timers
++#file (GLOB SOURCE asio/timers.cpp)
++#
++#init_target (test_transport_asio_timers)
++#build_test (${TARGET_NAME} ${SOURCE})
++#link_boost ()
++#link_openssl()
++#final_target ()
++#set_target_properties(${TARGET_NAME} PROPERTIES FOLDER "test")
+
+ # Test transport asio security
+ file (GLOB SOURCE asio/security.cpp)
diff --git a/dev-cpp/websocketpp/files/websocketpp-0.8.2-c++20-compat.patch b/dev-cpp/websocketpp/files/websocketpp-0.8.2-c++20-compat.patch
new file mode 100644
index 000000000000..2989acd4a0bd
--- /dev/null
+++ b/dev-cpp/websocketpp/files/websocketpp-0.8.2-c++20-compat.patch
@@ -0,0 +1,94 @@
+From 3197a520eb4c1e4754860441918a5930160373eb Mon Sep 17 00:00:00 2001
+From: Peter Thorson <git@zaphoyd.com>
+Date: Tue, 29 Jun 2021 09:13:12 -0500
+Subject: [PATCH] [core] Remove the use of simple template ids as they have
+ been removed in c++20.
+ https://timsong-cpp.github.io/cppwp/n4861/diff.cpp17.class#2 references #991
+
+--- a/websocketpp/endpoint.hpp
++++ b/websocketpp/endpoint.hpp
+@@ -111,7 +111,7 @@ class endpoint : public config::transport_type, public config::endpoint_base {
+
+
+ /// Destructor
+- ~endpoint<connection,config>() {}
++ ~endpoint() {}
+
+ #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
+ // no copy constructor because endpoints are not copyable
+--- a/websocketpp/logger/basic.hpp
++++ b/websocketpp/logger/basic.hpp
+@@ -58,33 +58,33 @@ namespace log {
+ template <typename concurrency, typename names>
+ class basic {
+ public:
+- basic<concurrency,names>(channel_type_hint::value h =
++ basic(channel_type_hint::value h =
+ channel_type_hint::access)
+ : m_static_channels(0xffffffff)
+ , m_dynamic_channels(0)
+ , m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {}
+
+- basic<concurrency,names>(std::ostream * out)
++ basic(std::ostream * out)
+ : m_static_channels(0xffffffff)
+ , m_dynamic_channels(0)
+ , m_out(out) {}
+
+- basic<concurrency,names>(level c, channel_type_hint::value h =
++ basic(level c, channel_type_hint::value h =
+ channel_type_hint::access)
+ : m_static_channels(c)
+ , m_dynamic_channels(0)
+ , m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {}
+
+- basic<concurrency,names>(level c, std::ostream * out)
++ basic(level c, std::ostream * out)
+ : m_static_channels(c)
+ , m_dynamic_channels(0)
+ , m_out(out) {}
+
+ /// Destructor
+- ~basic<concurrency,names>() {}
++ ~basic() {}
+
+ /// Copy constructor
+- basic<concurrency,names>(basic<concurrency,names> const & other)
++ basic(basic<concurrency,names> const & other)
+ : m_static_channels(other.m_static_channels)
+ , m_dynamic_channels(other.m_dynamic_channels)
+ , m_out(other.m_out)
+@@ -97,7 +97,7 @@ class basic {
+
+ #ifdef _WEBSOCKETPP_MOVE_SEMANTICS_
+ /// Move constructor
+- basic<concurrency,names>(basic<concurrency,names> && other)
++ basic(basic<concurrency,names> && other)
+ : m_static_channels(other.m_static_channels)
+ , m_dynamic_channels(other.m_dynamic_channels)
+ , m_out(other.m_out)
+--- a/websocketpp/roles/server_endpoint.hpp
++++ b/websocketpp/roles/server_endpoint.hpp
+@@ -75,11 +75,11 @@ class server : public endpoint<connection<config>,config> {
+ }
+
+ /// Destructor
+- ~server<config>() {}
++ ~server() {}
+
+ #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
+ // no copy constructor because endpoints are not copyable
+- server<config>(server<config> &) = delete;
++ server(server<config> &) = delete;
+
+ // no copy assignment operator because endpoints are not copyable
+ server<config> & operator=(server<config> const &) = delete;
+@@ -87,7 +87,7 @@ class server : public endpoint<connection<config>,config> {
+
+ #ifdef _WEBSOCKETPP_MOVE_SEMANTICS_
+ /// Move constructor
+- server<config>(server<config> && o) : endpoint<connection<config>,config>(std::move(o)) {}
++ server(server<config> && o) : endpoint<connection<config>,config>(std::move(o)) {}
+
+ #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
+ // no move assignment operator because of const member variables
diff --git a/dev-cpp/websocketpp/files/websocketpp-0.8.2-cmake4.patch b/dev-cpp/websocketpp/files/websocketpp-0.8.2-cmake4.patch
new file mode 100644
index 000000000000..9badaeb2105d
--- /dev/null
+++ b/dev-cpp/websocketpp/files/websocketpp-0.8.2-cmake4.patch
@@ -0,0 +1,23 @@
+From deb0a334471362608958ce59a6b0bcd3e5b73c24 Mon Sep 17 00:00:00 2001
+From: Alexander Bock <mail@alexanderbock.eu>
+Date: Mon, 31 Mar 2025 22:04:07 +0200
+Subject: [PATCH] Update minimum required CMake version to comply with CMake
+ 4.0
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4f93e243a..92990c7dc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,7 +2,7 @@
+ ############ Setup project and cmake
+ # Minimum cmake requirement. We should require a quite recent
+ # cmake for the dependency find macros etc. to be up to date.
+-cmake_minimum_required (VERSION 2.8.8)
++cmake_minimum_required (VERSION 3.10)
+
+ ############ Paths
+
diff --git a/dev-cpp/websocketpp/files/websocketpp-0.8.2-fix-boost1.89.patch b/dev-cpp/websocketpp/files/websocketpp-0.8.2-fix-boost1.89.patch
new file mode 100644
index 000000000000..62c1aa8e250f
--- /dev/null
+++ b/dev-cpp/websocketpp/files/websocketpp-0.8.2-fix-boost1.89.patch
@@ -0,0 +1,54 @@
+See PR pending https://github.com/zaphoyd/websocketpp/pull/1189.patch
+fix boost_1.89 bug #969568
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -112,7 +112,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
+
+ # Visual studio
+ if (MSVC)
+- set (WEBSOCKETPP_BOOST_LIBS system thread)
++ set (WEBSOCKETPP_BOOST_LIBS thread)
+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL /Gy /GF /Ox /Ob2 /Ot /Oi /MP /arch:SSE2 /fp:fast")
+ set (CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG /INCREMENTAL:NO /OPT:REF /OPT:ICF")
+ add_definitions (/W3 /wd4996 /wd4995 /wd4355)
+@@ -129,7 +129,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
+ set (WEBSOCKETPP_PLATFORM_LIBS pthread)
+ endif()
+ set (WEBSOCKETPP_PLATFORM_TLS_LIBS ssl crypto)
+- set (WEBSOCKETPP_BOOST_LIBS system thread)
++ set (WEBSOCKETPP_BOOST_LIBS thread)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+ if (NOT APPLE)
+ add_definitions (-DNDEBUG -Wall -Wcast-align) # todo: should we use CMAKE_C_FLAGS for these?
+@@ -139,7 +139,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
+ execute_process (COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion" OUTPUT_VARIABLE GCC_VERSION)
+ if ("${GCC_VERSION}" STRGREATER "4.4.0")
+ message("* C++11 support partially enabled due to GCC version ${GCC_VERSION}")
+- set (WEBSOCKETPP_BOOST_LIBS system thread)
++ set (WEBSOCKETPP_BOOST_LIBS thread)
+ endif ()
+ endif ()
+
+@@ -151,7 +151,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
+ set (WEBSOCKETPP_PLATFORM_LIBS pthread)
+ endif()
+ set (WEBSOCKETPP_PLATFORM_TLS_LIBS ssl crypto)
+- set (WEBSOCKETPP_BOOST_LIBS system thread)
++ set (WEBSOCKETPP_BOOST_LIBS thread)
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+ if (NOT APPLE)
+ add_definitions (-DNDEBUG -Wall -Wno-padded) # todo: should we use CMAKE_C_FLAGS for these?
+@@ -213,9 +213,8 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
+ set (Boost_FIND_QUIETLY TRUE)
+ set (Boost_DEBUG FALSE)
+ set (Boost_USE_MULTITHREADED TRUE)
+- set (Boost_ADDITIONAL_VERSIONS "1.39.0" "1.40.0" "1.41.0" "1.42.0" "1.43.0" "1.44.0" "1.46.1") # todo: someone who knows better spesify these!
+
+- find_package (Boost 1.39.0 COMPONENTS "${WEBSOCKETPP_BOOST_LIBS}")
++ find_package (Boost 1.69.0 COMPONENTS ${WEBSOCKETPP_BOOST_LIBS})
+
+ if (Boost_FOUND)
+ # Boost is a project wide global dependency.
+--
+2.52.0
+
diff --git a/dev-cpp/websocketpp/files/websocketpp-0.8.2-fix-clang.patch b/dev-cpp/websocketpp/files/websocketpp-0.8.2-fix-clang.patch
new file mode 100644
index 000000000000..2937ba71aced
--- /dev/null
+++ b/dev-cpp/websocketpp/files/websocketpp-0.8.2-fix-clang.patch
@@ -0,0 +1,25 @@
+From 2c355d9ef0f3ed73fa96d0c6c31293086df36d74 Mon Sep 17 00:00:00 2001
+From: Peter Thorson <git@zaphoyd.com>
+Date: Sun, 19 Apr 2020 22:33:24 -0500
+Subject: [PATCH] Fix typo in CMakeLists.txt that caused CXX_FLAGS to be
+ improperly quoted. Removed unnecessary hardcoded dependency on libc++ for
+ clang. fixes #859
+
+---
+ CMakeLists.txt | 2 +-
+ changelog.md | 3 +++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dcf90d1c8..3e9c80e84 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -152,7 +152,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
+ endif()
+ set (WEBSOCKETPP_PLATFORM_TLS_LIBS ssl crypto)
+ set (WEBSOCKETPP_BOOST_LIBS system thread)
+- set (CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++0x -stdlib=libc++") # todo: is libc++ really needed here?
++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+ if (NOT APPLE)
+ add_definitions (-DNDEBUG -Wall -Wno-padded) # todo: should we use CMAKE_C_FLAGS for these?
+ endif ()
diff --git a/dev-cpp/websocketpp/metadata.xml b/dev-cpp/websocketpp/metadata.xml
new file mode 100644
index 000000000000..5f33304011d5
--- /dev/null
+++ b/dev-cpp/websocketpp/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-cpp/websocketpp/websocketpp-0.8.2-r1.ebuild b/dev-cpp/websocketpp/websocketpp-0.8.2-r1.ebuild
new file mode 100644
index 000000000000..e11e2f56224e
--- /dev/null
+++ b/dev-cpp/websocketpp/websocketpp-0.8.2-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++/Boost Asio based websocket client/server library"
+HOMEPAGE="https://www.zaphoyd.com/websocketpp"
+SRC_URI="
+ https://github.com/zaphoyd/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~sbraz/${P}-boost-1.87-compat.patch.xz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="examples test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? ( dev-libs/boost )"
+RDEPEND="dev-libs/boost"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.0-cmake-install.patch
+ # disable tests that are timing sensitive
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1461069
+ "${FILESDIR}"/${PN}-0.8.1-disable-test_transport-test_transport_asio_timers.patch
+ # https://github.com/zaphoyd/websocketpp/commit/2c355d9ef0f3ed73fa96d0c6c31293086df36d74
+ "${FILESDIR}"/${P}-fix-clang.patch
+ # C++20 support from https://github.com/zaphoyd/websocketpp/commit/3197a520eb4c1e4754860441918a5930160373eb
+ # Fixes https://github.com/zaphoyd/websocketpp/issues/991 / https://bugs.gentoo.org/939739
+ "${FILESDIR}/${P}-c++20-compat.patch"
+ # From https://github.com/zaphoyd/websocketpp/pull/1164
+ "${WORKDIR}/${P}-boost-1.87-compat.patch"
+ # https://github.com/zaphoyd/websocketpp/commit/deb0a334471362608958ce59a6b0bcd3e5b73c24
+ "${FILESDIR}/${P}-cmake4.patch" # bug 953936
+ # PR pending https://github.com/zaphoyd/websocketpp/pull/1189.patch
+ "${FILESDIR}"/${P}-fix-boost1.89.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_CPP11=ON
+ -DBUILD_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}