From ff9bda440ac81f255e890d25b800c77f7d8dd8a6 Mon Sep 17 00:00:00 2001 From: Thomas Watson Date: Tue, 10 May 2022 17:33:13 -0500 Subject: [PATCH] aravis: 0.6.4 -> 0.8.21, add myself as maintainer --- pkgs/development/libraries/aravis/default.nix | 133 ++++++++---------- pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 63 insertions(+), 74 deletions(-) diff --git a/pkgs/development/libraries/aravis/default.nix b/pkgs/development/libraries/aravis/default.nix index 6f2d241070f..f8496499ba8 100644 --- a/pkgs/development/libraries/aravis/default.nix +++ b/pkgs/development/libraries/aravis/default.nix @@ -1,85 +1,76 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk-doc, intltool -, audit, glib, libusb1, libxml2 -, wrapGAppsHook -, gstreamer -, gst-plugins-base -, gst-plugins-good -, gst-plugins-bad -, libnotify -, gnome +{ lib +, stdenv +, fetchFromGitHub +, meson +, ninja +, pkg-config +, gi-docgen +, glib +, libxml2 +, gobject-introspection + +, enableGstPlugin ? true +, enableViewer ? true +, gst_all_1 , gtk3 +, wrapGAppsHook + , enableUsb ? true +, libusb1 + , enablePacketSocket ? true -, enableViewer ? true -, enableGstPlugin ? true -, enableCppTest ? false , enableFastHeartbeat ? false -, enableAsan ? false }: -let - gstreamerAtLeastVersion1 = - lib.all - (pkg: pkg != null && lib.versionAtLeast (lib.getVersion pkg) "1.0") - [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]; -in - assert enableViewer -> enableGstPlugin; - assert enableViewer -> gstreamerAtLeastVersion1; - - stdenv.mkDerivation rec { - - pname = "aravis"; - version = "0.6.4"; - - src = fetchFromGitHub { - owner = "AravisProject"; - repo = pname; - rev= "ARAVIS_${builtins.replaceStrings ["."] ["_"] version}"; - sha256 = "18fnliks661kzc3g8v08hcaj18hjid8b180d6s9gwn0zgv4g374w"; - }; +assert enableGstPlugin -> gst_all_1 != null; +assert enableViewer -> enableGstPlugin; +assert enableViewer -> gtk3 != null; +assert enableViewer -> wrapGAppsHook != null; - outputs = [ "bin" "dev" "out" "lib" ]; +stdenv.mkDerivation rec { + pname = "aravis"; + version = "0.8.21"; - nativeBuildInputs = [ - autoreconfHook - pkg-config - intltool - gtk-doc - ] ++ lib.optional enableViewer wrapGAppsHook; + src = fetchFromGitHub { + owner = "AravisProject"; + repo = pname; + rev = version; + sha256 = "sha256-z4fuo8tVyHf2Bw73ZfAEpAYmzbr9UIzEWPC5f95wnD8="; + }; - buildInputs = - [ glib libxml2 ] - ++ lib.optional enableUsb libusb1 - ++ lib.optional enablePacketSocket audit - ++ lib.optionals (enableViewer || enableGstPlugin) [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ] - ++ lib.optionals (enableViewer) [ libnotify gtk3 gnome.adwaita-icon-theme ]; + outputs = [ "bin" "dev" "out" "lib" ]; - preAutoreconf = "./autogen.sh"; + nativeBuildInputs = [ + meson + ninja + pkg-config + gi-docgen + ] ++ lib.optional enableViewer wrapGAppsHook; - configureFlags = - lib.optional enableUsb "--enable-usb" - ++ lib.optional enablePacketSocket "--enable-packet-socket" - ++ lib.optional enableViewer "--enable-viewer" - ++ lib.optional enableGstPlugin - (if gstreamerAtLeastVersion1 then "--enable-gst-plugin" else "--enable-gst-0.10-plugin") - ++ lib.optional enableCppTest "--enable-cpp-test" - ++ lib.optional enableFastHeartbeat "--enable-fast-heartbeat" - ++ lib.optional enableAsan "--enable-asan"; + buildInputs = + [ glib libxml2 gobject-introspection ] + ++ 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 ]; - postPatch = '' - ln -s ${gtk-doc}/share/gtk-doc/data/gtk-doc.make . - ''; + 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; + doCheck = true; - meta = { - description = "Library for video acquisition using GenICam cameras"; - longDescription = '' - Implements the gigabit ethernet and USB3 protocols used by industrial cameras. - ''; - homepage = "https://aravisproject.github.io/docs/aravis-0.5"; - license = lib.licenses.lgpl2; - maintainers = []; - platforms = lib.platforms.unix; - }; - } + 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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8f432f8e438..269311cb576 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16519,9 +16519,7 @@ with pkgs; aprutil = callPackage ../development/libraries/apr-util { }; - aravis = callPackage ../development/libraries/aravis { - inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad; - }; + aravis = callPackage ../development/libraries/aravis { }; arb = callPackage ../development/libraries/arb {};