diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-db/gigabase/files | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-db/gigabase/files')
3 files changed, 279 insertions, 0 deletions
diff --git a/dev-db/gigabase/files/gigabase-3.83-cpp14.patch b/dev-db/gigabase/files/gigabase-3.83-cpp14.patch new file mode 100644 index 000000000000..47d2a1a540ff --- /dev/null +++ b/dev-db/gigabase/files/gigabase-3.83-cpp14.patch @@ -0,0 +1,34 @@ +This patch fixes GCC6 (C++14) compilation errors. It replaces two invalid macro +calls with correct code in one place. It also removes redefinitions of fmax and +fmin functions which exist in standard library since C++11. +Gentoo-bug: https://bugs.gentoo.org/show_bug.cgi?id=594550 + +--- a/testddl.cpp ++++ b/testddl.cpp +@@ -102,8 +102,13 @@ + + REGISTER(Record); + ++#if __cplusplus < 201103L + USER_FUNC(sin); + USER_FUNC(cos); ++#else ++static dbUserFunction fsin_descriptor((double (*)(double))&sin, STRLITERAL("sin")); ++static dbUserFunction fcos_descriptor((double (*)(double))&cos, STRLITERAL("cos")); ++#endif + + int __cdecl main() + { +--- a/testtimeseries.cpp ++++ b/testtimeseries.cpp +@@ -47,8 +47,10 @@ + REGISTER(Stock); + + inline int random(unsigned mod) { return rand() % mod; } ++#if __cplusplus < 201103L + inline float fmax(float x, float y) { return x > y ? x : y; } + inline float fmin(float x, float y) { return x < y ? x : y; } ++#endif + + int main(int argc, char* argv[]) + { diff --git a/dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch b/dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch new file mode 100644 index 000000000000..d807bc9a7fdb --- /dev/null +++ b/dev-db/gigabase/files/gigabase-3.83-fix-build-system.patch @@ -0,0 +1,63 @@ +Fix build system to respect DESTDIR and rename subsql to subsql-gdb, +in order to avoid name clash with FastDB version of subsql. + +--- a/Makefile.in ++++ b/Makefile.in +@@ -21,7 +21,7 @@ + # Place where to copy Gigabase library + libdir = @libdir@ + +-# Place where to copy Gigabase subsql utility ++# Place where to copy Gigabase subsql-gdb utility + bindir = @bindir@ + + VERSION = 2 +@@ -42,7 +42,7 @@ + + GB_LIB = libgigabase$(SUFF).${LIBEXT} + CLI_LIB = libcli$(SUFF).${LIBEXT} +-EXES = subsql ++EXES = subsql-gdb + + EXAMPLES = guess testdb testjoin testddl testperf testspat testperf2 testsync testiref testtrav testidx testidx2 clitest testblob testleak testsession testtimeseries testtl + WEB_EXAMPLES = cgistub bugdb clidb +@@ -90,8 +90,8 @@ + clitest: clitest.o $(CLI_LIB) + $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o clitest clitest.o $(CLI_LIB) $(SOCKLIBS) + +-subsql: subsql.o $(GB_LIB) +- $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o subsql subsql.o $(GB_LIB) $(SOCKLIBS) ++subsql-gdb: subsql.o $(GB_LIB) ++ $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o subsql-gdb subsql.o $(GB_LIB) $(SOCKLIBS) + + bugdb: bugdb.o $(GB_LIB) + $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o bugdb bugdb.o $(GB_LIB) $(SOCKLIBS) +@@ -153,18 +153,18 @@ + testleak: testleak.o $(GB_LIB) + $(LIBTOOL) --mode=link $(LD) $(LDFLAGS) -o testleak testleak.o $(GB_LIB) $(SLHACK) + +-install: subsql $(GB_LIB) $(CLI_LIB) +- mkdir -p $(includedir) +- cp $(INCS) $(CLI_INCS) $(includedir) +- mkdir -p $(libdir) +- $(LIBTOOL) --mode=install $(INSTALL) $(GB_LIB) $(CLI_LIB) $(libdir) +- mkdir -p $(bindir) +- if test -x .libs/subsql ; then \ +- cp .libs/subsql $(bindir); \ ++install: subsql-gdb $(GB_LIB) $(CLI_LIB) ++ mkdir -p $(DESTDIR)$(includedir) ++ cp $(INCS) $(CLI_INCS) $(DESTDIR)$(includedir) ++ mkdir -p $(DESTDIR)$(libdir) ++ $(LIBTOOL) --mode=install $(INSTALL) $(GB_LIB) $(CLI_LIB) $(DESTDIR)$(libdir) ++ mkdir -p $(DESTDIR)$(bindir) ++ if test -x .libs/subsql-gdb ; then \ ++ cp .libs/subsql-gdb $(DESTDIR)$(bindir); \ + else \ +- cp subsql $(bindir); \ ++ cp subsql-gdb $(DESTDIR)$(bindir); \ + fi +-# strip $(bindir)/subsql ++# strip $(bindir)/subsql-gdb + + clean: + rm -f *.o *.lo core *~ diff --git a/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch b/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch new file mode 100644 index 000000000000..d2f0669d24fa --- /dev/null +++ b/dev-db/gigabase/files/gigabase-3.83-fix-dereferencing.patch @@ -0,0 +1,182 @@ +--- a/session.cpp ++++ b/session.cpp +@@ -131,7 +131,7 @@ + throw CursorException("Cursor is not opened"); + } + fillBuffer(sizeof(oid_t)); +- oid_t currOid = *(oid_t*)&sockBuf[bufPos]; ++ oid_t currOid = *(oid_t*)(sockBuf + bufPos); + bufPos += sizeof(oid_t); + if (currObj != NULL) { + delete[] currObj; +@@ -139,7 +139,7 @@ + } + if (currOid != 0) { + fillBuffer(sizeof(int)); +- size_t size = *(int*)&sockBuf[bufPos]; ++ size_t size = *(int*)(sockBuf + bufPos); + if (size <= SOCKET_BUFFER_SIZE) { + fillBuffer(size); + if (record != NULL) { +--- a/database.cpp ++++ b/database.cpp +@@ -739,40 +739,55 @@ + return; + + case dbvmInvokeMethodBool: +- execute(expr->ref.base, iattr, sattr); +- expr->ref.field->method->invoke(sattr.base, &sattr.bvalue); +- sattr.bvalue = *(bool*)&sattr.bvalue; +- iattr.free(sattr); +- return; ++ { ++ bool val; ++ execute(expr->ref.base, iattr, sattr); ++ expr->ref.field->method->invoke(sattr.base, &val); ++ sattr.bvalue = val; ++ iattr.free(sattr); ++ return; ++ } + case dbvmInvokeMethodInt1: +- execute(expr->ref.base, iattr, sattr); +- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue); +- sattr.ivalue = *(int1*)&sattr.ivalue; +- iattr.free(sattr); +- return; ++ { ++ int1 val; ++ execute(expr->ref.base, iattr, sattr); ++ expr->ref.field->method->invoke(sattr.base, &val); ++ sattr.ivalue = val; ++ iattr.free(sattr); ++ return; ++ } + case dbvmInvokeMethodInt2: +- execute(expr->ref.base, iattr, sattr); +- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue); +- sattr.ivalue = *(int2*)&sattr.ivalue; +- iattr.free(sattr); +- return; ++ { ++ int2 val; ++ execute(expr->ref.base, iattr, sattr); ++ expr->ref.field->method->invoke(sattr.base, &val); ++ sattr.ivalue = val; ++ iattr.free(sattr); ++ return; ++ } + case dbvmInvokeMethodInt4: +- execute(expr->ref.base, iattr, sattr); +- expr->ref.field->method->invoke(sattr.base, &sattr.ivalue); +- sattr.ivalue = *(int4*)&sattr.ivalue; +- iattr.free(sattr); +- return; ++ { ++ int4 val; ++ execute(expr->ref.base, iattr, sattr); ++ expr->ref.field->method->invoke(sattr.base, &val); ++ sattr.ivalue = val; ++ iattr.free(sattr); ++ return; ++ } + case dbvmInvokeMethodInt8: + execute(expr->ref.base, iattr, sattr); + expr->ref.field->method->invoke(sattr.base, &sattr.ivalue); + iattr.free(sattr); + return; + case dbvmInvokeMethodReal4: +- execute(expr->ref.base, iattr, sattr); +- expr->ref.field->method->invoke(sattr.base, &sattr.fvalue); +- sattr.fvalue = *(real4*)&sattr.fvalue; +- iattr.free(sattr); +- return; ++ { ++ real4 val; ++ execute(expr->ref.base, iattr, sattr); ++ expr->ref.field->method->invoke(sattr.base, &val); ++ sattr.fvalue = val; ++ iattr.free(sattr); ++ return; ++ } + case dbvmInvokeMethodReal8: + execute(expr->ref.base, iattr, sattr); + expr->ref.field->method->invoke(sattr.base, &sattr.fvalue); +@@ -792,28 +807,43 @@ + return; + + case dbvmInvokeSelfMethodBool: +- expr->ref.field->method->invoke(iattr.record, &sattr.bvalue); +- sattr.bvalue = *(bool*)&sattr.bvalue; +- return; ++ { ++ bool val; ++ expr->ref.field->method->invoke(iattr.record, &val); ++ sattr.bvalue = val; ++ return; ++ } + case dbvmInvokeSelfMethodInt1: +- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue); +- sattr.ivalue = *(int1*)&sattr.ivalue; +- return; ++ { ++ int1 val; ++ expr->ref.field->method->invoke(iattr.record, &val); ++ sattr.ivalue = val; ++ return; ++ } + case dbvmInvokeSelfMethodInt2: +- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue); +- sattr.ivalue = *(int2*)&sattr.ivalue; +- return; ++ { ++ int2 val; ++ expr->ref.field->method->invoke(iattr.record, &val); ++ sattr.ivalue = val; ++ return; ++ } + case dbvmInvokeSelfMethodInt4: +- expr->ref.field->method->invoke(iattr.record, &sattr.ivalue); +- sattr.ivalue = *(int4*)&sattr.ivalue; +- return; ++ { ++ int4 val; ++ expr->ref.field->method->invoke(iattr.record, &val); ++ sattr.ivalue = val; ++ return; ++ } + case dbvmInvokeSelfMethodInt8: + expr->ref.field->method->invoke(iattr.record, &sattr.ivalue); + return; + case dbvmInvokeSelfMethodReal4: +- expr->ref.field->method->invoke(iattr.record, &sattr.fvalue); +- sattr.fvalue = *(real4*)&sattr.fvalue; +- return; ++ { ++ real4 val; ++ expr->ref.field->method->invoke(iattr.record, &val); ++ sattr.fvalue = *(real4*)&sattr.fvalue; ++ return; ++ } + case dbvmInvokeSelfMethodReal8: + expr->ref.field->method->invoke(iattr.record, &sattr.fvalue); + return; +--- a/server.cpp ++++ b/server.cpp +@@ -2097,7 +2097,7 @@ + bufUsed = 0; + } + oid_t oid = cursor.getOid(); +- *(oid_t*)&buf[bufUsed] = oid; ++ *(oid_t*)(buf + bufUsed) = oid; + bufUsed += sizeof(oid_t); + dbRecord* record = db->getRow(tie, oid); + size_t size = record->size; +@@ -2129,7 +2129,7 @@ + bufUsed = 0; + } + } +- *(oid_t*)&buf[bufUsed] = 0; ++ *(oid_t*)(buf + bufUsed) = 0; + return session->sock->write(buf, bufUsed + sizeof(oid_t)); + } + |