diff options
Diffstat (limited to 'sci-biology/rmblast')
-rw-r--r-- | sci-biology/rmblast/Manifest | 6 | ||||
-rw-r--r-- | sci-biology/rmblast/files/rmblast-1.2-gcc47.patch | 865 | ||||
-rw-r--r-- | sci-biology/rmblast/rmblast-1.2-r1.ebuild | 7 |
3 files changed, 7 insertions, 871 deletions
diff --git a/sci-biology/rmblast/Manifest b/sci-biology/rmblast/Manifest index 46de8283053e..10b761c8a307 100644 --- a/sci-biology/rmblast/Manifest +++ b/sci-biology/rmblast/Manifest @@ -1,4 +1,4 @@ -AUX rmblast-1.2-gcc47.patch 31795 BLAKE2B 65a82f097c25d9619c93c8b6f0b95bbb73cd981843201342cc34ce2eb6909844cd2a3463e324f11b61a7e4a855343787c9c320fdfdbdf78f1d3e55ce3e2b89b3 SHA512 2db82b02b157dd39c21d1fc459c4837741088d0d764c994094096c15ce76331f33f68e7e8498f7ea43e4979cde2fd248baf0687ac08b147d1060b54ac55b83d0 -DIST rmblast-1.2-ncbi-blast-2.2.23+-src.tar.gz 10744076 SHA256 996be9886189364fff8ed39d4668122b2e5b8b010be47d929602416d95628eef SHA512 e7c2ebd114aee045ea3f3f462cf2658440e13a2d1eb777648386e1c5eeda9f8083af383c019f9b5802d935d6eb2367eef20822afc45233ddb44a426b4dd7ddb6 WHIRLPOOL aa3ada4297812a97614b0fe218de65d7474edfb5910e156eb09b625d45338a97b35f46876f5edf6105ead8b321a28f55ed7de2ad251bbc48ffd0cfa65ee2ac7a -EBUILD rmblast-1.2-r1.ebuild 1137 BLAKE2B 201c0a80c735587a4ce53d7af48292bddbb1400d3f710224ebc111bc626220b42e2435207725076183d313c2c385627e176de0d056a5c446e3dbd2a4d16773ad SHA512 9b624dd651e7f8988e4ae605a737c2baaa55681e30af93627b3824004d487bc94d6a389368e465c1fa74d2783342b10a41ac8c8aabee3691099e115f62c682f6 +DIST rmblast-1.2-gcc47.patch.bz2 7803 BLAKE2B cd3bb1aa2b6eb9e188f28589d42ce91f027866d91013f2a6123ee61e7ce28f980b858e775bc15313cf1573f0bc827f9e663d46c1bd0d2fe218745cfbbc3781a1 SHA512 4cd72dd5c777ad866b9cf674384872de5424404b524ac536e58ab412b98b6601aa5f609d05ea2329b77f16e7aca215bbc6eb3531652e5fe81e48cf997b56d13b +DIST rmblast-1.2-ncbi-blast-2.2.23+-src.tar.gz 10744076 BLAKE2B 6539ec8fcd345bcc1c3ecede6acec233cdc343c3df18748e195dc525f4a65fefeee8398471a26dc671bfed8612e010c26b7a8a66a3c7198f142c2e068ff72751 SHA512 e7c2ebd114aee045ea3f3f462cf2658440e13a2d1eb777648386e1c5eeda9f8083af383c019f9b5802d935d6eb2367eef20822afc45233ddb44a426b4dd7ddb6 +EBUILD rmblast-1.2-r1.ebuild 1194 BLAKE2B a9a30ea494d819720a50c194d80d8f63141c9f37101dbb8b2bbbaf79938aa2a21910932a1339bc944d4270c050633fa5a81ced90ddf43800710aa38211f5880d SHA512 75821816764975bbc935ff0e2edf4b0b30e9f8b5cad2e236512993da1cada6079876a36c7ee87aa9c1e95c7ce38e720ade531f0e261559571398d80364be0d2a MISC metadata.xml 267 BLAKE2B 7cf386952842945148119de3263231db4d1046d5f54811f7e303ed8ec4d27cbc1960b99c92daf6f32e5b981c2fb9f50ec666be6193865d6e18541b7427a152a9 SHA512 91ab266d9ab24401bc0fec759c5b6cfcf44a3c5669fc31c7301d79770839bb5dfa0e155d949392ef06176b4a0b2c32b91b1b54b0027f972db61f0a5e54644403 diff --git a/sci-biology/rmblast/files/rmblast-1.2-gcc47.patch b/sci-biology/rmblast/files/rmblast-1.2-gcc47.patch deleted file mode 100644 index 70200d59ea4a..000000000000 --- a/sci-biology/rmblast/files/rmblast-1.2-gcc47.patch +++ /dev/null @@ -1,865 +0,0 @@ - c++/include/corelib/ncbiexpt.hpp | 4 +- - c++/include/corelib/ncbimisc.hpp | 2 + - c++/include/corelib/ncbiobj.hpp | 2 +- - c++/include/corelib/ncbistl.hpp | 6 +- - c++/include/corelib/ncbistr.hpp | 2 +- - c++/include/corelib/test_boost.hpp | 44 +++++- - c++/include/dbapi/driver/dbapi_object_convert.hpp | 8 +- - .../dbapi/driver/impl/dbapi_driver_utils.hpp | 2 +- - c++/include/serial/impl/stltypes.hpp | 16 ++- - c++/include/serial/iterator.hpp | 6 +- - c++/include/serial/serialbase.hpp | 8 +- - c++/include/util/bitset/bmfunc.h | 7 + - c++/include/util/linkedset.hpp | 16 +-- - c++/include/util/rangemap.hpp | 4 +- - c++/src/connect/ncbi_gnutls.c | 19 ++- - c++/src/corelib/ncbifile.cpp | 2 +- - c++/src/corelib/test_boost.cpp | 156 ++++++++++++++++++++- - c++/src/objtools/blast/seqdb_reader/seqdbimpl.hpp | 2 +- - c++/src/serial/stdtypes.cpp | 8 +- - 19 files changed, 269 insertions(+), 45 deletions(-) - -diff --git a/c++/include/corelib/ncbiexpt.hpp b/c++/include/corelib/ncbiexpt.hpp -index a9cf850..6d90e74 100644 ---- a/c++/include/corelib/ncbiexpt.hpp -+++ b/c++/include/corelib/ncbiexpt.hpp -@@ -831,7 +831,7 @@ const TTo* UppermostCast(const TFrom& from) - exception_class(const exception_class& other) \ - : base_class(other) \ - { \ -- x_Assign(other); \ -+ this->x_Assign(other); \ - } \ - public: \ - virtual ~exception_class(void) throw() {} \ -@@ -1154,7 +1154,7 @@ public: - : TBase( other) - { - m_Errno = other.m_Errno; -- x_Assign(other); -+ this->x_Assign(other); - } - - /// Destructor. -diff --git a/c++/include/corelib/ncbimisc.hpp b/c++/include/corelib/ncbimisc.hpp -index f45d280..f0c030d 100644 ---- a/c++/include/corelib/ncbimisc.hpp -+++ b/c++/include/corelib/ncbimisc.hpp -@@ -57,6 +57,8 @@ - * @{ - */ - -+#include <stdlib.h> -+ - #ifndef NCBI_ESWITCH_DEFINED - #define NCBI_ESWITCH_DEFINED - -diff --git a/c++/include/corelib/ncbiobj.hpp b/c++/include/corelib/ncbiobj.hpp -index 4f83db4..815c188 100644 ---- a/c++/include/corelib/ncbiobj.hpp -+++ b/c++/include/corelib/ncbiobj.hpp -@@ -2128,7 +2128,7 @@ public: - CIRef<Interface, TThisType> ref( - dynamic_cast<Interface*>(proxy->GetLockedObject()), *this); - if (ref.NotNull()) { -- Unlock(ref.GetPointer()); -+ this->Unlock(ref.GetPointer()); - } - return ref; - } -diff --git a/c++/include/corelib/ncbistl.hpp b/c++/include/corelib/ncbistl.hpp -index 0bf465a..0618d9d 100644 ---- a/c++/include/corelib/ncbistl.hpp -+++ b/c++/include/corelib/ncbistl.hpp -@@ -37,7 +37,6 @@ - - #include <common/ncbi_export.h> - -- - // Get rid of some warnings in MSVC++ 6.00 - #if (_MSC_VER >= 1200) - // too long identificator name in the debug info; truncated -@@ -162,6 +161,9 @@ typedef int NCBI_NAME2(T_EAT_SEMICOLON_,UniqueName) - #endif - - #if defined(NCBI_COMPILER_GCC) || defined(NCBI_COMPILER_WORKSHOP) -+# if defined(NCBI_COMPILER_GCC) && NCBI_COMPILER_VERSION >= 400 -+# include <algorithm> -+# endif - // This template is used by some stl algorithms (sort, reverse...) - // We need to have our own implementation because some C++ Compiler vendors - // implemented it by using a temporary variable and an assignment operator -@@ -174,7 +176,7 @@ template<typename Iter> - inline - void iter_swap( Iter it1, Iter it2 ) - { -- swap( *it1, * it2 ); -+ swap( *it1, *it2 ); - } - - END_STD_SCOPE -diff --git a/c++/include/corelib/ncbistr.hpp b/c++/include/corelib/ncbistr.hpp -index db7054f..63e3299 100644 ---- a/c++/include/corelib/ncbistr.hpp -+++ b/c++/include/corelib/ncbistr.hpp -@@ -2583,7 +2583,7 @@ public: - : TBase(other) - { - m_Pos = other.m_Pos; -- x_Assign(other); -+ this->x_Assign(other); - } - - /// Destructor. -diff --git a/c++/include/corelib/test_boost.hpp b/c++/include/corelib/test_boost.hpp -index 69c41f3..4cd77d3 100644 ---- a/c++/include/corelib/test_boost.hpp -+++ b/c++/include/corelib/test_boost.hpp -@@ -56,10 +56,18 @@ - # undef BOOST_AUTO_TEST_MAIN - #endif - -+#ifdef NCBI_COMPILER_MSVC -+# pragma warning(push) -+// 'class' : class has virtual functions, but destructor is not virtual -+# pragma warning(disable: 4265) -+#endif -+ -+#include <boost/version.hpp> - #include <boost/test/auto_unit_test.hpp> - #include <boost/test/floating_point_comparison.hpp> - #include <boost/test/framework.hpp> - #include <boost/test/execution_monitor.hpp> -+#include <boost/test/parameterized_test.hpp> - - #include <boost/preprocessor/tuple/rem.hpp> - #include <boost/preprocessor/repeat.hpp> -@@ -72,6 +80,7 @@ - #undef BOOST_CHECK_THROW_IMPL - #undef BOOST_CHECK_NO_THROW_IMPL - #undef BOOST_FIXTURE_TEST_CASE -+#undef BOOST_PARAM_TEST_CASE - - #define BOOST_CHECK_THROW_IMPL( S, E, P, prefix, TL ) \ - try { \ -@@ -109,6 +118,12 @@ catch( ... ) { \ - } \ - /**/ - -+#if BOOST_VERSION >= 104200 -+# define NCBI_BOOST_LOCATION() , boost::execution_exception::location() -+#else -+# define NCBI_BOOST_LOCATION() -+#endif -+ - #define BOOST_FIXTURE_TEST_CASE( test_name, F ) \ - struct test_name : public F { void test_method(); }; \ - \ -@@ -124,7 +139,8 @@ static void BOOST_AUTO_TC_INVOKER( test_name )() \ - ::framework::current_test_case().p_name \ - << "\"" << ex); \ - throw boost::execution_exception( \ -- boost::execution_exception::cpp_exception_error, ""); \ -+ boost::execution_exception::cpp_exception_error, "" \ -+ NCBI_BOOST_LOCATION() ); \ - } \ - } \ - \ -@@ -142,6 +158,12 @@ BOOST_JOIN( BOOST_JOIN( test_name, _registrar ), __LINE__ ) ( \ - void test_name::test_method() \ - /**/ - -+#define BOOST_PARAM_TEST_CASE( function, begin, end ) \ -+ ::NCBI_NS_NCBI::NcbiTestGenTestCases( function, \ -+ BOOST_TEST_STRINGIZE( function ), \ -+ (begin), (end) ) \ -+/**/ -+ - /// Set timeout value for the test case created using auto-registration - /// facility. - #define BOOST_AUTO_TEST_CASE_TIMEOUT(test_name, n) \ -@@ -158,6 +180,26 @@ static struct BOOST_JOIN( test_name, _timeout_spec ) \ - } BOOST_JOIN( test_name, _timeout_spec_inst ); \ - /**/ - -+/// Automatic registration of the set of test cases based on some function -+/// accepting one parameter. Set of parameters used to call that function is -+/// taken from iterator 'begin' which is incremented until it reaches 'end'. -+/// -+/// @sa BOOST_PARAM_TEST_CASE -+#define BOOST_AUTO_PARAM_TEST_CASE( function, begin, end ) \ -+ BOOST_AUTO_TU_REGISTRAR(function) ( \ -+ BOOST_PARAM_TEST_CASE(function, begin, end)) \ -+/**/ -+ -+#define BOOST_TIMEOUT(M) \ -+ do { \ -+ static string s(M); \ -+ throw boost::execution_exception( \ -+ boost::execution_exception::timeout_error, s \ -+ NCBI_BOOST_LOCATION()); \ -+ } while (0) \ -+/**/ -+ -+ - - #define NCBITEST_CHECK_IMPL(P, check_descr, TL, CT) \ - BOOST_CHECK_NO_THROW_IMPL(BOOST_CHECK_IMPL(P, check_descr, TL, CT), TL) -diff --git a/c++/include/dbapi/driver/dbapi_object_convert.hpp b/c++/include/dbapi/driver/dbapi_object_convert.hpp -index 6fcde61..eddde81 100644 ---- a/c++/include/dbapi/driver/dbapi_object_convert.hpp -+++ b/c++/include/dbapi/driver/dbapi_object_convert.hpp -@@ -67,7 +67,7 @@ public: - operator const CTime&(void) const; - - private: -- mutable obj_type& m_Value; -+ obj_type& m_Value; - }; - - //////////////////////////////////////////////////////////////////////////////// -@@ -92,7 +92,7 @@ public: - operator const CTime&(void) const; - - private: -- mutable obj_type& m_Value; -+ obj_type& m_Value; - }; - - //////////////////////////////////////////////////////////////////////////////// -@@ -133,7 +133,7 @@ public: - operator const CTime&(void) const; - - private: -- mutable obj_type& m_Value; -+ obj_type& m_Value; - }; - - //////////////////////////////////////////////////////////////////////////////// -@@ -174,7 +174,7 @@ public: - operator const CTime&(void) const; - - private: -- mutable obj_type& m_Value; -+ obj_type& m_Value; - }; - - //////////////////////////////////////////////////////////////////////////////// -diff --git a/c++/include/dbapi/driver/impl/dbapi_driver_utils.hpp b/c++/include/dbapi/driver/impl/dbapi_driver_utils.hpp -index 0792a6d..b6bd64b 100644 ---- a/c++/include/dbapi/driver/impl/dbapi_driver_utils.hpp -+++ b/c++/include/dbapi/driver/impl/dbapi_driver_utils.hpp -@@ -231,7 +231,7 @@ protected: - - private: - const string& m_SPName; -- mutable impl::CConnection& m_Conn; -+ impl::CConnection& m_Conn; - }; - - -diff --git a/c++/include/serial/impl/stltypes.hpp b/c++/include/serial/impl/stltypes.hpp -index d41ab94..7d9e3ce 100644 ---- a/c++/include/serial/impl/stltypes.hpp -+++ b/c++/include/serial/impl/stltypes.hpp -@@ -412,6 +412,7 @@ public: - typedef StlIterator TStlIterator; - typedef TypeInfoIterator TTypeInfoIterator; - typedef typename TTypeInfoIterator::TObjectPtr TObjectPtr; -+ typedef CStlClassInfoFunctions<Container> CParent; - - static TStlIterator& It(TTypeInfoIterator& iter) - { -@@ -437,7 +438,8 @@ public: - } - static bool InitIterator(TTypeInfoIterator& iter) - { -- TStlIterator stl_iter = Get(iter.GetContainerPtr()).begin(); -+ TStlIterator stl_iter -+ = CParent::Get(iter.GetContainerPtr()).begin(); - if ( sizeof(TStlIterator) <= sizeof(iter.m_IteratorData) ) { - void* data = &iter.m_IteratorData; - new (data) TStlIterator(stl_iter); -@@ -445,7 +447,7 @@ public: - else { - iter.m_IteratorData = new TStlIterator(stl_iter); - } -- return stl_iter != Get(iter.GetContainerPtr()).end(); -+ return stl_iter != CParent::Get(iter.GetContainerPtr()).end(); - } - static void ReleaseIterator(TTypeInfoIterator& iter) - { -@@ -466,7 +468,7 @@ public: - - static bool NextElement(TTypeInfoIterator& iter) - { -- return ++It(iter) != Get(iter.GetContainerPtr()).end(); -+ return ++It(iter) != CParent::Get(iter.GetContainerPtr()).end(); - } - static TObjectPtr GetElementPtr(const TTypeInfoIterator& iter) - { -@@ -503,7 +505,7 @@ public: - - static bool EraseElement(TTypeInfoIterator& iter) - { -- TStlIterator& it = It(iter); -+ TStlIterator& it = CParent::It(iter); - Container* c = static_cast<Container*>(iter.GetContainerPtr()); - it = c->erase(it); - return it != c->end(); -@@ -511,7 +513,7 @@ public: - static void EraseAllElements(TTypeInfoIterator& iter) - { - Container* c = static_cast<Container*>(iter.GetContainerPtr()); -- c->erase(It(iter), c->end()); -+ c->erase(CParent::It(iter), c->end()); - } - - static void SetIteratorFunctions(CStlOneArgTemplate* info) -@@ -542,7 +544,7 @@ public: - } - static bool EraseElement(TTypeInfoIterator& iter) - { -- TStlIterator& it = It(iter); -+ TStlIterator& it = CParent::It(iter); - Container* c = static_cast<Container*>(iter.GetContainerPtr()); - TStlIterator erase = it++; - c->erase(erase); -@@ -551,7 +553,7 @@ public: - static void EraseAllElements(TTypeInfoIterator& iter) - { - Container* c = static_cast<Container*>(iter.GetContainerPtr()); -- c->erase(It(iter), c->end()); -+ c->erase(CParent::It(iter), c->end()); - } - - static void SetIteratorFunctions(CStlOneArgTemplate* info) -diff --git a/c++/include/serial/iterator.hpp b/c++/include/serial/iterator.hpp -index 25e1193..cddb046 100644 ---- a/c++/include/serial/iterator.hpp -+++ b/c++/include/serial/iterator.hpp -@@ -491,13 +491,13 @@ protected: - CTypeIteratorBase(TTypeInfo needType, const TBeginInfo& beginInfo) - : m_NeedType(needType) - { -- Init(beginInfo); -+ this->Init(beginInfo); - } - CTypeIteratorBase(TTypeInfo needType, const TBeginInfo& beginInfo, - const string& filter) - : m_NeedType(needType) - { -- Init(beginInfo, filter); -+ this->Init(beginInfo, filter); - } - - virtual bool CanSelect(const CConstObjectInfo& object) -@@ -599,7 +599,7 @@ public: - - CTypesIteratorBase<Parent>& operator=(const TBeginInfo& beginInfo) - { -- Init(beginInfo); -+ this->Init(beginInfo); - return *this; - } - -diff --git a/c++/include/serial/serialbase.hpp b/c++/include/serial/serialbase.hpp -index be6a4f9..d59fb25 100644 ---- a/c++/include/serial/serialbase.hpp -+++ b/c++/include/serial/serialbase.hpp -@@ -364,11 +364,15 @@ public: - // cast to object type - TObject& operator*(void) - { -- return *reinterpret_cast<TObject*>(m_Buffer); -+ TObject* ptr = static_cast<TObject*> -+ (static_cast<void*>(m_Buffer)); -+ return *ptr; - } - const TObject& operator*(void) const - { -- return *reinterpret_cast<const TObject*>(m_Buffer); -+ const TObject* ptr = static_cast<const TObject*> -+ (static_cast<const void*>(m_Buffer)); -+ return *ptr; - } - - // construct/destruct object -diff --git a/c++/include/util/bitset/bmfunc.h b/c++/include/util/bitset/bmfunc.h -index 5917ee5..a8c204b 100644 ---- a/c++/include/util/bitset/bmfunc.h -+++ b/c++/include/util/bitset/bmfunc.h -@@ -37,6 +37,13 @@ For more information please visit: http://bmagic.sourceforge.net - namespace bm - { - -+bm::id_t bit_block_any_range(const bm::word_t* block, -+ bm::word_t left, -+ bm::word_t right); -+ -+bm::id_t bit_block_calc_count_range(const bm::word_t* block, -+ bm::word_t left, -+ bm::word_t right); - - /*! - @brief Structure with statistical information about bitset's memory -diff --git a/c++/include/util/linkedset.hpp b/c++/include/util/linkedset.hpp -index e8bbe6e..364164b 100644 ---- a/c++/include/util/linkedset.hpp -+++ b/c++/include/util/linkedset.hpp -@@ -268,10 +268,10 @@ public: - pair<iterator, bool> ins = m_Container.insert(value); - if ( ins.second ) { - if ( ins.first == begin() ) -- insertToStart(*ins.first); -+ this->insertToStart(*ins.first); - else { - iterator prev = ins.first; -- insertAfter(*--prev, *ins.first); -+ this->insertAfter(*--prev, *ins.first); - } - } - return ins; -@@ -280,10 +280,10 @@ public: - void erase(iterator iter) - { - if ( iter == begin() ) -- removeFromStart(*iter); -+ this->removeFromStart(*iter); - else { - iterator prev = iter; -- removeAfter(*--prev, *iter); -+ this->removeAfter(*--prev, *iter); - } - m_Container.erase(iter); - } -@@ -422,10 +422,10 @@ public: - { - iterator iter = m_Container.insert(value); - if ( iter == begin() ) -- insertToStart(get(iter)); -+ this->insertToStart(get(iter)); - else { - iterator prev = iter; -- insertAfter(get(--prev), get(iter)); -+ this->insertAfter(get(--prev), get(iter)); - } - return iter; - } -@@ -433,10 +433,10 @@ public: - void erase(iterator iter) - { - if ( iter == begin() ) -- removeFromStart(get(iter)); -+ this->removeFromStart(get(iter)); - else { - iterator prev = iter; -- removeAfter(get(--prev), get(iter)); -+ this->removeAfter(get(--prev), get(iter)); - } - m_Container.erase(iter); - } -diff --git a/c++/include/util/rangemap.hpp b/c++/include/util/rangemap.hpp -index c4f5f37..56e267d 100644 ---- a/c++/include/util/rangemap.hpp -+++ b/c++/include/util/rangemap.hpp -@@ -578,7 +578,7 @@ public: - // get level - - // insert element -- TSelectMapI selectIter = insertLevel(selectKey); -+ TSelectMapI selectIter = this->insertLevel(selectKey); - pair<TLevelMapI, bool> levelIns = selectIter->second.insert(value); - - pair<iterator, bool> ret; -@@ -640,7 +640,7 @@ public: - // insert element - iterator ret; - ret.m_Range = range_type::GetWhole(); -- ret.m_SelectIter = insertLevel(selectKey); -+ ret.m_SelectIter = this->insertLevel(selectKey); - ret.m_SelectIterEnd = this->m_SelectMap.end(); - ret.m_LevelIter = ret.m_SelectIter->second.insert(value); - return ret; -diff --git a/c++/src/connect/ncbi_gnutls.c b/c++/src/connect/ncbi_gnutls.c -index f0242b7..8b13713 100644 ---- a/c++/src/connect/ncbi_gnutls.c -+++ b/c++/src/connect/ncbi_gnutls.c -@@ -98,7 +98,6 @@ static const int kGnuTlsCertPrio[] = { - 0 - }; - static const int kGnuTlsCompPrio[] = { -- GNUTLS_COMP_LZO, - GNUTLS_COMP_ZLIB, - GNUTLS_COMP_NULL, - 0 -@@ -254,6 +253,24 @@ static EIO_Status s_GnuTlsOpen(void* session, int* error) - } - - -+/*ARGSUSED*/ -+static void x_set_errno(gnutls_session_t session, int error) -+{ -+# ifdef LIBGNUTLS_VERSION_NUMBER -+# if \ -+ LIBGNUTLS_VERSION_MAJOR > 1 || \ -+ LIBGNUTLS_VERSION_MINOR > 5 || \ -+ LIBGNUTLS_VERSION_PATCH > 3 -+ gnutls_transport_set_errno(session, error); -+ return; -+# endif /*LIBGNUTLS_VERSION >= 1.5.4*/ -+# endif /*LIBGNUTLS_VERSION_NUMBER*/ -+ /*NOTREACHED*/ -+ if (error) -+ errno = error; -+} -+ -+ - static ssize_t x_GnuTlsPull(gnutls_transport_ptr_t ptr, - void* buf, size_t size) - { -diff --git a/c++/src/corelib/ncbifile.cpp b/c++/src/corelib/ncbifile.cpp -index d751e62..fdc81c7 100644 ---- a/c++/src/corelib/ncbifile.cpp -+++ b/c++/src/corelib/ncbifile.cpp -@@ -51,8 +51,8 @@ - # include <dirent.h> - # include <pwd.h> - # include <fcntl.h> --# include <sys/time.h> - # include <sys/mman.h> -+# include <sys/time.h> - # ifdef HAVE_SYS_STATVFS_H - # include <sys/statvfs.h> - # endif -diff --git a/c++/src/corelib/test_boost.cpp b/c++/src/corelib/test_boost.cpp -index dfd9cc8..f93d2ca 100644 ---- a/c++/src/corelib/test_boost.cpp -+++ b/c++/src/corelib/test_boost.cpp -@@ -41,6 +41,7 @@ - #ifndef BOOST_TEST_NO_LIB - # define BOOST_TEST_NO_LIB - #endif -+#define BOOST_TEST_NO_MAIN - #include <corelib/test_boost.hpp> - - #include <boost/preprocessor/cat.hpp> -@@ -95,6 +96,7 @@ const char* kTestResultTimeout = "timeout"; - const char* kTestResultAborted = "aborted"; - const char* kTestResultSkipped = "skipped"; - const char* kTestResultDisabled = "disabled"; -+const char* kTestResultToFix = "tofix"; - - - typedef but::results_reporter::format TBoostRepFormatter; -@@ -168,14 +170,24 @@ public: - unsigned long elapsed); - virtual - void test_unit_skipped(ostream& ostr, but::test_unit const& tu); -+#if BOOST_VERSION >= 104200 -+ virtual -+ void log_exception (ostream& ostr, but::log_checkpoint_data const& lcd, -+ boost::execution_exception const& ex); -+ // Next line is necessary for compiling with ICC and Boost 1.41.0 and up -+ using TBoostLogFormatter::log_exception; -+#else - virtual - void log_exception (ostream& ostr, but::log_checkpoint_data const& lcd, - but::const_string explanation); -+#endif - virtual - void log_entry_start (ostream& ostr, but::log_entry_data const& led, - log_entry_types let); - virtual - void log_entry_value (ostream& ostr, but::const_string value); -+ // Next line is necessary for compiling with ICC and Boost 1.41.0 and up -+ using TBoostLogFormatter::log_entry_value; - virtual - void log_entry_finish (ostream& ostr); - -@@ -402,10 +414,15 @@ public: - - /// Mark test case as failed due to hit of the timeout - void SetTestTimedOut(but::test_case* tc); -+ /// Register the fact of test failure -+ void SetTestErrored(but::test_case* tc); -+ /// Check if given test is marked as requiring fixing in the future -+ bool IsTestToFix(const but::test_unit* tu); - - /// Get number of actually executed tests - int GetRanTestsCount(void); -- -+ /// Get number of tests that were failed but are marked to be fixed -+ int GetToFixTestsCount(void); - /// Get string representation of result of test execution - string GetTestResultString(but::test_unit* tu); - -@@ -415,6 +432,11 @@ public: - /// Check if user initialization functions failed - bool IsInitFailed(void); - -+ /// Check if there were any test errors -+ bool HasTestErrors(void); -+ /// Check if there were any timeouted tests -+ bool HasTestTimeouts(void); -+ - private: - typedef list<TNcbiTestUserFunction> TUserFuncsList; - -@@ -493,6 +515,8 @@ private: - TUnitsSet m_DisabledTests; - /// List of all tests which result is a timeout - TUnitsSet m_TimedOutTests; -+ /// List of all tests marked as in need of fixing in the future -+ TUnitsSet m_ToFixTests; - /// List of all dependencies for each test having dependencies - TUnitToManyMap m_TestDeps; - /// Observer to make test dependencies and look for unit's timeouts -@@ -512,12 +536,18 @@ private: - /// String representation for whole test timeout (real value taken from - /// CHECK_TIMEOUT in Makefile). - string m_TimeoutStr; -+ /// Multiplicator for timeouts -+ double m_TimeMult; - /// Timer measuring elapsed time for the whole test - CStopWatch m_Timer; - /// Timeout that was set in currently executing unit before adjustment - /// - /// @sa AdjustTestTimeout() - unsigned int m_CurUnitTimeout; -+ /// Flag showing if there were some test errors -+ bool m_HasTestErrors; -+ /// Flag showing if there were some timeouted tests -+ bool m_HasTestTimeouts; - }; - - -@@ -794,7 +824,10 @@ CNcbiTestApplication::CNcbiTestApplication(void) - m_RunMode (0), - m_DummyTest(NULL), - m_Timeout (0), -- m_Timer (CStopWatch::eStart) -+ m_TimeMult (1), -+ m_Timer (CStopWatch::eStart), -+ m_HasTestErrors(false), -+ m_HasTestTimeouts(false) - { - m_Reporter = new CNcbiBoostReporter(); - m_Logger = new CNcbiBoostLogger(); -@@ -1244,6 +1277,24 @@ CNcbiTestApplication::GetRanTestsCount(void) - return result; - } - -+int -+CNcbiTestApplication::GetToFixTestsCount(void) -+{ -+ int result = 0; -+ ITERATE(TUnitsSet, it, m_ToFixTests) { -+ if (!but::results_collector.results((*it)->p_id).passed()) -+ ++result; -+ } -+ return result; -+} -+ -+inline bool -+CNcbiTestApplication::IsTestToFix(const but::test_unit* tu) -+{ -+ return m_ToFixTests.find(const_cast<but::test_unit*>(tu)) -+ != m_ToFixTests.end(); -+} -+ - inline void - CNcbiTestApplication::x_SetupBoostReporters(void) - { -@@ -1391,6 +1442,18 @@ CNcbiTestApplication::InitTestFramework(int argc, char* argv[]) - return NULL; - } - -+inline bool -+CNcbiTestApplication::HasTestErrors(void) -+{ -+ return m_HasTestErrors; -+} -+ -+inline bool -+CNcbiTestApplication::HasTestTimeouts(void) -+{ -+ return m_HasTestTimeouts; -+} -+ - void - CNcbiTestsCollector::visit(but::test_case const& test) - { -@@ -1431,9 +1494,20 @@ CNcbiTestsObserver::test_unit_finish(but::test_unit const& tu, - // elapsed comes in microseconds - if (timeout != 0 && timeout < elapsed / 1000000) { - boost::execution_exception ex( -- boost::execution_exception::timeout_error, "Timeout exceeded"); -+ boost::execution_exception::timeout_error, "Timeout exceeded" -+ NCBI_BOOST_LOCATION()); - but::framework::exception_caught(ex); - } -+ -+ but::test_results& tr = but::s_rc_impl().m_results_store[tu.p_id]; -+ if (!tr.passed() && s_GetTestApp().IsTestToFix(&tu)) { -+ static_cast<but::readwrite_property<bool>& >( -+ static_cast<but::class_property<bool>& >( -+ tr.p_skipped)).set(true); -+ static_cast<but::readwrite_property<but::counter_t>& >( -+ static_cast<but::class_property<but::counter_t>& >( -+ tr.p_assertions_failed)).set(0); -+ } - } - - void -@@ -1551,12 +1625,21 @@ CNcbiBoostLogger::test_unit_skipped(ostream& ostr, but::test_unit const& tu) - m_Upper->test_unit_skipped(ostr, tu); - } - -+#if BOOST_VERSION >= 104200 -+void -+CNcbiBoostLogger::log_exception(ostream& ostr, but::log_checkpoint_data const& lcd, -+ boost::execution_exception const& ex) -+{ -+ m_Upper->log_exception(ostr, lcd, ex); -+} -+#else - void - CNcbiBoostLogger::log_exception(ostream& ostr, but::log_checkpoint_data const& lcd, - but::const_string explanation) - { - m_Upper->log_exception(ostr, lcd, explanation); - } -+#endif - - void - CNcbiBoostLogger::log_entry_start(ostream& ostr, but::log_entry_data const& led, -@@ -1631,9 +1714,74 @@ NcbiTestGetUnit(CTempString test_name) - END_NCBI_SCOPE - - -+using namespace but; -+ - /// Global initialization function called from Boost framework --but::test_suite* -+test_suite* - init_unit_test_suite(int argc, char* argv[]) - { - return NCBI_NS_NCBI::s_GetTestApp().InitTestFramework(argc, argv); - } -+ -+// This main() is mostly a copy from Boost's unit_test_main.ipp -+int -+main(int argc, char* argv[]) -+{ -+ int result = boost::exit_success; -+ -+ try { -+ framework::init( &init_unit_test_suite, argc, argv ); -+ -+ if( !runtime_config::test_to_run().is_empty() ) { -+ test_case_filter filter( runtime_config::test_to_run() ); -+ -+ traverse_test_tree( framework::master_test_suite().p_id, filter ); -+ } -+ -+ framework::run(); -+ -+ // Let's try to make report in case of any error after all catches. -+ //results_reporter::make_report(); -+ -+ if (!runtime_config::no_result_code()) { -+ result = results_collector.results( framework::master_test_suite().p_id ).result_code(); -+ if (!NCBI_NS_NCBI::s_GetTestApp().HasTestErrors() -+ && NCBI_NS_NCBI::s_GetTestApp().HasTestTimeouts()) -+ { -+ // This should certainly go to the output. So we can use only -+ // printf, nothing else. -+ printf("There were no test failures, only timeouts.\n" -+ " (for autobuild scripts: NCBI_UNITTEST_TIMEOUTS_BUT_NO_ERRORS)\n"); -+ } -+ } -+ } -+#if BOOST_VERSION >= 104200 -+ catch( framework::nothing_to_test const& ) { -+ result = boost::exit_success; -+ } -+#endif -+ catch( framework::internal_error const& ex ) { -+ results_reporter::get_stream() << "Boost.Test framework internal error: " << ex.what() << std::endl; -+ -+ result = boost::exit_exception_failure; -+ } -+ catch( framework::setup_error const& ex ) { -+ results_reporter::get_stream() << "Test setup error: " << ex.what() << std::endl; -+ -+ result = boost::exit_exception_failure; -+ } -+ catch( std::exception const& ex ) { -+ results_reporter::get_stream() << "Test framework error: " << ex.what() << std::endl; -+ -+ result = boost::exit_exception_failure; -+ } -+ catch( ... ) { -+ results_reporter::get_stream() << "Boost.Test framework internal error: unknown reason" << std::endl; -+ -+ result = boost::exit_exception_failure; -+ } -+ -+ results_reporter::make_report(); -+ -+ return result; -+} -diff --git a/c++/src/objtools/blast/seqdb_reader/seqdbimpl.hpp b/c++/src/objtools/blast/seqdb_reader/seqdbimpl.hpp -index 92e817f..cfab8ab 100644 ---- a/c++/src/objtools/blast/seqdb_reader/seqdbimpl.hpp -+++ b/c++/src/objtools/blast/seqdb_reader/seqdbimpl.hpp -@@ -1199,7 +1199,7 @@ private: - CSeqDBAtlasHolder m_AtlasHolder; - - /// Reference to memory management layer. -- mutable CSeqDBAtlas & m_Atlas; -+ CSeqDBAtlas & m_Atlas; - - /// The list of database names provided to the constructor. - string m_DBNames; -diff --git a/c++/src/serial/stdtypes.cpp b/c++/src/serial/stdtypes.cpp -index f6fa651..d6e8f80 100644 ---- a/c++/src/serial/stdtypes.cpp -+++ b/c++/src/serial/stdtypes.cpp -@@ -720,7 +720,7 @@ public: - if ( IsSigned() ) { - // signed -> unsigned - // check for negative value -- if ( IsNegative(value) ) -+ if ( CParent::IsNegative(value) ) - ThrowIntegerOverflow(); - } - if ( sizeof(value) > sizeof(result) ) { -@@ -751,7 +751,7 @@ public: - // unsigned -> signed - if ( sizeof(value) == sizeof(result) ) { - // same size - check for sign change only -- if ( IsNegative(result) ) -+ if ( CParent::IsNegative(result) ) - ThrowIntegerOverflow(); - } - } -@@ -786,7 +786,7 @@ public: - if ( IsSigned() ) { - // signed -> unsigned - // check for negative value -- if ( IsNegative(value) ) -+ if ( CParent::IsNegative(value) ) - ThrowIntegerOverflow(); - } - if ( sizeof(value) > sizeof(result) ) { -@@ -817,7 +817,7 @@ public: - // unsigned -> signed - if ( sizeof(value) == sizeof(result) ) { - // same size - check for sign change only -- if ( IsNegative(result) ) -+ if ( CParent::IsNegative(result) ) - ThrowIntegerOverflow(); - } - } diff --git a/sci-biology/rmblast/rmblast-1.2-r1.ebuild b/sci-biology/rmblast/rmblast-1.2-r1.ebuild index db7c5a246910..72c740fd30e3 100644 --- a/sci-biology/rmblast/rmblast-1.2-r1.ebuild +++ b/sci-biology/rmblast/rmblast-1.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -9,7 +9,8 @@ MY_NCBI_BLAST_V=2.2.23+ DESCRIPTION="RepeatMasker compatible version of NCBI BLAST+" HOMEPAGE="http://www.repeatmasker.org/RMBlast.html" -SRC_URI="http://www.repeatmasker.org/rmblast-${PV}-ncbi-blast-${MY_NCBI_BLAST_V}-src.tar.gz" +SRC_URI="http://www.repeatmasker.org/rmblast-${PV}-ncbi-blast-${MY_NCBI_BLAST_V}-src.tar.gz + https://dev.gentoo.org/~mgorny/dist/${P}-gcc47.patch.bz2" LICENSE="OSL-2.1" SLOT="0" @@ -30,7 +31,7 @@ src_prepare() { -e "/DEF_FAST_FLAGS=/s:=\".*\":=\"${CFLAGS}\":g" \ -e 's/2.95\* | 2.96\* | 3\.\* | 4\.\* )/2.95\* | 2.96\* | \[3-9\]\.\* )/g' \ -i src/build-system/configure || die - epatch "${FILESDIR}"/${P}-gcc47.patch + epatch "${WORKDIR}"/${P}-gcc47.patch } src_configure() { |