Index: head/databases/xtrabackup/Makefile =================================================================== --- head/databases/xtrabackup/Makefile (revision 536577) +++ head/databases/xtrabackup/Makefile (revision 536578) @@ -1,47 +1,48 @@ # Created by: Alex Samorukov # $FreeBSD$ PORTNAME= xtrabackup -DISTVERSION= 2.4.15 +DISTVERSION= 2.4.20 CATEGORIES= databases -MASTER_SITES= https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PORTVERSION}/source/tarball/:xtrabackup \ - SF/boost/boost/1.59.0/:boost +MASTER_SITES= https://www.percona.com/downloads/Percona-XtraBackup-${PORTVERSION:R}/Percona-XtraBackup-${PORTVERSION}/source/tarball/:xtrabackup \ + https://ftp.osuosl.org/pub/blfs/conglomeration/boost/:boost SF/boost/boost/1.59.0/:boost DISTFILES= percona-${PORTNAME}-${PORTVERSION}.tar.gz:xtrabackup \ boost_1_59_0.tar.bz2:boost MAINTAINER= samm@FreeBSD.org COMMENT= OpenSource version of InnoDB backup with support of Percona extensions LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING BROKEN_armv6= fails to compile: cannot combine with previous 'type-name' declaration specifier BROKEN_armv7= fails to compile: cannot combine with previous 'type-name' declaration specifier BROKEN_mips64= fails to compile: 'fpsetmask' was not declared in this scope # quilt is required by build.sh BUILD_DEPENDS= bash:shells/bash \ cmake:devel/cmake LIB_DEPENDS= libcurl.so:ftp/curl \ libev.so:devel/libev \ libgcrypt.so:security/libgcrypt \ libgpg-error.so:security/libgpg-error RUN_DEPENDS= qpress:archivers/qpress # autotool is in use for 5.1 builds USES= alias autoreconf:build bison cmake:noninja compiler:c++11-lang \ cpe gettext libtool perl5 shebangfix +USE_CXXSTD= c++11 CPE_VENDOR= percona SHEBANG_FILES= storage/innobase/xtrabackup/xbcloud_osenv.sh CMAKE_ARGS= -DWITH_BOOST=${WRKDIR}/boost_1_59_0 -DWITH_VERSION_CHECK=OFF WRKSRC= ${WRKDIR}/percona-${PORTNAME}-${PORTVERSION} PLIST_FILES= bin/xtrabackup bin/xbstream bin/innobackupex bin/xbcrypt \ bin/xbcloud bin/xbcloud_osenv # Not sure why it's trying to install mysql client libraries now post-install: ${RM} -rf ${STAGEDIR}${LOCALBASE}/lib .include Index: head/databases/xtrabackup/distinfo =================================================================== --- head/databases/xtrabackup/distinfo (revision 536577) +++ head/databases/xtrabackup/distinfo (revision 536578) @@ -1,5 +1,5 @@ -TIMESTAMP = 1570253950 -SHA256 (percona-xtrabackup-2.4.15.tar.gz) = ea8e50b50ff7230220329431339a1f3d97af2365a31f2afe6533d13ff95c20db -SIZE (percona-xtrabackup-2.4.15.tar.gz) = 57357749 +TIMESTAMP = 1590443927 +SHA256 (percona-xtrabackup-2.4.20.tar.gz) = 4b751f104de7757dfb9bd83f8f045a17dc9f96325dcf4fb6a3d4b8cd5e499b2d +SIZE (percona-xtrabackup-2.4.20.tar.gz) = 59782001 SHA256 (boost_1_59_0.tar.bz2) = 727a932322d94287b62abb1bd2d41723eec4356a7728909e38adb65ca25241ca SIZE (boost_1_59_0.tar.bz2) = 70389425 Index: head/databases/xtrabackup/files/patch-cmake-install_layout.cmake =================================================================== --- head/databases/xtrabackup/files/patch-cmake-install_layout.cmake (revision 536577) +++ head/databases/xtrabackup/files/patch-cmake-install_layout.cmake (revision 536578) @@ -1,11 +1,11 @@ ---- cmake/install_layout.cmake 2017-02-06 18:02:22.189764000 +0000 -+++ cmake/install_layout.cmake 2017-02-06 18:02:29.642407000 +0000 -@@ -160,7 +160,7 @@ +--- cmake/install_layout.cmake.orig 2020-04-10 19:45:19 UTC ++++ cmake/install_layout.cmake +@@ -160,7 +160,7 @@ SET(INSTALL_INFODIR_STANDALONE "docs") # SET(INSTALL_SHAREDIR_STANDALONE "share") SET(INSTALL_MYSQLSHAREDIR_STANDALONE "share") -SET(INSTALL_MYSQLTESTDIR_STANDALONE "xtrabackup-test") +# SET(INSTALL_MYSQLTESTDIR_STANDALONE "xtrabackup-test") SET(INSTALL_SUPPORTFILESDIR_STANDALONE "support-files") # SET(INSTALL_MYSQLDATADIR_STANDALONE "data") Index: head/databases/xtrabackup/files/patch-cmake_os_FreeBSD.cmake =================================================================== --- head/databases/xtrabackup/files/patch-cmake_os_FreeBSD.cmake (revision 536577) +++ head/databases/xtrabackup/files/patch-cmake_os_FreeBSD.cmake (revision 536578) @@ -1,15 +1,31 @@ ---- cmake/os/FreeBSD.cmake.orig 2019-07-19 15:13:48 UTC +--- cmake/os/FreeBSD.cmake.orig 2020-05-26 05:35:19 UTC +++ cmake/os/FreeBSD.cmake -@@ -30,6 +30,12 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER) - IF(NOT HAVE_SUPPORTED_CLANG_VERSION) - MESSAGE(FATAL_ERROR "Clang 3.3 or newer is required!") +@@ -36,6 +36,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER) + IF(GCC_VERSION VERSION_LESS 4.4) + MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!") ENDIF() ++ CHECK_C_SOURCE_RUNS(" ++ int main() ++ { ++ return (__clang_major__ >= 4); ++ }" I386_ATOMIC_BUILTINS) ++ IF((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (NOT I386_ATOMIC_BUILTINS)) ++ SET(HAVE_GCC_ATOMIC_BUILTINS CACHE INTERNAL "") ++ ENDIF() + ELSEIF(CMAKE_COMPILER_IS_GNUCC) + EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion + OUTPUT_VARIABLE GCC_VERSION) + IF(GCC_VERSION VERSION_LESS 4.4) + MESSAGE(FATAL_ERROR "GCC 4.4 or newer is required!") + ENDIF() ELSE() MESSAGE(FATAL_ERROR "Unsupported compiler!") ENDIF() +@@ -44,4 +58,6 @@ ENDIF() + # Should not be needed any more, but kept for easy resurrection if needed + # #Legacy option, maybe not needed anymore , taken as is from autotools build + # ADD_DEFINITIONS(-DNET_RETRY_COUNT=1000000) +- ++# For GCC maybe it's also good idea to use ++# ADD_DEFINITIONS(-D_GNU_SOURCE) ++ Index: head/databases/xtrabackup/files/patch-storage-myisam-mi_dynrec.c =================================================================== --- head/databases/xtrabackup/files/patch-storage-myisam-mi_dynrec.c (revision 536577) +++ head/databases/xtrabackup/files/patch-storage-myisam-mi_dynrec.c (revision 536578) @@ -1,23 +1,23 @@ ---- storage/myisam/mi_dynrec.c.orig 2018-03-16 23:50:04.334166000 +0300 -+++ storage/myisam/mi_dynrec.c 2018-03-16 23:50:29.996533000 +0300 -@@ -65,18 +65,13 @@ +--- storage/myisam/mi_dynrec.c.orig 2020-04-10 19:45:19 UTC ++++ storage/myisam/mi_dynrec.c +@@ -65,18 +65,13 @@ my_bool mi_dynmap_file(MI_INFO *info, my_off_t size) DBUG_RETURN(1); } /* - I wonder if it is good to use MAP_NORESERVE. From the Linux man page: - MAP_NORESERVE - Do not reserve swap space for this mapping. When swap space is - reserved, one has the guarantee that it is possible to modify the - mapping. When swap space is not reserved one might get SIGSEGV - upon a write if no physical memory is available. + MAP_NORESERVE is unimplemented in FreeBSD */ info->s->file_map= (uchar*) my_mmap(0, (size_t) size, info->s->mode==O_RDONLY ? PROT_READ : PROT_READ | PROT_WRITE, - MAP_SHARED | MAP_NORESERVE, + MAP_SHARED, info->dfile, 0L); if (info->s->file_map == (uchar*) MAP_FAILED) {