diff --git a/acct-group/automx2/automx2-0-r3.ebuild b/acct-group/automx2/automx2-0-r3.ebuild
new file mode 100644
index 0000000..c3f844d
--- /dev/null
+++ b/acct-group/automx2/automx2-0-r3.ebuild
@@ -0,0 +1,9 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit acct-group
+
+DESCRIPTION="Group for net-mail/automx2"
+ACCT_GROUP_ID=437
diff --git a/acct-group/automx2/metadata.xml b/acct-group/automx2/metadata.xml
new file mode 100644
index 0000000..115e9d6
--- /dev/null
+++ b/acct-group/automx2/metadata.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/acct-user/automx2/automx2-0-r3.ebuild b/acct-user/automx2/automx2-0-r3.ebuild
new file mode 100644
index 0000000..333c032
--- /dev/null
+++ b/acct-user/automx2/automx2-0-r3.ebuild
@@ -0,0 +1,14 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit acct-user
+
+DESCRIPTION="User for net-mail/automx2"
+
+ACCT_USER_ID=437
+ACCT_USER_GROUPS=( automx2 )
+ACCT_USER_HOME="/var/lib/automx2"
+
+acct-user_add_deps
diff --git a/acct-user/automx2/metadata.xml b/acct-user/automx2/metadata.xml
new file mode 100644
index 0000000..115e9d6
--- /dev/null
+++ b/acct-user/automx2/metadata.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/dev-python/flask-migrate/Manifest b/dev-python/flask-migrate/Manifest
new file mode 100644
index 0000000..a3b0a76
--- /dev/null
+++ b/dev-python/flask-migrate/Manifest
@@ -0,0 +1 @@
+DIST Flask-Migrate-4.1.0.gh.tar.gz 27430 BLAKE2B 7adc49eb0b80cc74cc381ab803ccd2dfcc107beeb5fd06f24ca36a98f6e617e6f56a48c0ef739d41770ec508d4bf0e13b78f57be62d23317c8d797bfa1ef5c2d SHA512 683842e3e5832cf3eaf6b7ee5e194c1eb2fe1b096d3360a64f2f0de5024e1fa4ebd8e0b6659a1c87ded47efd0e07cecf9d82807e1e64af99a18bb9b596261963
diff --git a/dev-python/flask-migrate/flask-migrate-4.1.0.ebuild b/dev-python/flask-migrate/flask-migrate-4.1.0.ebuild
new file mode 100644
index 0000000..0a304d6
--- /dev/null
+++ b/dev-python/flask-migrate/flask-migrate-4.1.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_13 )
+
+inherit distutils-r1
+
+MY_P="Flask-Migrate-${PV}"
+DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
+HOMEPAGE="
+ https://github.com/miguelgrinberg/Flask-Migrate/
+ https://pypi.org/project/Flask-Migrate/
+"
+SRC_URI="
+ https://github.com/miguelgrinberg/Flask-Migrate/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/alembic-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.9[${PYTHON_USEDEP}]
+ >=dev-python/flask-sqlalchemy-1.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ local -x PATH=${T}/bin:${PATH}
+
+ mkdir -p "${T}"/bin || die
+ cat > "${T}"/bin/flask <<-EOF || die
+ #!/bin/sh
+ exec ${EPYTHON} -m flask "\${@}"
+ EOF
+ chmod +x "${T}"/bin/flask || die
+
+ eunittest
+}
diff --git a/dev-python/flask-migrate/metadata.xml b/dev-python/flask-migrate/metadata.xml
new file mode 100644
index 0000000..8c1ab3c
--- /dev/null
+++ b/dev-python/flask-migrate/metadata.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ python@gentoo.org
+ Python
+
+
+
+ miguelgrinberg/Flask-Migrate
+ Flask-Migrate
+
+
diff --git a/dev-python/flask-sqlalchemy/Manifest b/dev-python/flask-sqlalchemy/Manifest
new file mode 100644
index 0000000..1ee9314
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/Manifest
@@ -0,0 +1 @@
+DIST flask_sqlalchemy-3.1.1.tar.gz 81899 BLAKE2B 25522dc47afd08840b09f33791fffaf845a636c06d9a17f7a7930a21b64bad47b592f441b55dfc9a846b2c98e21b9cd027ec4ce85e701251ace0d9e072731f47 SHA512 27a93efb96bc8afe483dc32f9e9756e5972029464f4a201e8a55bf62b88f6bcd93ed7f4472ac21cb17376c87852a1d4b5f98a8ddb55d9b12c334346d5bc7e464
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild
new file mode 100644
index 0000000..bad6821
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN="Flask-SQLAlchemy"
+PYTHON_COMPAT=( python3_13 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="SQLAlchemy support for Flask applications"
+HOMEPAGE="
+ https://github.com/pallets-eco/flask-sqlalchemy/
+ https://pypi.org/project/Flask-SQLAlchemy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/flask-2.2.5[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-2.0.16[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/blinker[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/pallets-sphinx-themes \
+ dev-python/sphinx-issues \
+ dev-python/sphinxcontrib-log-cabinet
diff --git a/dev-python/flask-sqlalchemy/metadata.xml b/dev-python/flask-sqlalchemy/metadata.xml
new file mode 100644
index 0000000..7c84ce7
--- /dev/null
+++ b/dev-python/flask-sqlalchemy/metadata.xml
@@ -0,0 +1,21 @@
+
+
+
+
+ robbat2@gentoo.org
+
+
+ python@gentoo.org
+ Python
+
+
+
+ Flask-SQLAlchemy
+ pallets-eco/flask-sqlalchemy
+ https://github.com/pallets-eco/flask-sqlalchemy/issues
+
+
+ Flask-SQLAlchemy is a Flask microframework extension which adds
+ support for the SQLAlchemy SQL toolkit/ORM.
+
+
diff --git a/net-mail/automx2/Manifest b/net-mail/automx2/Manifest
new file mode 100644
index 0000000..2e7f370
--- /dev/null
+++ b/net-mail/automx2/Manifest
@@ -0,0 +1 @@
+DIST automx2-2026.1.tar.gz 180293 BLAKE2B cfab7e02a40011fb6cfb262c2c467f205fdc28bfe1a91f43cb679c7f743c29958fbaf189f4aa553f57fe0a3ebdb30c01aff8cce2ba9b7a43d293ecd368f77bd8 SHA512 a9c7c85923b382a7d7481dd807fe06dcc5b8ca5d7a2723ff381d3df4e4de0648a7ddd92ce6be035e0cf1a2f5cecd2d884afbbbfc8a125d731d73a2cd927f3c60
diff --git a/net-mail/automx2/automx2-2026.1.ebuild b/net-mail/automx2/automx2-2026.1.ebuild
new file mode 100644
index 0000000..c5fe9b7
--- /dev/null
+++ b/net-mail/automx2/automx2-2026.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_13 )
+
+inherit distutils-r1
+
+DESCRIPTION="Mail User Agent (email client) configuration made easy"
+HOMEPAGE="https://rseichter.github.io/automx2/"
+SRC_URI="https://github.com/rseichter/automx2/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+
+RDEPEND="acct-user/automx2
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-migrate[${PYTHON_USEDEP}]
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/ldap3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ rm -r src/alembic || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x AUTOMX2_CONF="tests/unittest.conf"
+ eunittest tests/
+}
+
+python_install_all() {
+ local DOCS=("${S}"/docs/*.pdf)
+ local HTML_DOCS=("${S}"/docs/*.{html,svg})
+ newconfd "${FILESDIR}/confd" "${PN}"
+ newinitd "${FILESDIR}/init-r2" "${PN}"
+ insinto /etc
+ newins "${FILESDIR}/conf" "${PN}.conf"
+ distutils-r1_python_install_all
+}
diff --git a/net-mail/automx2/files/conf b/net-mail/automx2/files/conf
new file mode 100644
index 0000000..ca19e0e
--- /dev/null
+++ b/net-mail/automx2/files/conf
@@ -0,0 +1,20 @@
+[automx2]
+# A typical production setup would use loglevel = WARNING
+loglevel = WARNING
+# Echo SQL commands into log? Used for debugging.
+db_echo = no
+
+# In-memory SQLite database
+#db_uri = sqlite:///:memory:
+
+# SQLite database in a UNIX-like file system
+db_uri = sqlite:////var/lib/automx2/db.sqlite
+
+# MySQL database on a remote server. This example does not use an encrypted
+# connection and is therefore *not* recommended for production use.
+#db_uri = mysql://username:password@server.example.com/db
+
+# Number of proxy servers between automx2 and the client (default: 0).
+# If your logs only show 127.0.0.1 or ::1 as the source IP for incoming
+# connections, proxy_count probably needs to be changed.
+#proxy_count = 1
diff --git a/net-mail/automx2/files/confd b/net-mail/automx2/files/confd
new file mode 100644
index 0000000..5a58d94
--- /dev/null
+++ b/net-mail/automx2/files/confd
@@ -0,0 +1,8 @@
+# Additional parameters passed to Flask
+#AUTOMX2_ARGS="--host 127.0.0.1 --port 4243"
+
+# Configuration file
+#AUTOMX2_CONF="/etc/automx2.conf"
+
+# Process owner (choose a non-privileged user)
+#AUTOMX2_USER="automx2"
diff --git a/net-mail/automx2/files/init-r2 b/net-mail/automx2/files/init-r2
new file mode 100644
index 0000000..bf64b5b
--- /dev/null
+++ b/net-mail/automx2/files/init-r2
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+: ${AUTOMX2_CONF:="/etc/${RC_SVCNAME}.conf"}
+: ${AUTOMX2_USER:="automx2"}
+: ${AUTOMX2_ARGS:="--port 4243"}
+
+command="/usr/bin/flask"
+command_args="run ${AUTOMX2_ARGS}"
+command_background="true"
+command_user="${AUTOMX2_USER}"
+pidfile="/run/${RC_SVCNAME}.pid"
+required_files="${AUTOMX2_CONF}"
+
+depend() {
+ use logger net
+ before nginx
+}
+
+start_pre() {
+ export AUTOMX2_CONF
+ export EPYTHON="python"
+ export FLASK_APP="automx2.server:app"
+ export FLASK_ENV="production"
+}
diff --git a/net-mail/automx2/metadata.xml b/net-mail/automx2/metadata.xml
new file mode 100644
index 0000000..01690ef
--- /dev/null
+++ b/net-mail/automx2/metadata.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+ automx2 makes configuring a mail account easy. It unites
+ methods for automated mailbox configuration from Apple
+ (mobileconfig), Microsoft (autodiscover) and Mozilla
+ (autoconfig) in one tool.
+
+
+ https://rseichter.github.io/automx2/
+
+ automx2@seichter.de
+ Ralph Seichter
+
+ rseichter/automx2
+
+