summary refs log tree commit diff
path: root/pkgs/os-specific/linux/guvcview
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/guvcview')
-rw-r--r--pkgs/os-specific/linux/guvcview/default.nix34
1 files changed, 28 insertions, 6 deletions
diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix
index fa525170056..0efdbcede48 100644
--- a/pkgs/os-specific/linux/guvcview/default.nix
+++ b/pkgs/os-specific/linux/guvcview/default.nix
@@ -3,7 +3,6 @@
 , fetchurl
 , intltool
 , pkgconfig
-, gtk3
 , portaudio
 , SDL2
 , ffmpeg
@@ -12,9 +11,17 @@
 , libv4l
 , alsaLib
 , gsl
-, wrapGAppsHook
+, libpng
+, sfml
 , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux
 , libpulseaudio ? null
+, useQt ? false
+, qt5 ? null
+, wrapQtAppsHook ? null
+# can be turned off if used as a library
+, useGtk ? true
+, gtk3 ? null
+, wrapGAppsHook ? null
 }:
 
 assert pulseaudioSupport -> libpulseaudio != null;
@@ -31,20 +38,35 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     intltool
     pkgconfig
-    wrapGAppsHook
-  ];
+  ]
+    ++ stdenv.lib.optionals (useGtk) [ wrapGAppsHook ]
+    ++ stdenv.lib.optionals (useQt) [ wrapQtAppsHook ]
+  ;
 
   buildInputs = [
     SDL2
     alsaLib
     ffmpeg
-    gtk3
     libusb1
     libv4l
     portaudio
     udev
     gsl
-  ] ++ stdenv.lib.optional pulseaudioSupport libpulseaudio;
+    libpng
+    sfml
+  ] 
+    ++ stdenv.lib.optionals (pulseaudioSupport) [ libpulseaudio ]
+    ++ stdenv.lib.optionals (useGtk) [ gtk3 ]
+    ++ stdenv.lib.optionals (useQt) [
+      qt5.qtbase
+    ]
+  ;
+  configureFlags = [
+    "--enable-sfml"
+  ]
+    ++ stdenv.lib.optionals (useGtk) [ "--enable-gtk3" ]
+    ++ stdenv.lib.optionals (useQt) [ "--enable-qt5" ]
+  ;
 
   meta = with stdenv.lib; {
     description = "A simple interface for devices supported by the linux UVC driver";