summaryrefslogtreecommitdiff
path: root/media-video/aravis/aravis-0.6.4.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/aravis/aravis-0.6.4.ebuild')
-rw-r--r--media-video/aravis/aravis-0.6.4.ebuild85
1 files changed, 85 insertions, 0 deletions
diff --git a/media-video/aravis/aravis-0.6.4.ebuild b/media-video/aravis/aravis-0.6.4.ebuild
new file mode 100644
index 0000000..fbe16e5
--- /dev/null
+++ b/media-video/aravis/aravis-0.6.4.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit meson xdg
+
+DESCRIPTION="Library for video acquisition using Genicam cameras"
+HOMEPAGE="https://github.com/AravisProject/aravis"
+
+if [[ ${PV} = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/AravisProject/${PN}"
+else
+ MY_P="${PN^^}_${PV//./_}"
+ SRC_URI="https://github.com/AravisProject/${PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+# FIXME: As of right now tests are always built, once that changes a USE flag
+# should be added. c.f. https://github.com/AravisProject/aravis/issues/286
+IUSE="doc fast-heartbeat gstreamer introspection packet-socket usb X"
+
+GST_DEPEND="
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+"
+BDEPEND="
+ >=dev-util/meson-0.47.0
+ virtual/pkgconfig
+ doc? ( dev-util/gtk-doc )
+ introspection? ( dev-libs/gobject-introspection )
+"
+DEPEND="
+ >=dev-libs/glib-2.34
+ dev-libs/libxml2:=
+ sys-libs/zlib:=
+ gstreamer? ( ${GST_DEPEND} )
+ packet-socket? ( sys-process/audit )
+ usb? ( virtual/libusb:1 )
+ X? (
+ ${GST_DEPEND}
+ >=x11-libs/gtk+-3.12:3
+ x11-libs/libnotify
+ )
+"
+RDEPEND="${DEPEND}"
+
+if [[ ${PV} != 9999 ]]; then
+ S="${WORKDIR}/${PN}-${MY_P}"
+fi
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use doc documentation)
+ $(meson_use fast-heartbeat)
+ $(meson_use gstreamer gst-plugin)
+ $(meson_use introspection)
+ $(meson_use packet-socket)
+ $(meson_use usb)
+ $(meson_use X viewer)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ # Aravis appends the major and min versions (but not the patch) to it's
+ # binaries and it's folder in /usr/share. Things then end up like
+ # `arv-tool-0.6`. We use this little hack to find out the version of the
+ # current build in a way that works even for a -9999 ebuild.
+ local install_pv="$(ls ${ED}/usr/share | grep aravis- | cut -f 2 -d '-')"
+ local install_p="${PN}-${install_pv}"
+
+ # Properly place icons
+ if use X; then
+ cp -r "${ED}/usr/share/${install_p}/icons" "${ED}/usr/share" || die "Failed to copy icons"
+ fi
+
+ # Symlink versioned binaries to non-versioned
+ dosym "arv-tool-${install_pv}" "usr/bin/arv-tool"
+ dosym "arv-fake-gv-camera-${install_pv}" "usr/bin/arv-fake-gv-camera"
+ use X && dosym "arv-viewer-${install_pv}" "usr/bin/arv-viewer"
+}