10 , gobject-introspection
12 , enableGstPlugin ? true
21 , enablePacketSocket ? true
22 , enableFastHeartbeat ? false
25 assert enableGstPlugin -> gst_all_1 != null;
26 assert enableViewer -> enableGstPlugin;
27 assert enableViewer -> gtk3 != null;
28 assert enableViewer -> wrapGAppsHook != null;
30 stdenv.mkDerivation rec {
34 src = fetchFromGitHub {
35 owner = "AravisProject";
38 sha256 = "sha256-S9DmXjywxNr5Rpx605zip76vGKBSrUwyerqXlBm05VI=";
41 outputs = [ "bin" "dev" "out" "lib" ];
48 ] ++ lib.optional enableViewer wrapGAppsHook;
51 [ glib libxml2 gobject-introspection ]
52 ++ lib.optional enableUsb libusb1
53 ++ lib.optionals (enableViewer || enableGstPlugin) (with gst_all_1; [ gstreamer gst-plugins-base (gst-plugins-good.override { gtkSupport = true; }) gst-plugins-bad ])
54 ++ lib.optionals (enableViewer) [ gtk3 ];
57 ] ++ lib.optional enableFastHeartbeat "-Dfast-heartbeat=enabled"
58 ++ lib.optional (!enableGstPlugin) "-Dgst-plugin=disabled"
59 ++ lib.optional (!enableViewer) "-Dviewer=disabled"
60 ++ lib.optional (!enableUsb) "-Dviewer=disabled"
61 ++ lib.optional (!enablePacketSocket) "-Dpacket-socket=disabled";
66 description = "Library for video acquisition using GenICam cameras";
68 Implements the gigabit ethernet and USB3 protocols used by industrial cameras.
70 # the documentation is the best working homepage that's not the Github repo
71 homepage = "https://aravisproject.github.io/docs/aravis-0.8";
72 license = lib.licenses.lgpl2;
73 maintainers = with lib.maintainers; [ tpw_rules ];
74 platforms = lib.platforms.unix;