commit:     9278c4bd82488448165e6d075cc1a4230769c427
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 27 20:14:34 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Sep 27 21:28:25 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9278c4bd

sci-libs/libdap: Version bump to 3.18.1

Gentoo-bug: 594374
* Make code C++11 compliant
  (change of noexcept default in C++11)
* Import patches from Debian, make testsuite pass
* Add proper USE="static-libs" handling with econf
  back into src_configure() phase
* Remove installation of testsuite headers and
  convenience library
* Delete .la files unconditionally
* Add missing DEPENDs

Package-Manager: portage-2.3.1

 sci-libs/libdap/Manifest                           |   1 +
 .../files/libdap-3.18.1-disable-broken-tests.patch |  18 ++++
 .../files/libdap-3.18.1-disable-cache-test.patch   |  22 +++++
 .../files/libdap-3.18.1-disable-dmr-tests.patch    |  31 +++++++
 .../files/libdap-3.18.1-disable-net-tests.patch    |  33 +++++++
 .../files/libdap-3.18.1-fix-buildsystem.patch      |  20 +++++
 .../libdap/files/libdap-3.18.1-fix-c++14.patch     | 100 +++++++++++++++++++++
 sci-libs/libdap/libdap-3.18.1.ebuild               |  52 +++++++++++
 8 files changed, 277 insertions(+)

diff --git a/sci-libs/libdap/Manifest b/sci-libs/libdap/Manifest
index ccada3b..87b3775 100644
--- a/sci-libs/libdap/Manifest
+++ b/sci-libs/libdap/Manifest
@@ -1,2 +1,3 @@
 DIST libdap-3.11.3.tar.gz 1514429 SHA256 
1fe14594960c1c24842ea9c3a4032cfce70b7082bbab17369b43c9a134ddac97 SHA512 
acdb54e135a153107460cad2310176b9d4a3f9b7c142eca3456ba9331f551d1855f7e6d4b7fdce6586dd266e54e23b795f903499f349d26481ca1d9abb5f52a0
 WHIRLPOOL 
f67a56c64937610047de2cf2ea362193506fbd474aa0f1aa38a88e3c49e3e6fb3a5d8969feddc34c7560afa0b5c9e1304b5ced46ce3d37e9333094a2da289db0
 DIST libdap-3.17.0.tar.gz 2269838 SHA256 
7c5c65535f8a6aa20f3cdbe2d552140b8f20de007a8e005db437d7361739fb6d SHA512 
ec8101f8b3e5b734ae487928d62845ae46e4770af92b95b3503b0da57a6bb1f796fd7617fe33da047f92b1045d2f2db4a21c7cf022b480be8aafd7bba451854e
 WHIRLPOOL 
24fc31306eb99af2e79d55e792fe447fc99fdd26652f3456a6ec19b00cde102b6300905f128cae93dcc35aa037b7070ce1242757e373079911dd0f3cb9b883f4
+DIST libdap-3.18.1.tar.gz 2209343 SHA256 
a755c472d7c9e54bc3aa6c92a847a69466fbc6cdc56ee912f411802a725d57a4 SHA512 
a1d06bbbad654718bbf9980dc0943935089c09772678f6457d4de8a9d37f1ce33c0e1cab4c5eefec6f9e159028b194d6e3a6021597276b233eda52603ae8dd38
 WHIRLPOOL 
74eb65be375bd81e5d6db9fb93bdd219add79c12fea35eed98445df38f6dc212fc33cc51900ac93657166794b0700ff1be17fd7f41379733de19ad7480f889f0

diff --git a/sci-libs/libdap/files/libdap-3.18.1-disable-broken-tests.patch 
b/sci-libs/libdap/files/libdap-3.18.1-disable-broken-tests.patch
new file mode 100644
index 00000000..09c33e6
--- /dev/null
+++ b/sci-libs/libdap/files/libdap-3.18.1-disable-broken-tests.patch
@@ -0,0 +1,18 @@
+Description: D4FilterClauseTest breaks on arm*, powerpc, s390x.
+Author: Alastair McKinstry <[email protected]>
+Last-Updated: 2016-08-31
+Forwarded: no
+
+Index: libdap-3.18.0/unit-tests/Makefile.am
+===================================================================
+--- libdap-3.18.0.orig/unit-tests/Makefile.am
++++ libdap-3.18.0/unit-tests/Makefile.am
+@@ -74,7 +74,7 @@ UNIT_TESTS = marshT arrayT attrTableT st
+ if DAP4_DEFINED
+ UNIT_TESTS += D4MarshallerTest D4UnMarshallerTest D4DimensionsTest \
+       D4EnumDefsTest D4GroupTest D4ParserSax2Test D4AttributesTest D4EnumTest 
\
+-      chunked_iostream_test D4AsyncDocTest DMRTest D4FilterClauseTest \
++      chunked_iostream_test D4AsyncDocTest DMRTest  \
+       D4SequenceTest
+ endif
+ 

