commit:     99c485b2d46f33c44bef2678245fa4da8d244449
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 15 15:46:04 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Oct 15 16:36:00 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99c485b2

dev-cpp/xsd: Version bump to 4.0.0

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

Package-Manager: portage-2.3.2

 dev-cpp/xsd/Manifest                               |   1 +
 .../xsd-4.0.0-disable_examples_and_tests.patch     |  50 +++++++
 .../xsd/files/xsd-4.0.0-fix-expat-support.patch    |  59 ++++++++
 dev-cpp/xsd/files/xsd-4.0.0-fix-include.patch      |  11 ++
 dev-cpp/xsd/files/xsd-4.0.0-xsdcxx-rename.patch    | 159 +++++++++++++++++++++
 dev-cpp/xsd/metadata.xml                           |  14 +-
 dev-cpp/xsd/xsd-4.0.0.ebuild                       | 151 +++++++++++++++++++
 7 files changed, 438 insertions(+), 7 deletions(-)

diff --git a/dev-cpp/xsd/Manifest b/dev-cpp/xsd/Manifest
index 42c2bd8..836a7bd 100644
--- a/dev-cpp/xsd/Manifest
+++ b/dev-cpp/xsd/Manifest
@@ -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

diff --git a/dev-cpp/xsd/files/xsd-4.0.0-disable_examples_and_tests.patch 
b/dev-cpp/xsd/files/xsd-4.0.0-disable_examples_and_tests.patch
new file mode 100644
index 00000000..d04487a
--- /dev/null
+++ b/dev-cpp/xsd/files/xsd-4.0.0-disable_examples_and_tests.patch
@@ -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)

diff --git a/dev-cpp/xsd/files/xsd-4.0.0-fix-expat-support.patch 
b/dev-cpp/xsd/files/xsd-4.0.0-fix-expat-support.patch
new file mode 100644
index 00000000..e91b74e
--- /dev/null
+++ b/dev-cpp/xsd/files/xsd-4.0.0-fix-expat-support.patch
@@ -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 <bo...@codesynthesis.com>
+## Thu, 24 Jul 2014 11:40:01 +0100 (12:40 +0200)
+### Committer Boris Kolpackov <bo...@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)
+

diff --git a/dev-cpp/xsd/files/xsd-4.0.0-fix-include.patch 
b/dev-cpp/xsd/files/xsd-4.0.0-fix-include.patch
new file mode 100644
index 00000000..85ea3e5
--- /dev/null
+++ b/dev-cpp/xsd/files/xsd-4.0.0-fix-include.patch
@@ -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>

diff --git a/dev-cpp/xsd/files/xsd-4.0.0-xsdcxx-rename.patch 
b/dev-cpp/xsd/files/xsd-4.0.0-xsdcxx-rename.patch
new file mode 100644
index 00000000..cb78348
--- /dev/null
+++ b/dev-cpp/xsd/files/xsd-4.0.0-xsdcxx-rename.patch
@@ -0,0 +1,159 @@
+Description: change docu from xsd to xsdcxx
+Author: Jörg Frings-Fürst <deb...@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>

diff --git a/dev-cpp/xsd/metadata.xml b/dev-cpp/xsd/metadata.xml
index 3d98057..e09ce34 100644
--- a/dev-cpp/xsd/metadata.xml
+++ b/dev-cpp/xsd/metadata.xml
@@ -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-z...@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>c...@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>

diff --git a/dev-cpp/xsd/xsd-4.0.0.ebuild b/dev-cpp/xsd/xsd-4.0.0.ebuild
new file mode 100644
index 00000000..a898c34
--- /dev/null
+++ b/dev-cpp/xsd/xsd-4.0.0.ebuild
@@ -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
+}

Reply via email to