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 -> wrapGAppsHook3 != null;
30 stdenv.mkDerivation rec {
34 src = fetchFromGitHub {
35 owner = "AravisProject";
38 sha256 = "sha256-D6zcTCaFJxJ2VhhsgEFu5+3Xx1MJov4ryrtA0VkjZlY=";
41 outputs = [ "bin" "dev" "out" "lib" ];
49 ] ++ lib.optional enableViewer wrapGAppsHook3;
53 ++ lib.optional enableUsb libusb1
54 ++ lib.optionals (enableViewer || enableGstPlugin) (with gst_all_1; [ gstreamer gst-plugins-base (gst-plugins-good.override { gtkSupport = true; }) gst-plugins-bad ])
55 ++ lib.optionals (enableViewer) [ gtk3 ];
58 ] ++ lib.optional enableFastHeartbeat "-Dfast-heartbeat=enabled"
59 ++ lib.optional (!enableGstPlugin) "-Dgst-plugin=disabled"
60 ++ lib.optional (!enableViewer) "-Dviewer=disabled"
61 ++ lib.optional (!enableUsb) "-Dviewer=disabled"
62 ++ lib.optional (!enablePacketSocket) "-Dpacket-socket=disabled";
67 description = "Library for video acquisition using GenICam cameras";
69 Implements the gigabit ethernet and USB3 protocols used by industrial cameras.
71 # the documentation is the best working homepage that's not the Github repo
72 homepage = "https://aravisproject.github.io/docs/aravis-0.8";
73 license = lib.licenses.lgpl2;
74 maintainers = with lib.maintainers; [ tpw_rules ];
75 platforms = lib.platforms.unix;