diff --git a/databases/Makefile b/databases/Makefile
index f65e1cf2175b..02d38e240ffe 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -1,1078 +1,1079 @@
     COMMENT = Databases and related software
 
     SUBDIR += R-cran-DBI
     SUBDIR += R-cran-RMySQL
     SUBDIR += R-cran-RPostgreSQL
     SUBDIR += R-cran-RSQLite
     SUBDIR += R-cran-cachem
     SUBDIR += R-cran-fastmap
     SUBDIR += R-cran-sqldf
     SUBDIR += WWWdb
     SUBDIR += adminer
     SUBDIR += adminerevo
     SUBDIR += adodb5
     SUBDIR += akonadi
     SUBDIR += apache-commons-dbutils
     SUBDIR += arrow
     SUBDIR += arrow-glib
     SUBDIR += autobackupmysql
     SUBDIR += automysqlbackup
     SUBDIR += bbdb
     SUBDIR += beansdb
     SUBDIR += buzhug
     SUBDIR += c3p0
     SUBDIR += cassandra-cpp-driver
     SUBDIR += cassandra3
     SUBDIR += cassandra4
     SUBDIR += casstcl
     SUBDIR += cayley
     SUBDIR += cdb
     SUBDIR += cego
     SUBDIR += cegobridge
     SUBDIR += clickhouse
     SUBDIR += closql
     SUBDIR += closql-devel
     SUBDIR += cockroach
     SUBDIR += couchdb3
     SUBDIR += courier-authlib-mysql
     SUBDIR += courier-authlib-pgsql
     SUBDIR += courier-authlib-sqlite
     SUBDIR += courier-authlib-userdb
     SUBDIR += courier-authlib-usergdbm
     SUBDIR += cppdb
     SUBDIR += credis
     SUBDIR += cutelyst-asql
     SUBDIR += dalmp
     SUBDIR += datasette
     SUBDIR += db
     SUBDIR += db18
     SUBDIR += db5
     SUBDIR += dbf
     SUBDIR += dbh
     SUBDIR += dbixx
     SUBDIR += dbow
     SUBDIR += dbtool
     SUBDIR += dbview
     SUBDIR += diesel
     SUBDIR += duckdb
     SUBDIR += ejdb
     SUBDIR += emacs-sqlite3-api
     SUBDIR += emacsql
     SUBDIR += emacsql-devel
     SUBDIR += erlfdb
     SUBDIR += evolution-data-server
     SUBDIR += fastdb
     SUBDIR += firebird30-client
     SUBDIR += firebird30-server
     SUBDIR += firebird40-client
     SUBDIR += firebird40-server
     SUBDIR += fortytwo-bdb
     SUBDIR += foundationdb
     SUBDIR += frece
     SUBDIR += freetds
     SUBDIR += freetds-devel
     SUBDIR += frontbase-jdbc
     SUBDIR += futuresql
     SUBDIR += galera
     SUBDIR += galera26
     SUBDIR += gdbm
     SUBDIR += geoserver-mysql-plugin
     SUBDIR += gigabase
     SUBDIR += gmdb2
     SUBDIR += gnats4
     SUBDIR += gnatsweb4
     SUBDIR += go-carbon
     SUBDIR += go-pgweb
     SUBDIR += gobang
     SUBDIR += gom
     SUBDIR += goose
     SUBDIR += gqlplus
     SUBDIR += grass7
     SUBDIR += grass8
     SUBDIR += greptimedb
     SUBDIR += hashtypes
     SUBDIR += hiredis
     SUBDIR += hsqldb
     SUBDIR += immudb
     SUBDIR += imposm3
     SUBDIR += influxdb
     SUBDIR += influxdb2-cli
     SUBDIR += innotop
     SUBDIR += iowow
     SUBDIR += ip4r
     SUBDIR += ipa_sdb
     SUBDIR += iplike
     SUBDIR += jdb
     SUBDIR += jdbc-oracle11g
     SUBDIR += jetbrains-datagrip
     SUBDIR += jlog
     SUBDIR += jrobin
     SUBDIR += jrrd
     SUBDIR += kbibtex
     SUBDIR += kdb
     SUBDIR += kexi
     SUBDIR += keydb
     SUBDIR += kyotocabinet
     SUBDIR += kyototycoon
     SUBDIR += ldb15
     SUBDIR += ldb20
     SUBDIR += ldb21
     SUBDIR += ldb22
     SUBDIR += ldb25
     SUBDIR += leo_center
     SUBDIR += leofs
     SUBDIR += leveldb
     SUBDIR += libcouchbase
     SUBDIR += libdbi
     SUBDIR += libdbi-drivers
     SUBDIR += libdrizzle
     SUBDIR += libdrizzle-redux
     SUBDIR += libgda5
     SUBDIR += libgda5-jdbc
     SUBDIR += libgda5-ldap
     SUBDIR += libgda5-mysql
     SUBDIR += libgda5-postgresql
     SUBDIR += libgda5-ui
     SUBDIR += libgdamm5
     SUBDIR += libhsclient
     SUBDIR += libiodbc
     SUBDIR += libmemcache
     SUBDIR += libmemcached
     SUBDIR += libmongo-client
     SUBDIR += libmongocrypt
     SUBDIR += libmswstr
     SUBDIR += libnvpair
     SUBDIR += libodbc++
     SUBDIR += libpbl
     SUBDIR += libpg_query
     SUBDIR += libpqtypes
     SUBDIR += libsdb
     SUBDIR += libzdb
     SUBDIR += linux-c7-sqlite3
     SUBDIR += linux-c7-unixODBC
     SUBDIR += linux-oracle-instantclient-basic
     SUBDIR += linux-oracle-instantclient-sdk
     SUBDIR += liquibase
     SUBDIR += litestream
     SUBDIR += lmdb
     SUBDIR += lua-lsqlite3
     SUBDIR += lua-pgsql
     SUBDIR += lua-resty-redis
     SUBDIR += lua-xapian
     SUBDIR += luadbi
     SUBDIR += luasql-firebird
     SUBDIR += luasql-mysql
     SUBDIR += luasql-odbc
     SUBDIR += luasql-postgres
     SUBDIR += luasql-sqlite3
     SUBDIR += mantis
     SUBDIR += mariadb-connector-c
     SUBDIR += mariadb-connector-odbc
     SUBDIR += mariadb1011-client
     SUBDIR += mariadb1011-server
     SUBDIR += mariadb105-client
     SUBDIR += mariadb105-server
     SUBDIR += mariadb106-client
     SUBDIR += mariadb106-server
     SUBDIR += mdbtools
     SUBDIR += mdbx
     SUBDIR += mdcached
     SUBDIR += memcached
     SUBDIR += metabase
     SUBDIR += mongodb-tools
     SUBDIR += mongodb44
     SUBDIR += mongodb50
     SUBDIR += mongodb60
     SUBDIR += mongodb70
     SUBDIR += movine
     SUBDIR += mroonga
     SUBDIR += mtop
     SUBDIR += mydumper
     SUBDIR += mysql++
     SUBDIR += mysql-connector-c++
     SUBDIR += mysql-connector-j
     SUBDIR += mysql-connector-java51
     SUBDIR += mysql-connector-odbc-80
     SUBDIR += mysql2pgsql
     SUBDIR += mysql80-client
     SUBDIR += mysql80-server
     SUBDIR += mysql81-client
     SUBDIR += mysql81-server
     SUBDIR += mysqlbackup
     SUBDIR += mysqldump-secure
     SUBDIR += mysqlreport
     SUBDIR += mysqlsla
     SUBDIR += mysqltcl
     SUBDIR += mysqltuner
     SUBDIR += mytop
     SUBDIR += nagios-check_mongodb
     SUBDIR += nagios-check_postgres_replication
     SUBDIR += nagios-check_redis
     SUBDIR += namazu2
     SUBDIR += nanodbc
     SUBDIR += neo4j
     SUBDIR += ocaml-dbm
     SUBDIR += ocaml-mysql
     SUBDIR += ocaml-sqlite3
     SUBDIR += octosql
     SUBDIR += odbc-cpp-wrapper
     SUBDIR += ods2sql
     SUBDIR += opendbviewer
     SUBDIR += opendbx
     SUBDIR += ora2pg
     SUBDIR += oracle8-client
     SUBDIR += p5-Amazon-SimpleDB
     SUBDIR += p5-Amon2-DBI
     SUBDIR += p5-AnyEvent-BDB
     SUBDIR += p5-AnyEvent-CouchDB
     SUBDIR += p5-AnyEvent-DBD-Pg
     SUBDIR += p5-AnyEvent-Memcached
     SUBDIR += p5-AnyEvent-Redis
     SUBDIR += p5-App-Sqitch
     SUBDIR += p5-AsciiDB-TagFile
     SUBDIR += p5-BDB
     SUBDIR += p5-BSON
     SUBDIR += p5-BSON-XS
     SUBDIR += p5-BerkeleyDB
     SUBDIR += p5-Bucardo
     SUBDIR += p5-CDB_File
     SUBDIR += p5-CDB_File-Generator
     SUBDIR += p5-CGI-Session-Driver-memcached
     SUBDIR += p5-CHI-Driver-Memcached
     SUBDIR += p5-CHI-Driver-Redis
     SUBDIR += p5-CHI-Driver-TokyoTyrant
     SUBDIR += p5-Cache-BDB
     SUBDIR += p5-Cache-Memcached
     SUBDIR += p5-Cache-Memcached-Fast
     SUBDIR += p5-Cache-Memcached-Managed
     SUBDIR += p5-Cache-Memcached-XS
     SUBDIR += p5-Cache-Memcached-libmemcached
     SUBDIR += p5-Class-DBI
     SUBDIR += p5-Class-DBI-AbstractSearch
     SUBDIR += p5-Class-DBI-AsForm
     SUBDIR += p5-Class-DBI-AutoLoader
     SUBDIR += p5-Class-DBI-BaseDSN
     SUBDIR += p5-Class-DBI-DATA-Schema
     SUBDIR += p5-Class-DBI-DDL
     SUBDIR += p5-Class-DBI-FromCGI
     SUBDIR += p5-Class-DBI-LazyInflate
     SUBDIR += p5-Class-DBI-Loader
     SUBDIR += p5-Class-DBI-Loader-Relationship
     SUBDIR += p5-Class-DBI-Oracle
     SUBDIR += p5-Class-DBI-Pager
     SUBDIR += p5-Class-DBI-Pg
     SUBDIR += p5-Class-DBI-Plugin
     SUBDIR += p5-Class-DBI-Plugin-AbstractCount
     SUBDIR += p5-Class-DBI-Plugin-DeepAbstractSearch
     SUBDIR += p5-Class-DBI-Plugin-Iterator
     SUBDIR += p5-Class-DBI-Plugin-Pager
     SUBDIR += p5-Class-DBI-Plugin-RetrieveAll
     SUBDIR += p5-Class-DBI-Plugin-Senna
     SUBDIR += p5-Class-DBI-Plugin-Type
     SUBDIR += p5-Class-DBI-Replication
     SUBDIR += p5-Class-DBI-SAK
     SUBDIR += p5-Class-DBI-SQLite
     SUBDIR += p5-Class-DBI-Sweet
     SUBDIR += p5-Class-DBI-ToSax
     SUBDIR += p5-Class-DBI-Untaint
     SUBDIR += p5-Class-DBI-mysql
     SUBDIR += p5-Class-Inflate
     SUBDIR += p5-CouchDB-View
     SUBDIR += p5-DBD-AnyData
     SUBDIR += p5-DBD-CSV
     SUBDIR += p5-DBD-Excel
     SUBDIR += p5-DBD-Google
     SUBDIR += p5-DBD-InterBase
     SUBDIR += p5-DBD-LDAP
     SUBDIR += p5-DBD-MariaDB
     SUBDIR += p5-DBD-Mock
     SUBDIR += p5-DBD-Multi
     SUBDIR += p5-DBD-ODBC
     SUBDIR += p5-DBD-Oracle
     SUBDIR += p5-DBD-Pg
     SUBDIR += p5-DBD-PgLite
     SUBDIR += p5-DBD-PgPP
     SUBDIR += p5-DBD-SQLite
     SUBDIR += p5-DBD-SQLite2
     SUBDIR += p5-DBD-Sybase
     SUBDIR += p5-DBD-XBase
     SUBDIR += p5-DBD-cego
     SUBDIR += p5-DBD-mysql
     SUBDIR += p5-DBI
     SUBDIR += p5-DBI-Shell
     SUBDIR += p5-DBICx-Deploy
     SUBDIR += p5-DBICx-MapMaker
     SUBDIR += p5-DBICx-Sugar
     SUBDIR += p5-DBICx-TestDatabase
     SUBDIR += p5-DBICx-TxnInsert
     SUBDIR += p5-DBIWrapper
     SUBDIR += p5-DBIx-Abstract
     SUBDIR += p5-DBIx-Admin-CreateTable
     SUBDIR += p5-DBIx-Admin-DSNManager
     SUBDIR += p5-DBIx-Admin-TableInfo
     SUBDIR += p5-DBIx-AnyDBD
     SUBDIR += p5-DBIx-Browse
     SUBDIR += p5-DBIx-Class
     SUBDIR += p5-DBIx-Class-AsFdat
     SUBDIR += p5-DBIx-Class-AuditLog
     SUBDIR += p5-DBIx-Class-BitField
     SUBDIR += p5-DBIx-Class-Candy
     SUBDIR += p5-DBIx-Class-Cursor-Cached
     SUBDIR += p5-DBIx-Class-CustomPrefetch
     SUBDIR += p5-DBIx-Class-DateTime-Epoch
     SUBDIR += p5-DBIx-Class-DeploymentHandler
     SUBDIR += p5-DBIx-Class-DigestColumns
     SUBDIR += p5-DBIx-Class-DynamicDefault
     SUBDIR += p5-DBIx-Class-DynamicSubclass
     SUBDIR += p5-DBIx-Class-EncodeColumns
     SUBDIR += p5-DBIx-Class-EncodedColumn
     SUBDIR += p5-DBIx-Class-Fixtures
     SUBDIR += p5-DBIx-Class-FrozenColumns
     SUBDIR += p5-DBIx-Class-Helpers
     SUBDIR += p5-DBIx-Class-InflateColumn-Authen-Passphrase
     SUBDIR += p5-DBIx-Class-InflateColumn-FS
     SUBDIR += p5-DBIx-Class-InflateColumn-IP
     SUBDIR += p5-DBIx-Class-InflateColumn-Serializer
     SUBDIR += p5-DBIx-Class-IntrospectableM2M
     SUBDIR += p5-DBIx-Class-Loader
     SUBDIR += p5-DBIx-Class-Migration
     SUBDIR += p5-DBIx-Class-MooseColumns
     SUBDIR += p5-DBIx-Class-PassphraseColumn
     SUBDIR += p5-DBIx-Class-QueryLog
     SUBDIR += p5-DBIx-Class-QueryProfiler
     SUBDIR += p5-DBIx-Class-ResultSet-HashRef
     SUBDIR += p5-DBIx-Class-ResultSet-RecursiveUpdate
     SUBDIR += p5-DBIx-Class-Schema-Config
     SUBDIR += p5-DBIx-Class-Schema-Loader
     SUBDIR += p5-DBIx-Class-Schema-PopulateMore
     SUBDIR += p5-DBIx-Class-Storage-TxnEndHook
     SUBDIR += p5-DBIx-Class-TimeStamp
     SUBDIR += p5-DBIx-Class-Tree
     SUBDIR += p5-DBIx-Class-Tree-NestedSet
     SUBDIR += p5-DBIx-Class-UUIDColumns
     SUBDIR += p5-DBIx-Class-VirtualColumns
     SUBDIR += p5-DBIx-Class-WebForm
     SUBDIR += p5-DBIx-Connector
     SUBDIR += p5-DBIx-ContextualFetch
     SUBDIR += p5-DBIx-Custom
     SUBDIR += p5-DBIx-DBHResolver
     SUBDIR += p5-DBIx-DBSchema
     SUBDIR += p5-DBIx-DataSource
     SUBDIR += p5-DBIx-DisconnectAll
     SUBDIR += p5-DBIx-Dump
     SUBDIR += p5-DBIx-HA
     SUBDIR += p5-DBIx-Handler
     SUBDIR += p5-DBIx-Inspector
     SUBDIR += p5-DBIx-Introspector
     SUBDIR += p5-DBIx-Lite
     SUBDIR += p5-DBIx-Log4perl
     SUBDIR += p5-DBIx-MySQLSequence
     SUBDIR += p5-DBIx-NoSQL
     SUBDIR += p5-DBIx-Password
     SUBDIR += p5-DBIx-Perlish
     SUBDIR += p5-DBIx-QueryLog
     SUBDIR += p5-DBIx-QuickDB
     SUBDIR += p5-DBIx-Recordset
     SUBDIR += p5-DBIx-RetryOverDisconnects
     SUBDIR += p5-DBIx-SQLEngine
     SUBDIR += p5-DBIx-SQLite-Simple
     SUBDIR += p5-DBIx-Safe
     SUBDIR += p5-DBIx-SearchBuilder
     SUBDIR += p5-DBIx-Sequence
     SUBDIR += p5-DBIx-Simple
     SUBDIR += p5-DBIx-Skinny
     SUBDIR += p5-DBIx-Skinny-InflateColumn-DateTime
     SUBDIR += p5-DBIx-Skinny-Mixin-DBHResolver
     SUBDIR += p5-DBIx-Skinny-Pager
     SUBDIR += p5-DBIx-Skinny-Schema-Loader
     SUBDIR += p5-DBIx-Sunny
     SUBDIR += p5-DBIx-TableHash
     SUBDIR += p5-DBIx-Tracer
     SUBDIR += p5-DBIx-TransactionManager
     SUBDIR += p5-DBIx-Tree
     SUBDIR += p5-DBIx-VersionedDDL
     SUBDIR += p5-DBIx-Wrapper
     SUBDIR += p5-DBIx-XHTML_Table
     SUBDIR += p5-DBIx-XML_RDB
     SUBDIR += p5-DBM-Deep
     SUBDIR += p5-DR-Tarantool
     SUBDIR += p5-DWH_File
     SUBDIR += p5-Dancer-Plugin-DBIC
     SUBDIR += p5-Dancer-Plugin-Database
     SUBDIR += p5-Dancer-Plugin-Database-Core
     SUBDIR += p5-Dancer-Plugin-Redis
     SUBDIR += p5-Dancer-Session-Memcached
     SUBDIR += p5-Dancer2-Plugin-DBIC
     SUBDIR += p5-Dancer2-Plugin-Database
     SUBDIR += p5-Dancer2-Session-DBIC
     SUBDIR += p5-Data-Page
     SUBDIR += p5-Data-Pageset
     SUBDIR += p5-Exception-Class-DBI
     SUBDIR += p5-File-Locate
     SUBDIR += p5-GDBM
     SUBDIR += p5-Genezzo
     SUBDIR += p5-GitDDL
     SUBDIR += p5-GitDDL-Migrator
     SUBDIR += p5-GraphViz-DBI
     SUBDIR += p5-HTML-FormHandler-Model-DBIC
     SUBDIR += p5-Ima-DBI
     SUBDIR += p5-Interchange6-Schema
     SUBDIR += p5-Iterator-DBI
     SUBDIR += p5-Jifty-DBI
     SUBDIR += p5-KyotoCabinet
     SUBDIR += p5-LMDB_File
     SUBDIR += p5-MLDBM
     SUBDIR += p5-MLDBM-Sync
     SUBDIR += p5-MR-Tarantool
     SUBDIR += p5-Mango
     SUBDIR += p5-Memcached-libmemcached
     SUBDIR += p5-Metadata
     SUBDIR += p5-Mojo-Pg
     SUBDIR += p5-MongoDB
     SUBDIR += p5-Mongoose
     SUBDIR += p5-MySQL-Diff
     SUBDIR += p5-Net-Async-CassandraCQL
     SUBDIR += p5-ORLite
     SUBDIR += p5-ORLite-Migrate
     SUBDIR += p5-Oryx
     SUBDIR += p5-POE-Component-DBIAgent
     SUBDIR += p5-POE-Component-EasyDBI
     SUBDIR += p5-POE-Component-LaDBI
     SUBDIR += p5-POE-Component-RRDTool
     SUBDIR += p5-Pg
     SUBDIR += p5-PostgreSQL-PLPerl-Call
     SUBDIR += p5-PostgreSQL-PLPerl-Trace
     SUBDIR += p5-Prophet
     SUBDIR += p5-Protocol-CassandraCQL
     SUBDIR += p5-RRD-Simple
     SUBDIR += p5-Redis
     SUBDIR += p5-Redis-Fast
     SUBDIR += p5-Redis-JobQueue
     SUBDIR += p5-Redis-RateLimit
     SUBDIR += p5-Redis-hiredis
     SUBDIR += p5-RedisDB
     SUBDIR += p5-RedisDB-Parser
     SUBDIR += p5-Relations
     SUBDIR += p5-Relations-Query
     SUBDIR += p5-ResourcePool-Resource-DBI
     SUBDIR += p5-Rose-DB
     SUBDIR += p5-Rose-DB-Object
     SUBDIR += p5-Rose-DBx-Object-MoreHelpers
     SUBDIR += p5-Rose-DBx-Object-Renderer
     SUBDIR += p5-SQL-Abstract
     SUBDIR += p5-SQL-Abstract-Classic
     SUBDIR += p5-SQL-Abstract-Limit
     SUBDIR += p5-SQL-Abstract-More
     SUBDIR += p5-SQL-Abstract-Pg
     SUBDIR += p5-SQL-Abstract-Plugin-InsertMulti
     SUBDIR += p5-SQL-Interp
     SUBDIR += p5-SQL-Maker
     SUBDIR += p5-SQL-NamedPlaceholder
     SUBDIR += p5-SQL-ReservedWords
     SUBDIR += p5-SQL-Statement
     SUBDIR += p5-SQL-Translator
     SUBDIR += p5-SQLite-Work
     SUBDIR += p5-Scope-Container-DBI
     SUBDIR += p5-Search-InvertedIndex
     SUBDIR += p5-Search-Namazu
     SUBDIR += p5-Search-Xapian
     SUBDIR += p5-Store-CouchDB
     SUBDIR += p5-T2
     SUBDIR += p5-Tangram
     SUBDIR += p5-Template-DBI
     SUBDIR += p5-Teng
     SUBDIR += p5-Test-Cukes
     SUBDIR += p5-Test-Database
     SUBDIR += p5-Test-DatabaseRow
     SUBDIR += p5-Test-Fixture-DBI
     SUBDIR += p5-Test-mysqld
     SUBDIR += p5-Test-postgresql
     SUBDIR += p5-Text-Query-SQL
     SUBDIR += p5-Text-xSV
     SUBDIR += p5-Tie-DBI
     SUBDIR += p5-Tie-LevelDB
     SUBDIR += p5-Time-Piece-MySQL
     SUBDIR += p5-TokyoCabinet
     SUBDIR += p5-Xapian
     SUBDIR += p5-mysql-genocide
     SUBDIR += p5-tokyotyrant
     SUBDIR += pear-DB
     SUBDIR += pear-DBA
     SUBDIR += pear-DBA_Relational
     SUBDIR += pear-DB_DataObject
     SUBDIR += pear-DB_DataObject_FormBuilder
     SUBDIR += pear-DB_Pager
     SUBDIR += pear-DB_QueryTool
     SUBDIR += pear-DB_Sqlite_Tools
     SUBDIR += pear-DB_Table
     SUBDIR += pear-DB_ldap
     SUBDIR += pear-DB_ldap2
     SUBDIR += pear-DoctrineCommon
     SUBDIR += pear-DoctrineDBAL
     SUBDIR += pear-Horde_Db
     SUBDIR += pear-Horde_HashTable
     SUBDIR += pear-Horde_Imsp
     SUBDIR += pear-Horde_Memcache
     SUBDIR += pear-Horde_Mongo
     SUBDIR += pear-MDB
     SUBDIR += pear-MDB2
     SUBDIR += pear-MDB2_Driver_mysqli
     SUBDIR += pear-MDB2_Driver_pgsql
     SUBDIR += pear-MDB2_Schema
     SUBDIR += pear-MDB_QueryTool
     SUBDIR += pear-Structures_DataGrid_DataSource_Array
     SUBDIR += pear-Structures_DataGrid_DataSource_CSV
     SUBDIR += pear-Structures_DataGrid_DataSource_DB
     SUBDIR += pear-Structures_DataGrid_DataSource_PDO
     SUBDIR += pear-XML_Query2XML
     SUBDIR += pecl-couchbase
     SUBDIR += pecl-leveldb
     SUBDIR += pecl-memcache
     SUBDIR += pecl-memcached
     SUBDIR += pecl-mongodb
     SUBDIR += pecl-redis
     SUBDIR += pecl-rrd
     SUBDIR += percona-toolkit
     SUBDIR += pg-gvm
     SUBDIR += pg.el
     SUBDIR += pgFormatter
     SUBDIR += pg_activity
     SUBDIR += pg_citus
     SUBDIR += pg_dirtyread
     SUBDIR += pg_ed25519
     SUBDIR += pg_filedump
     SUBDIR += pg_hashids
     SUBDIR += pg_partman
     SUBDIR += pg_qualstats
     SUBDIR += pg_repack
     SUBDIR += pg_similarity
     SUBDIR += pg_stat_kcache
     SUBDIR += pg_tileserv
     SUBDIR += pgaccess
     SUBDIR += pgadmin3
     SUBDIR += pgagroal
     SUBDIR += pgbackrest
     SUBDIR += pgbadger
     SUBDIR += pgbarman
     SUBDIR += pgbouncer
     SUBDIR += pgdbf
     SUBDIR += pgfouine
     SUBDIR += pgloader3
     SUBDIR += pglogical
     SUBDIR += pgmetrics
     SUBDIR += pgmodeler
     SUBDIR += pgpool-II-41
     SUBDIR += pgpool-II-42
     SUBDIR += pgpool-II-43
     SUBDIR += pgpool-II-44
     SUBDIR += pgpool-II-45
     SUBDIR += pgreplay
     SUBDIR += pgroonga
     SUBDIR += pgrouting
     SUBDIR += pgsanity
     SUBDIR += pgsphere
     SUBDIR += pgtcl
     SUBDIR += pgtop
     SUBDIR += pguri
     SUBDIR += pgvector
     SUBDIR += php-tarantool
     SUBDIR += php-xapian
     SUBDIR += php81-dba
     SUBDIR += php81-mysqli
     SUBDIR += php81-odbc
     SUBDIR += php81-pdo
     SUBDIR += php81-pdo_dblib
     SUBDIR += php81-pdo_firebird
     SUBDIR += php81-pdo_mysql
     SUBDIR += php81-pdo_odbc
     SUBDIR += php81-pdo_pgsql
     SUBDIR += php81-pdo_sqlite
     SUBDIR += php81-pgsql
     SUBDIR += php81-sqlite3
     SUBDIR += php82-dba
     SUBDIR += php82-mysqli
     SUBDIR += php82-odbc
     SUBDIR += php82-pdo
     SUBDIR += php82-pdo_dblib
     SUBDIR += php82-pdo_firebird
     SUBDIR += php82-pdo_mysql
     SUBDIR += php82-pdo_odbc
     SUBDIR += php82-pdo_pgsql
     SUBDIR += php82-pdo_sqlite
     SUBDIR += php82-pgsql
     SUBDIR += php82-sqlite3
     SUBDIR += php83-dba
     SUBDIR += php83-mysqli
     SUBDIR += php83-odbc
     SUBDIR += php83-pdo
     SUBDIR += php83-pdo_dblib
     SUBDIR += php83-pdo_firebird
     SUBDIR += php83-pdo_mysql
     SUBDIR += php83-pdo_odbc
     SUBDIR += php83-pdo_pgsql
     SUBDIR += php83-pdo_sqlite
     SUBDIR += php83-pgsql
     SUBDIR += php83-sqlite3
     SUBDIR += phpliteadmin
     SUBDIR += phpminiadmin
     SUBDIR += phpmyadmin
     SUBDIR += phpmyadmin5
     SUBDIR += phppgadmin
     SUBDIR += pldebugger
     SUBDIR += plpgsql_check
     SUBDIR += pointcloud
     SUBDIR += postgis-jdbc
     SUBDIR += postgis31
     SUBDIR += postgis32
     SUBDIR += postgis33
     SUBDIR += postgis34
     SUBDIR += postgresql-cstore_fdw
     SUBDIR += postgresql-idn
     SUBDIR += postgresql-jdbc
     SUBDIR += postgresql-libpgeasy
     SUBDIR += postgresql-libpqxx
     SUBDIR += postgresql-mysql_fdw
     SUBDIR += postgresql-odbc
     SUBDIR += postgresql-ogr_fdw
     SUBDIR += postgresql-orafce
     SUBDIR += postgresql-pgaudit
     SUBDIR += postgresql-plproxy
     SUBDIR += postgresql-plv8js
     SUBDIR += postgresql-prefix
     SUBDIR += postgresql-promscale
     SUBDIR += postgresql-relay
     SUBDIR += postgresql-repmgr
     SUBDIR += postgresql-rum
     SUBDIR += postgresql-semver
     SUBDIR += postgresql-tds_fdw
     SUBDIR += postgresql-wal2json
     SUBDIR += postgresql-zhparser
     SUBDIR += postgresql12-client
     SUBDIR += postgresql12-contrib
     SUBDIR += postgresql12-docs
     SUBDIR += postgresql12-pgtcl
     SUBDIR += postgresql12-plperl
     SUBDIR += postgresql12-plpython
     SUBDIR += postgresql12-pltcl
     SUBDIR += postgresql12-server
     SUBDIR += postgresql13-client
     SUBDIR += postgresql13-contrib
     SUBDIR += postgresql13-docs
     SUBDIR += postgresql13-pgtcl
     SUBDIR += postgresql13-plperl
     SUBDIR += postgresql13-plpython
     SUBDIR += postgresql13-pltcl
     SUBDIR += postgresql13-server
     SUBDIR += postgresql14-client
     SUBDIR += postgresql14-contrib
     SUBDIR += postgresql14-docs
     SUBDIR += postgresql14-pgtcl
     SUBDIR += postgresql14-plperl
     SUBDIR += postgresql14-plpython
     SUBDIR += postgresql14-pltcl
     SUBDIR += postgresql14-server
     SUBDIR += postgresql15-client
     SUBDIR += postgresql15-contrib
     SUBDIR += postgresql15-docs
     SUBDIR += postgresql15-pgtcl
     SUBDIR += postgresql15-plperl
     SUBDIR += postgresql15-plpython
     SUBDIR += postgresql15-pltcl
     SUBDIR += postgresql15-server
     SUBDIR += postgresql16-client
     SUBDIR += postgresql16-contrib
     SUBDIR += postgresql16-docs
     SUBDIR += postgresql16-pgtcl
     SUBDIR += postgresql16-plperl
     SUBDIR += postgresql16-plpython
     SUBDIR += postgresql16-pltcl
     SUBDIR += postgresql16-server
     SUBDIR += powa-archivist
     SUBDIR += powa-web
     SUBDIR += powerarchitect
     SUBDIR += proftpd-mod_sql_mysql
     SUBDIR += proftpd-mod_sql_odbc
     SUBDIR += proftpd-mod_sql_postgres
     SUBDIR += proftpd-mod_sql_sqlite
     SUBDIR += proftpd-mod_sql_tds
     SUBDIR += prometheus-postgresql-adapter
     SUBDIR += proxysql
     SUBDIR += pspg
     SUBDIR += puppetdb-terminus7
     SUBDIR += puppetdb-terminus8
     SUBDIR += puppetdb7
     SUBDIR += puppetdb8
     SUBDIR += puredb
     SUBDIR += pxlib
     SUBDIR += pxtools
     SUBDIR += py-Elixir
     SUBDIR += py-PyGreSQL
     SUBDIR += py-Pyrseas
     SUBDIR += py-aesqlapius
     SUBDIR += py-agate-sql
     SUBDIR += py-aiomcache
     SUBDIR += py-aiomysql
     SUBDIR += py-aiopg
     SUBDIR += py-aioredis
     SUBDIR += py-aiosqlite
     SUBDIR += py-alembic
     SUBDIR += py-alembic14
     SUBDIR += py-apache-arrow
     SUBDIR += py-apsw
     SUBDIR += py-asyncmy
     SUBDIR += py-asyncpg
     SUBDIR += py-berkeleydb
     SUBDIR += py-carbon
     SUBDIR += py-cassandra-driver
     SUBDIR += py-couchdb
     SUBDIR += py-databases
     SUBDIR += py-dbf
     SUBDIR += py-dbt-core
     SUBDIR += py-dbt-duckdb
     SUBDIR += py-dbt-semantic-interfaces
     SUBDIR += py-dbt-snowflake
     SUBDIR += py-dbutils
     SUBDIR += py-duckdb
     SUBDIR += py-fakeredis
     SUBDIR += py-fastapi-users-db-ormar
     SUBDIR += py-fastparquet
     SUBDIR += py-fdb
     SUBDIR += py-firebirdsql
     SUBDIR += py-flask-sqlalchemy
     SUBDIR += py-flask-sqlalchemy30
     SUBDIR += py-gdbm
     SUBDIR += py-geoalchemy2
     SUBDIR += py-hiredis
     SUBDIR += py-influxdb
     SUBDIR += py-kyotocabinet
     SUBDIR += py-leveldb
     SUBDIR += py-litecli
     SUBDIR += py-lmdb
     SUBDIR += py-marshmallow-sqlalchemy
     SUBDIR += py-minidb
     SUBDIR += py-mongoengine
     SUBDIR += py-motor
     SUBDIR += py-mycli
     SUBDIR += py-mysql-connector-python
     SUBDIR += py-mysqlclient
     SUBDIR += py-ormar
     SUBDIR += py-partd
     SUBDIR += py-peewee
     SUBDIR += py-peewee_migrate
     SUBDIR += py-pg8000
     SUBDIR += py-pgcli
     SUBDIR += py-pgdbconn
     SUBDIR += py-pglast
     SUBDIR += py-pglite
     SUBDIR += py-pgmigrate
     SUBDIR += py-pgspecial
     SUBDIR += py-pgspecial1
     SUBDIR += py-pgxnclient
     SUBDIR += py-pickledb
     SUBDIR += py-pickleshare
     SUBDIR += py-pony
     SUBDIR += py-postgresql
     SUBDIR += py-psycogreen
     SUBDIR += py-psycopg
     SUBDIR += py-psycopg-c
     SUBDIR += py-psycopg-pool
     SUBDIR += py-psycopg2
     SUBDIR += py-psycopg2cffi
     SUBDIR += py-pum
     SUBDIR += py-pyarrow
     SUBDIR += py-pycql
     SUBDIR += py-pylibmc
     SUBDIR += py-pymemcache
     SUBDIR += py-pymongo
     SUBDIR += py-pymssql
     SUBDIR += py-pymysql
     SUBDIR += py-pyodbc
     SUBDIR += py-pypuppetdb
     SUBDIR += py-python-arango
     SUBDIR += py-python-binary-memcached
     SUBDIR += py-python-memcached
     SUBDIR += py-python-sql
     SUBDIR += py-python-swiftclient
     SUBDIR += py-queries
     SUBDIR += py-rb
     SUBDIR += py-redis
     SUBDIR += py-redis2
     SUBDIR += py-redis3
     SUBDIR += py-redis4
     SUBDIR += py-rrdtool
     SUBDIR += py-schemachange
     SUBDIR += py-sispy
     SUBDIR += py-snowddl
     SUBDIR += py-snowflake-connector-python
     SUBDIR += py-south
     SUBDIR += py-sqlalchemy-json
     SUBDIR += py-sqlalchemy-migrate
     SUBDIR += py-sqlalchemy-utils
     SUBDIR += py-sqlalchemy10
     SUBDIR += py-sqlalchemy11
     SUBDIR += py-sqlalchemy12
     SUBDIR += py-sqlalchemy13
     SUBDIR += py-sqlalchemy14
     SUBDIR += py-sqlalchemy20
     SUBDIR += py-sqlcipher3
     SUBDIR += py-sqlglot
     SUBDIR += py-sqlite-fts4
     SUBDIR += py-sqlite-utils
     SUBDIR += py-sqlite3
     SUBDIR += py-sqlobject
     SUBDIR += py-sqlparse
     SUBDIR += py-sqlrelay
     SUBDIR += py-tableschema
     SUBDIR += py-tarantool
     SUBDIR += py-tiledb
     SUBDIR += py-txredisapi
     SUBDIR += py-unqlite
     SUBDIR += py-varstack
     SUBDIR += py-whisper
     SUBDIR += py-xapian
     SUBDIR += py-zodbpickle
     SUBDIR += qdbm
     SUBDIR += qdbm-plus
     SUBDIR += qdrant
     SUBDIR += qof
     SUBDIR += qt5-sql
     SUBDIR += qt5-sqldrivers-mysql
     SUBDIR += qt5-sqldrivers-odbc
     SUBDIR += qt5-sqldrivers-pgsql
     SUBDIR += qt5-sqldrivers-sqlite2
     SUBDIR += qt5-sqldrivers-sqlite3
     SUBDIR += qt5-sqldrivers-tds
     SUBDIR += qt6-base_sqldriver
     SUBDIR += quake
     SUBDIR += recutils
     SUBDIR += redis
     SUBDIR += redis-devel
     SUBDIR += redis62
     SUBDIR += redis70
     SUBDIR += redis_exporter
     SUBDIR += redisdesktopmanager
     SUBDIR += redisjson
     SUBDIR += replibyte
     SUBDIR += retcl
     SUBDIR += rocksdb
     SUBDIR += rqlite
     SUBDIR += rrdman
     SUBDIR += rrdmerge
     SUBDIR += rrdtool
     SUBDIR += rrdtool12
     SUBDIR += ruby-bdb
     SUBDIR += ruby-qdbm
     SUBDIR += ruby-tokyocabinet
     SUBDIR += ruby-xapian
     SUBDIR += rubygem-active_model_serializers
     SUBDIR += rubygem-active_model_serializers61
     SUBDIR += rubygem-active_record_query_trace
     SUBDIR += rubygem-activemodel-serializers-xml
     SUBDIR += rubygem-activemodel4
     SUBDIR += rubygem-activemodel5
     SUBDIR += rubygem-activemodel50
     SUBDIR += rubygem-activemodel52
     SUBDIR += rubygem-activemodel60
     SUBDIR += rubygem-activemodel61
     SUBDIR += rubygem-activemodel70
     SUBDIR += rubygem-activemodel71
     SUBDIR += rubygem-activerecord-explain-analyze
     SUBDIR += rubygem-activerecord-import
     SUBDIR += rubygem-activerecord-jdbc-adapter
     SUBDIR += rubygem-activerecord-jdbcmysql-adapter
     SUBDIR += rubygem-activerecord-session_store
     SUBDIR += rubygem-activerecord-trilogy-adapter
     SUBDIR += rubygem-activerecord4
     SUBDIR += rubygem-activerecord5
     SUBDIR += rubygem-activerecord50
     SUBDIR += rubygem-activerecord52
     SUBDIR += rubygem-activerecord60
     SUBDIR += rubygem-activerecord61
     SUBDIR += rubygem-activerecord70
     SUBDIR += rubygem-activerecord71
     SUBDIR += rubygem-after_commit_queue
     SUBDIR += rubygem-amalgalite
     SUBDIR += rubygem-arel
     SUBDIR += rubygem-arel-helpers
     SUBDIR += rubygem-arel6
     SUBDIR += rubygem-arel7
     SUBDIR += rubygem-arel8
     SUBDIR += rubygem-attr_json
     SUBDIR += rubygem-awesome_nested_set
     SUBDIR += rubygem-bdb1
     SUBDIR += rubygem-bigrecord
     SUBDIR += rubygem-brpoplpush-redis_script
     SUBDIR += rubygem-couchrest
     SUBDIR += rubygem-dalli
     SUBDIR += rubygem-data_objects
     SUBDIR += rubygem-datamapper
     SUBDIR += rubygem-dbd-mysql
     SUBDIR += rubygem-dbd-pg
     SUBDIR += rubygem-dbd-sqlite3
     SUBDIR += rubygem-dbf
     SUBDIR += rubygem-dbi
     SUBDIR += rubygem-dbm
     SUBDIR += rubygem-discard-rails61
     SUBDIR += rubygem-dm-aggregates
     SUBDIR += rubygem-dm-chunked_query
     SUBDIR += rubygem-dm-constraints
     SUBDIR += rubygem-dm-core
     SUBDIR += rubygem-dm-do-adapter
     SUBDIR += rubygem-dm-migrations
     SUBDIR += rubygem-dm-mysql-adapter
     SUBDIR += rubygem-dm-observer
     SUBDIR += rubygem-dm-pager
     SUBDIR += rubygem-dm-paperclip
     SUBDIR += rubygem-dm-postgres-adapter
     SUBDIR += rubygem-dm-serializer
     SUBDIR += rubygem-dm-timestamps
     SUBDIR += rubygem-dm-transactions
     SUBDIR += rubygem-dm-types
     SUBDIR += rubygem-dm-validations
     SUBDIR += rubygem-do_mysql
     SUBDIR += rubygem-do_postgres
     SUBDIR += rubygem-do_sqlite3
     SUBDIR += rubygem-em-redis-unified
     SUBDIR += rubygem-fabrication
     SUBDIR += rubygem-familia
     SUBDIR += rubygem-flipper-active_record
     SUBDIR += rubygem-flipper-active_record-rails61
     SUBDIR += rubygem-flipper-active_record-rails70
     SUBDIR += rubygem-gdbm
     SUBDIR += rubygem-globalid
     SUBDIR += rubygem-globalid-rails5
     SUBDIR += rubygem-globalid-rails50
     SUBDIR += rubygem-globalid-rails52
     SUBDIR += rubygem-globalid-rails60
     SUBDIR += rubygem-globalid-rails61
     SUBDIR += rubygem-globalid-rails70
     SUBDIR += rubygem-globalid-rails71
     SUBDIR += rubygem-google-cloud-datastore
     SUBDIR += rubygem-google-cloud-datastore-v1
     SUBDIR += rubygem-google-cloud-firestore
     SUBDIR += rubygem-google-cloud-firestore-v1
     SUBDIR += rubygem-her
     SUBDIR += rubygem-hiredis
     SUBDIR += rubygem-influxdb
     SUBDIR += rubygem-jdbc-mysql
     SUBDIR += rubygem-leo_manager_client
     SUBDIR += rubygem-marginalia
     SUBDIR += rubygem-mario-redis-lock
     SUBDIR += rubygem-memcache
     SUBDIR += rubygem-memcache-client
     SUBDIR += rubygem-mysql
     SUBDIR += rubygem-mysql2
     SUBDIR += rubygem-neighbor
     SUBDIR += rubygem-openid-redis-store
     SUBDIR += rubygem-paranoia
     SUBDIR += rubygem-pg
     SUBDIR += rubygem-pg_array_parser
     SUBDIR += rubygem-pg_query
     SUBDIR += rubygem-pghero
     SUBDIR += rubygem-pghero-rails5
     SUBDIR += rubygem-pghero-rails50
     SUBDIR += rubygem-pghero-rails61
     SUBDIR += rubygem-pl-puppetdb-ruby
     SUBDIR += rubygem-postgres_ext
     SUBDIR += rubygem-puppetdb_cli
     SUBDIR += rubygem-rbase
     SUBDIR += rubygem-red-arrow
     SUBDIR += rubygem-red-arrow-dataset
     SUBDIR += rubygem-red-gandiva
     SUBDIR += rubygem-red-parquet
     SUBDIR += rubygem-redis
     SUBDIR += rubygem-redis-actionpack
     SUBDIR += rubygem-redis-actionpack-rails5
     SUBDIR += rubygem-redis-actionpack-rails50
     SUBDIR += rubygem-redis-actionpack-rails52
     SUBDIR += rubygem-redis-actionpack-rails60
     SUBDIR += rubygem-redis-actionpack-rails61
     SUBDIR += rubygem-redis-actionpack-rails70
     SUBDIR += rubygem-redis-client
     SUBDIR += rubygem-redis-cluster-client
     SUBDIR += rubygem-redis-clustering
     SUBDIR += rubygem-redis-clustering50
     SUBDIR += rubygem-redis-namespace
     SUBDIR += rubygem-redis-namespace110
     SUBDIR += rubygem-redis4
     SUBDIR += rubygem-redis50
     SUBDIR += rubygem-ruby-mysql
     SUBDIR += rubygem-scenic61
     SUBDIR += rubygem-sdbm
     SUBDIR += rubygem-seed-fu
     SUBDIR += rubygem-sqlite3
     SUBDIR += rubygem-sqlite3-ruby
     SUBDIR += rubygem-state_machines-activemodel
     SUBDIR += rubygem-state_machines-activerecord
     SUBDIR += rubygem-state_machines-activerecord08
     SUBDIR += rubygem-tarantool
     SUBDIR += rubygem-trilogy
     SUBDIR += sequeler
     SUBDIR += sfcgal
     SUBDIR += sharedance
     SUBDIR += slony1v2
     SUBDIR += soci
     SUBDIR += spatialite
     SUBDIR += spatialite-tools
     SUBDIR += spatialite_gui
     SUBDIR += speedtables
     SUBDIR += sql-workbench
     SUBDIR += sqlcached
     SUBDIR += sqlcipher
     SUBDIR += sqlclient
     SUBDIR += sqldeveloper
     SUBDIR += sqlite-ext-miscfuncs
     SUBDIR += sqlite-ext-pcre
     SUBDIR += sqlite-ext-regexp
     SUBDIR += sqlite-ext-spellfix
     SUBDIR += sqlite2
     SUBDIR += sqlite3
     SUBDIR += sqlitebrowser
     SUBDIR += sqliteconvert
     SUBDIR += sqlitecpp
     SUBDIR += sqlitemanager
     SUBDIR += sqliteodbc
     SUBDIR += sqlitestudio
     SUBDIR += sqlrelay
     SUBDIR += sqlx-cli
     SUBDIR += sqsh
     SUBDIR += squirrel-sql
     SUBDIR += surrealdb
     SUBDIR += symphytum
     SUBDIR += tarantool
     SUBDIR += tarantool-c
     SUBDIR += tarantool2
     SUBDIR += tcl-Mysql
     SUBDIR += tcl-lmdb
     SUBDIR += tcl-sqlite3
     SUBDIR += tdb
     SUBDIR += tdbc
     SUBDIR += tile38
     SUBDIR += tiledb
     SUBDIR += timescaledb
     SUBDIR += timescaledb-backup
     SUBDIR += timescaledb-tune
     SUBDIR += tinycdb
     SUBDIR += tokyocabinet
     SUBDIR += tokyotyrant
     SUBDIR += trilogy
     SUBDIR += tsearch_extras
     SUBDIR += tuning-primer
     SUBDIR += twemproxy
     SUBDIR += unixODBC
     SUBDIR += usql
     SUBDIR += valkey
     SUBDIR += vfront
     SUBDIR += virtualpg
     SUBDIR += vsqlite
     SUBDIR += webdis
     SUBDIR += wfb2sql
     SUBDIR += xapian-bindings
     SUBDIR += xapian-core
     SUBDIR += xls2txt
     SUBDIR += xrootd
     SUBDIR += xtrabackup
     SUBDIR += xtrabackup80
