dev-cpp/xsd: Version bump to 4.0.0

Gentoo-bug: 544690
* EAPI=6
* Imported patches from Fedora

Package-Manager: portage-2.3.2
This commit is contained in:
David Seifert
2016-10-15 17:46:04 +02:00
parent 10adf90b3e
commit 99c485b2d4
7 changed files with 438 additions and 7 deletions

View File

@@ -1 +1,2 @@
DIST xsd-3.3.0.tar.bz2 999479 SHA256 6157e3b0f3108f69a8d9344956020c234841d4a1de28745b19e45f8ee34b0c66 SHA512 4e7d18d71b362c4b67ad70c59c68d9be4a5f7210c94306c1685c2991a5eb82496675ac0c53f2919237e658d2e1fcf7e1bf5abe295127c7cf175c8eed090a8570 WHIRLPOOL 70b4767c463d4c5be65f8757e519a98a3c9dbc00f9a8a86026bdba5115eae5c5c7008ea05709ba293a68ab8de718b070cc0b4f6390f5bac62dca5f8a63480341
DIST xsd-4.0.0.tar.bz2 1042144 SHA256 dd85f46407c7ec161518f3fdc64263afb68b057b1bc0b09b47d792d1fabd29c2 SHA512 0bac508e6948ef9e2399daed2554fcff3eaa79a7e62a3b245c777fb8bef3c5c80a35403bffdb00f72d3cf1b411747a91c059dd1c932b0a00baf076d3e60da527 WHIRLPOOL 84cd9baeb2a9fbfa24dafd212950ca7e7ab808d3bc432c8fbf3837c4aad2d1aefabc5fa7f6ac1fb69584b6bd136f04badf435c28024009b0edc00ea7f2ef78ef

View File

@@ -0,0 +1,50 @@
--- a/makefile
+++ b/makefile
@@ -15,8 +15,6 @@
.PHONY: $(dist-pre)
$(default): $(out_base)/xsd/ \
- $(out_base)/tests/ \
- $(out_base)/examples/ \
$(out_base)/doc/
# Test.
@@ -28,7 +26,6 @@
#
$(install): $(out_base)/xsd/.install \
$(out_base)/libxsd/.install \
- $(out_base)/examples/.install \
$(out_base)/doc/.install
$(call install-dir,$(src_base)/dist/examples/build,$(install_doc_dir)/xsd/examples/build)
$(call install-dir,$(src_base)/dist/examples/cxx,$(install_doc_dir)/xsd/examples/cxx,-name makefile)
@@ -44,7 +41,6 @@
#
$(dist): $(out_base)/xsd/.dist \
$(out_base)/libxsd/.dist \
- $(out_base)/examples/.dist \
$(out_base)/doc/.dist
$(call install-dir,$(src_base)/dist/examples/build,$(dist_prefix)/examples/build)
$(call install-dir,$(src_base)/dist/examples/cxx,$(dist_prefix)/examples/cxx,-name makefile)
@@ -59,7 +55,6 @@
$(dist-win): $(dist-pre) \
$(out_base)/xsd/.dist-win \
$(out_base)/libxsd/.dist-win \
- $(out_base)/examples/.dist-win \
$(out_base)/doc/.dist-win
$(call install-dir,$(src_base)/dist/etc,$(dist_prefix)/etc)
$(call install-dir,$(src_base)/dist/examples/build,$(dist_prefix)/examples/build)
@@ -90,14 +85,10 @@
# Clean.
#
$(clean): $(out_base)/xsd/.clean \
- $(out_base)/tests/.clean \
- $(out_base)/examples/.clean \
$(out_base)/doc/.clean
$(call include,$(bld_root)/install.make)
$(call import,$(src_base)/xsd/makefile)
$(call import,$(src_base)/libxsd/makefile)
-$(call import,$(src_base)/tests/makefile)
-$(call import,$(src_base)/examples/makefile)
$(call import,$(src_base)/doc/makefile)

View File

