external/libxml2/UnpackedTarball_libxml2.mk |    1 
 external/libxml2/deprecated.patch.0         |   34 ----------------------------
 xmlsecurity/source/xmlsec/saxhelper.cxx     |    6 ++++
 3 files changed, 6 insertions(+), 35 deletions(-)

New commits:
commit c368f94db2e9d63d6729bb829809d6c8ada86cc8
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Mon Sep 8 14:10:17 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Mon Sep 8 15:32:08 2025 +0200

    libxml2: Ignore deprecations for system libxml2 as well for now
    
        commit e3b5e3aebcf178ccfbba3f7510062d5f2c5abb4a
        Date:   Wed Apr 23 13:38:50 2025 +0200
    
            libxml2: upgrade to 2.14.3
    
            * In 
https://gitlab.gnome.org/GNOME/libxml2/-/commit/712a31abe458eed75f0e2a442b35af58cf7091ca
            some members used by Libreoffice were marked as deprecated.
            Add deprecated.patch.0 to undeprecate them for now.
            Meanwhile
            https://gitlab.gnome.org/GNOME/libxml2/-/issues/936#note_2461334 
has been
            opened to discuss it. The necessary code changes
            will be addressed in a follow-up commit
            [...]
    
    added a patch to ignore deprecated symbols in
    the internal libxml2, by undeprecating the symbols for
    that version.
    
    Drop that patch again and instead let compilers ignore
    the deprecation warnings for now, to also make the --enable-werror
    build pass for the (default) system libxml2 used e.g. on
    Debian testing (which currently provides 2.14.5+dfsg-0.2).
    
    Build failure seen there otherwise:
    
        
/home/michi/development/git/libreoffice/xmlsecurity/source/xmlsec/saxhelper.cxx:162:24:
 error: 'recovery' is deprecated [-Werror,-Wdeprecated-declarations]
          162 |         m_pParserCtxt->recovery = 1 ;
              |                        ^
        /usr/include/libxml2/libxml/parser.h:377:18: note: 'recovery' has been 
explicitly marked deprecated here
          377 |     int recovery XML_DEPRECATED_MEMBER;
              |                  ^
        /usr/include/libxml2/libxml/xmlexports.h:74:50: note: expanded from 
macro 'XML_DEPRECATED_MEMBER'
           74 |     #define XML_DEPRECATED_MEMBER __attribute__((deprecated))
              |                                                  ^
        
/home/michi/development/git/libreoffice/xmlsecurity/source/xmlsec/saxhelper.cxx:209:20:
 error: 'nodeTab' is deprecated [-Werror,-Wdeprecated-declarations]
          209 |     m_pParserCtxt->nodeTab[m_pParserCtxt->nodeNr - 1]
              |                    ^
        /usr/include/libxml2/libxml/parser.h:284:25: note: 'nodeTab' has been 
explicitly marked deprecated here
          284 |     xmlNodePtr *nodeTab XML_DEPRECATED_MEMBER;
              |                         ^
        /usr/include/libxml2/libxml/xmlexports.h:74:50: note: expanded from 
macro 'XML_DEPRECATED_MEMBER'
           74 |     #define XML_DEPRECATED_MEMBER __attribute__((deprecated))
              |                                                  ^
        
/home/michi/development/git/libreoffice/xmlsecurity/source/xmlsec/saxhelper.cxx:209:43:
 error: 'nodeNr' is deprecated [-Werror,-Wdeprecated-declarations]
          209 |     m_pParserCtxt->nodeTab[m_pParserCtxt->nodeNr - 1]
              |                                           ^
        /usr/include/libxml2/libxml/parser.h:280:16: note: 'nodeNr' has been 
explicitly marked deprecated here
          280 |     int nodeNr XML_DEPRECATED_MEMBER;
              |                ^
        /usr/include/libxml2/libxml/xmlexports.h:74:50: note: expanded from 
macro 'XML_DEPRECATED_MEMBER'
           74 |     #define XML_DEPRECATED_MEMBER __attribute__((deprecated))
              |                                                  ^
        
/home/michi/development/git/libreoffice/xmlsecurity/source/xmlsec/saxhelper.cxx:229:62:
 error: 'inputMax' is deprecated [-Werror,-Wdeprecated-declarations]
          229 |     if( m_pParserCtxt->inputTab != nullptr && 
m_pParserCtxt->inputMax != 0 )
              |                                                              ^
        /usr/include/libxml2/libxml/parser.h:271:18: note: 'inputMax' has been 
explicitly marked deprecated here
          271 |     int inputMax XML_DEPRECATED_MEMBER;
              |                  ^
        /usr/include/libxml2/libxml/xmlexports.h:74:50: note: expanded from 
macro 'XML_DEPRECATED_MEMBER'
           74 |     #define XML_DEPRECATED_MEMBER __attribute__((deprecated))
              |                                                  ^
        4 errors generated.
        make[1]: *** 
