commit:     05128d7166f549276048bfbe43eca8e7ef683588
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 16 07:35:30 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jul 16 07:35:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05128d71

net-im/spectrum2: fix build w/ boost-1.85

Closes: https://bugs.gentoo.org/933691
Thanks-to: Bill Prendergast <dek.devel <AT> baisenvar.info>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/spectrum2-2.2.1-boost-1.85.patch         | 103 +++++++++++++++++++++
 .../files/spectrum2-2.2.1-use-c++14.patch          |  13 +++
 net-im/spectrum2/spectrum2-2.2.1.ebuild            |   5 +
 3 files changed, 121 insertions(+)

diff --git a/net-im/spectrum2/files/spectrum2-2.2.1-boost-1.85.patch 
b/net-im/spectrum2/files/spectrum2-2.2.1-boost-1.85.patch
new file mode 100644
index 000000000000..30e6a4cdeb81
--- /dev/null
+++ b/net-im/spectrum2/files/spectrum2-2.2.1-boost-1.85.patch
@@ -0,0 +1,103 @@
+Bug: https://bugs.gentoo.org/933691
+
+From: Bill Prendergast <[email protected]>
+
+Fix build with boost-1.85 (filesystem api v4 removed Deprecated Features)
+see https://www.boost.org/doc/libs/1_85_0/libs/filesystem/doc/deprecated.html
+
+--- a/plugin/cpp/Util.cpp
++++ b/plugin/cpp/Util.cpp
+@@ -53,7 +53,7 @@ void createDirectories(Transport::Config *config, const 
boost::filesystem::path&
+       }
+ 
+       // First create branch, by calling ourself recursively
+-      createDirectories(config, ph.branch_path());
++      createDirectories(config, ph.parent_path());
+       
+       // Now that parent's path exists, create the directory
+       create_directory(ph);
+@@ -89,7 +89,7 @@ void removeEverythingOlderThan(const 
std::vector<std::string> &dirs, time_t t) {
+                       for (directory_iterator itr(p); itr != end_itr; ++itr) {
+                               if (last_write_time(itr->path()) < t) {
+                                       try {
+-                                              if (is_regular(itr->path())) {
++                                              if 
(is_regular_file(itr->path())) {
+                                                       remove(itr->path());
+                                               }
+                                               else if 
(is_directory(itr->path())) {
+--- a/spectrum/src/main.cpp
++++ b/spectrum/src/main.cpp
+@@ -147,7 +147,7 @@ static void _createDirectories(Transport::Config *config, 
boost::filesystem::pat
+       }
+ 
+       // First create branch, by calling ourself recursively
+-      _createDirectories(config, ph.branch_path());
++      _createDirectories(config, ph.parent_path());
+ 
+       // Now that parent's path exists, create the directory
+       boost::filesystem::create_directory(ph);
+--- a/spectrum_manager/src/methods.cpp
++++ b/spectrum_manager/src/methods.cpp
+@@ -168,7 +168,7 @@ int start_instances(ManagerConfig *config, const 
std::string &_jid) {
+ 
+               directory_iterator end_itr;
+               for (directory_iterator itr(p); itr != end_itr; ++itr) {
+-                      if (is_regular(itr->path()) && extension(itr->path()) 
== ".cfg") {
++                      if (is_regular_file(itr->path()) && 
itr->path().extension().string() == ".cfg") {
+                               Config cfg;
+                               if (cfg.load(itr->path().string()) == false) {
+                                       std::cerr << "Can't load config file " 
<< itr->path().string() << ". Skipping...\n";
+@@ -232,7 +232,7 @@ void stop_instances(ManagerConfig *config, const 
std::string &_jid) {
+ 
+               directory_iterator end_itr;
+               for (directory_iterator itr(p); itr != end_itr; ++itr) {
+-                      if (is_regular(itr->path()) && extension(itr->path()) 
== ".cfg") {
++                      if (is_regular_file(itr->path()) && 
itr->path().extension().string() == ".cfg") {
+                               Config cfg;
+                               if (cfg.load(itr->path().string()) == false) {
+                                       std::cerr << "Can't load config file " 
<< itr->path().string() << ". Skipping...\n";
+@@ -315,7 +315,7 @@ int restart_instances(ManagerConfig *config, const 
std::string &_jid) {
+ 
+               directory_iterator end_itr;
+               for (directory_iterator itr(p); itr != end_itr; ++itr) {
+-                      if (is_regular(itr->path()) && extension(itr->path()) 
== ".cfg") {
++                      if (is_regular_file(itr->path()) && 
itr->path().extension().string() == ".cfg") {
+                               Config cfg;
+                               if (cfg.load(itr->path().string()) == false) {
+                                       std::cerr << "Can't load config file " 
<< itr->path().string() << ". Skipping...\n";
+@@ -401,7 +401,7 @@ int show_status(ManagerConfig *config) {
+ 
+               directory_iterator end_itr;
+               for (directory_iterator itr(p); itr != end_itr; ++itr) {
+-                      if (is_regular(itr->path()) && extension(itr->path()) 
== ".cfg") {
++                      if (is_regular_file(itr->path()) && 
itr->path().extension().string() == ".cfg") {
+                               Config cfg;
+                               if (cfg.load(itr->path().string()) == false) {
+                                       std::cerr << "Can't load config file " 
<< itr->path().string() << ". Skipping...\n";
+@@ -531,7 +531,7 @@ std::string get_config(ManagerConfig *config, const 
std::string &jid, const std:
+ 
+               directory_iterator end_itr;
+               for (directory_iterator itr(p); itr != end_itr; ++itr) {
+-                      if (is_regular(itr->path()) && extension(itr->path()) 
== ".cfg") {
++                      if (is_regular_file(itr->path()) && 
itr->path().extension().string() == ".cfg") {
+                               Config cfg;
+                               if (cfg.load(itr->path().string()) == false) {
+                                       std::cerr << "Can't load config file " 
<< itr->path().string() << ". Skipping...\n";
+@@ -572,7 +572,7 @@ void ask_local_server(ManagerConfig *config, 
Swift::BoostNetworkFactories &netwo
+               bool found = false;
+               directory_iterator end_itr;
+               for (directory_iterator itr(p); itr != end_itr; ++itr) {
+-                      if (is_regular(itr->path()) && extension(itr->path()) 
== ".cfg") {
++                      if (is_regular_file(itr->path()) && 
itr->path().extension().string() == ".cfg") {
+                               Config cfg;
+                               if (cfg.load(itr->path().string()) == false) {
+                                       std::cerr << "Can't load config file " 
<< itr->path().string() << ". Skipping...\n";
+@@ -619,7 +619,7 @@ std::vector<std::string> show_list(ManagerConfig *config, 
bool show) {
+ 
+               directory_iterator end_itr;
+               for (directory_iterator itr(p); itr != end_itr; ++itr) {
+-                      if (is_regular(itr->path()) && extension(itr->path()) 
== ".cfg") {
++                      if (is_regular_file(itr->path()) && 
itr->path().extension().string() == ".cfg") {
+                               Config cfg;
+                               if (cfg.load(itr->path().string()) == false) {
+                                       std::cerr << "Can't load config file " 
<< itr->path().string() << ". Skipping...\n";

diff --git a/net-im/spectrum2/files/spectrum2-2.2.1-use-c++14.patch 
b/net-im/spectrum2/files/spectrum2-2.2.1-use-c++14.patch
new file mode 100644
index 000000000000..009f7cb4a3a8
--- /dev/null
+++ b/net-im/spectrum2/files/spectrum2-2.2.1-use-c++14.patch
@@ -0,0 +1,13 @@
+Don't focre c11
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,7 +4,7 @@
+ 
+ project(libtransport)
+ 
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 14)
+ if(WIN32)
+       set(CMAKE_CXX_STANDARD 17)
+ endif(WIN32)

diff --git a/net-im/spectrum2/spectrum2-2.2.1.ebuild 
b/net-im/spectrum2/spectrum2-2.2.1.ebuild
index 659d8085be5d..bfeccf1de360 100644
--- a/net-im/spectrum2/spectrum2-2.2.1.ebuild
+++ b/net-im/spectrum2/spectrum2-2.2.1.ebuild
@@ -58,6 +58,11 @@ DEPEND="
        test? ( dev-util/cppunit )
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.2.1-boost-1.85.patch
+       "${FILESDIR}"/${PN}-2.2.1-use-c++14.patch
+)
+
 src_prepare() {
        # Respect users LDFLAGS
        sed -i -e "s/-Wl,-export-dynamic/& ${LDFLAGS}/" 
spectrum/src/CMakeLists.txt || die

Reply via email to