diff options
Diffstat (limited to 'dev-cpp')
-rw-r--r-- | dev-cpp/Manifest.gz | bin | 17165 -> 17161 bytes | |||
-rw-r--r-- | dev-cpp/nlohmann_json/Manifest | 3 | ||||
-rw-r--r-- | dev-cpp/nlohmann_json/files/nlohmann_json-3.12.0-fallback-missing-char8_t.patch | 141 | ||||
-rw-r--r-- | dev-cpp/nlohmann_json/nlohmann_json-3.12.0-r1.ebuild (renamed from dev-cpp/nlohmann_json/nlohmann_json-3.12.0.ebuild) | 2 | ||||
-rw-r--r-- | dev-cpp/websocketpp/Manifest | 3 | ||||
-rw-r--r-- | dev-cpp/websocketpp/files/websocketpp-0.8.2-c++20-compat.patch | 94 | ||||
-rw-r--r-- | dev-cpp/websocketpp/websocketpp-0.8.2-r1.ebuild | 56 |
7 files changed, 298 insertions, 1 deletions
diff --git a/dev-cpp/Manifest.gz b/dev-cpp/Manifest.gz Binary files differindex 384bb69fa326..8f82cc5cf376 100644 --- a/dev-cpp/Manifest.gz +++ b/dev-cpp/Manifest.gz diff --git a/dev-cpp/nlohmann_json/Manifest b/dev-cpp/nlohmann_json/Manifest index e99775d22df0..aaf3116880fd 100644 --- a/dev-cpp/nlohmann_json/Manifest +++ b/dev-cpp/nlohmann_json/Manifest @@ -1,3 +1,4 @@ +AUX nlohmann_json-3.12.0-fallback-missing-char8_t.patch 6349 BLAKE2B 19c6c525f0873be588ef94c1ca4bbf50020032f0feb7b1e2de01a1674d7021271e1fa053f2c5ea2d0d861e0275ec98eb7538ad8a06dd0dd4d9b7aed9ba1bda5e SHA512 616a0459cb4396246909a12fb98c18a7ee6466b1fbe9bdc49dead1a4c82f8fafbd1c34b9e75dae0c9c01cfd1e5a71a5337a839ff6478aec5edb2230315ec64dd DIST nlohmann_json-3.10.2.tar.gz 7054440 BLAKE2B e7da213fb75d528b1f5425822f5b598e882f232a67670aaae2d8f89c76e72ee23fa3344d1acfef2b0338a6a423d17b231b7e047ff064c984c2ec7783b721a22c SHA512 9a399dfc8aab19c9fc12470e8087895b1c05d48a9bcc731b483d8670c361cffb2adc3ccced822b7f17255e88387a441d619c4e1f1afeb702d1d035ad24fe22ed DIST nlohmann_json-3.11.3.tar.gz 8053705 BLAKE2B 872f67e44d3003c9d8c9e5ca4674a357883d7341e3943a7694812af8c853fe5da65fbbe0cc986b634c7cbca12082a064fcf8e40d4d06e6b990f031ea47c21db5 SHA512 7df19b621de34f08d5d5c0a25e8225975980841ef2e48536abcf22526ed7fb99f88ad954a2cb823115db59ccc88d1dbe74fe6c281b5644b976b33fb78db9d717 DIST nlohmann_json-3.12.0.tar.gz 9678593 BLAKE2B db4310eeecee130a73f6dd774367104d0631e25af8bf507185c708598f2b9af67fc8387fe2b93bb27b91859518bf6c81c91dbde301e3c1a717aae6866e257e3d SHA512 6cc1e86261f8fac21cc17a33da3b6b3c3cd5c116755651642af3c9e99bb3538fd42c1bd50397a77c8fb6821bc62d90e6b91bcdde77a78f58f2416c62fc53b97d @@ -5,5 +6,5 @@ DIST nlohmann_json-testdata-3.0.0.tar.gz 112348454 BLAKE2B f0a47b41805bf1426f612 DIST nlohmann_json-testdata-3.1.0.tar.gz 115036393 BLAKE2B 809be0728a0b9d007fcc752911bdf6f7e548d6e3ec59871ea2b16d87d8248ca4dd2f681a1d0f82c618463294188ad41d6d965b8bdc39c70fdcf4b939d4121e9c SHA512 db6c411b37f2154f5dd1ed90f4e8fa0907f4a736cd0ff79943bcacf9da422285ff142bb6a7dc6022b236090083166ac1ab197be3f480d8dc50b26a91a9477821 EBUILD nlohmann_json-3.10.2.ebuild 1577 BLAKE2B 2db087d7545ab034faf859f314b69ba645b3f5be0f589b96de763d9bc371aa148ce86c15332e08d516f854916e730cca8aa1f521ff0fd5aa5210500dc1d6dbf9 SHA512 fda0401e5bbdf6b49f2f1a8694780ab43da076612fc4224e5ca012bf014c132bb1c7923939226793272fa7546c00a79f8eb40ef1905b5cdf714fe08f26833539 EBUILD nlohmann_json-3.11.3.ebuild 1975 BLAKE2B 3961a6363ee607510dd03a8888a98af856c1c975a3dcd72713f19daf731159b2d06493e84027fc9df9f2b7e76a6ced09d4789e1fcbb2fa639a973066cb91ed66 SHA512 359c8471fa66c9473f67d2f067834958519764d0cdac037d919ca7a828c217b7122f9f7b395be78efabdc715001492dfdcb945716caf0caf16eafedce87a804e -EBUILD nlohmann_json-3.12.0.ebuild 1981 BLAKE2B 4555ab7f4e789d9f0e39b1df1cd6e3bc678ffefeab98685c730d1a382c784b669bfb8a1b344c10325f987240ebc85260db5d5318b6a9d4adf5453a65b4c3b0af SHA512 0d5b11a64a13c9300c4ac55f94d089fd9ca980fbce26b0ac04fc24170b5325e4d3d10f9858219101f105b3e21faa0cb7b7ba2e55211dc04765fd94e74ad1f34c +EBUILD nlohmann_json-3.12.0-r1.ebuild 2052 BLAKE2B a3f0fced4aa06667bc5c137157c28035bf7a7dcc6ae0e6720cee857a65aa153055c8c7e673941744d7bb437624cc82819fae1f0bd2b003626efc2aec7928d510 SHA512 37c12a7f244634b24c09dfeeaa935b7b1b8b72612cb5bffdb096dca0bcf336d14baed4e940dace403f83fe4f87f3839988703dfa207207fb6fecafb38034f1a3 MISC metadata.xml 338 BLAKE2B c5eb95ba7048308eab4753ea01c015781ce85db42d2e50f8ed9e3f7fb6945cfb8b90f5b3216799ad53137ceef6eae4636eea482e86206b19589ddf2e42caaaa1 SHA512 4198102ff79678a8e9be9146fc97991b1b205be3d34ebaece3dcab46a36ee5af904f463fcd0dc2a88fb362aa7a81e8d713af7b55db594a7069efc0276c94ff49 diff --git a/dev-cpp/nlohmann_json/files/nlohmann_json-3.12.0-fallback-missing-char8_t.patch b/dev-cpp/nlohmann_json/files/nlohmann_json-3.12.0-fallback-missing-char8_t.patch new file mode 100644 index 000000000000..afb1491e10af --- /dev/null +++ b/dev-cpp/nlohmann_json/files/nlohmann_json-3.12.0-fallback-missing-char8_t.patch @@ -0,0 +1,141 @@ +From 756ca22ec5b0d89b5d107b4c30891d1293650c87 Mon Sep 17 00:00:00 2001 +From: Sergiu Deitsch <sergiud@users.noreply.github.com> +Date: Wed, 23 Apr 2025 18:36:41 +0200 +Subject: [PATCH] Provide fallback for missing `char8_t` support (#4736) + +--- + .../nlohmann/detail/conversions/from_json.hpp | 5 +++- + .../nlohmann/detail/conversions/to_json.hpp | 21 ++++++++++----- + single_include/nlohmann/json.hpp | 26 +++++++++++++------ + tests/src/unit-deserialization.cpp | 5 ++-- + 4 files changed, 39 insertions(+), 18 deletions(-) + +diff --git a/include/nlohmann/detail/conversions/from_json.hpp b/include/nlohmann/detail/conversions/from_json.hpp +index 797f714dfa..3a24a6f4d2 100644 +--- a/include/nlohmann/detail/conversions/from_json.hpp ++++ b/include/nlohmann/detail/conversions/from_json.hpp +@@ -539,7 +539,10 @@ inline void from_json(const BasicJsonType& j, std_fs::path& p) + JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j)); + } + const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>(); +-#ifdef JSON_HAS_CPP_20 ++ // Checking for C++20 standard or later can be insufficient in case the ++ // library support for char8_t is either incomplete or was disabled ++ // altogether. Use the __cpp_lib_char8_t feature test instead. ++#if defined(__cpp_lib_char8_t) && (__cpp_lib_char8_t >= 201907L) + p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size())); + #else + p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20 +diff --git a/include/nlohmann/detail/conversions/to_json.hpp b/include/nlohmann/detail/conversions/to_json.hpp +index f8413850d5..8b910dd161 100644 +--- a/include/nlohmann/detail/conversions/to_json.hpp ++++ b/include/nlohmann/detail/conversions/to_json.hpp +@@ -15,7 +15,8 @@ + + #include <algorithm> // copy + #include <iterator> // begin, end +-#include <string> // string ++#include <memory> // allocator_traits ++#include <string> // basic_string, char_traits + #include <tuple> // tuple, get + #include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type + #include <utility> // move, forward, declval, pair +@@ -440,15 +441,21 @@ inline void to_json(BasicJsonType& j, const T& t) + } + + #if JSON_HAS_FILESYSTEM || JSON_HAS_EXPERIMENTAL_FILESYSTEM ++#if defined(__cpp_lib_char8_t) ++template<typename BasicJsonType, typename Tr, typename Allocator> ++inline void to_json(BasicJsonType& j, const std::basic_string<char8_t, Tr, Allocator>& s) ++{ ++ using OtherAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<char>; ++ j = std::basic_string<char, std::char_traits<char>, OtherAllocator>(s.begin(), s.end(), s.get_allocator()); ++} ++#endif ++ + template<typename BasicJsonType> + inline void to_json(BasicJsonType& j, const std_fs::path& p) + { +-#ifdef JSON_HAS_CPP_20 +- const std::u8string s = p.u8string(); +- j = std::string(s.begin(), s.end()); +-#else +- j = p.u8string(); // returns std::string in C++17 +-#endif ++ // Returns either a std::string or a std::u8string depending whether library ++ // support for char8_t is enabled. ++ j = p.u8string(); + } + #endif + +diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp +index 13b07c0fbc..93e5983cf1 100644 +--- a/single_include/nlohmann/json.hpp ++++ b/single_include/nlohmann/json.hpp +@@ -5324,7 +5324,10 @@ inline void from_json(const BasicJsonType& j, std_fs::path& p) + JSON_THROW(type_error::create(302, concat("type must be string, but is ", j.type_name()), &j)); + } + const auto& s = *j.template get_ptr<const typename BasicJsonType::string_t*>(); +-#ifdef JSON_HAS_CPP_20 ++ // Checking for C++20 standard or later can be insufficient in case the ++ // library support for char8_t is either incomplete or was disabled ++ // altogether. Use the __cpp_lib_char8_t feature test instead. ++#if defined(__cpp_lib_char8_t) && (__cpp_lib_char8_t >= 201907L) + p = std_fs::path(std::u8string_view(reinterpret_cast<const char8_t*>(s.data()), s.size())); + #else + p = std_fs::u8path(s); // accepts UTF-8 encoded std::string in C++17, deprecated in C++20 +@@ -5379,7 +5382,8 @@ NLOHMANN_JSON_NAMESPACE_END + + #include <algorithm> // copy + #include <iterator> // begin, end +-#include <string> // string ++#include <memory> // allocator_traits ++#include <string> // basic_string, char_traits + #include <tuple> // tuple, get + #include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type + #include <utility> // move, forward, declval, pair +@@ -6086,15 +6090,21 @@ inline void to_json(BasicJsonType& j, const T& t) + } + + #if JSON_HAS_FILESYSTEM || JSON_HAS_EXPERIMENTAL_FILESYSTEM ++#if defined(__cpp_lib_char8_t) ++template<typename BasicJsonType, typename Tr, typename Allocator> ++inline void to_json(BasicJsonType& j, const std::basic_string<char8_t, Tr, Allocator>& s) ++{ ++ using OtherAllocator = typename std::allocator_traits<Allocator>::template rebind_alloc<char>; ++ j = std::basic_string<char, std::char_traits<char>, OtherAllocator>(s.begin(), s.end(), s.get_allocator()); ++} ++#endif ++ + template<typename BasicJsonType> + inline void to_json(BasicJsonType& j, const std_fs::path& p) + { +-#ifdef JSON_HAS_CPP_20 +- const std::u8string s = p.u8string(); +- j = std::string(s.begin(), s.end()); +-#else +- j = p.u8string(); // returns std::string in C++17 +-#endif ++ // Returns either a std::string or a std::u8string depending whether library ++ // support for char8_t is enabled. ++ j = p.u8string(); + } + #endif + +diff --git a/tests/src/unit-deserialization.cpp b/tests/src/unit-deserialization.cpp +index 84a970a183..5c450c23d3 100644 +--- a/tests/src/unit-deserialization.cpp ++++ b/tests/src/unit-deserialization.cpp +@@ -1134,9 +1134,10 @@ TEST_CASE("deserialization") + } + } + +-// select the types to test - char8_t is only available in C++20 ++// select the types to test - char8_t is only available since C++20 if and only ++// if __cpp_char8_t is defined. + #define TYPE_LIST(...) __VA_ARGS__ +-#ifdef JSON_HAS_CPP_20 ++#if defined(__cpp_char8_t) && (__cpp_char8_t >= 201811L) + #define ASCII_TYPES TYPE_LIST(char, wchar_t, char16_t, char32_t, char8_t) + #else + #define ASCII_TYPES TYPE_LIST(char, wchar_t, char16_t, char32_t) diff --git a/dev-cpp/nlohmann_json/nlohmann_json-3.12.0.ebuild b/dev-cpp/nlohmann_json/nlohmann_json-3.12.0-r1.ebuild index 75276652d6fc..70f098895022 100644 --- a/dev-cpp/nlohmann_json/nlohmann_json-3.12.0.ebuild +++ b/dev-cpp/nlohmann_json/nlohmann_json-3.12.0-r1.ebuild @@ -28,6 +28,8 @@ RESTRICT="!test? ( test )" DOCS=( ChangeLog.md README.md ) +PATCHES=( "${FILESDIR}/${PN}-3.12.0-fallback-missing-char8_t.patch" ) + src_prepare() { if use test ; then ln -s "${WORKDIR}"/json_test_data-${TEST_VERSION} "${S}"/json_test_data || die diff --git a/dev-cpp/websocketpp/Manifest b/dev-cpp/websocketpp/Manifest index fb39fffe1961..d0f276ff9bb8 100644 --- a/dev-cpp/websocketpp/Manifest +++ b/dev-cpp/websocketpp/Manifest @@ -1,7 +1,10 @@ AUX websocketpp-0.7.0-cmake-install.patch 970 BLAKE2B 2099c37b65d3f685f8b9745d92b481bb6a0434e6305e974c6f613ae44e70e1fa9d7bd577f875ef12228e506361409666099ce024578c5c524cc8fc5fbdef4b70 SHA512 c8b34b80890d8dc828d64e391e9541f7ebd6a18c79d3a5b91c72835745a11bafff110d04e8d75a2df2dba8b65ca1856050009a4eab3871cc2470066f9ad82f44 AUX websocketpp-0.8.1-disable-test_transport-test_transport_asio_timers.patch 1227 BLAKE2B 26ac496842e4e23d254ba908679399ff8907253434430c887290cbd3b3beb14aaf69834cfc0b8f326f13c0f63ec7da535f0c8b438d20d7c1d2d4b5d5d2afb5cc SHA512 1ef7f2b71dcbeb386cd27bbf97f599f0c056b014423090ceb28e336c0f1527c6f8d6b04931144823c1d1deb14781508a0a6e869f69a9a232978851634f35fa0c +AUX websocketpp-0.8.2-c++20-compat.patch 3520 BLAKE2B fe82d027fc43ee13f6f07a524ede17242676f49b3e863f4871a141816d4fd094b3005a5f4ae48ec4379d8d221f31e2be84177a60fe4c0193ee30347e683a45cd SHA512 36a6a6ca53666520373fd5b3ad4960a951e7e789cc8a07b1ca6a418e68226430d67157a385138a2c9fd2a8d716c86229a269cab52343623b37fa96974d644e22 AUX websocketpp-0.8.2-fix-boost_find_component.patch 950 BLAKE2B 16e80dcdf6a0af95fb7ac8b1c52fd9205379da13787dbd3d023a79a2c6e611ca093f49acc4618d7db0c2397126e4e6ec2cb1633116be658347f2403faee16d7f SHA512 192fd716040e91a6912407778a1c7a208a29ceaaa48aacb0fefddcd622d2ecde68093aff837b0cf4c3d8dc40cd9a5f4714040aa2264a1f8a01190b174a2a12b1 AUX websocketpp-0.8.2-fix-clang.patch 1042 BLAKE2B 8d453efb82fea72a0a4b2ed5ab7ec44975ee963cbb99cf0c69bcd3ef2eb4482334981c711e9f0780c1f59353b74cf8543528d9889d2cac51ad746a59eae28ab1 SHA512 7c7fdbe70627cd39a4936fb0118a3d347753a1c6150c8801544b753ba4b5cd8c653043035fa164e31f2a41d09662d4abb4429140c14e42e2a195094e06574766 +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 +EBUILD websocketpp-0.8.2-r1.ebuild 1678 BLAKE2B 57722dfa18222e3687c5ada774147db46a8ea32ff156451470c7c8d8532fd6ef9548796d16284427b034bb73f3eda7e48914dab7d57d7333be58b05eedac3be5 SHA512 15bc02bf2ffb6375251c1617537326385326b1c36a7a0eefabbf83eb8592741f293301a40f60a291f6b3525ef827dc334fc496585b60ca40d02d3653585b15d0 EBUILD websocketpp-0.8.2.ebuild 1270 BLAKE2B 47e18a61da1af6a3ff7d8b9650c0d632618f4e30cad55dfa4ea7f5aba16ede19281846261c3a88ef2c4eba1509f6ee5c186482c0e2003116541fe79c454a8a34 SHA512 d464b07dc7de25807f15654a461915d40b8129356f5a6d73acdb7dae6f60806acf51cf281f69a7de1f595e8ce04f44f4e0905588eaee17a704d8404ecf396daa MISC metadata.xml 252 BLAKE2B 4beafc2dbc69f457e4880196afd696198e1d4006e76836d7581c4a3098bf68d58da79344c88974c92a63303dbd0199d5de0bfd984adbc358ad92da2a9edd96a4 SHA512 20cc70561adba76fc4ac65953dc2a2dfc4b8261d6a56bed78d00b7aa8e0edd507bc851bf7c1dba138b55175dd1d1bb8b4f853fe96242046dc7611ab10cfb0a5b 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/websocketpp-0.8.2-r1.ebuild b/dev-cpp/websocketpp/websocketpp-0.8.2-r1.ebuild new file mode 100644 index 000000000000..34177441a2c2 --- /dev/null +++ b/dev-cpp/websocketpp/websocketpp-0.8.2-r1.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 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/36b73da8958927f975b3d01a062aa6c0e149d97f + "${FILESDIR}"/${P}-fix-boost_find_component.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" +) + +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 +} |