dev-db/firebird: Builds, but the install phase needs more analysis
authorAndreas K. Hüttel <dilfridge@gentoo.org>
Fri, 19 May 2017 23:42:38 +0000 (01:42 +0200)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Fri, 19 May 2017 23:43:06 +0000 (01:43 +0200)
Package-Manager: Portage-2.3.5, Repoman-2.3.2

dev-db/firebird/files/firebird-3.0.2.32703.0-cloop-compiler.patch [new file with mode: 0644]
dev-db/firebird/files/firebird-3.0.2.32703.0-gcc6.patch [new file with mode: 0644]
dev-db/firebird/firebird-3.0.2.32703.0.ebuild

diff --git a/dev-db/firebird/files/firebird-3.0.2.32703.0-cloop-compiler.patch b/dev-db/firebird/files/firebird-3.0.2.32703.0-cloop-compiler.patch
new file mode 100644 (file)
index 0000000..363602b
--- /dev/null
@@ -0,0 +1,15 @@
+Source: LibreOffice git master
+
+
+diff -ur firebird.org/extern/cloop/Makefile firebird/extern/cloop/Makefile
+--- firebird.org/extern/cloop/Makefile 2016-08-17 18:32:59.078044357 +0200
++++ firebird/extern/cloop/Makefile     2016-08-17 18:33:14.430518561 +0200
+@@ -4,8 +4,6 @@
+ 
+ TARGET        := release
+ 
+-CC    := gcc
+-CXX   := g++
+ LD    := $(CXX)
+ 
+ SRC_DIR               := src
diff --git a/dev-db/firebird/files/firebird-3.0.2.32703.0-gcc6.patch b/dev-db/firebird/files/firebird-3.0.2.32703.0-gcc6.patch
new file mode 100644 (file)
index 0000000..e136141
--- /dev/null
@@ -0,0 +1,19 @@
+commit 3618aa2171674babf79ef935aa049c40a3db1321
+Author: asfernandes <asfernandes@users.sourceforge.net>
+Date:   Sat Mar 5 03:39:36 2016 +0000
+
+    Make the generated code compatible with gcc 6 in C++-14 mode.
+
+diff --git a/src/gpre/c_cxx.cpp b/src/gpre/c_cxx.cpp
+index 2af96c6..2dcffd6 100644
+--- a/src/gpre/c_cxx.cpp
++++ b/src/gpre/c_cxx.cpp
+@@ -2820,7 +2820,7 @@ static void gen_request(const gpre_req* request)
+               printa(0, "static %sshort\n   isc_%dl = %d;",
+                          (request->req_flags & REQ_extend_dpb) ? "" : CONST_STR,
+                          request->req_ident, request->req_length);
+-              printa(0, "static %schar\n   isc_%d [] = {", CONST_STR, request->req_ident);
++              printa(0, "static %sunsigned char\n   isc_%d [] = {", CONST_STR, request->req_ident);
+ 
+               const TEXT* string_type = "blr";
+               if (gpreGlob.sw_raw)
index 9180b5aa186fb76c050775e50dcfe5a7eabc55a9..4cf71cd1fe150b7faf82a4f272098b9f78b3b99b 100644 (file)
@@ -34,9 +34,10 @@ RDEPEND="${CDEPEND}
 
 S="${WORKDIR}/${MY_P}"
 
-# this is work in progress and likely does not build yet
 PATCHES=(
-       "${FILESDIR}/${P}-unbundle.patch"
+       "${FILESDIR}/${P}"-unbundle.patch
+       "${FILESDIR}/${P}"-gcc6.patch
+       "${FILESDIR}/${P}"-cloop-compiler.patch
 )
 
 pkg_setup() {
@@ -84,11 +85,10 @@ src_configure() {
        filter-flags -fprefetch-loop-arrays
        filter-mfpmath sse
 
-       # otherwise this doesnt build with gcc-6?
+       # otherwise this doesnt build with gcc-6
        # http://tracker.firebirdsql.org/browse/CORE-5099
        append-cflags -fno-sized-deallocation -fno-delete-null-pointer-checks
-       append-cxxflags -fno-sized-deallocation -fno-delete-null-pointer-checks -Wno-narrowing
-       # -std=c++11
+       append-cxxflags -fno-sized-deallocation -fno-delete-null-pointer-checks
 
        econf \
                --prefix=/usr/$(get_libdir)/firebird \
@@ -130,8 +130,6 @@ src_install() {
 
        doheader include/*
 
-       rm lib/libfbstatic.a || die "failed to remove libfbstatic.a"
-
        insinto /usr/$(get_libdir)
        dolib.so lib/*.so*
 
@@ -146,29 +144,12 @@ src_install() {
        einfo "Renaming isql -> fbsql"
        mv bin/isql bin/fbsql || die "failed to rename isql -> fbsql"
 
-       local bins="fbsql fbsvcmgr fbtracemgr gbak gdef gfix gpre gsec gstat nbackup qli"
+       local bins="fbguard fbsql fbsvcmgr fbtracemgr firebird gbak gfix gpre gpre_boot gpre_current gsec gsplit gstat nbackup qli"
        for bin in ${bins}; do
                dobin bin/${bin}
        done
 
        dosbin bin/fb_lock_print
-       # SuperServer
-       if use superserver ; then
-               dosbin bin/{fbguard,fbserver}
-       # ClassicServer
-       elif use xinetd ; then
-               dosbin bin/fb_inet_server
-       # SuperClassic
-       else
-               dosbin bin/{fbguard,fb_smp_server}
-
-               #Temp should not be necessary, need to patch/fix
-               dosym ../../libib_util.so /usr/$(get_libdir)/${PN}/lib/libib_util.so
-       fi
-
-       exeinto /usr/bin/${PN}
-       exeopts -m0755
-       doexe bin/{changeRunUser,restoreRootRunUser,changeDBAPassword}.sh
 
        insinto /usr/$(get_libdir)/${PN}/help
        doins help/help.fdb