[/home/michi/development/git/libreoffice/solenv/gbuild/LinkTarget.mk:338: 
/home/michi/development/git/libreoffice/workdir/CxxObject/xmlsecurity/source/xmlsec/saxhelper.o]
 Error 1
        make[1]: *** Waiting for unfinished jobs....
        make: *** [Makefile:301: build] Error 2
    
    Change-Id: I1124859c0ef766b73f506dd997d89543ccf6eb12
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190668
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/external/libxml2/UnpackedTarball_libxml2.mk 
b/external/libxml2/UnpackedTarball_libxml2.mk
index bb53a2e7c667..907bb62f8da7 100644
--- a/external/libxml2/UnpackedTarball_libxml2.mk
+++ b/external/libxml2/UnpackedTarball_libxml2.mk
@@ -23,7 +23,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,libxml2,\
        external/libxml2/libxml2-vc10.patch \
        external/libxml2/libxml2-XMLCALL-redefine.patch.0 \
        external/libxml2/makefile.msvc-entry-point.patch.0 \
-       external/libxml2/deprecated.patch.0 \
        external/libxml2/0001-const-up-allowPCData.patch.1 \
        $(if $(filter ANDROID,$(OS)),external/libxml2/libxml2-android.patch) \
        $(if $(gb_Module_CURRENTMODULE_SYMBOLS_ENABLED), \
diff --git a/external/libxml2/deprecated.patch.0 
b/external/libxml2/deprecated.patch.0
deleted file mode 100644
index 324a87e2363d..000000000000
--- a/external/libxml2/deprecated.patch.0
+++ /dev/null
@@ -1,34 +0,0 @@
---- include/libxml/parser.h    2025-05-13 16:42:31.000000000 +0200
-+++ include/libxml/parser.h    2025-06-03 14:00:37.833979131 +0200
-@@ -268,7 +268,7 @@
-     /* Number of current input streams */
-     int inputNr;
-     /* Max number of input streams */
--    int inputMax XML_DEPRECATED_MEMBER;
-+    int inputMax;
-     /* stack of inputs */
-     xmlParserInputPtr *inputTab;
- 
-@@ -277,11 +277,11 @@
-     /* Current parsed Node */
-     xmlNodePtr node;
-     /* Depth of the parsing stack */
--    int nodeNr XML_DEPRECATED_MEMBER;
-+    int nodeNr;
-     /* Max depth of the parsing stack */
-     int nodeMax XML_DEPRECATED_MEMBER;
-     /* array of nodes */
--    xmlNodePtr *nodeTab XML_DEPRECATED_MEMBER;
-+    xmlNodePtr *nodeTab;
- 
-     /* Whether node info should be kept */
-     int record_info;
-@@ -374,7 +374,7 @@
-     /* document's own catalog */
-     void *catalogs XML_DEPRECATED_MEMBER;
-     /* run in recovery mode */
--    int recovery XML_DEPRECATED_MEMBER;
-+    int recovery;
-     /* unused */
-     int progressive XML_DEPRECATED_MEMBER;
-     /* dictionary for the parser */
diff --git a/xmlsecurity/source/xmlsec/saxhelper.cxx 
b/xmlsecurity/source/xmlsec/saxhelper.cxx
index fd0785c85a11..880fcbcc2824 100644
--- a/xmlsecurity/source/xmlsec/saxhelper.cxx
+++ b/xmlsecurity/source/xmlsec/saxhelper.cxx
@@ -159,7 +159,9 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
         m_pSaxHandler = m_pParserCtxt->sax ;
 
         //Adjust the context
+SAL_WNODEPRECATED_DECLARATIONS_PUSH
         m_pParserCtxt->recovery = 1 ;
+SAL_WNODEPRECATED_DECLARATIONS_POP
     }
 }
 
@@ -206,9 +208,11 @@ void SAXHelper::setCurrentNode(const xmlNodePtr pNode)
      * stack's top has to been replaced with the same
      * node, in order to make compatibility.
      */
+SAL_WNODEPRECATED_DECLARATIONS_PUSH
     m_pParserCtxt->nodeTab[m_pParserCtxt->nodeNr - 1]
         = m_pParserCtxt->node
             = pNode;
+SAL_WNODEPRECATED_DECLARATIONS_POP
 }
 
 
@@ -226,7 +230,9 @@ void SAXHelper::startDocument()
      */
     xmlParserInputPtr pInput = xmlNewInputStream( m_pParserCtxt ) ;
 
+SAL_WNODEPRECATED_DECLARATIONS_PUSH
     if( m_pParserCtxt->inputTab != nullptr && m_pParserCtxt->inputMax != 0 )
+SAL_WNODEPRECATED_DECLARATIONS_POP
     {
         m_pParserCtxt->inputTab[0] = pInput ;
         m_pParserCtxt->input = pInput ;

Reply via email to