From fda2590abb81795e0e5b90d4f5fd5f40f2ce3242 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 2 Apr 2017 23:43:13 +0300 Subject: v4l_utils: 1.10.1 -> 1.12.3 Add CLI utils-only mode. Use flags instead of null's. Move to Qt 5. --- pkgs/os-specific/linux/v4l-utils/default.nix | 54 +++++++++++++--------------- pkgs/top-level/all-packages.nix | 9 ++--- 2 files changed, 27 insertions(+), 36 deletions(-) diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index 11a9808392a..c0e065b3b55 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -1,54 +1,50 @@ -{ stdenv, fetchurl, pkgconfig -, libjpeg -, alsaLib ? null -, libX11 ? null -, qt4 ? null # The default is set to qt4 in all-packages.nix -, qt5 ? null +{ stdenv, lib, fetchurl, pkgconfig, perl, makeQtWrapper +, libjpeg, udev +, withUtils ? true +, withGUI ? true, alsaLib, libX11, qtbase, mesa_glu }: # See libv4l in all-packages.nix for the libs only (overrides alsa, libX11 & QT) -assert qt4 != null -> qt5 == null; -assert qt5 != null -> qt4 == null; - -let - inherit (stdenv.lib) optional; -in - stdenv.mkDerivation rec { - name = "v4l-utils-1.10.1"; + name = "v4l-utils-${version}"; + version = "1.12.3"; src = fetchurl { url = "http://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2"; - sha256 = "1h1nhg5cmmzlbipak526nk4bm6d0yb217mll75f3rpg7kz1cqiv1"; + sha256 = "0vpl3jl0x441y7b5cn7zhdsyi954hp9h2p30jhnr1zkx1rpxsiss"; }; outputs = [ "out" "dev" ]; - configureFlags = [ - "--enable-libv4l" - ] ++ (if (alsaLib != null && libX11 != null && (qt4 != null || qt5 != null)) then [ - "--with-udevdir=\${out}/lib/udev" - "--enable-v4l-utils" - "--enable-qv4l2" - ] else [ - "--without-libudev" - "--without-udevdir" - "--disable-v4l-utils" - "--disable-qv4l2" - ]); + configureFlags = + if withUtils then [ + "--with-udevdir=\${out}/lib/udev" + ] else [ + "--disable-v4l-utils" + ]; postFixup = '' # Create symlink for V4l1 compatibility ln -s "$dev/include/libv4l1-videodev.h" "$dev/include/videodev.h" ''; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig perl ] ++ lib.optional (withUtils && withGUI) makeQtWrapper; - buildInputs = [ alsaLib libX11 qt4 qt5 ]; + buildInputs = [ udev ] ++ lib.optionals (withUtils && withGUI) [ alsaLib libX11 qtbase mesa_glu ]; propagatedBuildInputs = [ libjpeg ]; + NIX_CFLAGS_COMPILE = lib.optional (withUtils && withGUI) "-std=c++11"; + + postPatch = '' + patchShebangs . + ''; + + postInstall = lib.optionalString (withUtils && withGUI) '' + wrapQtProgram $out/bin/qv4l2 + ''; + meta = with stdenv.lib; { description = "V4L utils and libv4l, provide common image formats regardless of the v4l device"; homepage = http://linuxtv.org/projects.php; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index af43369ea56..1fb20dab34d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8844,10 +8844,7 @@ with pkgs; }; libv4l = lowPrio (v4l_utils.override { - alsaLib = null; - libX11 = null; - qt4 = null; - qt5 = null; + withUtils = false; }); libva = callPackage ../development/libraries/libva { }; @@ -12198,9 +12195,7 @@ with pkgs; systemd = null; }); - v4l_utils = callPackage ../os-specific/linux/v4l-utils { - qt5 = null; - }; + v4l_utils = qt5.callPackage ../os-specific/linux/v4l-utils { }; vndr = callPackage ../development/tools/vndr { }; -- cgit 1.4.1