Index: head/databases/xtrabackup8/Makefile =================================================================== --- head/databases/xtrabackup8/Makefile (revision 554945) +++ head/databases/xtrabackup8/Makefile (revision 554946) @@ -1,53 +1,63 @@ # Created by: Alex Samorukov # $FreeBSD$ PORTNAME= xtrabackup PORTVERSION= 8.0.14 PORTREVISION= 1 CATEGORIES= databases MASTER_SITES= https://www.percona.com/downloads/Percona-XtraBackup-${PORTVERSION:R}/Percona-XtraBackup-${PORTVERSION}/source/tarball/ \ https://github.com/percona/percona-xtrabackup/archive/ PKGNAMESUFFIX= 8 DISTNAME= percona-${PORTNAME}-${PORTVERSION} MAINTAINER= eugene@zhegan.in COMMENT= Open-source backup tool for InnoDB and XtraDB LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= xxd:editors/vim-console \ boost-libs>=1.72.0:devel/boost-libs \ protobuf>=3.0:devel/protobuf \ rapidjson>=1.1.0:devel/rapidjson \ libevent>=2.1:devel/libevent LIB_DEPENDS= libcurl.so:ftp/curl \ libev.so:devel/libev \ libgcrypt.so:security/libgcrypt \ libgpg-error.so:security/libgpg-error \ libicudata.so:devel/icu \ libunwind.so:devel/libunwind \ libzstd.so:archivers/zstd RUN_DEPENDS= qpress:archivers/qpress CONFLICTS_INSTALL= ${PORTNAME} USES= bison cmake compiler:c++14-lang cpe pkgconfig ssl CPE_VENDOR= percona CMAKE_ARGS= -DBUILD_CONFIG:STRING=xtrabackup_release .for component in EDITLINE ICU LIBEVENT PROTOBUF RAPIDJSON ZSTD CMAKE_ARGS+= -DWITH_${component}:STRING=system .endfor -post-patch: +# Since MySQL 8.0.20 InnoDB engine uses new memory alligned allocator +# which is broken on i386 due to different size of types and causes a +# 'static_assert(alignof(T) <= alignof(std::max_align_t))' error +.if ${ARCH} == i386 +CMAKE_ARGS+= -DDISABLE_PSI_MEMORY=1 +.endif + +post-extract: # Delete bundled components so we won't accidentally use them, except LZ4 # which cannot be removed just yet @${MV} ${WRKSRC}/extra/lz4 ${WRKSRC} @${RM} -r ${WRKSRC}/extra/* @${MV} ${WRKSRC}/lz4 ${WRKSRC}/extra + +post-patch: + @${REINPLACE_CMD} -e 's,TRUE,true,' ${WRKSRC}/sql/mysqld.cc post-stage: @${RM} -r ${STAGEDIR}${PREFIX}/docs @${RMDIR} ${STAGEDIR}${PREFIX}/lib/plugin/debug .include Index: head/databases/xtrabackup8/files/patch-storage_temptable_include_temptable_lock_free_type.h =================================================================== --- head/databases/xtrabackup8/files/patch-storage_temptable_include_temptable_lock_free_type.h (nonexistent) +++ head/databases/xtrabackup8/files/patch-storage_temptable_include_temptable_lock_free_type.h (revision 554946) @@ -0,0 +1,17 @@ +--- storage/temptable/include/temptable/lock_free_type.h.orig 2020-06-16 16:31:03 UTC ++++ storage/temptable/include/temptable/lock_free_type.h +@@ -31,6 +31,14 @@ Lock-free type (selection) implementation. */ + + #include "storage/temptable/include/temptable/constants.h" + ++#if defined(__i386__) //&& defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) ++/* Fix for clang setting __GCC_ATOMIC_LLONG_LOCK_FREE incorecctly for x86 ++ * https://llvm.org/bugs/show_bug.cgi?id=19355 ++ */ ++#undef ATOMIC_LLONG_LOCK_FREE ++#define ATOMIC_LLONG_LOCK_FREE 2 ++#endif ++ + namespace temptable { + + /** Enum class describing alignment-requirements. */ Property changes on: head/databases/xtrabackup8/files/patch-storage_temptable_include_temptable_lock_free_type.h ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property