diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2018-04-17 15:20:05 +0200 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2018-04-17 15:20:18 +0200 |
commit | 0f29ea14c29317389defc689f593aeaa0280b059 (patch) | |
tree | da8c9f3ab21202b8fbaeb6bd3edc3abfe7be0f01 /dev-db/percona-xtrabackup | |
parent | x11-libs/gdk-pixbuf: security cleanup (diff) | |
download | gentoo-0f29ea14c29317389defc689f593aeaa0280b059.tar.gz gentoo-0f29ea14c29317389defc689f593aeaa0280b059.tar.bz2 gentoo-0f29ea14c29317389defc689f593aeaa0280b059.zip |
dev-db/percona-xtrabackup: Fix build problems
Ebuild changes:
===============
- Re-spin "fix-gcc6-isystem" patch.
- Keep lz4 source for "xxhash.c".
- Force gnu++03 instead of GCC 7's default C++14 to avoid
-fpermissive build error. [Bug 87956]
Bug: https://bugs.mysql.com/bug.php?id=87956
Closes: https://bugs.gentoo.org/653360
Package-Manager: Portage-2.3.28, Repoman-2.3.9
Diffstat (limited to 'dev-db/percona-xtrabackup')
-rw-r--r-- | dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.10-fix-gcc6-isystem.patch | 112 | ||||
-rw-r--r-- | dev-db/percona-xtrabackup/percona-xtrabackup-2.4.10.ebuild | 12 |
2 files changed, 120 insertions, 4 deletions
diff --git a/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.10-fix-gcc6-isystem.patch b/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.10-fix-gcc6-isystem.patch new file mode 100644 index 000000000000..c38398a1ce77 --- /dev/null +++ b/dev-db/percona-xtrabackup/files/percona-xtrabackup-2.4.10-fix-gcc6-isystem.patch @@ -0,0 +1,112 @@ +Do not use -isystem to add headers, as they break GCC 6's header wrapping. +See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 + +--- a/client/CMakeLists.txt ++++ b/client/CMakeLists.txt +@@ -52,7 +52,7 @@ IF(NOT WITHOUT_SERVER) + upgrade/program.cc + ) + ADD_COMPILE_FLAGS( +- upgrade/program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ upgrade/program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient client_base mysqlcheck_core) + ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema) +--- a/client/base/CMakeLists.txt ++++ b/client/base/CMakeLists.txt +@@ -49,7 +49,7 @@ ADD_COMPILE_FLAGS( + mutex.cc + mysql_query_runner.cc + show_variable_query_extractor.cc +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + + TARGET_LINK_LIBRARIES(client_base mysqlclient) +--- a/client/dump/CMakeLists.txt ++++ b/client/dump/CMakeLists.txt +@@ -50,7 +50,7 @@ IF(USING_LOCAL_BOOST) + + ADD_COMPILE_FLAGS( + ${BOOST_LIB_SOURCES} +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + + IF(HAVE_clock_gettime_IN_rt) +@@ -145,7 +145,7 @@ TARGET_LINK_LIBRARIES(mysqlpump_lib + + ADD_COMPILE_FLAGS( + ${MYSQLPUMP_LIB_SOURCES} +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + + # Files that use Boost sources that trigger compilation warnings +@@ -179,7 +179,7 @@ ADD_COMPILE_FLAGS( + ) + MYSQL_ADD_EXECUTABLE(mysqlpump program.cc) + ADD_COMPILE_FLAGS( +- program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + + TARGET_LINK_LIBRARIES(mysqlpump mysqlpump_lib ${LOCAL_BOOST_LIB}) +--- a/libmysqld/CMakeLists.txt ++++ b/libmysqld/CMakeLists.txt +@@ -123,7 +123,7 @@ ADD_COMPILE_FLAGS( + ../sql/item_geofunc_setops.cc + ../sql/item_json_func.cc + ../sql/spatial.cc +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + + ADD_COMPILE_FLAGS( +--- a/sql/CMakeLists.txt ++++ b/sql/CMakeLists.txt +@@ -311,7 +311,7 @@ ADD_COMPILE_FLAGS( + item_geofunc_setops.cc + item_json_func.cc + spatial.cc +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + + ADD_COMPILE_FLAGS( +--- a/storage/innobase/xtrabackup/src/CMakeLists.txt ++++ b/storage/innobase/xtrabackup/src/CMakeLists.txt +@@ -79,7 +79,7 @@ SET(keyring_source_files + + ADD_COMPILE_FLAGS( + ${keyring_source_files} +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + -DEMBEDDED_LIBRARY + ) + +--- a/unittest/gunit/CMakeLists.txt ++++ b/unittest/gunit/CMakeLists.txt +@@ -385,7 +385,7 @@ IF (MERGE_UNITTESTS) + ENDIF() + ADD_COMPILE_FLAGS( + ${MERGE_SMALL_TESTS} +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + # Fixes "C1128: number of sections exceeded object file format limit" in MSVC + IF(WIN32) +@@ -467,11 +467,11 @@ ENDIF(MERGE_UNITTESTS) + ENDIF() + ADD_COMPILE_FLAGS( + bounded_queue-t.cc +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + ADD_COMPILE_FLAGS( + pump_object_filter-t.cc +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -isystem ${BOOST_INCLUDE_DIR} ++ COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + + FOREACH(test ${SERVER_TESTS}) diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.10.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.10.ebuild index 6ff3b357bbfe..ec724c075e65 100644 --- a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.10.ebuild +++ b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.10.ebuild @@ -25,7 +25,7 @@ DEPEND=" dev-libs/libgpg-error dev-python/sphinx net-misc/curl - sys-libs/zlib" + sys-libs/zlib:=" RDEPEND=" ${DEPEND} @@ -34,16 +34,16 @@ RDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-2.4.6-remove-boost-version-check.patch - "${FILESDIR}"/${PN}-2.4.6-fix-gcc6-isystem.patch + "${FILESDIR}"/${PN}-2.4.10-fix-gcc6-isystem.patch ) src_prepare() { cmake-utils_src_prepare - # remove bundled lz4, boost, libedit, libevent, zlib + # remove bundled boost, libedit, libevent, zlib # just to be safe... + # We keep lz4 directory because we use extra/lz4/xxhash.c in cmake/libutils.cmake rm -rv \ - extra/lz4 \ include/boost_1_59_0 \ cmd-line-utils/libedit \ libevent \ @@ -57,6 +57,10 @@ src_configure() { # append-cppflags -DDBUG_OFF + # Upstream doesn't support C++14 -- build will fail with -fpermissive error + # https://bugs.mysql.com/bug.php?id=87956 + append-cxxflags $(test-flags-CXX -std=gnu++03) -std=gnu++03 + local mycmakeargs=( -DBUILD_CONFIG=xtrabackup_release -DWITH_EDITLINE=system |