Skip to content

Commit

Permalink
textproc/libxml++5.0: import libxml++5.0-5.0.1
Browse files Browse the repository at this point in the history
libxml++ is a C++ wrapper for the libxml XML parser library. It has SAX and
DOM-like APIs, but does not attempt to conform exactly to the DOM
specifications because they are not aimed at C++. Its API is much simpler
than the underlying libxml C API.

This package follows the libxml++-5.0 API.

Changes compared to libxml++:

5.0.1 (stable):

Build:
* libxml++config.h.*: Don't dllimport on MinGW
  (Chun-wei Fan) Issue gtkmm#90 (Lukas K.)
* Meson build: Make it possible to use libxml++ as a subproject
  (Kjell Ahlstedt)
* Meson build: No implicit_include_directories
  (Kjell Ahlstedt)
* MSVC build: Export classes selectively
  (Chun-wei Fan)

Documentation:
* docs/index.md: Describe the different libxml++ ABIs
  (Kjell Ahlstedt) Issue #20 (Tom Schoonjans)


5.0.0 (stable):

This is the first stable release in the libxml++-5.0 ABI series.
It is parallel-installable with the libxml++-2.6, libxml++-3.0
and libxml++-4.0 ABIs.

The tarball for 5.0.0 has been created with 'meson dist'.
If you build with Autotools from the tarball, please read
the relevant part of the README file.

Build:
* Add NMake Makefiles
  Remove Visual Studio 2010 projects
  (Chun-wei Fan) Pull request #10
* Use __declspec(dllexport) when building on Visual Studio
  Stop using gendef.exe
  (Chun-wei Fan) Pull request #15
* Add support for building with Meson
  (Kjell Ahlstedt, Chun-wei Fan) Pull request #16, #17, issue #19


4.9.1 (unstable):

* Change ABI name from libxml++-4.0 to libxml++-5.0
  There is also a libxml++-4-0 branch for the libxml++-4.0 ABI,
  which still uses glibmm-2.64.
  And there is a libxml++-3-0 branch for the libxml++-3.0 ABI,
  which still uses glibmm-2.4.
* Build: Remove dependency on glibmm and don't use Glib::ustring
  For now, the API uses an xmlpp::ustring alias of std::string
  where it previously used Glib::ustring.

3.9.1 (unstable):

* Change ABI name to libxml++-4.0
  There is also a libxml++-3-2 branch for the libxml++-3.0 ABI,
  which still uses glibmm-2.4.
* Build:
  - Use glibmm-2.64 instead of glibmm-2.4.
  - Require C++17.
* Parser: Make some methods const

3.2.0 (stable):

* Document, DomParser: Improve XInclude processing:
  Document:
    Add process_xinclude() overload that takes a fixup_base_uris parameter.
  DomParser:
    Add set/get_xinclude_options() and add optional XInclude processing to the
    parse methods.
  (Kjell Ahlstedt) Bug 781566
* Add explicit keyword to some single-parameter constructors.
  (Murray Cumming)
* tests: Don't require C++17
  (Kjell Ahlstedt)
* Build: Fix srcdir != buildir build.
  (Kjell Ahlstedt, Murray Cumming)

3.0.1 (stable):

* Element::remove_attribute(): Delete the C++ wrapper
  (Harald Schmalzl, Kjell Ahlstedt) Bug #768404.

3.0.0 (stable):

* This is the first stable release of libxml++-3.0. ABI and API are
  incompatible with libxml++-2.6. These two series of libxml++ can be
  installed in parallel.
  Applications that want to upgrade from libxml++-2.6 to libxml++-3.0
  must change their pkg-config check to libxml++-3.0.
  (Kjell Ahlstedt) Bug #754673.

* This release is identical to the unstable 2.91.3, except for the so name,
  which has now been bumped.
  (Kjell Ahlstedt) Bug #760574 (Dominique Leuenberger)

2.91.3 (unstable):

* Element: Remove a redundant nullptr check
  (Renu Tyagi) Bug #757515

* Use scoped enums (enum class) instead of unscoped enums
* Document: Test for nullptr in a constructor
* DomParser: Make operator bool() explicit
  (Kjell Ahlstedt)

* The ABI and API are not identical to libxml++ 2.91.2.
  There may be more changes in ABI and/or API before the first stable
  libxml++-3.0 release.

2.91.2 (unstable):

* Remove the preprocessor constant LIBXMLCPP_EXCEPTIONS_ENABLED.
  It was always 1.

