Hi Gerardo
On Tue, 2 Dec 2025 09:47:46 +0100 Gerardo Ballabio
<[email protected]> wrote:
Thanks!
But, I've done a little more reading, and I seem to understand that
libxml++4.0 requires GTK+ 4 (glibmm 2.68 comes with that). Porting
from GTK+ 3 to 4 isn't trivial (I suppose I'll have to do it
eventually, but I'd rather not do it now). Could you please package
libxml++3.0 too? It should be a drop-in replacement for 2.6 and would
make all those warnings about auto-ptr go away (and 2.6 could be set
for removal once 3.0 is in).
It seems your use of libxml++ in galois is very simple (storing/reading
prefs & highscores), and using libxml++5 (without glibmm) for that is
not a problem.
Can you please test the patch in attachement that makes galois-0.8 build
against libxml++-5.0-dev ?
best regards,
Sébastien
--- a/configure.ac
+++ b/configure.ac
@@ -21,5 +21,5 @@
AC_CONFIG_FILES([misc/galois.desktop])
AC_PROG_CXX
PKG_CHECK_MODULES([gtkmm], [gtkmm-3.0])
-PKG_CHECK_MODULES([libxmlplusplus], [libxml++-2.6])
+PKG_CHECK_MODULES([libxmlplusplus], [libxml++-5.0])
AC_OUTPUT
--- a/src/makefile.in
+++ b/src/makefile.in
@@ -25,8 +25,8 @@
PKG_CONFIG = @PKG_CONFIG@
GTKMM_CFLAGS = `${PKG_CONFIG} --cflags gtkmm-3.0`
GTKMM_LIBS = `${PKG_CONFIG} --libs gtkmm-3.0`
-XMLPP_CFLAGS = `${PKG_CONFIG} --cflags libxml++-2.6`
-XMLPP_LIBS = `${PKG_CONFIG} --libs libxml++-2.6`
+XMLPP_CFLAGS = `${PKG_CONFIG} --cflags libxml++-5.0`
+XMLPP_LIBS = `${PKG_CONFIG} --libs libxml++-5.0`
THREAD_LIBS = -pthread
EXE = galois
--- a/src/preferences.cc
+++ b/src/preferences.cc
@@ -385,12 +385,12 @@ bool PrefsDialog::load()
reader->read();
// skip whitespace and comments
while (reader->get_node_type() ==
- xmlpp::TextReader::SignificantWhitespace ||
- reader->get_node_type() == xmlpp::TextReader::Comment)
+ xmlpp::TextReader::NodeType::SignificantWhitespace ||
+ reader->get_node_type() == xmlpp::TextReader::NodeType::Comment)
reader->read();
// document node
- if (reader->get_node_type() != xmlpp::TextReader::Element ||
+ if (reader->get_node_type() != xmlpp::TextReader::NodeType::Element ||
reader->get_name() != "galois_config")
return false;
@@ -400,16 +400,16 @@ bool PrefsDialog::load()
reader->read();
// skip whitespace and comments
while (reader->get_node_type() ==
- xmlpp::TextReader::SignificantWhitespace ||
- reader->get_node_type() == xmlpp::TextReader::Comment)
+ xmlpp::TextReader::NodeType::SignificantWhitespace ||
+ reader->get_node_type() == xmlpp::TextReader::NodeType::Comment)
reader->read();
// end of document node
- if (reader->get_node_type() == xmlpp::TextReader::EndElement
+ if (reader->get_node_type() == xmlpp::TextReader::NodeType::EndElement
&& reader->get_name() == "galois_config")
break;
- if (reader->get_node_type() != xmlpp::TextReader::Element)
+ if (reader->get_node_type() != xmlpp::TextReader::NodeType::Element)
return false;
// read and apply properties
@@ -422,17 +422,17 @@ bool PrefsDialog::load()
reader->read();
// skip whitespace and comments
while (reader->get_node_type() ==
- xmlpp::TextReader::SignificantWhitespace ||
+ xmlpp::TextReader::NodeType::SignificantWhitespace ||
reader->get_node_type() ==
- xmlpp::TextReader::Comment)
+ xmlpp::TextReader::NodeType::Comment)
reader->read();
// end of document node
- if (reader->get_node_type() == xmlpp::TextReader::EndElement
+ if (reader->get_node_type() == xmlpp::TextReader::NodeType::EndElement
&& reader->get_name() == "keys_2d")
break;
- if (reader->get_node_type() != xmlpp::TextReader::Element ||
+ if (reader->get_node_type() != xmlpp::TextReader::NodeType::Element ||
reader->get_name() != "control_key")
return false;
@@ -458,17 +458,17 @@ bool PrefsDialog::load()
reader->read();
// skip whitespace and comments
while (reader->get_node_type() ==
- xmlpp::TextReader::SignificantWhitespace ||
+ xmlpp::TextReader::NodeType::SignificantWhitespace ||
reader->get_node_type() ==
- xmlpp::TextReader::Comment)
+ xmlpp::TextReader::NodeType::Comment)
reader->read();
// end of document node
- if (reader->get_node_type() == xmlpp::TextReader::EndElement
+ if (reader->get_node_type() == xmlpp::TextReader::NodeType::EndElement
&& reader->get_name() == "keys_3d")
break;
- if (reader->get_node_type() != xmlpp::TextReader::Element ||
+ if (reader->get_node_type() != xmlpp::TextReader::NodeType::Element ||
reader->get_name() != "control_key")
return false;
--- a/src/scores.cc
+++ b/src/scores.cc
@@ -420,12 +420,12 @@ bool ScoresDialog::load()
reader->read();
// skip whitespace and comments
while (reader->get_node_type() ==
- xmlpp::TextReader::SignificantWhitespace ||
- reader->get_node_type() == xmlpp::TextReader::Comment)
+ xmlpp::TextReader::NodeType::SignificantWhitespace ||
+ reader->get_node_type() == xmlpp::TextReader::NodeType::Comment)
reader->read();
// document node
- if (reader->get_node_type() != xmlpp::TextReader::Element ||
+ if (reader->get_node_type() != xmlpp::TextReader::NodeType::Element ||
reader->get_name() != "galois_scores")
return false;
@@ -436,16 +436,16 @@ bool ScoresDialog::load()
reader->read();
// skip whitespace and comments
while (reader->get_node_type() ==
- xmlpp::TextReader::SignificantWhitespace ||
- reader->get_node_type() == xmlpp::TextReader::Comment)
+ xmlpp::TextReader::NodeType::SignificantWhitespace ||
+ reader->get_node_type() == xmlpp::TextReader::NodeType::Comment)
reader->read();
// end of document node
- if (reader->get_node_type() == xmlpp::TextReader::EndElement
+ if (reader->get_node_type() == xmlpp::TextReader::NodeType::EndElement
&& reader->get_name() == "galois_scores")
break;
- if (reader->get_node_type() != xmlpp::TextReader::Element ||
+ if (reader->get_node_type() != xmlpp::TextReader::NodeType::Element ||
reader->get_name() != "game")
return false;