commit:     e82963f83a9027ae6da34734a5bb7c21e152c58a
Author:     Peter Levine <plevine457 <AT> gmail <DOT> com>
AuthorDate: Wed Jul 26 02:27:16 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Nov 10 20:34:03 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e82963f8

dev-db/firebird: Fix building with GCC-6

Closes: https://bugs.gentoo.org/608294
Closes: https://github.com/gentoo/gentoo/pull/5212
Package-Manager: Portage-2.3.6, Repoman-2.3.2

 .../files/firebird-2.5.7.27050.0-gcc6.patch        | 35 ++++++++++++++++++++++
 dev-db/firebird/firebird-2.5.7.27050.0.ebuild      |  5 +++-
 2 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/dev-db/firebird/files/firebird-2.5.7.27050.0-gcc6.patch 
b/dev-db/firebird/files/firebird-2.5.7.27050.0-gcc6.patch
new file mode 100644
index 00000000000..f051ea02b4c
--- /dev/null
+++ b/dev-db/firebird/files/firebird-2.5.7.27050.0-gcc6.patch
@@ -0,0 +1,35 @@
+Bug: https://bugs.gentoo.org/608294
+PR: https://github.com/FirebirdSQL/firebird/pull/104
+
+--- a/src/common/classes/alloc.h
++++ b/src/common/classes/alloc.h
+@@ -498,10 +498,14 @@ using Firebird::MemoryPool;
+
+ inline static MemoryPool* getDefaultMemoryPool() { return 
Firebird::MemoryPool::processMemoryPool; }
+
++#if (( ! __GNUC__ ) || ( __GNUC__ < 6 ))
++
+ // Global versions of operators new and delete
+ void* operator new(size_t s) THROW_BAD_ALLOC;
+ void* operator new[](size_t s) THROW_BAD_ALLOC;
+
++#endif
++
+ void operator delete(void* mem) throw();
+ void operator delete[](void* mem) throw();
+
+--- a/src/dudley/exe.epp
++++ b/src/dudley/exe.epp
+@@ -2884,9 +2884,9 @@ static USHORT get_prot_mask( const TEXT * relation, TEXT 
* field)
+               blr_parameter, 0, 0, 0,
+               blr_parameter, 0, 1, 0,
+               blr_parameter, 1, 0, 0,
+-              blr_end,
+-              blr_end,
+-              blr_end,
++              static_cast<SCHAR>(blr_end),
++              static_cast<SCHAR>(blr_end),
++              static_cast<SCHAR>(blr_end),
+               blr_eoc
+       };
+       static FB_API_HANDLE req_handle;
\ No newline at end of file

diff --git a/dev-db/firebird/firebird-2.5.7.27050.0.ebuild 
b/dev-db/firebird/firebird-2.5.7.27050.0.ebuild
index b118e34f5f2..b6e56990fd8 100644
--- a/dev-db/firebird/firebird-2.5.7.27050.0.ebuild
+++ b/dev-db/firebird/firebird-2.5.7.27050.0.ebuild
@@ -35,7 +35,10 @@ RDEPEND="${CDEPEND}
 
 RESTRICT="userpriv"
 
-PATCHES=( "${FILESDIR}"/${PN}-2.5.3.26780.0-deps-flags.patch )
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.5.3.26780.0-deps-flags.patch
+       "${FILESDIR}"/${P}-gcc6.patch
+)
 
 S="${WORKDIR}/${MY_P}"
 

Reply via email to