summaryrefslogtreecommitdiff
path: root/net-misc/switchboard/switchboard-0.1.0.ebuild
blob: 82cc0b6a10374d13b8976c61bf83329131965eaa (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
EAPI=8

inherit cmake

DESCRIPTION="Switchboard event bus: switchboardd bridge, libswitchboard and the switchboard CLI (C++)"
HOMEPAGE="https://trunkmasters.com/switchboard"
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-db/postgresql-18.6*
	=dev-cpp/nlohmann_json-3.12.0*
	=dev-cpp/tomlplusplus-3.4.0*
"
RDEPEND="${DEPEND}"
BDEPEND="=dev-cpp/catch-3.15.3*"

src_configure() {
	# The project refuses in-source builds and requires an absolute build root.
	export SWITCHBOARD_CPP_BUILD_ROOT="${WORKDIR}/build"
	local mycmakeargs=( -DSB_SANITIZER=none )
	cmake_src_configure
}

src_test() {
	# The contract tests need PostgreSQL, sockets and the Rust reference; they run outside the sandbox.
	cmake_src_test -R '^unit$'
}

pkg_postinst() {
	elog "No service is installed. The OpenRC files for the swap from switchboard-rs are in"
	elog "/usr/share/switchboard/openrc; the swap is a separate, approved step (switchboard docs)."
}