* Add a config-time test for support of std::exception_ptr. Don't try to
  use std::exception_ptr on a system where it does not exist.
  This includes re-implementing the wrapped_exception class and the
  raise() and clone() methods in xmlpp::exception and its subclasses.
  (Daniel Trebbien, Kjell Ahlstedt) Bug #757042 (Michael Biebl)

* The ABI is not identical to that of libxml++ 2.91.1.
  There may be more changes in ABI and/or API before the first stable
  libxml++-3.0 release.

2.91.1 (unstable):

* Renamed ABI from libxml++-2.6 to libxml++-3.0.
  This requires applications to change their pkg-config check to libxml++-3.0
  when they wish to use libxml++ 2.9x or 3.x instead of libxml++ 2.x.
  (Kjell Ahlstedt) Bug #754673.
  There may be more changes in ABI and/or API before the first stable
  libxml++-3.0 release.

* Node: Add const_NodeList and use it in a const version of get_children().
  Add const_NodeSet and use it in a const version of find().
  Replace xmlpp::NodeSet by xmlpp::Node::NodeSet.
  Element: Add const_Attribute_list and use it in a const version of
  get_attributes().
  (Kjell Ahlstedt) Bug #338907 (Marcos Mayorga)
* Document: Add a non-const version of get_root_node(). Let the const version
  return a const pointer.
  (Knut Aksel Røysland) Bug #632522
* Element: Add a non-const version of get_attribute(). Let the const version
  return a const pointer.
  (Knut Aksel Røysland) Bug #632524
* Replace the deprecated std::auto_ptr by std::unique_ptr
  (Kjell Ahlstedt) Bug #753123
* DomParser: The default behaviour is to throw both parse errors and
  validity errors in an exception instead of printing some messages on stderr.
* Parser: Some protected data has become private.
* Several classes: Some virtual methods have become non-virtual, and some
  non-virtual methods have become virtual.
* Remove class xmlpp::wrapped_exception and the deprecated classes
  Schema and SchemaValidator.
* xmlpp::exception and its subclasses: Remove Raise() and Clone().
* SaxParser: Start each parsing with a new Document for entity resolution.
* Move all Node::add_child*() methods to Element and rename them to
  add_child_element*().
* Attribute: Move set_value() to AttributeNode.
* Use std::string instead of Glib::ustring for filenames.
* Node: Replace remove_child() by remove_node().
* Move some code from DtdValidator to Dtd.
* Element: Rename set/get_child_text() to set/get_first_child_text().
  • Loading branch information
wiz committed May 31, 2021
1 parent ef6a1ab commit d4f46b9
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 0 deletions.
6 changes: 6 additions & 0 deletions textproc/libxml++5.0/DESCR
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
libxml++ is a C++ wrapper for the libxml XML parser library. It has SAX and
DOM-like APIs, but does not attempt to conform exactly to the DOM
specifications because they are not aimed at C++. Its API is much simpler
than the underlying libxml C API.

This package follows the libxml++-5.0 API.
24 changes: 24 additions & 0 deletions textproc/libxml++5.0/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# $NetBSD: Makefile,v 1.1 2021/05/31 22:27:02 wiz Exp $

DISTNAME= libxml++-5.0.1
PKGNAME= ${DISTNAME:S/libxml++/libxml++5.0/}
CATEGORIES= textproc
MASTER_SITES= ${MASTER_SITE_GNOME:=sources/libxml++/${PKGVERSION_NOREV:R}/}
EXTRACT_SUFX= .tar.xz

MAINTAINER= evaldo@gardenali.biz
HOMEPAGE= http://libxmlplusplus.sourceforge.net/
COMMENT= C++ wrapper for the libxml XML parser library (5.0 API)
LICENSE= gnu-lgpl-v2.1

USE_LANGUAGES= c c++
USE_TOOLS+= pkg-config perl
# TODO: update
PKGCONFIG_OVERRIDE+= libxml++-2.6.pc.in
PYTHON_FOR_BUILD_ONLY= tool

