summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2013-02-18 10:48:13 +0000
committerJustin Lecher <jlec@gentoo.org>2013-02-18 10:48:13 +0000
commit95176e48a0d16783ee28415cada97403b517eb89 (patch)
treeaa41a9c2d1918a0bd15c1b6eeff52c68c896542b /sci-biology
parentVersion bump with new SRC_URI. Thanks to Jared in bug #455776. (diff)
downloadhistorical-95176e48a0d16783ee28415cada97403b517eb89.tar.gz
historical-95176e48a0d16783ee28415cada97403b517eb89.tar.bz2
historical-95176e48a0d16783ee28415cada97403b517eb89.zip
sci-biology/rmblast: Bug fixes: Build against any boost, #356315; build with gcc-4.7, #442266
Package-Manager: portage-2.2.0_alpha163/cvs/Linux x86_64 Manifest-Sign-Key: 0x70EB7916
Diffstat (limited to 'sci-biology')
-rw-r--r--sci-biology/rmblast/ChangeLog10
-rw-r--r--sci-biology/rmblast/Manifest18
-rw-r--r--sci-biology/rmblast/files/rmblast-1.2-gcc47.patch865
-rw-r--r--sci-biology/rmblast/metadata.xml10
-rw-r--r--sci-biology/rmblast/rmblast-1.2-r1.ebuild45
-rw-r--r--sci-biology/rmblast/rmblast-1.2.ebuild19
6 files changed, 940 insertions, 27 deletions
diff --git a/sci-biology/rmblast/ChangeLog b/sci-biology/rmblast/ChangeLog
index a02830336254..3e394a994c53 100644
--- a/sci-biology/rmblast/ChangeLog
+++ b/sci-biology/rmblast/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sci-biology/rmblast
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-biology/rmblast/ChangeLog,v 1.3 2012/10/31 20:41:32 flameeyes Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/rmblast/ChangeLog,v 1.4 2013/02/18 10:48:11 jlec Exp $
+
+*rmblast-1.2-r1 (18 Feb 2013)
+
+ 18 Feb 2013; Justin Lecher <jlec@gentoo.org> rmblast-1.2.ebuild,
+ +rmblast-1.2-r1.ebuild, +files/rmblast-1.2-gcc47.patch, metadata.xml:
+ Bug fixes: Build against any boost, #356315; build with gcc-4.7, #442266
31 Oct 2012; Diego E. Pettenò <flameeyes@gentoo.org> rmblast-1.2.ebuild:
QA: drop maximum boost version dep; if it fails to build, it has to be fixed.
diff --git a/sci-biology/rmblast/Manifest b/sci-biology/rmblast/Manifest
index 267dbc38489b..aa70dc83a119 100644
--- a/sci-biology/rmblast/Manifest
+++ b/sci-biology/rmblast/Manifest
@@ -1,18 +1,16 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
+AUX rmblast-1.2-gcc47.patch 31795 SHA256 f68cee00a42ab19612430cd19c6c26fd5b4f1bea78710577e3e18b8ace82896d SHA512 2db82b02b157dd39c21d1fc459c4837741088d0d764c994094096c15ce76331f33f68e7e8498f7ea43e4979cde2fd248baf0687ac08b147d1060b54ac55b83d0 WHIRLPOOL 5a258a4f3aa66afb24faa4b2708c13e478710059757ec1a63a90c23f15b003a6366477a30349f87841f31c3131a3ef3a4de17c1df27a54da639f915efbda55fe
DIST rmblast-1.2-ncbi-blast-2.2.23+-src.tar.gz 10744076 SHA256 996be9886189364fff8ed39d4668122b2e5b8b010be47d929602416d95628eef SHA512 e7c2ebd114aee045ea3f3f462cf2658440e13a2d1eb777648386e1c5eeda9f8083af383c019f9b5802d935d6eb2367eef20822afc45233ddb44a426b4dd7ddb6 WHIRLPOOL aa3ada4297812a97614b0fe218de65d7474edfb5910e156eb09b625d45338a97b35f46876f5edf6105ead8b321a28f55ed7de2ad251bbc48ffd0cfa65ee2ac7a
-EBUILD rmblast-1.2.ebuild 1106 SHA256 80abd25b9aeb1bf6854fb58aee1b01ff20802a1659dbc08835f69e81bc1a262f SHA512 693efc69c534ab5940666d1583a42ee0750b28c9d0aad1ee7d12d26c92147ebfc11c273f1d8e1100087bc6db3e5fac82696adca3dda650a4d155074bdfa6890a WHIRLPOOL 069439a7e43b3ec405107df658ecad13f00b8201d27570e23558acfbc11538b3361110a06901ac0e314095bd44011dcc82b12f5926d7ed53600ac15eb15df998
-MISC ChangeLog 663 SHA256 6391930af4fda3652fd2807048977e46b25a9e378f10e10e1147809262e9d79d SHA512 b841ee7acf270c846c65bea33ff6520a04c9dc809b0da31a3266153a4de7c6ab35cac697afded5537c5cbf05caac67975199131434a993f0142bc6e31b06fa45 WHIRLPOOL 1d0c206a3bb0c10234eb2ad5795ac6aeefcc488748cb851d9743c81dd6051004a93967872287c9cddad987f4fd6b7316e4c7f4dc18d6731b5fbaadeae46c3471
-MISC metadata.xml 259 SHA256 541c3fbcf299d9a8ccf4132ee61f9e53a5d737cefdaa6fdc77764d8d4c7f3110 SHA512 c3aea4d69d75075af0108a03b7e109cfed6a1fe324f8ccbda3d4e5ca8a5070f1b24ddeb46b64787e10fd22252d867abcee1f31316d602f7e32fe3c990ae60d74 WHIRLPOOL e50da2f26fd4c908446d22da3edb595d60e61d72def374be46440358802a211fc34045b7ad970c4f94b57f7b17ff24cfe64dc94254fea20e047f1fbbbcae0c64
+EBUILD rmblast-1.2-r1.ebuild 1156 SHA256 59797b2048de3017469fbe85f03fb389a3613c960645e3ad7e3e4c5a5e078393 SHA512 50dad8de2a728a7392c9a8e8652d281cd39f2a3ae761fc0f24efd8c0bfd7c8939851f5715a7f53fc54748e473bb1a3c786996447b8f8b81687a0cd24738997bc WHIRLPOOL 84ed3705aafc4c3d239c720251760e15ad08f8c4102e72966cccd0a04b2ddeed54113e10887a8b78473a3741ad3ab489cc0455d33eb933149e0d7e7ee6e9547b
+EBUILD rmblast-1.2.ebuild 1164 SHA256 3a707fa6aeae892bdeef8a80b827031487a662c4b0d7834edc2108743fb00f34 SHA512 a1919c5ae9289dc376b4146476f25aaaf734c7a69229a0bdef4d82eb83347a454b23b8e913cf461c25814411775aa87045c568791a7be138334c28b1ae118bc7 WHIRLPOOL fd9392b37595788a59209bedd6765d213b4c7549e7c38818e5a2581eae7f4b2b4ebeafa355648621ef239d70850fac8e3266a9a8c25e8051983ee66381502e8a
+MISC ChangeLog 904 SHA256 182db5fa5fbd0bff8b52b0921e9f48d2b35b75d1263dee7b0da30cf033deb3de SHA512 9a7e98cf6b29f233f41e7b2330c3c01a335d898c14a89172a4421420514d5d6fea4f71943b9073be158b21af964050053025157c865d28267454e9e9b7a85276 WHIRLPOOL f3dd0f278a09883f7757a57920e43a4780dec3ab7cd4c2f717b7a0516caa572da31e323a6f36bb7aff8771ffa50734d4d61ba1d600c2259854209e9eb506b0cc
+MISC metadata.xml 266 SHA256 98c7d1da8a728a1f1d796a79d51f25e4164e24048ec1aacbbf0ae2ffb171ff35 SHA512 879cdcca092d4c82b8c63672c91e08e7b01e81419d2c7c7b766de96ba2a32dd1e21c18968ed7172eec8604f52c92b19a31773f428bce9461d9b8190384680194 WHIRLPOOL 0f46288ab7090ad3da5b31816792427e4ad1a950e39a503bb406ebe8789cffedd9c85b46bfbf040fffb8aad443f512c28716a0a6436d0c06309155277060cdcd
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQEcBAEBCAAGBQJQkY0IAAoJEBzRPIrUMBNCD74H/26YARM3S/ritlZiLYKzbeeY
-B+PPiTBSpv1cUZA1Du282RVs5Ne7NmTDn8QACM9ycCKk3ceQt7kKdWFLmwAouMVA
-EBGt3GjrSP1g22sTrH3rnDfaXllUTMvR9dLsVk3q+uEO21Xmlt+HETUHrJdW9C2e
-2fXwXRfQSO3mLsn3k5wunF6V1gps4he/TnOlSA6utQf1+OfrJlAqTcwyNvbL3a5H
-Z9CnT/xLFEGMgFhtR/kXn+15gXsfmM2d4fU9D6Hjb8iI4Y7YitDp6bzlbSPT+uEO
-4eyjmxzozzez5fmxzGWZ4cdOry/QAnwlrwBvfDJqg2cy+aL68m4N7L+PJE9rhE8=
-=qwX8
+iEYEAREIAAYFAlEiBu0ACgkQgAnW8HDreRYWTgCgtHXneMDN1q/qU8ved3PV9G3k
+l+0AnAltFdPDp1QesWysIIMm3pskt2Jd
+=4ZQy
-----END PGP SIGNATURE-----
diff --git a/sci-biology/rmblast/files/rmblast-1.2-gcc47.patch b/sci-biology/rmblast/files/rmblast-1.2-gcc47.patch
new file mode 100644
index 000000000000..70200d59ea4a
--- /dev/null
+++ b/sci-biology/rmblast/files/rmblast-1.2-gcc47.patch
@@ -0,0 +1,865 @@
+ 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/metadata.xml b/sci-biology/rmblast/metadata.xml
index 3302123e5718..fc7c76942a10 100644
--- a/sci-biology/rmblast/metadata.xml
+++ b/sci-biology/rmblast/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer>
- <email>weaver@gentoo.org</email>
- <name>Andrey Kislyuk</name>
- </maintainer>
- <herd>sci-biology</herd>
+ <maintainer>
+ <email>weaver@gentoo.org</email>
+ <name>Andrey Kislyuk</name>
+ </maintainer>
+ <herd>sci-biology</herd>
</pkgmetadata>
diff --git a/sci-biology/rmblast/rmblast-1.2-r1.ebuild b/sci-biology/rmblast/rmblast-1.2-r1.ebuild
new file mode 100644
index 000000000000..de9f206dc0e4
--- /dev/null
+++ b/sci-biology/rmblast/rmblast-1.2-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/rmblast/rmblast-1.2-r1.ebuild,v 1.1 2013/02/18 10:48:11 jlec Exp $
+
+EAPI=5
+
+inherit eutils flag-o-matic toolchain-funcs
+
+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"
+
+LICENSE="OSL-2.1"
+SLOT="0"
+IUSE=""
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-libs/boost"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P}-ncbi-blast-${MY_NCBI_BLAST_V}-src/c++"
+
+src_prepare() {
+ filter-ldflags -Wl,--as-needed
+ sed \
+ -e 's/-print-file-name=libstdc++.a//' \
+ -e '/sed/ s/\([gO]\[0-9\]\)\*/\1\\+/' \
+ -e "/DEF_FAST_FLAGS=/s:=\".*\":=\"${CFLAGS}\":g" \
+ -i src/build-system/configure || die
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+}
+
+src_configure() {
+ tc-export CXX CC
+
+ "${S}"/configure --without-debug \
+ --with-mt \
+ --without-static \
+ --with-dll \
+ --prefix="${ED}"/opt/${PN} \
+ --with-boost="${EPREFIX}/usr/include/boost" \
+ || die
+}
diff --git a/sci-biology/rmblast/rmblast-1.2.ebuild b/sci-biology/rmblast/rmblast-1.2.ebuild
index 97cb62edc70b..ecdfa0b11571 100644
--- a/sci-biology/rmblast/rmblast-1.2.ebuild
+++ b/sci-biology/rmblast/rmblast-1.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-biology/rmblast/rmblast-1.2.ebuild,v 1.3 2012/10/31 20:41:32 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-biology/rmblast/rmblast-1.2.ebuild,v 1.4 2013/02/18 10:48:11 jlec Exp $
EAPI="3"
-inherit flag-o-matic toolchain-funcs
+inherit eutils flag-o-matic toolchain-funcs
MY_NCBI_BLAST_V=2.2.23+
@@ -24,9 +24,12 @@ S="${WORKDIR}/${P}-ncbi-blast-${MY_NCBI_BLAST_V}-src/c++"
src_prepare() {
filter-ldflags -Wl,--as-needed
- sed -i -e 's/-print-file-name=libstdc++.a//' \
+ sed \
+ -e 's/-print-file-name=libstdc++.a//' \
-e '/sed/ s/\([gO]\[0-9\]\)\*/\1\\+/' \
- src/build-system/configure || die
+ -e "/DEF_FAST_FLAGS=/s:=\".*\":=\"${CFLAGS}\":g" \
+ -i src/build-system/configure || die
+ epatch "${FILESDIR}"/${P}-gcc47.patch
}
src_configure() {
@@ -37,10 +40,6 @@ src_configure() {
--without-static \
--with-dll \
--prefix="${ED}"/opt/${PN} \
- --with-boost=/usr/include/boost-1_35/boost \
+ --with-boost="${EPREFIX}/usr/include/boost" \
|| die
}
-
-src_install() {
- emake install || die
-}