diff --git a/sci-libs/libdap/files/libdap-3.18.1-disable-cache-test.patch 
b/sci-libs/libdap/files/libdap-3.18.1-disable-cache-test.patch
new file mode 100644
index 00000000..6ce7ae0
--- /dev/null
+++ b/sci-libs/libdap/files/libdap-3.18.1-disable-cache-test.patch
@@ -0,0 +1,22 @@
+Author: Alastair McKinstry <[email protected]>
+Description: Disable test as website appears to be down
+Forwarded: no
+Last-Updated: 2015-10-20
+
+Index: libdap-3.18.0/unit-tests/Makefile.am
+===================================================================
+--- libdap-3.18.0.orig/unit-tests/Makefile.am
++++ libdap-3.18.0/unit-tests/Makefile.am
+@@ -67,9 +67,9 @@ D4-xml.tar.gz: D4-xml/DMR_*[0-9].xml
+ if CPPUNIT
+ UNIT_TESTS = marshT arrayT attrTableT structT sequenceT ddsT dasT \
+       RegexTest ArrayTest AttrTableTest ByteTest MIMEUtilTest ancT DASTest \
+-      DDSTest DDXParserTest  generalUtilTest HTTPConnectTest parserUtilTest \
+-      RCReaderTest SequenceTest SignalHandlerTest  MarshallerTest \
+-      HTTPCacheTest ServerFunctionsListUnitTest
++      DDSTest DDXParserTest  generalUtilTest  parserUtilTest \
++      SequenceTest SignalHandlerTest  MarshallerTest \
++      ServerFunctionsListUnitTest
+ 
+ if DAP4_DEFINED
+ UNIT_TESTS += D4MarshallerTest D4UnMarshallerTest D4DimensionsTest \

diff --git a/sci-libs/libdap/files/libdap-3.18.1-disable-dmr-tests.patch 
b/sci-libs/libdap/files/libdap-3.18.1-disable-dmr-tests.patch
new file mode 100644
index 00000000..d4691f5
--- /dev/null
+++ b/sci-libs/libdap/files/libdap-3.18.1-disable-dmr-tests.patch
@@ -0,0 +1,31 @@
+Author: Alastair McKinstry <[email protected]>
+Description: Disable DMR tests which break on big-endian archs at the moment
+Last-Updated: 2015-11-08
+Forwarded: no
+
+Index: libdap-3.18.0/tests/Makefile.am
+===================================================================
+--- libdap-3.18.0.orig/tests/Makefile.am
++++ libdap-3.18.0/tests/Makefile.am
+@@ -31,7 +31,7 @@ endif
+ # TESTS = DASTest DDSTest EXPRTest DMRTest getdapTest
+ 
+ check_SCRIPTS = $(DASTESTSUITE) $(DDSTESTSUITE) $(EXPRTESTSUITE) \
+-      $(DMRTESTSUITE) $(GETDAPTESTSUITE)
++      $(GETDAPTESTSUITE)
+ 
+ # Build the test drivers. The drivers all use the
+ # subclassed types in Test*.cc and the TestTypesFactory.
+@@ -107,11 +107,10 @@ DMRTESTSUITE = $(srcdir)/DMRTest
+ GETDAPTESTSUITE = $(srcdir)/getdapTest
+ 
+ check-local: atconfig atlocal $(DASTESTSUITE) $(DDSTESTSUITE) \
+-$(EXPRTESTSUITE) $(DMRTESTSUITE) $(GETDAPTESTSUITE) 
++$(EXPRTESTSUITE)  $(GETDAPTESTSUITE) 
+       $(SHELL) '$(DASTESTSUITE)' $(TESTSUITEFLAGS)
+       $(SHELL) '$(DDSTESTSUITE)' $(TESTSUITEFLAGS)
+       $(SHELL) '$(EXPRTESTSUITE)' $(TESTSUITEFLAGS)
+-      $(SHELL) '$(DMRTESTSUITE)' $(TESTSUITEFLAGS)
+       $(SHELL) '$(GETDAPTESTSUITE)' $(TESTSUITEFLAGS)
+ 
+ # Make sure there are no spaces after the DASTESTSUITE names. jhrg 3/16/15

