summaryrefslogtreecommitdiff
path: root/sci-libs/indilib/indilib-9999.ebuild
blob: 7f3b090bfb4faef3d21a1566c6f94904a62e47ec (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit cmake git-r3 udev user

DESCRIPTION="INDI Astronomical Control Protocol library"
HOMEPAGE="http://indi.sourceforge.net/index.php/Main_Page"
EGIT_REPO_URI="https://github.com/indilib/indi-3rdparty.git"
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"

LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+"
SLOT="0/1"
KEYWORDS=""
IUSE="ogg test drivers qt5 websocket"

RDEPEND="
	sci-libs/cfitsio:=
	sci-libs/fftw:3.0=
	sci-libs/libnova:=
	sci-libs/gsl:=
	sys-libs/zlib
	virtual/jpeg:0
	virtual/libusb:0
	net-misc/curl
	qt5? ( dev-qt/qtnetwork:5 )
	ogg? (
		media-libs/libogg
		media-libs/libtheora
	)
	websocket? ( dev-libs/boost:= )"

DEPEND="${RDEPEND}
	kernel_linux? ( sys-kernel/linux-headers )
	drivers? ( sci-libs/indilib-drivers )
	test? ( >=dev-cpp/gtest-1.8.0 )
	websocket? ( dev-cpp/websocketpp )
"

RESTRICT="!test? ( test )"

DOCS=( AUTHORS ChangeLog README )

EGIT_CHECKOUT_DIR="${WORKDIR}/${P}"

S="${EGIT_CHECKOUT_DIR}/libindi"

src_configure() {
	local mycmakeargs=(
		-DUDEVRULES_INSTALL_DIR=$(get_udevdir)/rules.d
		-DINDI_BUILD_UNITTESTS=$(usex test)
		-DINDI_BUILD_QT5_CLIENT=$(usex qt5)
		$(cmake_use_find_package ogg OggTheora)
		-DINDI_BUILD_WEBSOCKET=$(usex websocket)
	)
	cmake_src_configure
}

src_install() {
	cmake_src_install
	newinitd "${FILESDIR}/indiserver.sh" indiserver
	newconfd "${FILESDIR}/indiserver.conf" indiserver
}

src_test() {
	BUILD_DIR="${BUILD_DIR}"/test cmake_src_test
}

pkg_postinst() {
	enewgroup indiserver
	enewuser indiserver -1 -1 -1 "usb,uucp,video,indiserver"
	elog "You can use init script in /etc/init.d/indiserver to start"
	elog "indiserver automatically."
	elog "Configuration is in /etc/conf.d/indiserver."
}