summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/indilib/indilib-2.0.7.ebuild')
-rw-r--r--sci-libs/indilib/indilib-2.0.7.ebuild87
1 files changed, 87 insertions, 0 deletions
diff --git a/sci-libs/indilib/indilib-2.0.7.ebuild b/sci-libs/indilib/indilib-2.0.7.ebuild
new file mode 100644
index 000000000000..97825f10c559
--- /dev/null
+++ b/sci-libs/indilib/indilib-2.0.7.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic udev
+
+DESCRIPTION="INDI Astronomical Control Protocol library"
+HOMEPAGE="https://www.indilib.org/"
+SRC_URI="https://github.com/${PN}/${PN/lib/}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P/lib/}"
+
+LICENSE="BSD GPL-2+ LGPL-2+ LGPL-2.1+"
+SLOT="0/1"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="ogg rtlsdr test websocket"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/cpp-httplib:=
+ dev-cpp/nlohmann_json
+ dev-libs/libev
+ media-libs/libjpeg-turbo:=
+ net-misc/curl
+ sci-libs/cfitsio:=
+ sci-libs/fftw:3.0=
+ sci-libs/gsl:=
+ sci-libs/libnova:=
+ sys-libs/zlib
+ virtual/libusb:1
+ ogg? (
+ media-libs/libogg
+ media-libs/libtheora
+ )
+ rtlsdr? ( net-wireless/rtl-sdr )
+ websocket? ( dev-libs/boost:= )
+"
+DEPEND="${RDEPEND}
+ kernel_linux? ( sys-kernel/linux-headers )
+ test? ( >=dev-cpp/gtest-1.8.0 )
+ websocket? ( dev-cpp/websocketpp )
+"
+
+PATCHES=( ${FILESDIR}/${P}-fix-system-httplib.patch )
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/878525
+ # https://github.com/indilib/indi/issues/2023
+ filter-lto
+
+ local mycmakeargs=(
+ -DINDI_SYSTEM_HTTPLIB=ON
+ -DINDI_SYSTEM_JSONLIB=ON
+ -DINDI_BUILD_QT5_CLIENT=OFF
+ -DINDI_BUILD_SHARED=ON
+ -DINDI_BUILD_STATIC=OFF
+ -DINDI_BUILD_XISF=OFF # not packaged
+ -DUDEVRULES_INSTALL_DIR="${EPREFIX}$(get_udevdir)"/rules.d
+ $(cmake_use_find_package ogg OggTheora)
+ $(cmake_use_find_package rtlsdr RTLSDR)
+ -DINDI_BUILD_UNITTESTS=$(usex test)
+ -DINDI_BUILD_INTEGTESTS=$(usex test)
+ -DINDI_BUILD_WEBSOCKET=$(usex websocket)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Unit tests
+ BUILD_DIR="${BUILD_DIR}"/test cmake_src_test
+
+ # Integration tests
+ # They fail in parallel because they try to bind to the same port more
+ # than once.
+ BUILD_DIR="${BUILD_DIR}"/integs cmake_src_test -j1
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}