diff --git a/sci-libs/libdap/files/libdap-3.18.1-disable-net-tests.patch 
b/sci-libs/libdap/files/libdap-3.18.1-disable-net-tests.patch
new file mode 100644
index 00000000..7c42ec1
--- /dev/null
+++ b/sci-libs/libdap/files/libdap-3.18.1-disable-net-tests.patch
@@ -0,0 +1,33 @@
+Author: Alastair McKinstry <[email protected]>
+Description: Disable network tests, as network not available on
+ most build systems
+Last-Updated: 2016-02-06
+Forwarded: not-needed
+
+Index: libdap-3.18.0/tests/Makefile.am
+===================================================================
+--- libdap-3.18.0.orig/tests/Makefile.am
++++ libdap-3.18.0/tests/Makefile.am
+@@ -30,8 +30,7 @@ endif
+ 
+ # TESTS = DASTest DDSTest EXPRTest DMRTest getdapTest
+ 
+-check_SCRIPTS = $(DASTESTSUITE) $(DDSTESTSUITE) $(EXPRTESTSUITE) \
+-      $(GETDAPTESTSUITE)
++check_SCRIPTS = $(DASTESTSUITE) $(DDSTESTSUITE) $(EXPRTESTSUITE) 
+ 
+ # Build the test drivers. The drivers all use the
+ # subclassed types in Test*.cc and the TestTypesFactory.
+@@ -107,11 +106,10 @@ DMRTESTSUITE = $(srcdir)/DMRTest
+ GETDAPTESTSUITE = $(srcdir)/getdapTest
+ 
+ check-local: atconfig atlocal $(DASTESTSUITE) $(DDSTESTSUITE) \
+-$(EXPRTESTSUITE)  $(GETDAPTESTSUITE) 
++$(EXPRTESTSUITE) 
+       $(SHELL) '$(DASTESTSUITE)' $(TESTSUITEFLAGS)
+       $(SHELL) '$(DDSTESTSUITE)' $(TESTSUITEFLAGS)
+       $(SHELL) '$(EXPRTESTSUITE)' $(TESTSUITEFLAGS)
+-      $(SHELL) '$(GETDAPTESTSUITE)' $(TESTSUITEFLAGS)
+ 
+ # Make sure there are no spaces after the DASTESTSUITE names. jhrg 3/16/15
+ # Delete the scripts here and not using CLEANFILES because this target is

diff --git a/sci-libs/libdap/files/libdap-3.18.1-fix-buildsystem.patch 
b/sci-libs/libdap/files/libdap-3.18.1-fix-buildsystem.patch
new file mode 100644
index 00000000..f36fdce
--- /dev/null
+++ b/sci-libs/libdap/files/libdap-3.18.1-fix-buildsystem.patch
@@ -0,0 +1,20 @@
+Do not install headers and static library required only for test suite.
+
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -36,13 +36,13 @@
+ # Build the test drivers. The drivers all use the
+ # subclassed types in Test*.cc and the TestTypesFactory.
+ 
+-lib_LIBRARIES = libtest-types.a
++noinst_LIBRARIES = libtest-types.a
+ 
+ libtest_types_a_SOURCES = $(TESTSRCS) $(TEST_HDR)
+ libtest_types_a_CXXFLAGS = -fPIC
+ 
+ testheadersdir = $(pkgincludedir)/test
+-testheaders_HEADERS = $(TEST_HDR)
++noinst_testheaders = $(TEST_HDR)
+ 
+ das_test_SOURCES = das-test.cc
+ das_test_LDADD =  libtest-types.a ../libdapserver.la ../libdap.la 

