commit:     998fae593fd83b10e798c8fd9bbbad5b73ed7ac0
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon May 27 15:30:44 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon May 27 15:51:46 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=998fae59

games-strategy/freeorion: fix build+runtime w/ boost-1.85

Re-tested in a clean env and seems fine.

Hoping -fno-sa won't be permanent, but it'll do better
than an upper bound.

Closes: https://bugs.gentoo.org/932780
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/freeorion-0.5.0.1-boost1.85.patch        | 57 ++++++++++++++++++++++
 ...-0.5.0.1.ebuild => freeorion-0.5.0.1-r1.ebuild} |  8 ++-
 2 files changed, 63 insertions(+), 2 deletions(-)

diff --git a/games-strategy/freeorion/files/freeorion-0.5.0.1-boost1.85.patch 
b/games-strategy/freeorion/files/freeorion-0.5.0.1-boost1.85.patch
new file mode 100644
index 000000000000..cb7f450ffc37
--- /dev/null
+++ b/games-strategy/freeorion/files/freeorion-0.5.0.1-boost1.85.patch
@@ -0,0 +1,57 @@
+https://bugs.gentoo.org/932780
+https://github.com/freeorion/freeorion/issues/4897
+
+Backport of: https://github.com/freeorion/freeorion/pull/4899/commits
+--- a/GG/src/dialogs/FileDlg.cpp
++++ b/GG/src/dialogs/FileDlg.cpp
+@@ -11,3 +11,3 @@
+ #include <boost/algorithm/string/predicate.hpp>
+-#include <boost/filesystem/operations.hpp>
++#include <boost/filesystem.hpp>
+ #include <boost/format.hpp>
+@@ -217,3 +217,3 @@
+         fs::path filename_path = 
fs::system_complete(fs::path(m_init_filename));
+-        m_files_edit->SetText(filename_path.leaf().string());
++        m_files_edit->SetText(filename_path.filename().string());
+     }
+@@ -550,3 +550,3 @@
+         if ((s_working_dir.string() != s_working_dir.root_path().string() &&
+-             !s_working_dir.branch_path().string().empty()) ||
++             !s_working_dir.parent_path().string().empty()) ||
+             Win32Paths())
+@@ -696,6 +696,6 @@
+         if (s_working_dir.string() != s_working_dir.root_path().string() &&
+-            !s_working_dir.branch_path().string().empty())
++            !s_working_dir.parent_path().string().empty())
+         {
+             // move to new directory
+-            SetWorkingDirectory(s_working_dir.branch_path());
++            SetWorkingDirectory(s_working_dir.parent_path());
+ 
+--- a/util/Directories.cpp
++++ b/util/Directories.cpp
+@@ -6,5 +6,4 @@
+ #include <boost/algorithm/string/trim.hpp>
+-#include <boost/filesystem/convenience.hpp>
+-#include <boost/filesystem/operations.hpp>
+ #include <boost/date_time/posix_time/posix_time.hpp>
++#include <boost/filesystem.hpp>
+ 
+@@ -268,3 +267,3 @@
+         fs::path binary_file = fs::system_complete(FilenameToPath(argv0));
+-        bin_dir = binary_file.branch_path();
++        bin_dir = binary_file.parent_path();
+     } catch (const fs::filesystem_error &) {
+@@ -317,3 +316,3 @@
+             fs::path binary_file = fs::system_complete(fs::path(path_text));
+-            bin_dir = binary_file.branch_path();
++            bin_dir = binary_file.parent_path();
+ 
+--- a/util/OptionsDB.cpp
++++ b/util/OptionsDB.cpp
+@@ -16,4 +16,3 @@
+ #include <boost/algorithm/string/predicate.hpp>
+-#include <boost/filesystem/fstream.hpp>
+-#include <boost/filesystem/operations.hpp>
++#include <boost/filesystem.hpp>
+ #include <boost/range/algorithm_ext/erase.hpp>

diff --git a/games-strategy/freeorion/freeorion-0.5.0.1.ebuild 
b/games-strategy/freeorion/freeorion-0.5.0.1-r1.ebuild
similarity index 94%
rename from games-strategy/freeorion/freeorion-0.5.0.1.ebuild
rename to games-strategy/freeorion/freeorion-0.5.0.1-r1.ebuild
index 7f69517f40d8..60ff58559cb2 100644
--- a/games-strategy/freeorion/freeorion-0.5.0.1.ebuild
+++ b/games-strategy/freeorion/freeorion-0.5.0.1-r1.ebuild
@@ -18,10 +18,9 @@ IUSE="+client doc test"
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 RESTRICT="!test? ( test )"
 
-# bug #932780 wrt boost upper bound
 DEPEND="
        ${PYTHON_DEPS}
-       $(python_gen_cond_dep 
'<dev-libs/boost-1.85:=[${PYTHON_USEDEP},nls,python]')
+       $(python_gen_cond_dep 'dev-libs/boost:=[${PYTHON_USEDEP},nls,python]')
        sys-libs/zlib:=
        client? (
                media-libs/freetype
@@ -50,6 +49,10 @@ BDEPEND="
        test? ( $(python_gen_cond_dep 'dev-python/pytest[${PYTHON_USEDEP}]') )
 "
 
+PATCHES=(
+       "${FILESDIR}"/${P}-boost1.85.patch
+)
+
 freeorion_check-reqs() {
        # cc1plus processes may suddenly use ~1.5GB all at once early on (2+GB
        # if debug symbols) then far less for the rest, check minimal jobs*1.5
@@ -75,6 +78,7 @@ src_prepare() {
 }
 
 src_configure() {
+       append-flags -fno-strict-aliasing #932780
        filter-lto # -Werror=odr issues
 
        local mycmakeargs=(

Reply via email to