diff options
author | Martin Mokrejš <mmokrejs@fold.natur.cuni.cz> | 2015-06-11 19:50:27 +0200 |
---|---|---|
committer | Martin Mokrejš <mmokrejs@fold.natur.cuni.cz> | 2015-06-11 19:50:27 +0200 |
commit | d92148d58c196ab5e1fb22e51e0bc7d2407d277b (patch) | |
tree | 2707fd43aa73ff05f9637534e63a4094d490e9fd /sci-biology | |
parent | more comments on the external dependencies (diff) | |
download | sci-d92148d58c196ab5e1fb22e51e0bc7d2407d277b.tar.gz sci-d92148d58c196ab5e1fb22e51e0bc7d2407d277b.tar.bz2 sci-d92148d58c196ab5e1fb22e51e0bc7d2407d277b.zip |
sci-biology/ncbi-tools++: added upstream patch to compile against sys-libs/db-6.0.30
Package-Manager: portage-2.2.18
Diffstat (limited to 'sci-biology')
-rw-r--r-- | sci-biology/ncbi-tools++/ChangeLog | 5 | ||||
-rw-r--r-- | sci-biology/ncbi-tools++/files/ncbi-tools++-12.0.0-bdb6.patch | 114 | ||||
-rw-r--r-- | sci-biology/ncbi-tools++/ncbi-tools++-12.0.0.ebuild | 1 |
3 files changed, 120 insertions, 0 deletions
diff --git a/sci-biology/ncbi-tools++/ChangeLog b/sci-biology/ncbi-tools++/ChangeLog index ccef946ae..0267684f7 100644 --- a/sci-biology/ncbi-tools++/ChangeLog +++ b/sci-biology/ncbi-tools++/ChangeLog @@ -2,6 +2,11 @@ # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 11 Jun 2015; Martin Mokrejs <mmokrejs@fold.natur.cuni.cz> + +files/ncbi-tools++-12.0.0-bdb6.patch, ncbi-tools++-12.0.0.ebuild: + sci-biology/ncbi-tools++: added upstream patch to compile against sys- + libs/db-6.0.30 + 17 Apr 2015; Martin Mokrejs <mmokrejs@fold.natur.cuni.cz> ncbi-tools++-12.0.0.ebuild: sci-biology/ncbi-tools++: re-added KEYWORDS diff --git a/sci-biology/ncbi-tools++/files/ncbi-tools++-12.0.0-bdb6.patch b/sci-biology/ncbi-tools++/files/ncbi-tools++-12.0.0-bdb6.patch new file mode 100644 index 000000000..9589481d4 --- /dev/null +++ b/sci-biology/ncbi-tools++/files/ncbi-tools++-12.0.0-bdb6.patch @@ -0,0 +1,114 @@ +Index: include/db/bdb/bdb_file.hpp +=================================================================== +--- include/db/bdb/bdb_file.hpp (revision 470126) ++++ include/db/bdb/bdb_file.hpp (working copy) +@@ -660,6 +660,9 @@ + void x_ConstructKeyBuf(); + void x_ConstructDataBuf(); + ++ static int x_CompareShim(DB* db, const DBT* dbt1, const DBT* dbt2, ++ size_t* locp); ++ + private: + auto_ptr<CBDB_BufferManager> m_KeyBuf; + auto_ptr<CBDB_BufferManager> m_DataBuf; +Index: src/db/bdb/bdb_blob.cpp +=================================================================== +--- src/db/bdb/bdb_blob.cpp (revision 470126) ++++ src/db/bdb/bdb_blob.cpp (working copy) +@@ -583,12 +583,31 @@ + return m_DBT_Data->size; + } + ++#if DB_VERSION_MAJOR >= 6 ++extern "C" { ++ typedef int (*BDB_CompareFunction_V6)(DB*, const DBT*, const DBT*, ++ size_t*); ++ int BDB_Uint4Compare_V6(DB* db, const DBT* dbt1, const DBT* dbt2, size_t*) ++ { return BDB_Uint4Compare(db, dbt1, dbt2); } ++ int BDB_ByteSwap_Uint4Compare_V6(DB* db, const DBT* dbt1, const DBT* dbt2, ++ size_t*) ++ { return BDB_ByteSwap_Uint4Compare(db, dbt1, dbt2); } ++} ++#endif ++ + void CBDB_LobFile::SetCmp(DB*) + { ++#if DB_VERSION_MAJOR >= 6 ++ BDB_CompareFunction_V6 func = BDB_Uint4Compare_V6; ++ if (IsByteSwapped()) { ++ func = BDB_ByteSwap_Uint4Compare_V6; ++ } ++#else + BDB_CompareFunction func = BDB_Uint4Compare; + if (IsByteSwapped()) { + func = BDB_ByteSwap_Uint4Compare; + } ++#endif + + _ASSERT(func); + int ret = m_DB->set_bt_compare(m_DB, func); +Index: src/db/bdb/bdb_file.cpp +=================================================================== +--- src/db/bdb/bdb_file.cpp (revision 470126) ++++ src/db/bdb/bdb_file.cpp (working copy) +@@ -1535,12 +1535,27 @@ + } + + ++#if DB_VERSION_MAJOR >= 6 ++int CBDB_File::x_CompareShim(DB* db, const DBT* dbt1, const DBT* dbt2, size_t*) ++{ ++ const CBDB_BufferManager* key_buf ++ = static_cast<const CBDB_BufferManager*>(db->app_private); ++ _ASSERT(key_buf); ++ return (key_buf->GetCompareFunction())(db, dbt1, dbt2); ++} ++#endif ++ ++ + void CBDB_File::SetCmp(DB* db) + { + _ASSERT(m_DB_Type == eBtree); ++#if DB_VERSION_MAJOR >= 6 ++ int ret = db->set_bt_compare(db, x_CompareShim); ++#else + BDB_CompareFunction func = m_KeyBuf->GetCompareFunction(); + _ASSERT(func); + int ret = db->set_bt_compare(db, func); ++#endif + BDB_CHECK(ret, 0); + + if (m_PrefixCompress) { +@@ -2056,12 +2071,31 @@ + BindKey("id", &IdKey); + } + ++#if DB_VERSION_MAJOR >= 6 ++extern "C" { ++ typedef int (*BDB_CompareFunction_V6)(DB*, const DBT*, const DBT*, ++ size_t*); ++ int BDB_Int4Compare_V6(DB* db, const DBT* dbt1, const DBT* dbt2, size_t*) ++ { return BDB_Int4Compare(db, dbt1, dbt2); } ++ int BDB_ByteSwap_Int4Compare_V6(DB* db, const DBT* dbt1, const DBT* dbt2, ++ size_t*) ++ { return BDB_ByteSwap_Int4Compare(db, dbt1, dbt2); } ++} ++#endif ++ + void CBDB_IdFile::SetCmp(DB* /* db */) + { ++#if DB_VERSION_MAJOR >= 6 ++ BDB_CompareFunction_V6 func = BDB_Int4Compare_V6; ++ if (IsByteSwapped()) { ++ func = BDB_ByteSwap_Int4Compare_V6; ++ } ++#else + BDB_CompareFunction func = BDB_Int4Compare; + if (IsByteSwapped()) { + func = BDB_ByteSwap_Int4Compare; + } ++#endif + + _ASSERT(func); + int ret = m_DB->set_bt_compare(m_DB, func); diff --git a/sci-biology/ncbi-tools++/ncbi-tools++-12.0.0.ebuild b/sci-biology/ncbi-tools++/ncbi-tools++-12.0.0.ebuild index efe49f701..2948c7402 100644 --- a/sci-biology/ncbi-tools++/ncbi-tools++-12.0.0.ebuild +++ b/sci-biology/ncbi-tools++/ncbi-tools++-12.0.0.ebuild @@ -120,6 +120,7 @@ src_prepare() { "${FILESDIR}"/${P}-configure.patch "${FILESDIR}"/${P}-drop-STATIC-from-LIB.patch "${FILESDIR}"/${P}-fix-install.patch + "${FILESDIR}"/${P}-bdb6.patch ) # "${FILESDIR}"/${P}-as-needed.patch # "${FILESDIR}"/${P}-fix-creaders-linking.patch |