about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2020-04-28 13:32:13 -0400
committerGitHub <noreply@github.com>2020-04-28 13:32:13 -0400
commitd85aabfb5f82858ce698752ba00833fb6f925e7d (patch)
treee6f57c954a736c1a2bc6502980f4f754ffcc7af5 /pkgs/os-specific
parente257a92472e63c06662c69bd4e2b1b50db37938a (diff)
parent716c07c73c8aa30d58787455f4f20fb408cfe1f9 (diff)
downloadnixlib-d85aabfb5f82858ce698752ba00833fb6f925e7d.tar
nixlib-d85aabfb5f82858ce698752ba00833fb6f925e7d.tar.gz
nixlib-d85aabfb5f82858ce698752ba00833fb6f925e7d.tar.bz2
nixlib-d85aabfb5f82858ce698752ba00833fb6f925e7d.tar.lz
nixlib-d85aabfb5f82858ce698752ba00833fb6f925e7d.tar.xz
nixlib-d85aabfb5f82858ce698752ba00833fb6f925e7d.tar.zst
nixlib-d85aabfb5f82858ce698752ba00833fb6f925e7d.zip
Merge pull request #84449 from doronbehar/improve-guvcview
guvcview: fix gsettings filechooser errors
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/guvcview/default.nix73
1 files changed, 57 insertions, 16 deletions
diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix
index e87768a9ff13..d780cade7865 100644
--- a/pkgs/os-specific/linux/guvcview/default.nix
+++ b/pkgs/os-specific/linux/guvcview/default.nix
@@ -1,6 +1,28 @@
-{ config, stdenv, fetchurl, intltool, pkgconfig
-, gtk3, portaudio, SDL2, ffmpeg, udev, libusb1, libv4l, alsaLib, gsl
-, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null }:
+{ config
+, stdenv
+, fetchurl
+, intltool
+, pkgconfig
+, portaudio
+, SDL2
+, ffmpeg
+, udev
+, libusb1
+, libv4l
+, alsaLib
+, gsl
+, libpng
+, sfml
+, pulseaudioSupport ? config.pulseaudio or stdenv.isLinux
+, libpulseaudio ? null
+, useQt ? false
+, qtbase ? null
+, wrapQtAppsHook ? null
+# can be turned off if used as a library
+, useGtk ? true
+, gtk3 ? null
+, wrapGAppsHook ? null
+}:
 
 assert pulseaudioSupport -> libpulseaudio != null;
 
@@ -13,19 +35,38 @@ stdenv.mkDerivation rec {
     sha256 = "11byyfpkcik7wvf2qic77zjamfr2rhji97dpj1gy2fg1bvpiqf4m";
   };
 
-  buildInputs =
-    [ SDL2
-      alsaLib
-      ffmpeg
-      gtk3
-      intltool
-      libusb1
-      libv4l
-      pkgconfig
-      portaudio
-      udev
-      gsl
-    ] ++ stdenv.lib.optional pulseaudioSupport libpulseaudio;
+  nativeBuildInputs = [
+    intltool
+    pkgconfig
+  ]
+    ++ stdenv.lib.optionals (useGtk) [ wrapGAppsHook ]
+    ++ stdenv.lib.optionals (useQt) [ wrapQtAppsHook ]
+  ;
+
+  buildInputs = [
+    SDL2
+    alsaLib
+    ffmpeg
+    libusb1
+    libv4l
+    portaudio
+    udev
+    gsl
+    libpng
+    sfml
+  ] 
+    ++ stdenv.lib.optionals (pulseaudioSupport) [ libpulseaudio ]
+    ++ stdenv.lib.optionals (useGtk) [ gtk3 ]
+    ++ stdenv.lib.optionals (useQt) [
+      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";