diff options
author | Benjamin Bukowski | 2018-03-12 11:44:40 +0100 |
---|---|---|
committer | Benjamin Bukowski | 2018-03-12 11:44:40 +0100 |
commit | c24f5f58d9b4ee1d7a1e8f84c78f1e7f1d238e53 (patch) | |
tree | 97150c5332c837b9239bc8bc9ffb1d2fb1c141cd | |
parent | f2d15645b8627ce802621e9ffaa02bb1858e47b3 (diff) | |
download | aur-c24f5f58d9b4ee1d7a1e8f84c78f1e7f1d238e53.tar.gz |
Updated to v2.5.8; fix gcc6 and icu60 compilation errors
-rw-r--r-- | .SRCINFO | 20 | ||||
-rw-r--r-- | PKGBUILD | 28 | ||||
-rw-r--r-- | firebird-c++11.patch | 16 | ||||
-rw-r--r-- | firebird-c++14.patch | 30 | ||||
-rw-r--r-- | firebird-gcc6.patch | 272 | ||||
-rw-r--r-- | firebird-icu60.patch | 60 |
6 files changed, 357 insertions, 69 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Thu May 4 16:26:17 UTC 2017 +# Mon Mar 12 10:43:17 UTC 2018 pkgbase = firebird-superserver pkgdesc = A open source SQL relational database management system (RDMS) - pkgver = 2.5.7.27050 - pkgrel = 4 + pkgver = 2.5.8.27089 + pkgrel = 1 url = http://www.firebirdsql.org/ install = firebird-superserver.install arch = i686 @@ -12,24 +12,24 @@ pkgbase = firebird-superserver license = custom:IDPL depends = icu depends = libedit - provides = libfbclient=2.5.7.27050 + provides = libfbclient=2.5.8.27089 conflicts = firebird-classicserver conflicts = libfbclient options = !makeflags - source = http://downloads.sourceforge.net/firebird/Firebird-2.5.7.27050-0.tar.bz2 + source = https://github.com/FirebirdSQL/firebird/releases/download/R2_5_8/Firebird-2.5.8.27089-0.tar.bz2 source = default.password source = firebird-tmpfiles.conf source = firebird-sysusers.conf source = firebird.service - source = firebird-c++11.patch - source = firebird-c++14.patch - md5sums = fb34241e96f9707604bf6cd78357d5a2 + source = firebird-icu60.patch + source = firebird-gcc6.patch + md5sums = 38862a3da39cf91f4f2366fb510f18a6 md5sums = ee601f52f1ba2481fe1f05b25d000bb8 md5sums = 79a1416e307e4dfb99640311b8defe07 md5sums = a43ab472f4d95e48ac21910bb33a5e86 md5sums = bd75e6d2afcbc000e3593b1a66ea4ef7 - md5sums = 5094347a8298143ca147edd49b552fe9 - md5sums = a02710203cee81b4f48b7bdca3b1b33f + md5sums = 70197fc801f9c66a6a1d7710e0c63718 + md5sums = 9ab88cfcda674f9d28850a4f86f23741 pkgname = firebird-superserver @@ -1,37 +1,38 @@ # Maintainer: Benjamin Bukowski <bbukowski@posteo.de> pkgname=firebird-superserver -pkgver=2.5.7.27050 -pkgrel=4 +_pkgver=2.5.8 +pkgver=$_pkgver.27089 +pkgrel=1 pkgdesc="A open source SQL relational database management system (RDMS)" arch=('i686' 'x86_64') url="http://www.firebirdsql.org/" license=('custom:IPL' 'custom:IDPL') depends=('icu' 'libedit') -provides=("libfbclient=${pkgver}") +provides=("libfbclient=$pkgver") conflicts=('firebird-classicserver' 'libfbclient') options=('!makeflags') install=firebird-superserver.install -source=("http://downloads.sourceforge.net/firebird/Firebird-$pkgver-0.tar.bz2" +source=("https://github.com/FirebirdSQL/firebird/releases/download/R${_pkgver//./_}/Firebird-${pkgver}-0.tar.bz2" 'default.password' 'firebird-tmpfiles.conf' 'firebird-sysusers.conf' 'firebird.service' - 'firebird-c++11.patch' - 'firebird-c++14.patch') + 'firebird-icu60.patch' + 'firebird-gcc6.patch') -md5sums=('fb34241e96f9707604bf6cd78357d5a2' +md5sums=('38862a3da39cf91f4f2366fb510f18a6' 'ee601f52f1ba2481fe1f05b25d000bb8' '79a1416e307e4dfb99640311b8defe07' 'a43ab472f4d95e48ac21910bb33a5e86' 'bd75e6d2afcbc000e3593b1a66ea4ef7' - '5094347a8298143ca147edd49b552fe9' - 'a02710203cee81b4f48b7bdca3b1b33f') + '70197fc801f9c66a6a1d7710e0c63718' + '9ab88cfcda674f9d28850a4f86f23741') prepare() { - cd $srcdir/Firebird-$pkgver-0 - patch -Np1 -i ../firebird-c++11.patch - patch -Np0 -i ../firebird-c++14.patch + cd $srcdir/Firebird-$pkgver-0 + patch -Np1 -i ../firebird-icu60.patch + patch -Np1 -i ../firebird-gcc6.patch } build() { @@ -61,7 +62,8 @@ build() { --with-system-icu \ --with-system-editline - CXXFLAGS+=' -flifetime-dse=1' make + #CXXFLAGS+=' -flifetime-dse=1' make + make } package() { diff --git a/firebird-c++11.patch b/firebird-c++11.patch deleted file mode 100644 index 00de488eafb4..000000000000 --- a/firebird-c++11.patch +++ /dev/null @@ -1,16 +0,0 @@ -# -*- Mode: Diff -*- ---- firebird/src/dudley/exe.epp -+++ firebird/src/dudley/exe.epp -@@ -2884,9 +2884,9 @@ - blr_parameter, 0, 0, 0, - blr_parameter, 0, 1, 0, - blr_parameter, 1, 0, 0, -- blr_end, -- blr_end, -- blr_end, -+ SCHAR(blr_end), -+ SCHAR(blr_end), -+ SCHAR(blr_end), - blr_eoc - }; - static FB_API_HANDLE req_handle; diff --git a/firebird-c++14.patch b/firebird-c++14.patch deleted file mode 100644 index d978cef23b86..000000000000 --- a/firebird-c++14.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- src/common/classes/alloc.cpp -+++ src/common/classes/alloc.cpp -@@ -2121,3 +2121,11 @@ - { - Firebird::MemoryPool::globalFree(mem); - } -+void operator delete(void* mem, size_t) throw() -+{ -+ Firebird::MemoryPool::globalFree(mem); -+} -+void operator delete[](void* mem, size_t) throw() -+{ -+ Firebird::MemoryPool::globalFree(mem); -+} ---- src/common/classes/alloc.h -+++ src/common/classes/alloc.h -@@ -491,13 +491,6 @@ - - inline static MemoryPool* getDefaultMemoryPool() { return Firebird::MemoryPool::processMemoryPool; } - --// 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; -- --void operator delete(void* mem) throw(); --void operator delete[](void* mem) throw(); -- - #ifdef DEBUG_GDS_ALLOC - inline void* operator new(size_t s, Firebird::MemoryPool& pool, const char* file, int line) - { diff --git a/firebird-gcc6.patch b/firebird-gcc6.patch new file mode 100644 index 000000000000..1bc69073c13d --- /dev/null +++ b/firebird-gcc6.patch @@ -0,0 +1,272 @@ +From acb2b707dae178dd5a7a03eb3e21d885ba971974 Mon Sep 17 00:00:00 2001 +From: AlexPeshkoff <alexander.peshkoff@gmail.com> +Date: Tue, 23 Jan 2018 19:44:06 +0300 +Subject: [PATCH] Make it build with gcc6, also fixed most annoying warnings + +--- + builds/posix/prefix.linux | 2 +- + builds/posix/prefix.linux_amd64 | 2 +- + builds/posix/prefix.linux_generic | 2 +- + src/common/classes/alloc.cpp | 11 ++++- + src/common/classes/alloc.h | 84 ++++++++++++++++++++++----------------- + src/include/fb_blk.h | 17 ++++---- + src/jrd/gdsassert.h | 2 +- + 7 files changed, 68 insertions(+), 52 deletions(-) + +diff --git a/builds/posix/prefix.linux b/builds/posix/prefix.linux +index 61f01813e4..b37373215e 100644 +--- a/builds/posix/prefix.linux ++++ b/builds/posix/prefix.linux +@@ -18,7 +18,7 @@ + # + # 2 Oct 2002, Nickolay Samofatov - Major cleanup + +-COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0 ++COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0 -std=gnu++03 -fno-delete-null-pointer-checks + OPTIMIZE_FLAGS=-O3 -march=i586 -mtune=i686 -fno-omit-frame-pointer + WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable + +diff --git a/builds/posix/prefix.linux_amd64 b/builds/posix/prefix.linux_amd64 +index 8a22b2c2e9..4f20d0aaea 100644 +--- a/builds/posix/prefix.linux_amd64 ++++ b/builds/posix/prefix.linux_amd64 +@@ -18,7 +18,7 @@ + # + # 2 Oct 2002, Nickolay Samofatov - Major cleanup + +-COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0 ++COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64 -pipe -MMD -fPIC -fmessage-length=0 -std=gnu++03 -fno-delete-null-pointer-checks + OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer + WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable + CXXFLAGS:= $(CXXFLAGS) -fno-rtti +diff --git a/builds/posix/prefix.linux_generic b/builds/posix/prefix.linux_generic +index 1a25abebff..130f43bcf6 100644 +--- a/builds/posix/prefix.linux_generic ++++ b/builds/posix/prefix.linux_generic +@@ -18,7 +18,7 @@ + # + # 2 Oct 2002, Nickolay Samofatov - Major cleanup + +-COMMON_FLAGS=-DLINUX -pipe -MMD -fPIC -DFB_SEND_FLAGS=MSG_NOSIGNAL -fsigned-char ++COMMON_FLAGS=-DLINUX -pipe -MMD -fPIC -DFB_SEND_FLAGS=MSG_NOSIGNAL -fsigned-char -std=gnu++03 -fno-delete-null-pointer-checks + + PROD_FLAGS=-ggdb -O3 -DNDEBUG $(COMMON_FLAGS) + DEV_FLAGS=-ggdb -p -Wall -Wno-switch $(COMMON_FLAGS) +diff --git a/src/common/classes/alloc.cpp b/src/common/classes/alloc.cpp +index 7a7a76caab..84238cf25c 100644 +--- a/src/common/classes/alloc.cpp ++++ b/src/common/classes/alloc.cpp +@@ -2199,6 +2199,13 @@ void* MemoryPool::globalAlloc(size_t s) THROW_BAD_ALLOC + } + #endif // LIBC_CALLS_NEW + ++void* MemoryPool::calloc(size_t size ALLOC_PARAMS) ++{ ++ void* block = allocate(size ALLOC_PASS_ARGS); ++ memset(block, 0, size); ++ return block; ++} ++ + #if defined(DEV_BUILD) + void AutoStorage::ProbeStack() const + { +@@ -2224,11 +2231,11 @@ void AutoStorage::ProbeStack() const + + void* operator new(size_t s) THROW_BAD_ALLOC + { +- return Firebird::MemoryPool::globalAlloc(s); ++ return Firebird::MemoryPool::globalAlloc(s ALLOC_ARGS); + } + void* operator new[](size_t s) THROW_BAD_ALLOC + { +- return Firebird::MemoryPool::globalAlloc(s); ++ return Firebird::MemoryPool::globalAlloc(s ALLOC_ARGS); + } + + void operator delete(void* mem) throw() +diff --git a/src/common/classes/alloc.h b/src/common/classes/alloc.h +index 6a27a7b4fb..81a26feffa 100644 +--- a/src/common/classes/alloc.h ++++ b/src/common/classes/alloc.h +@@ -73,6 +73,16 @@ + + #endif + ++#ifdef DEBUG_GDS_ALLOC ++#define ALLOC_ARGS , __FILE__, __LINE__ ++#define ALLOC_PARAMS , const char* file, int line ++#define ALLOC_PASS_ARGS , file, line ++#else ++#define ALLOC_ARGS ++#define ALLOC_PARAMS ++#define ALLOC_PASS_ARGS ++#endif // DEBUG_GDS_ALLOC ++ + namespace Firebird { + + // Maximum number of B+ tree pages kept spare for tree allocation +@@ -395,15 +405,11 @@ class MemoryPool + // This method is needed when C++ runtime can call + // redefined by us operator new before initialization of global variables. + #ifdef LIBC_CALLS_NEW +- static void* globalAlloc(size_t s) THROW_BAD_ALLOC; ++ static void* globalAlloc(size_t s ALLOC_PARAMS) THROW_BAD_ALLOC; + #else // LIBC_CALLS_NEW +- static void* globalAlloc(size_t s) THROW_BAD_ALLOC ++ static void* globalAlloc(size_t s ALLOC_PARAMS) THROW_BAD_ALLOC + { +- return processMemoryPool->allocate(s +-#ifdef DEBUG_GDS_ALLOC +- ,__FILE__, __LINE__ +-#endif +- ); ++ return processMemoryPool->allocate(s ALLOC_PASS_ARGS); + } + #endif // LIBC_CALLS_NEW + +@@ -424,19 +430,7 @@ class MemoryPool + } + + // Allocate zero-initialized block of memory +- void* calloc(size_t size +-#ifdef DEBUG_GDS_ALLOC +- , const char* file = NULL, int line = 0 +-#endif +- ) { +- void* result = allocate(size +-#ifdef DEBUG_GDS_ALLOC +- , file, line +-#endif +- ); +- memset(result, 0, size); +- return result; +- } ++ void* calloc(size_t size ALLOC_PARAMS); + + // Initialize and finalize global memory pool + static void init(); +@@ -498,40 +492,58 @@ using Firebird::MemoryPool; + + inline static MemoryPool* getDefaultMemoryPool() { return Firebird::MemoryPool::processMemoryPool; } + +-#if (( ! __GNUC__ ) || ( __GNUC__ < 6 )) ++// operators new and delete + +-// 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(); + ++inline void* operator new(size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS) THROW_BAD_ALLOC ++{ ++ return pool.allocate(s ALLOC_PASS_ARGS); ++} ++inline void* operator new[](size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS) THROW_BAD_ALLOC ++{ ++ return pool.allocate(s ALLOC_PASS_ARGS); ++} ++ ++inline void operator delete(void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) throw() ++{ ++ MemoryPool::globalFree(mem); ++} ++inline void operator delete[](void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) throw() ++{ ++ MemoryPool::globalFree(mem); ++} ++ + #ifdef DEBUG_GDS_ALLOC +-inline void* operator new(size_t s, Firebird::MemoryPool& pool, const char* file, int line) ++ ++inline void* operator new(size_t s ALLOC_PARAMS) THROW_BAD_ALLOC + { +- return pool.allocate(s, file, line); ++ return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS); + } +-inline void* operator new[](size_t s, Firebird::MemoryPool& pool, const char* file, int line) ++inline void* operator new[](size_t s ALLOC_PARAMS) THROW_BAD_ALLOC + { +- return pool.allocate(s, file, line); ++ return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS); + } +-#define FB_NEW(pool) new(pool, __FILE__, __LINE__) +-#define FB_NEW_RPT(pool, count) new(pool, count, __FILE__, __LINE__) +-#else +-inline void* operator new(size_t s, Firebird::MemoryPool& pool) ++ ++inline void operator delete(void* mem ALLOC_PARAMS) throw() + { +- return pool.allocate(s); ++ MemoryPool::globalFree(mem); + } +-inline void* operator new[](size_t s, Firebird::MemoryPool& pool) ++inline void operator delete[](void* mem ALLOC_PARAMS) throw() + { +- return pool.allocate(s); ++ MemoryPool::globalFree(mem); + } ++ ++#define FB_NEW(pool) new(pool, __FILE__, __LINE__) ++#define FB_NEW_RPT(pool, count) new(pool, count, __FILE__, __LINE__) ++#else // DEBUG_GDS_ALLOC + #define FB_NEW(pool) new(pool) + #define FB_NEW_RPT(pool, count) new(pool, count) +-#endif ++#endif // DEBUG_GDS_ALLOC + + + namespace Firebird +diff --git a/src/include/fb_blk.h b/src/include/fb_blk.h +index b57443f3c4..fdd894408b 100644 +--- a/src/include/fb_blk.h ++++ b/src/include/fb_blk.h +@@ -170,8 +170,8 @@ class pool_alloc : public TypedHandle<BLOCK_TYPE> + + private: + // These operators are off-limits +- void* operator new(size_t s) { return 0; } +- void* operator new[](size_t s) { return 0; } ++ void* operator new(size_t s); ++ void* operator new[](size_t s); + }; + + template<typename RPT, BlockType BLOCK_TYPE = type_unknown> +@@ -193,16 +193,13 @@ class pool_alloc_rpt : public TypedHandle<BLOCK_TYPE> + + private: + // These operations are not supported on static repeat-base objects +- void* operator new[](size_t s, MemoryPool& p) +- { return 0; } +- void operator delete[](void* mem, MemoryPool& p) +- { } +- void operator delete[](void* mem) +- { } ++ void* operator new[](size_t s, MemoryPool& p); ++ void operator delete[](void* mem, MemoryPool& p); ++ void operator delete[](void* mem); + + // These operators are off-limits +- void* operator new(size_t s) { return 0; } +- void* operator new[](size_t s) { return 0; } ++ void* operator new(size_t s); ++ void* operator new[](size_t s); + }; + + #endif // INCLUDE_FB_BLK +diff --git a/src/jrd/gdsassert.h b/src/jrd/gdsassert.h +index 9431479fc7..dd90c38823 100644 +--- a/src/jrd/gdsassert.h ++++ b/src/jrd/gdsassert.h +@@ -28,7 +28,7 @@ + #include <stdlib.h> // abort() + #include <stdio.h> + +-#define FB_ASSERT_FAILURE_STRING "Assertion (%s) failure: %s %"LINEFORMAT"\n" ++#define FB_ASSERT_FAILURE_STRING "Assertion (%s) failure: %s %" LINEFORMAT "\n" + + #ifdef SUPERCLIENT + diff --git a/firebird-icu60.patch b/firebird-icu60.patch new file mode 100644 index 000000000000..6e6340e84d28 --- /dev/null +++ b/firebird-icu60.patch @@ -0,0 +1,60 @@ +From 317ab524ddb41f8d41c16b9d4fe7e87bb953883b Mon Sep 17 00:00:00 2001 +From: AlexPeshkoff <alexander.peshkoff@gmail.com> +Date: Sat, 10 Feb 2018 19:53:37 +0300 +Subject: [PATCH] Make it build with icu60 + +--- + src/intl/cs_icu.cpp | 5 +++++ + src/intl/cv_icu.cpp | 5 +++++ + src/jrd/unicode_util.cpp | 6 ++++++ + 3 files changed, 16 insertions(+) + +diff --git a/src/intl/cs_icu.cpp b/src/intl/cs_icu.cpp +index c4f9a3f52e..94e32540cf 100644 +--- a/src/intl/cs_icu.cpp ++++ b/src/intl/cs_icu.cpp +@@ -28,6 +28,11 @@ + #include "../intl/ldcommon.h" + #include "cs_icu.h" + #include "cv_icu.h" ++ ++#undef U_SHOW_CPLUSPLUS_API ++#define U_SHOW_CPLUSPLUS_API 0 ++#undef UCHAR_TYPE ++#define UCHAR_TYPE uint16_t + #include "unicode/ucnv.h" + + +diff --git a/src/intl/cv_icu.cpp b/src/intl/cv_icu.cpp +index f5f559f011..f226cc25de 100644 +--- a/src/intl/cv_icu.cpp ++++ b/src/intl/cv_icu.cpp +@@ -28,6 +28,11 @@ + #include "../intl/ldcommon.h" + #include "ld_proto.h" + #include "cv_icu.h" ++ ++#undef U_SHOW_CPLUSPLUS_API ++#define U_SHOW_CPLUSPLUS_API 0 ++#undef UCHAR_TYPE ++#define UCHAR_TYPE uint16_t + #include "unicode/ucnv.h" + + +diff --git a/src/jrd/unicode_util.cpp b/src/jrd/unicode_util.cpp +index 19f7016d8d..bda87f9b25 100644 +--- a/src/jrd/unicode_util.cpp ++++ b/src/jrd/unicode_util.cpp +@@ -37,6 +37,12 @@ + #include "../common/classes/init.h" + #include "../common/classes/objects_array.h" + #include "../common/classes/rwlock.h" ++ ++#undef U_SHOW_CPLUSPLUS_API ++#define U_SHOW_CPLUSPLUS_API 0 ++#undef UCHAR_TYPE ++#define UCHAR_TYPE uint16_t ++ + #include "unicode/ustring.h" + #include "unicode/utrans.h" + #include "unicode/uchar.h" |