+    SUBDIR += xtrabackup81
     SUBDIR += zodb
 
 .include <bsd.port.subdir.mk>
diff --git a/databases/xtrabackup81/Makefile b/databases/xtrabackup81/Makefile
new file mode 100644
index 000000000000..75165fccc89c
--- /dev/null
+++ b/databases/xtrabackup81/Makefile
@@ -0,0 +1,89 @@
+PORTNAME=	xtrabackup81
+PORTVERSION=	8.1.0
+DISTVERSIONSUFFIX=	-1
+CATEGORIES=	databases
+MASTER_SITES=	https://downloads.percona.com/downloads/Percona-XtraBackup-innovative-release/Percona-XtraBackup-8.1.0-1/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/xtrabackup81/distinfo b/databases/xtrabackup81/distinfo
new file mode 100644
index 000000000000..aa6d91e59545
--- /dev/null
+++ b/databases/xtrabackup81/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1711999595
+SHA256 (percona-xtrabackup-8.1.0-1.tar.gz) = e058d18e2a80838940aa8f80a095413d994f5a4e8ff5c16228fd9382bb826fe6
+SIZE (percona-xtrabackup-8.1.0-1.tar.gz) = 446978094
+SHA256 (boost_1_77_0.tar.gz) = 5347464af5b14ac54bb945dc68f1dd7c56f0dad7262816b956138fc53bcc0131
+SIZE (boost_1_77_0.tar.gz) = 130620992
diff --git a/databases/xtrabackup81/files/patch-CMakeLists.txt b/databases/xtrabackup81/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..8152347c2ee0
--- /dev/null
+++ b/databases/xtrabackup81/files/patch-CMakeLists.txt
@@ -0,0 +1,22 @@
+--- CMakeLists.txt.orig	2023-10-19 12:05:28 UTC
++++ CMakeLists.txt
+@@ -2094,8 +2094,6 @@ IF(WITH_PROTOBUF STREQUAL "bundled" OR WITH_FIDO STREQ
+   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
+@@ -2345,10 +2343,6 @@ ENDIF()
+ 
+ IF(ENABLE_GCOV)
+   INCLUDE(fastcov)
+-ENDIF()
+-
+-IF(UNIX)
+-  ADD_SUBDIRECTORY(man)
+ ENDIF()
+ 
+ IF(LINUX AND NOT WITHOUT_SERVER)
diff --git a/databases/xtrabackup81/files/patch-cmake-install_layout.cmake b/databases/xtrabackup81/files/patch-cmake-install_layout.cmake
new file mode 100644
index 000000000000..f5916ece2f0b
--- /dev/null
+++ b/databases/xtrabackup81/files/patch-cmake-install_layout.cmake
@@ -0,0 +1,11 @@
+--- cmake/install_layout.cmake.orig	2023-10-19 12:05:28 UTC
++++ cmake/install_layout.cmake
+@@ -159,7 +159,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/xtrabackup81/files/patch-cmake_os_FreeBSD.cmake b/databases/xtrabackup81/files/patch-cmake_os_FreeBSD.cmake
new file mode 100644
index 000000000000..55947a14f6c3
--- /dev/null
+++ b/databases/xtrabackup81/files/patch-cmake_os_FreeBSD.cmake
@@ -0,0 +1,23 @@
+--- cmake/os/FreeBSD.cmake.orig	2023-10-19 12:05:28 UTC
++++ cmake/os/FreeBSD.cmake
+@@ -48,6 +48,20 @@ IF(NOT FORCE_UNSUPPORTED_COMPILER)
+     IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.1)
+       MESSAGE(FATAL_ERROR "GCC 7.1 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/xtrabackup81/files/patch-file_utils b/databases/xtrabackup81/files/patch-file_utils
new file mode 100644
index 000000000000..a23aa72136d4
--- /dev/null
+++ b/databases/xtrabackup81/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/xtrabackup81/files/patch-llvm-15 b/databases/xtrabackup81/files/patch-llvm-15
new file mode 100644
index 000000000000..0017d73b5902
--- /dev/null
+++ b/databases/xtrabackup81/files/patch-llvm-15
@@ -0,0 +1,28 @@
+--- storage/innobase/include/ddl0impl.h.orig	2023-10-19 12:05:28 UTC
++++ storage/innobase/include/ddl0impl.h
+@@ -118,14 +118,6 @@ struct Fetch_sequence : public Context::FTS::Sequence 
+ 
+ /** 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	2023-10-19 12:05:28 UTC
++++ unittest/gunit/mysys_my_rdtsc-t.cc
+@@ -145,7 +145,7 @@ TEST_F(RDTimeStampCounter, TestNanosecond) {
+   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/xtrabackup81/files/patch-procps b/databases/xtrabackup81/files/patch-procps
new file mode 100644
index 000000000000..733821dd7c65
--- /dev/null
+++ b/databases/xtrabackup81/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/xtrabackup81/files/patch-protobuf b/databases/xtrabackup81/files/patch-protobuf
new file mode 100644
index 000000000000..f1bd482d944a
--- /dev/null
+++ b/databases/xtrabackup81/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/xtrabackup81/files/patch-storage_innobase_xtrabackup_src_utils.cc b/databases/xtrabackup81/files/patch-storage_innobase_xtrabackup_src_utils.cc
new file mode 100644
index 000000000000..dbc84f05a7e1
--- /dev/null
+++ b/databases/xtrabackup81/files/patch-storage_innobase_xtrabackup_src_utils.cc
@@ -0,0 +1,59 @@
+--- storage/innobase/xtrabackup/src/utils.cc.orig	2023-10-19 12:05:28 UTC
++++ storage/innobase/xtrabackup/src/utils.cc
+@@ -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
+ #ifdef HAVE_PROCPS_V3
+@@ -113,12 +115,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;
+@@ -139,6 +143,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/xtrabackup81/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh b/databases/xtrabackup81/files/patch-storage_innobase_xtrabackup_xbcloud__osenv.sh
new file mode 100644
index 000000000000..37b1e45afc66
--- /dev/null
+++ b/databases/xtrabackup81/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/xtrabackup81/files/patch-storage_temptable_include_temptable_lock__free__type.h b/databases/xtrabackup81/files/patch-storage_temptable_include_temptable_lock__free__type.h
new file mode 100644
index 000000000000..f6664e3afa74
--- /dev/null
+++ b/databases/xtrabackup81/files/patch-storage_temptable_include_temptable_lock__free__type.h
@@ -0,0 +1,17 @@
+--- storage/temptable/include/temptable/lock_free_type.h.orig	2023-10-19 12:05:28 UTC
++++ storage/temptable/include/temptable/lock_free_type.h
+@@ -32,6 +32,14 @@ Lock-free type (selection) implementation. */
+ #include "my_config.h"
+ #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 {
+ 
+ /** Clang has a bug which causes ATOMIC_LLONG_LOCK_FREE to be defined as 1
diff --git a/databases/xtrabackup81/pkg-descr b/databases/xtrabackup81/pkg-descr
new file mode 100644
index 000000000000..da1655f57769
--- /dev/null
+++ b/databases/xtrabackup81/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/xtrabackup81/pkg-plist b/databases/xtrabackup81/pkg-plist
new file mode 100644
index 000000000000..40cde5419101
--- /dev/null
+++ b/databases/xtrabackup81/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/component_keyring_vault.so