diff --git a/sci-libs/libdap/files/libdap-3.18.1-fix-c++14.patch 
b/sci-libs/libdap/files/libdap-3.18.1-fix-c++14.patch
new file mode 100644
index 00000000..6b74fa1
--- /dev/null
+++ b/sci-libs/libdap/files/libdap-3.18.1-fix-c++14.patch
@@ -0,0 +1,100 @@
+C++11 changed destructor semantics to be noexcept(true)
+by default, leading to potentially changed semantics.
+
+--- a/HTTPResponse.h
++++ b/HTTPResponse.h
+@@ -115,6 +115,9 @@
+     temp_file and headers are deleted. If the tmp file name is "", it is
+     not deleted. */
+     virtual ~HTTPResponse()
++#if __cplusplus >= 201103L
++    noexcept(false)
++#endif
+     {
+         DBG(cerr << "Freeing HTTPConnect resources (" + d_file + ")... ");
+ 
+--- a/MarshallerThread.cc
++++ b/MarshallerThread.cc
+@@ -106,6 +106,9 @@
+  * Unlock the mutex
+  */
+ Locker::~Locker()
++#if __cplusplus >= 201103L
++    noexcept(false)
++#endif
+ {
+     DBG(cerr << "Unlocking the mutex! (" << pthread_self() << ")" << endl);
+ 
+@@ -140,6 +143,9 @@
+ }
+ 
+ ChildLocker::~ChildLocker()
++#if __cplusplus >= 201103L
++    noexcept(false)
++#endif
+ {
+     DBG(cerr << "Unlocking the mutex! (" << pthread_self() << ")" << endl);
+ 
+@@ -164,6 +170,9 @@
+ }
+ 
+ MarshallerThread::~MarshallerThread()
++#if __cplusplus >= 201103L
++    noexcept(false)
++#endif
+ {
+     int status = pthread_mutex_lock(&d_out_mutex);
+     if (status != 0) throw InternalErr(__FILE__, __LINE__, "Could not lock 
m_mutex");
+--- a/MarshallerThread.h
++++ b/MarshallerThread.h
+@@ -52,7 +52,11 @@
+ class Locker {
+ public:
+     Locker(pthread_mutex_t &lock, pthread_cond_t &cond, int &count);
+-    virtual ~Locker();
++    virtual ~Locker()
++#if __cplusplus >= 201103L
++    noexcept(false)
++#endif
++    ;
+ 
+ private:
+     pthread_mutex_t& m_mutex;
+@@ -74,7 +78,11 @@
+ class ChildLocker {
+ public:
+     ChildLocker(pthread_mutex_t &lock, pthread_cond_t &cond, int &count);
+-    virtual ~ChildLocker();
++    virtual ~ChildLocker()
++#if __cplusplus >= 201103L
++    noexcept(false)
++#endif
++    ;
+ 
+ private:
+     pthread_mutex_t& m_mutex;
+@@ -144,7 +152,11 @@
+ 
+ public:
+     MarshallerThread();
+-    virtual ~MarshallerThread();
++    virtual ~MarshallerThread()
++#if __cplusplus >= 201103L
++    noexcept(false)
++#endif
++    ;
+ 
+     pthread_mutex_t &get_mutex() { return d_out_mutex; }
+     pthread_cond_t &get_cond() { return d_out_cond; }
+--- a/Response.h
++++ b/Response.h
+@@ -93,6 +93,9 @@
+ 
+     /** Close the stream. */
+     virtual ~Response()
++#if __cplusplus >= 201103L
++    noexcept(false)
++#endif
+     {
+         if (d_stream)
+             fclose(d_stream);

diff --git a/sci-libs/libdap/libdap-3.18.1.ebuild 
b/sci-libs/libdap/libdap-3.18.1.ebuild
new file mode 100644
index 00000000..8bd5188
--- /dev/null
+++ b/sci-libs/libdap/libdap-3.18.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="Implementation of a C++ SDK for DAP 2.0 and 3.2"
+HOMEPAGE="http://opendap.org/";
+SRC_URI="http://www.opendap.org/pub/source/${P}.tar.gz";
+
+LICENSE="|| ( LGPL-2.1 URI )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs test"
+
+RDEPEND="
+       dev-libs/libxml2:2
+       net-misc/curl
+       sys-libs/zlib"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       sys-devel/flex
+       test? ( dev-util/cppunit )"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-3.18.1-fix-buildsystem.patch"
+       "${FILESDIR}/${PN}-3.18.1-fix-c++14.patch"
+       "${FILESDIR}/${PN}-3.18.1-disable-cache-test.patch"
+       "${FILESDIR}/${PN}-3.18.1-disable-dmr-tests.patch"
+       "${FILESDIR}/${PN}-3.18.1-disable-net-tests.patch"
+       "${FILESDIR}/${PN}-3.18.1-disable-broken-tests.patch"
+)
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               --enable-shared \
+               $(use_enable static-libs static)
+}
+
+src_install() {
+       default
+
+       # package provides .pc files
+       find "${D}" -name '*.la' -delete || die
+}

Reply via email to