--- /dev/null
+# Copyright 2019 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"
+}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bernardo@standard.ai</email>
- <name>Bernardo Meurer</name>
- </maintainer>
- <maintainer type="person">
- <email>lu_zero@gentoo.org</email>
- </maintainer>
-
- <maintainer type="project">
- <email>media-video@gentoo.org</email>
- <name>Gentoo Video project</name>
- </maintainer>
-
- <use>
- <flag name="X">
- Build the GTK+-based video viewer for aravis. This requires
- GStreamer and a few plugins but technically not the GST plugin
- for aravis.
- </flag>
-
- <flag name="gstreamer">
- Build the GStreamer plugin for aravis, but not the video viewer.
- </flag>
- </use>
+ <maintainer type="person">
+ <email>bernardo@standard.ai</email>
+ <name>Bernardo Meurer</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>lu_zero@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>media-video@gentoo.org</email>
+ <name>Gentoo Video project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Aravis is a glib/gobject based library for video acquisition using Genicam
+ cameras. It currently implements the gigabit ethernet and USB3 protocols
+ used by industrial cameras. It also provides a basic ethernet camera
+ simulator and a simple video viewer.
+ </longdescription>
+ <use>
+ <flag name="X"> Build the GTK+-based video viewer.</flag>
+ <flag name="fast-heartbeat"> Enable faster heartbeat rate. </flag>
+ <flag name="gstreamer"> Build the GStreamer plugin.</flag>
+ <flag name="packet-socket"> Enable packet socket support.</flag>
+ </use>
</pkgmetadata>