aboutsummaryrefslogtreecommitdiff
path: root/databases/xtrabackup80
diff options
context:
space:
mode:
authorEugene Grosbein <eugen@FreeBSD.org>2024-02-22 08:52:06 +0000
committerEugene Grosbein <eugen@FreeBSD.org>2024-02-22 09:35:51 +0000
commit147efd9835e16cae10637c56e34325d1b4c573c2 (patch)
treeae93b3e8a802fedde3a2ba8f9d174965980a70ff /databases/xtrabackup80
parentcc466608a4a986db9f2da72fa0bb1dd71ad6bcf8 (diff)
downloadports-147efd9835e16cae10637c56e34325d1b4c573c2.tar.gz
ports-147efd9835e16cae10637c56e34325d1b4c573c2.zip
databases/xtrabackup80: renamed from databases/xtrabackup8 and updated
The port databases/xtrabackup8 upgraded to version 8.0.35-30 and renamed to databases/xtrabackup80 in preparation for upcoming incompatible branch databases/xtrabackup81, to avoid confusion. Drop unused dependency on libncurses. The update based on maintainer's submittion. PR: 277088 Tested by: Eugene M. Zheganin (maintainer) Approved by: Eugene M. Zheganin (maintainer)
Diffstat (limited to 'databases/xtrabackup80')
-rw-r--r--databases/xtrabackup80/Makefile89
-rw-r--r--databases/xtrabackup80/distinfo5
-rw-r--r--databases/xtrabackup80/files/patch-CMakeLists.txt22
-rw-r--r--databases/xtrabackup80/files/patch-cmake-install_layout.cmake11
-rw-r--r--databases/xtrabackup80/files/patch-cmake_os_FreeBSD.cmake23
-rw-r--r--databases/xtrabackup80/files/patch-file_utils20
-rw-r--r--databases/xtrabackup80/files/patch-llvm-1528
-rw-r--r--databases/xtrabackup80/files/patch-procps28
-rw-r--r--databases/xtrabackup80/files/patch-protobuf10
-rw-r--r--databases/xtrabackup80/files/patch-storage_innobase_log__log0recv.cc29
-rw-r--r--databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_src_utils.cc59
-rw-r--r--databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh15
-rw-r--r--databases/xtrabackup80/files/patch-storage_temptable_include_temptable_lock_free_type.h17
-rw-r--r--databases/xtrabackup80/pkg-descr4
-rw-r--r--databases/xtrabackup80/pkg-plist10
15 files changed, 370 insertions, 0 deletions
diff --git a/databases/xtrabackup80/Makefile b/databases/xtrabackup80/Makefile
new file mode 100644
index 000000000000..65315e7d2baf
--- /dev/null
+++ b/databases/xtrabackup80/Makefile
@@ -0,0 +1,89 @@
+PORTNAME= xtrabackup80
+PORTVERSION= 8.0.35
+DISTVERSIONSUFFIX= -30
+CATEGORIES= databases
+MASTER_SITES= https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-30/source/tarball/:percona \
+ SF/boost/boost/${BOOST_VERSION}:boost
+DISTFILES= ${PPORTNAME}-${DVERSION}${EXTRACT_SUFX}:percona \
+ boost_${BOOST_VERSION_UNDER}${EXTRACT_SUFX}:boost
+
+MAINTAINER= eugene@zhegan.in
+COMMENT= Open-source backup tool for InnoDB and XtraDB
+WWW= https://www.percona.com/doc/percona-xtrabackup/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= 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 \
+ libprotobuf-lite.so:devel/protobuf \
+ libunwind.so:devel/libunwind \
+ libzstd.so:archivers/zstd
+RUN_DEPENDS= qpress:archivers/qpress
+
+USES= bison cmake compiler:c++14-lang cpe pkgconfig ssl
+CPE_VENDOR= percona
+CMAKE_ARGS= -DBUILD_CONFIG:STRING=xtrabackup_release \
+ -DWITHOUT_COMPONENT_KEYRING_KMIP:STRING=yes \
+ -DWITH_VERSION_CHECK=false
+
+.for component in EDITLINE ICU LIBEVENT PROTOBUF RAPIDJSON ZSTD
+CMAKE_ARGS+= -DWITH_${component}:STRING=system
+.endfor
+
+CONFLICTS_INSTALL= ${PORTNAME:C/.$//}*
+
+# Bundle last supported Boost release
+BOOST_VERSION= 1.77.0
+BOOST_VERSION_UNDER= ${BOOST_VERSION:C/\./_/g}
+
+CMAKE_ARGS+= -DWITH_BOOST=${WRKDIR}/boost_${BOOST_VERSION_UNDER}
+
+# Build fails without NDEBUG, so force it
+CFLAGS+= -DNDEBUG
+CXXFLAGS+= -DNDEBUG
+
+DVERSION= ${PORTVERSION}${DISTVERSIONSUFFIX}
+PPORTNAME= percona-xtrabackup
+WRKSRC= ${WRKDIR}/${PPORTNAME}-${DVERSION}
+
+.include <bsd.port.pre.mk>
+
+# 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
+CXXFLAGS+= -malign-double
+.endif
+
+KEEP_EXTRA= lz4 robin-hood-hashing zlib
+
+post-patch:
+.for d in storage/innobase/xtrabackup/src sql/protobuf
+ ${REINPLACE_CMD} 's,%%PREFIX%%,${PREFIX},' ${WRKSRC}/${d}/CMakeLists.txt
+.endfor
+.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 160
+ @${REINPLACE_CMD} -e 's|std::unary_function|std::__unary_function|' \
+ ${WRKSRC}/../boost_${BOOST_VERSION_UNDER}/boost/container_hash/hash.hpp
+.endif
+
+pre-configure:
+.for dir in ${KEEP_EXTRA}
+ @${MV} ${WRKSRC}/extra/${dir} ${WRKDIR}
+.endfor
+ @${RM} -r ${WRKSRC}/extra/*
+.for dir in ${KEEP_EXTRA}
+ @${MV} ${WRKDIR}/${dir} ${WRKSRC}/extra
+.endfor
+
+post-stage:
+ @${RM} -r ${STAGEDIR}${PREFIX}/docs ${STAGEDIR}${PREFIX}/man
+ @${RMDIR} ${STAGEDIR}${PREFIX}/lib/plugin/debug
+
+.include <bsd.port.post.mk>
diff --git a/databases/xtrabackup80/distinfo b/databases/xtrabackup80/distinfo
new file mode 100644
index 000000000000..53dc0ae04280
--- /dev/null
+++ b/databases/xtrabackup80/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1677255149
+SHA256 (percona-xtrabackup-8.0.35-30.tar.gz) = 8a3632a5a7a91834800f4f83902468bccff1d979e82347c0372b39a97b0c85f0
+SIZE (percona-xtrabackup-8.0.35-30.tar.gz) = 447842768
+SHA256 (boost_1_77_0.tar.gz) = 5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131
+SIZE (boost_1_77_0.tar.gz) = 130620992
diff --git a/databases/xtrabackup80/files/patch-CMakeLists.txt b/databases/xtrabackup80/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..750740325604
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-CMakeLists.txt
@@ -0,0 +1,22 @@
+--- CMakeLists.txt.orig 2023-11-24 17:33:10.000000000 +0700
++++ CMakeLists.txt 2024-02-17 02:31:46.069754000 +0700
+@@ -2078,8 +2078,6 @@
+ ENDIF()
+ ENDIF()
+
+-ADD_SUBDIRECTORY(extra/libkmip)
+-
+ #
+ # Setup maintainer mode options by the end. Platform checks are
+ # not run with the warning options as to not perturb fragile checks
+@@ -2322,10 +2320,6 @@
+
+ IF(ENABLE_GCOV)
+ INCLUDE(fastcov)
+-ENDIF()
+-
+-IF(UNIX)
+- ADD_SUBDIRECTORY(man)
+ ENDIF()
+
+ IF(LINUX AND NOT WITHOUT_SERVER)
diff --git a/databases/xtrabackup80/files/patch-cmake-install_layout.cmake b/databases/xtrabackup80/files/patch-cmake-install_layout.cmake
new file mode 100644
index 000000000000..e823abeffe31
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-cmake-install_layout.cmake
@@ -0,0 +1,11 @@
+--- 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")
diff --git a/databases/xtrabackup80/files/patch-cmake_os_FreeBSD.cmake b/databases/xtrabackup80/files/patch-cmake_os_FreeBSD.cmake
new file mode 100644
index 000000000000..624f462e7542
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-cmake_os_FreeBSD.cmake
@@ -0,0 +1,23 @@
+--- cmake/os/FreeBSD.cmake.orig 2020-05-26 05:35:19 UTC
++++ cmake/os/FreeBSD.cmake
+@@ -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()
diff --git a/databases/xtrabackup80/files/patch-file_utils b/databases/xtrabackup80/files/patch-file_utils
new file mode 100644
index 000000000000..a23aa72136d4
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-file_utils
@@ -0,0 +1,20 @@
+--- storage/innobase/xtrabackup/src/file_utils.cc.orig 2023-11-24 17:33:10.000000000 +0700
++++ storage/innobase/xtrabackup/src/file_utils.cc 2024-02-17 00:40:45.193255000 +0700
+@@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Bos
+
+ #include "file_utils.h"
+ #include <mysql/service_mysql_alloc.h>
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined (__FreeBSD__)
+ #include <sys/event.h>
+ #else
+ #include <sys/epoll.h>
+@@ -391,7 +391,7 @@ File open_fifo_for_read_with_timeout(const char *path,
+ }
+
+ /* File was open, lets check its open on the other side */
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(__FreeBSD__)
+ struct timespec tm = {timeout, 0};
+ int kqueue_fd = kqueue();
+ if (kqueue_fd < 0) {
diff --git a/databases/xtrabackup80/files/patch-llvm-15 b/databases/xtrabackup80/files/patch-llvm-15
new file mode 100644
index 000000000000..094f83fbb98b
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-llvm-15
@@ -0,0 +1,28 @@
+--- storage/innobase/include/ddl0impl.h.orig 2023-11-24 13:33:10.000000000 +0300
++++ storage/innobase/include/ddl0impl.h 2024-02-16 15:06:59.137578000 +0300
+@@ -118,14 +118,6 @@
+
+ /** Physical row context. */
+ struct Row {
+- /** Constructor. */
+- Row() = default;
+-
+- Row(const Row &) = default;
+-
+- /** Destructor. */
+- ~Row() = default;
+-
+ Row &operator=(const Row &) = default;
+
+ /** Build a row from a raw record.
+--- unittest/gunit/mysys_my_rdtsc-t.cc.orig 2024-02-16 15:08:36.323297000 +0300
++++ unittest/gunit/mysys_my_rdtsc-t.cc 2024-02-16 15:08:40.000582000 +0300
+@@ -145,7 +145,7 @@
+ ulonglong t1 = my_timer_nanoseconds();
+ ulonglong t2;
+ int i;
+- int backward = 0;
++ int backward [[maybe_unused]] = 0;
+ int nonzero = 0;
+
+ for (i = 0; i < LOOP_COUNT; i++) {
diff --git a/databases/xtrabackup80/files/patch-procps b/databases/xtrabackup80/files/patch-procps
new file mode 100644
index 000000000000..733821dd7c65
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-procps
@@ -0,0 +1,28 @@
+--- storage/innobase/xtrabackup/src/CMakeLists.txt.orig 2023-11-24 13:33:10.000000000 +0300
++++ storage/innobase/xtrabackup/src/CMakeLists.txt 2024-02-16 15:38:03.294091000 +0300
+@@ -20,8 +20,9 @@
+
+ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
+
++INCLUDE_DIRECTORIES(%%PREFIX%%/include)
++
+ FIND_GCRYPT()
+-FIND_PROCPS()
+
+ CHECK_TYPE_SIZE("unsigned long" SIZEOF_UNSIGNED_LONG)
+
+@@ -134,14 +135,6 @@
+ ext::icu
+ crc
+ )
+-
+-IF(NOT APPLE)
+- IF(PROCPS_VERSION EQUAL 4)
+- TARGET_LINK_LIBRARIES(xtrabackup proc2)
+- ELSE()
+- TARGET_LINK_LIBRARIES(xtrabackup procps)
+- ENDIF()
+-ENDIF()
+
+ # We depend on protobuf because of the mysqlx plugin and replication.
+ IF(UNIX_INSTALL_RPATH_ORIGIN_PRIV_LIBDIR)
diff --git a/databases/xtrabackup80/files/patch-protobuf b/databases/xtrabackup80/files/patch-protobuf
new file mode 100644
index 000000000000..f1bd482d944a
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-protobuf
@@ -0,0 +1,10 @@
+--- sql/protobuf/CMakeLists.txt.orig 2023-11-24 17:33:10.000000000 +0700
++++ sql/protobuf/CMakeLists.txt 2024-02-17 02:13:42.264307000 +0700
+@@ -21,6 +21,7 @@
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ INCLUDE(${CMAKE_SOURCE_DIR}/cmake/protobuf.cmake)
++INCLUDE_DIRECTORIES(%%PREFIX%%/include)
+
+ SET(PROTOBUF_LITE_LIB_NAME rpl_protobuf_lite)
+
diff --git a/databases/xtrabackup80/files/patch-storage_innobase_log__log0recv.cc b/databases/xtrabackup80/files/patch-storage_innobase_log__log0recv.cc
new file mode 100644
index 000000000000..4f6c96125878
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-storage_innobase_log__log0recv.cc
@@ -0,0 +1,29 @@
+--- storage/innobase/log/log0recv.cc.orig 2023-11-24 13:33:10.000000000 +0300
++++ storage/innobase/log/log0recv.cc 2024-02-16 15:16:49.528584000 +0300
+@@ -3702,7 +3702,7 @@
+ #else /* !UNIV_HOTBACKUP */
+ bool meb_scan_log_recs(
+ #endif /* !UNIV_HOTBACKUP */
+- size_t *max_memory, const byte *buf, size_t len,
++ size_t max_memory, const byte *buf, size_t len,
+ lsn_t start_lsn, lsn_t *read_upto_lsn,
+ lsn_t to_lsn) {
+ const byte *log_block = buf;
+@@ -3975,7 +3975,7 @@
+ recv_parse_log_recs();
+
+ #ifndef UNIV_HOTBACKUP
+- if (recv_heap_used() > *max_memory) {
++ if (recv_heap_used() > max_memory) {
+ recv_apply_hashed_log_recs(log, false);
+ }
+ #endif /* !UNIV_HOTBACKUP */
+@@ -4161,7 +4161,7 @@
+ break;
+ }
+
+- finished = recv_scan_log_recs(log, &max_mem, log.buf, end_lsn - start_lsn,
++ finished = recv_scan_log_recs(log, max_mem, log.buf, end_lsn - start_lsn,
+ start_lsn, &log.m_scanned_lsn, to_lsn);
+
+ start_lsn = end_lsn;
diff --git a/databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_src_utils.cc b/databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_src_utils.cc
new file mode 100644
index 000000000000..34feee9867f6
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_src_utils.cc
@@ -0,0 +1,59 @@
+--- storage/innobase/xtrabackup/src/utils.cc.orig 2023-01-30 20:34:34.000000000 +0700
++++ storage/innobase/xtrabackup/src/utils.cc 2023-02-25 02:50:31.899561000 +0700
+@@ -21,6 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Bos
+
+ #ifdef __APPLE__
+ #include <mach/mach_host.h>
++#endif
++#if defined(__APPLE__) || defined(__FreeBSD__)
+ #include <sys/sysctl.h>
+ #else
+ #include <proc/sysinfo.h>
+@@ -112,12 +114,14 @@ unsigned long get_version_number(std::string version_s
+ return major * 10000 + minor * 100 + version;
+ }
+
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(__FreeBSD__)
+ unsigned long host_total_memory() {
+ unsigned long total_mem = sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE);
+ return total_mem;
+ }
++#endif
+
++#ifdef __APPLE__
+ unsigned long host_free_memory() {
+ unsigned long total_mem = host_total_memory();
+ int64_t used_mem;
+@@ -138,6 +142,31 @@ unsigned long host_free_memory() {
+ return total_mem - (unsigned long)used_mem;
+ }
+ return 0;
++}
++#elif defined(__FreeBSD__)
++unsigned long host_free_memory() {
++ static int mib_free[2] = { -1, 0 };
++ static int mib_inactive[2] = { -1, 0 };
++ size_t miblen = sizeof(mib_free) / sizeof(mib_free[0]);
++ uint32_t free_pages, inactive_pages;
++ size_t sz = sizeof(free_pages);
++
++ free_pages = inactive_pages = 0;
++
++ if (mib_free[0] < 0 &&
++ sysctlnametomib("vm.stats.vm.v_free_count", mib_free, &miblen) < 0)
++ mib_free[0] = 0;
++ if (mib_inactive[0] < 0 &&
++ sysctlnametomib("vm.stats.vm.v_inactive_count", mib_inactive, &miblen) < 0)
++ mib_inactive[0] = 0;
++
++ if (mib_free[0] &&
++ sysctl(mib_free, 2, &free_pages, &sz, NULL, 0) < 0)
++ free_pages = 0; /* should not happen */
++ if (mib_inactive[0] && sysctl(mib_inactive, 2, &inactive_pages, &sz, NULL, 0) < 0)
++ inactive_pages = 0; /* should not happen, too */
++
++ return (free_pages + inactive_pages) * sysconf(_SC_PAGESIZE);
+ }
+ #else
+ unsigned long host_total_memory() {
diff --git a/databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh b/databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh
new file mode 100644
index 000000000000..37b1e45afc66
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh
@@ -0,0 +1,15 @@
+--- storage/innobase/xtrabackup/xbcloud_osenv.sh.orig 2020-08-28 21:02:32 UTC
++++ storage/innobase/xtrabackup/xbcloud_osenv.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+
+ # Copyright (C) 2015 Percona LLC and/or its affiliates.
+ # This software comes with ABSOLUTELY NO WARRANTY. This is free software,
+@@ -105,5 +105,5 @@ fi
+
+ # do it
+ # shellcheck disable=SC2086,SC2048
+-${XBCLOUD_BIN} $* ${XBCLOUD_OS_ENV}
++${XBCLOUD_BIN} "$@" ${XBCLOUD_OS_ENV}
+
diff --git a/databases/xtrabackup80/files/patch-storage_temptable_include_temptable_lock_free_type.h b/databases/xtrabackup80/files/patch-storage_temptable_include_temptable_lock_free_type.h
new file mode 100644
index 000000000000..a229da5b0adc
--- /dev/null
+++ b/databases/xtrabackup80/files/patch-storage_temptable_include_temptable_lock_free_type.h
@@ -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 incorrectly 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. */
diff --git a/databases/xtrabackup80/pkg-descr b/databases/xtrabackup80/pkg-descr
new file mode 100644
index 000000000000..da1655f57769
--- /dev/null
+++ b/databases/xtrabackup80/pkg-descr
@@ -0,0 +1,4 @@
+Percona XtraBackup is an open-source hot backup utility for MySQL that
+doesn't lock your database during the backup. It can back up data from
+InnoDB, XtraDB and MyISAM tables on MySQL/Percona Server/MariaDB
+servers, and has many advanced features.
diff --git a/databases/xtrabackup80/pkg-plist b/databases/xtrabackup80/pkg-plist
new file mode 100644
index 000000000000..7d1e3c5b80e7
--- /dev/null
+++ b/databases/xtrabackup80/pkg-plist
@@ -0,0 +1,10 @@
+bin/xbcloud
+bin/xbcloud_osenv
+bin/xbcrypt
+bin/xbstream
+bin/xtrabackup
+lib/libmysqlservices.a
+lib/plugin/component_keyring_file.so
+lib/plugin/component_keyring_kms.so
+lib/plugin/keyring_file.so
+lib/plugin/keyring_vault.so