.include "../../devel/meson/build.mk"
.include "../../devel/glibmm2.68/buildlink3.mk"
.include "../../lang/python/tool.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
47 changes: 47 additions & 0 deletions textproc/libxml++5.0/PLIST
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
@comment $NetBSD: PLIST,v 1.1 2021/05/31 22:27:02 wiz Exp $
include/libxml++-5.0/libxml++/attribute.h
include/libxml++-5.0/libxml++/attributedeclaration.h
include/libxml++-5.0/libxml++/attributenode.h
include/libxml++-5.0/libxml++/document.h
include/libxml++-5.0/libxml++/dtd.h
include/libxml++-5.0/libxml++/exceptions/exception.h
include/libxml++-5.0/libxml++/exceptions/internal_error.h
include/libxml++-5.0/libxml++/exceptions/parse_error.h
include/libxml++-5.0/libxml++/exceptions/validity_error.h
include/libxml++-5.0/libxml++/exceptions/wrapped_exception.h
include/libxml++-5.0/libxml++/io/istreamparserinputbuffer.h
include/libxml++-5.0/libxml++/io/ostreamoutputbuffer.h
include/libxml++-5.0/libxml++/io/outputbuffer.h
include/libxml++-5.0/libxml++/io/parserinputbuffer.h
include/libxml++-5.0/libxml++/keepblanks.h
include/libxml++-5.0/libxml++/libxml++.h
include/libxml++-5.0/libxml++/nodes/cdatanode.h
include/libxml++-5.0/libxml++/nodes/commentnode.h
include/libxml++-5.0/libxml++/nodes/contentnode.h
include/libxml++-5.0/libxml++/nodes/element.h
include/libxml++-5.0/libxml++/nodes/entitydeclaration.h
include/libxml++-5.0/libxml++/nodes/entityreference.h
include/libxml++-5.0/libxml++/nodes/node.h
include/libxml++-5.0/libxml++/nodes/processinginstructionnode.h
include/libxml++-5.0/libxml++/nodes/textnode.h
include/libxml++-5.0/libxml++/nodes/xincludeend.h
include/libxml++-5.0/libxml++/nodes/xincludestart.h
include/libxml++-5.0/libxml++/noncopyable.h
include/libxml++-5.0/libxml++/parsers/domparser.h
include/libxml++-5.0/libxml++/parsers/parser.h
include/libxml++-5.0/libxml++/parsers/saxparser.h
include/libxml++-5.0/libxml++/parsers/textreader.h
include/libxml++-5.0/libxml++/relaxngschema.h
include/libxml++-5.0/libxml++/schemabase.h
include/libxml++-5.0/libxml++/ustring.h
include/libxml++-5.0/libxml++/validators/dtdvalidator.h
include/libxml++-5.0/libxml++/validators/relaxngvalidator.h
include/libxml++-5.0/libxml++/validators/schemavalidatorbase.h
include/libxml++-5.0/libxml++/validators/validator.h
include/libxml++-5.0/libxml++/validators/xsdvalidator.h
include/libxml++-5.0/libxml++/xsdschema.h
lib/libxml++-5.0.so
lib/libxml++-5.0.so.1
lib/libxml++-5.0.so.1.0.0
lib/libxml++-5.0/include/libxml++config.h
lib/pkgconfig/libxml++-5.0.pc
15 changes: 15 additions & 0 deletions textproc/libxml++5.0/buildlink3.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# $NetBSD: buildlink3.mk,v 1.1 2021/05/31 22:27:02 wiz Exp $

BUILDLINK_TREE+= libxmlpp5.0

.if !defined(LIBXMLPP5.0_BUILDLINK3_MK)
LIBXMLPP5.0_BUILDLINK3_MK:=

BUILDLINK_API_DEPENDS.libxmlpp5.0+= libxml++>=5.0.1
BUILDLINK_PKGSRCDIR.libxmlpp5.0?= ../../textproc/libxml++5.0

.include "../../devel/glibmm2.68/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.endif # LIBXMLPP5.0_BUILDLINK3_MK

BUILDLINK_TREE+= -libxmlpp5.0
6 changes: 6 additions & 0 deletions textproc/libxml++5.0/distinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
$NetBSD: distinfo,v 1.1 2021/05/31 22:27:02 wiz Exp $

SHA1 (libxml++-5.0.1.tar.xz) = deb441c87f4bc2a02ad8597d95ac6640fba415f3
RMD160 (libxml++-5.0.1.tar.xz) = 2bd00b4b9b2ff059954ac834a824d4ca2e2831a9
SHA512 (libxml++-5.0.1.tar.xz) = a8715b4a383190098f51cce3462e9ff7220f40195e957bea75a2b4fffe623841a3f649c72fe78bb9442dd680f9ac6667e67f706255e6b517d9513a642d754e32
Size (libxml++-5.0.1.tar.xz) = 779760 bytes

0 comments on commit d4f46b9

Please sign in to comment.