571c71e6f7
We are migrating packages that meet below requirements: 1. using `callPackage` 2. called path is a directory 3. overriding set is empty (`{ }`) 4. not containing path expressions other than relative path (to makenixpkgs-vet happy) 5. not referenced by nix files outside of the directory, other than`pkgs/top-level/all-packages.nix` 6. not referencing nix files outside of the directory 7. not referencing `default.nix` (since it's changed to `package.nix`) 8. `outPath` doesn't change after migration The tool is here: https://github.com/Aleksanaa/by-name-migrate.
78 lines
2.0 KiB
Nix
78 lines
2.0 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, meson
|
|
, ninja
|
|
, pkg-config
|
|
, gi-docgen
|
|
, glib
|
|
, libxml2
|
|
, gobject-introspection
|
|
|
|
, enableGstPlugin ? true
|
|
, enableViewer ? true
|
|
, gst_all_1
|
|
, gtk3
|
|
, wrapGAppsHook3
|
|
|
|
, enableUsb ? true
|
|
, libusb1
|
|
|
|
, enablePacketSocket ? true
|
|
, enableFastHeartbeat ? false
|
|
}:
|
|
|
|
assert enableGstPlugin -> gst_all_1 != null;
|
|
assert enableViewer -> enableGstPlugin;
|
|
assert enableViewer -> gtk3 != null;
|
|
assert enableViewer -> wrapGAppsHook3 != null;
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "aravis";
|
|
version = "0.8.33";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AravisProject";
|
|
repo = pname;
|
|
rev = version;
|
|
sha256 = "sha256-D6zcTCaFJxJ2VhhsgEFu5+3Xx1MJov4ryrtA0VkjZlY=";
|
|
};
|
|
|
|
outputs = [ "bin" "dev" "out" "lib" ];
|
|
|
|
nativeBuildInputs = [
|
|
meson
|
|
ninja
|
|
pkg-config
|
|
gi-docgen
|
|
gobject-introspection
|
|
] ++ lib.optional enableViewer wrapGAppsHook3;
|
|
|
|
buildInputs =
|
|
[ glib libxml2 ]
|
|
++ lib.optional enableUsb libusb1
|
|
++ lib.optionals (enableViewer || enableGstPlugin) (with gst_all_1; [ gstreamer gst-plugins-base (gst-plugins-good.override { gtkSupport = true; }) gst-plugins-bad ])
|
|
++ lib.optionals (enableViewer) [ gtk3 ];
|
|
|
|
mesonFlags = [
|
|
] ++ lib.optional enableFastHeartbeat "-Dfast-heartbeat=enabled"
|
|
++ lib.optional (!enableGstPlugin) "-Dgst-plugin=disabled"
|
|
++ lib.optional (!enableViewer) "-Dviewer=disabled"
|
|
++ lib.optional (!enableUsb) "-Dviewer=disabled"
|
|
++ lib.optional (!enablePacketSocket) "-Dpacket-socket=disabled";
|
|
|
|
doCheck = true;
|
|
|
|
meta = {
|
|
description = "Library for video acquisition using GenICam cameras";
|
|
longDescription = ''
|
|
Implements the gigabit ethernet and USB3 protocols used by industrial cameras.
|
|
'';
|
|
# the documentation is the best working homepage that's not the Github repo
|
|
homepage = "https://aravisproject.github.io/docs/aravis-0.8";
|
|
license = lib.licenses.lgpl2;
|
|
maintainers = with lib.maintainers; [ tpw_rules ];
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
}
|