@@ -0,0 +1,59 @@
## Fix bug in C++/Parser Expat Support http://scm.codesynthesis.com/?p=xsd/xsd.git;a=commitdiff;h=94cba986108a0e0f42295572ca42c356d59328d7
### Author Boris Kolpackov <boris@codesynthesis.com>
## Thu, 24 Jul 2014 11:40:01 +0100 (12:40 +0200)
### Committer Boris Kolpackov <boris@codesynthesis.com>
## Thu, 24 Jul 2014 11:40:01 +0100 (12:40 +0200)
--- xsd/libxsd/xsd/cxx/parser/expat/elements.hxx
+++ xsd/libxsd/xsd/cxx/parser/expat/elements.hxx
@@ -51,7 +51,9 @@ namespace xsd
}
};
- typedef std::unique_ptr<XML_ParserStruct> parser_auto_ptr;
+ typedef
+ std::unique_ptr<XML_ParserStruct, parser_deleter>
+ parser_auto_ptr;
#else
// Simple auto pointer for Expat's XML_Parser object.
//
--- xsd/libxsd/xsd/cxx/parser/expat/elements.txx
+++ xsd/libxsd/xsd/cxx/parser/expat/elements.txx
@@ -283,9 +283,10 @@ namespace xsd
throw std::bad_alloc ();
if (system_id || public_id)
- parse_begin (parser, system_id ? *system_id : *public_id, eh);
+ parse_begin (
+ parser.get (), system_id ? *system_id : *public_id, eh);
else
- parse_begin (parser, eh);
+ parse_begin (parser.get (), eh);
// Temporarily unset the exception failbit. Also clear the
// fail bit when we reset the old state if it was caused
@@ -310,8 +311,10 @@ namespace xsd
break;
}
- if (XML_Parse (
- parser, buf, is.gcount (), is.eof ()) == XML_STATUS_ERROR)
+ if (XML_Parse (parser.get (),
+ buf,
+ is.gcount (),
+ is.eof ()) == XML_STATUS_ERROR)
{
r = false;
break;
##http://scm.codesynthesis.com/?p=xsd/xsd.git;a=commitdiff;h=0e5fab0664fb36c6253dfd7bb86d8985d1b349ef
--- xsd/libxsd/xsd/cxx/parser/expat/elements.txx
+++ xsd/libxsd/xsd/cxx/parser/expat/elements.txx
@@ -279,7 +279,7 @@ namespace xsd
{
parser_auto_ptr parser (XML_ParserCreateNS (0, XML_Char (' ')));
- if (parser == 0)
+ if (parser.get () == 0)
throw std::bad_alloc ();
if (system_id || public_id)

View File

@@ -0,0 +1,11 @@
--- a/xsd/xsd.cxx
+++ b/xsd/xsd.cxx
@@ -15,7 +15,7 @@
#include <xsd-frontend/parser.hxx>
#include <xsd-frontend/transformations/anonymous.hxx>
-#include <xsd-frontend/transformations/enum-synthesis.cxx>
+#include <xsd-frontend/transformations/enum-synthesis.hxx>
#include <xsd-frontend/transformations/restriction.hxx>
#include <xsd-frontend/transformations/schema-per-type.hxx>
#include <xsd-frontend/transformations/simplifier.hxx>

View File

@@ -0,0 +1,159 @@
Description: change docu from xsd to xsdcxx
Author: Jörg Frings-Fürst <debian@jff-webhosting.net>
Reviewed-by:
Last-Update: 2014-07-22
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: trunk/xsd/doc/xsd.1
===================================================================
--- a/doc/xsd.1
+++ b/doc/xsd.1
@@ -1,16 +1,16 @@
.\" Process this file with
.\" groff -man -Tascii xsd.1
.\"
-.TH XSD 1 "July 2014" "XSD 4.0.0"
+.TH XSDCXX 1 "July 2014" "XSDCXX 4.0.0"
.SH NAME
-xsd \- W3C XML Schema to C++ Compiler
+xsdcxx \- W3C XML Schema to C++ Compiler
.\"
.\"
.\"
.\"--------------------------------------------------------------------
.SH SYNOPSIS
.\"--------------------------------------------------------------------
-.B xsd
+.B xsdcxx
.I command
.B [
.I options
@@ -20,19 +20,19 @@
.I file
.B ...]
.in
-.B xsd help
+.B xsdcxx help
.B [
.I command
.B ]
.in
-.B xsd version
+.B xsdcxx version
.\"
.\"
.\"
.\"--------------------------------------------------------------------
.SH DESCRIPTION
.\"--------------------------------------------------------------------
-.B xsd
+.B xsdcxx
generates vocabulary-specific, statically-typed C++ mapping from W3C XML
Schema definitions. Particular mapping to produce is selected by a
.IR command .
@@ -96,7 +96,7 @@
.PP
.RS
.RS 3
-.B xsd help
+.B xsdcxx help
.I command
.RE
.PP
@@ -133,9 +133,9 @@
When the C++11 mode is selected, you normally don't need to perform any
extra steps other than enable C++11 in your C++ compiler, if required\. The
-XSD compiler will automatically add the necessary macro defines to the
-generated header files that will switch the header-only XSD runtime library
-(\fBlibxsd\fP) to the C++11 mode\. However, if you include any of the XSD
+XSDCXX compiler will automatically add the necessary macro defines to the
+generated header files that will switch the header-only XSDCXX runtime library
+(\fBlibxsd\fP) to the C++11 mode\. However, if you include any of the XSDCXX
runtime headers directly in your application (normally you just include the
generated headers), then you will need to define the \fBXSD_CXX11\fP macro
for your entire project\.
@@ -1632,7 +1632,7 @@
.\"
.SH DIAGNOSTICS
If the input file is not a valid W3C XML Schema definition,
-.B xsd
+.B xsdcxx
will issue diagnostic messages to
.B STDERR
and exit with non-zero exit code.
Index: trunk/xsd/doc/xsd.xhtml
===================================================================
--- a/doc/xsd.xhtml
+++ b/doc/xsd.xhtml
@@ -3,11 +3,11 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
- <title>XSD 4.0.0 Compiler Command Line Manual</title>
+ <title>XSDCXX 4.0.0 Compiler Command Line Manual</title>
<meta name="copyright" content="&copy; 2005-2014 Code Synthesis Tools CC"/>
<meta name="keywords" content="xsd,xml,schema,c++,mapping,data,binding,code,generator,manual,man,page"/>
- <meta name="description" content="XSD Compiler Command Line Manual"/>
+ <meta name="description" content="XSDCXX Compiler Command Line Manual"/>
<link rel="stylesheet" type="text/css" href="default.css" />
@@ -50,19 +50,19 @@
<h1>NAME</h1>
- <p>xsd - W3C XML Schema to C++ Compiler</p>
+ <p>xsdcxx - W3C XML Schema to C++ Compiler</p>
<h1>SYNOPSIS</h1>
<dl id="synopsis">
- <dt><code><b>xsd</b> <i>command</i> [<i>options</i>] <i>file</i> [<i>file</i> ...]</code></dt>
- <dt><code><b>xsd help</b> [<i>command</i>]</code></dt>
- <dt><code><b>xsd version</b></code></dt>
+ <dt><code><b>xsdcxx</b> <i>command</i> [<i>options</i>] <i>file</i> [<i>file</i> ...]</code></dt>
+ <dt><code><b>xsdcxx help</b> [<i>command</i>]</code></dt>
+ <dt><code><b>xsdcxx version</b></code></dt>
</dl>
<h1>DESCRIPTION</h1>
- <p><code><b>xsd</b></code> generates vocabulary-specific, statically-typed
+ <p><code><b>xsdcxx</b></code> generates vocabulary-specific, statically-typed
C++ mapping from W3C XML Schema definitions. Particular mapping to
produce is selected by a <code><i>command</i></code>. Each mapping has
a number of mapping-specific <code><i>options</i></code> that should
@@ -138,10 +138,10 @@
<p>When the C++11 mode is selected, you normally don't need to perform any
extra steps other than enable C++11 in your C++ compiler, if required. The
- XSD compiler will automatically add the necessary macro defines to the
- generated header files that will switch the header-only XSD runtime library
+ XSDCXX compiler will automatically add the necessary macro defines to the
+ generated header files that will switch the header-only XSDCXX runtime library
(<code><b>libxsd</b></code>) to the C++11 mode. However, if you include any
- of the XSD runtime headers directly in your application (normally you just
+ of the XSDCXX runtime headers directly in your application (normally you just
include the generated headers), then you will need to define the
<code><b>XSD_CXX11</b></code> macro for your entire project.</p></dd>
@@ -219,7 +219,7 @@
<p>For example, if you have file <code><b>hello.xsd</b></code> with
namespace <code><b>http://example.com/hello</b></code> and you run
- <code><b>xsd</b></code> on this file, then the string in question will
+ <code><b>xsdcxx</b></code> on this file, then the string in question will
be:</p>
<p><code><b>hello.xsd. http://example.com/hello</b></code></p>
@@ -1530,7 +1530,7 @@
<h1>DIAGNOSTICS</h1>
<p>If the input file is not a valid W3C XML Schema definition,
- <code><b>xsd</b></code> will issue diagnostic messages to STDERR
+ <code><b>xsdcxx</b></code> will issue diagnostic messages to STDERR
and exit with non-zero exit code.</p>
<h1>BUGS</h1>

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dev-zero@gentoo.org</email>
<name>Tiziano Müller</name>
</maintainer>
<use>
<flag name="ace">Enable support for serializing to/from an ACE CDR stream</flag>
</use>
<maintainer type="project">
<email>cpp@gentoo.org</email>
<name>Gentoo C++ Project</name>
</maintainer>
<use>
<flag name="ace">Enable support for serializing to/from an ACE CDR stream</flag>
</use>
</pkgmetadata>

View File

@@ -0,0 +1,151 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit toolchain-funcs versionator
DESCRIPTION="An open-source, cross-platform W3C XML Schema to C++ data binding compiler"
HOMEPAGE="http://www.codesynthesis.com/products/xsd/"
SRC_URI="http://www.codesynthesis.com/download/${PN}/$(get_version_component_range 1-2)/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
IUSE="ace doc examples test zlib"
RDEPEND="
>=dev-libs/xerces-c-3.0.0
dev-libs/boost:=[threads]
dev-cpp/libcutl
>=dev-cpp/libxsd-frontend-2.0.0
ace? ( dev-libs/ace )
zlib? ( sys-libs/zlib )"
DEPEND="${RDEPEND}
dev-util/build
doc? ( app-doc/doxygen )"
PATCHES=(
"${FILESDIR}/${PN}-4.0.0-disable_examples_and_tests.patch"
"${FILESDIR}/${PN}-4.0.0-xsdcxx-rename.patch"
"${FILESDIR}/${PN}-4.0.0-fix-expat-support.patch"
"${FILESDIR}/${PN}-4.0.0-fix-include.patch"
)
src_configure() {
# Maintainer notes:
# * xqilla is not required, this is only whether or not to include the xpath
# examples which require xqilla
mkdir -p \
build/cxx/gnu \
build/import/lib{ace,boost,cult,backend-elements,xerces-c,xqilla,xsd-frontend,z} || die
cat >> build/configuration-dynamic.make <<- EOF || die
xsd_with_zlib := $(usex zlib y n)
xsd_with_ace := $(usex ace y n)
xsd_with_xdr := y
xsd_with_xqilla := y
xsd_with_boost_date_time := y
xsd_with_boost_serialization := y
EOF
cat >> build/cxx/configuration-dynamic.make <<- EOF || die
cxx_id := gnu
cxx_optimize := n
cxx_debug := n
cxx_rpath := n
cxx_pp_extra_options :=
cxx_extra_options := ${CXXFLAGS}
cxx_ld_extra_options := ${LDFLAGS}
cxx_extra_libs :=
cxx_extra_lib_paths :=
EOF
cat >> build/cxx/gnu/configuration-dynamic.make <<- EOF || die
cxx_gnu := $(tc-getCXX)
cxx_gnu_libraries :=
cxx_gnu_optimization_options :=
EOF
# cli
cat >> build/import/cli/configuration-dynamic.make <<- EOF || die
cli_installed := y
EOF
# ace
cat >> build/import/libace/configuration-dynamic.make <<- EOF || die
libace_installed := y
EOF
# boost
cat >> build/import/libboost/configuration-dynamic.make <<- EOF || die
libboost_installed := y
libboost_system := y
EOF
# libcutl
cat >> build/import/libcutl/configuration-dynamic.make <<- EOF || die
libcutl_installed := y
EOF
# xerces-c
cat >> build/import/libxerces-c/configuration-dynamic.make <<- EOF || die
libxerces_c_installed := y
EOF
# xqilla
cat >> build/import/libxqilla/configuration-dynamic.make <<- EOF || die
libxqilla_installed := y
EOF
# libxsd-frontend
cat >> build/import/libxsd-frontend/configuration-dynamic.make <<- EOF || die
libxsd_frontend_installed := y
EOF
# zlib
cat >> build/import/libz/configuration-dynamic.make <<- EOF || die
libz_installed := y
EOF
}
src_compile() {
emake verbose=1
if use doc; then
emake -C "${S}/doc/cxx/tree/reference" verbose=1
fi
if use test; then
XERCESC_NLS_HOME="${EPREFIX}/usr/share/xerces-c/msg" emake -C tests verbose=1
fi
}
src_test() {
XERCESC_NLS_HOME="${EPREFIX}/usr/share/xerces-c/msg" emake -C tests test
}
src_install() {
emake install_prefix="${ED%/}/usr" install
# Renaming binary/manpage to avoid collision with mono-2.0's xsd/xsd2
mv "${ED%/}"/usr/bin/xsd{,cxx} || die
mv "${ED%/}"/usr/share/man/man1/xsd{,cxx}.1 || die
# remove incorrectly installed documentation
rm -rf "${ED%/}/usr/share/doc" || die
# clean out all non-html related files
find doc/ \( -iname '*.1' -o -iname 'makefile*' -o -iname '*doxygen' \
-o -iname '*doxytag' -o -iname '*html2ps' \) -delete || die
DOCS=( NEWS README FLOSSE )
HTML_DOCS=( doc/. )
einstalldocs
newdoc libxsd/README README.libxsd
newdoc libxsd/FLOSSE FLOSSE.libxsd
if use examples; then
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples
fi
}