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;
 

Reply via email to