nixpkgs/pkgs/os-specific/linux/v4l-utils/default.nix
R. RyanTM dfab9e35c6
libv4l: 1.20.0 -> 1.22.1
* libv4l: 1.20.0 -> 1.22.1 (#143322)

* v4l-utils: build in parallel

and fix patching of shebangs under utils
and add meta.changelog URL
and clarify meta.license (libs are LGPL 2.1 but tools are GPL 2)

Co-authored-by: Renaud <c0bw3b@users.noreply.github.com>
2022-02-21 12:23:37 +01:00

56 lines
1.7 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ stdenv, lib, fetchurl, pkg-config, perl
, libjpeg, udev
, withUtils ? true
, withGUI ? true, alsa-lib, libX11, qtbase, libGLU, wrapQtAppsHook
}:
# See libv4l in all-packages.nix for the libs only (overrides alsa, libX11 & QT)
let
withQt = withUtils && withGUI;
# we need to use stdenv.mkDerivation in order not to pollute the libv4ls closure with Qt
in stdenv.mkDerivation rec {
pname = "v4l-utils";
version = "1.22.1";
src = fetchurl {
url = "https://linuxtv.org/downloads/${pname}/${pname}-${version}.tar.bz2";
hash = "sha256-Zcb76DCkTKEFxEOwJxgsGyyQU6kdHnKthJ36s4i5TjE=";
};
outputs = [ "out" ] ++ lib.optional withUtils "lib" ++ [ "dev" ];
configureFlags = (if withUtils then [
"--with-localedir=${placeholder "lib"}/share/locale"
"--with-udevdir=${placeholder "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 = [ pkg-config perl ] ++ lib.optional withQt wrapQtAppsHook;
buildInputs = [ udev ] ++ lib.optionals withQt [ alsa-lib libX11 qtbase libGLU ];
propagatedBuildInputs = [ libjpeg ];
postPatch = ''
patchShebangs utils/
'';
enableParallelBuilding = true;
meta = with lib; {
description = "V4L utils and libv4l, provide common image formats regardless of the v4l device";
homepage = "https://linuxtv.org/projects.php";
changelog = "https://git.linuxtv.org/v4l-utils.git/plain/ChangeLog?h=v4l-utils-${version}";
license = with licenses; [ lgpl21Plus gpl2Plus ];
maintainers = with maintainers; [ codyopel ];
platforms = platforms.linux;
};
}