summaryrefslogtreecommitdiff
path: root/www-apps/webmail/webmail-0.2.8.ebuild
blob: 77c0371b9e537ac1ccbb15f751ea21a39e8090f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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."
}