EAPI=8 inherit cmake DESCRIPTION="webmail: mail, contacts, settings and calendar for mail.trunkmasters.com" HOMEPAGE="https://trunkmasters.com/webmail" SRC_URI="https://www.hedronfire.com/distfiles/${P}.tar.gz" # The application carries no grant of an open-source license. LICENSE="all-rights-reserved" SLOT="0" KEYWORDS="~amd64" RESTRICT="mirror bindist" DEPEND=" =dev-libs/boost-1.91.0* =dev-libs/openssl-3.6.5* =dev-db/postgresql-18.6* =dev-cpp/nlohmann_json-3.12.0* =dev-libs/libyaml-0.2.5* =dev-libs/icu-78.3* " # It runs as the existing `webmail` account (on Alpha it predates any acct package), reads # mail from Dovecot over IMAP, and calls sendmail and Postfix's postqueue. RDEPEND="${DEPEND} virtual/mta " BDEPEND=" =dev-cpp/catch-3.15.3* virtual/pkgconfig " src_configure() { # The project refuses in-source builds and requires an absolute build root. export WEBMAIL_BUILD_ROOT="${WORKDIR}/build" local mycmakeargs=( -DWEBMAIL_SANITIZER=none ) cmake_src_configure } src_test() { # The parity suite needs root, PostgreSQL, Dovecot and the Rust reference binary; it runs # outside the Portage sandbox (README, "Build and test"). cmake_src_test -R '^unit$' } src_install() { cmake_src_install newinitd "${ED}"/usr/share/webmail/openrc/webmail.initd webmail newconfd "${ED}"/usr/share/webmail/openrc/webmail.confd webmail } pkg_postinst() { elog "webmail runs as webmail with the settings in /etc/webmail/config.yaml (or WEBMAIL_CONFIG)," elog "on /run/mail/http.socket, against the webmail and mail databases and Dovecot, as the Rust" elog "daemon did. An existing /etc/init.d/webmail and /etc/conf.d/webmail are kept" elog "(CONFIG_PROTECT): merge the new init script at the switch." elog "Up to 0.2.2 the default was /srv/webmail/config.yaml: move it to /etc/webmail (0600 webmail," elog "the folder 0750 root:webmail) or set WEBMAIL_CONFIG before restarting." }