aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Mokrejš <mmokrejs@fold.natur.cuni.cz>2015-06-11 19:50:27 +0200
committerMartin Mokrejš <mmokrejs@fold.natur.cuni.cz>2015-06-11 19:50:27 +0200
commitd92148d58c196ab5e1fb22e51e0bc7d2407d277b (patch)
tree2707fd43aa73ff05f9637534e63a4094d490e9fd /sci-biology
parentmore comments on the external dependencies (diff)
downloadsci-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++/ChangeLog5
-rw-r--r--sci-biology/ncbi-tools++/files/ncbi-tools++-12.0.0-bdb6.patch114
-rw-r--r--sci-biology/ncbi-tools++/ncbi-tools++-12.0.0.ebuild1
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