From 7962af0fe5dc3d8c6a5cde338972d08777e65061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Tue, 22 May 2012 14:30:12 +0000 Subject: [PATCH] Updating libv4l (part of v4l-utils). I moved v4l-utils to stdenv.mkDerivation style, and it's used to build either libv4l or the utils (with qt4). svn path=/nixpkgs/trunk/; revision=34208 --- pkgs/development/libraries/libv4l/default.nix | 10 --- pkgs/os-specific/linux/v4l-utils/default.nix | 70 +++++++------------ pkgs/top-level/all-packages.nix | 8 ++- 3 files changed, 33 insertions(+), 55 deletions(-) delete mode 100644 pkgs/development/libraries/libv4l/default.nix diff --git a/pkgs/development/libraries/libv4l/default.nix b/pkgs/development/libraries/libv4l/default.nix deleted file mode 100644 index fac2135b9ed..00000000000 --- a/pkgs/development/libraries/libv4l/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation { - name = "libv4l-0.6.2"; - src = fetchurl { - url = http://people.atrpms.net/~hdegoede/libv4l-0.6.1.tar.gz; - sha256 = "1grbyb9vsdlp6yx4inmazgp5g0jxga8wbl3h8dv6vlfh5hckxf9n"; - }; - installPhase = "make PREFIX=$out install"; -} diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix index d20821e137c..ea63dadc8bd 100644 --- a/pkgs/os-specific/linux/v4l-utils/default.nix +++ b/pkgs/os-specific/linux/v4l-utils/default.nix @@ -1,50 +1,34 @@ -x@{builderDefsPackage - , libv4l, libjpeg, qt4 - , ...}: -builderDefsPackage -(a : -let - helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ - []; +{stdenv, fetchurl, which, libjpeg +, withQt4 ? false, qt4 ? null}: - buildInputs = map (n: builtins.getAttr n x) - (builtins.attrNames (builtins.removeAttrs x helperArgNames)); - sourceInfo = rec { - baseName="v4l-utils"; - version="0.8.5"; - name="${baseName}-${version}"; - url="http://www.linuxtv.org/downloads/v4l-utils/${name}.tar.bz2"; - hash="0k2rkra8lyimj6bwm8khq6xrhjdy67d09blxa6brnj7kpa7q81f2"; - }; -in -rec { - src = a.fetchurl { - url = sourceInfo.url; - sha256 = sourceInfo.hash; +assert withQt4 -> qt4 != null; + +stdenv.mkDerivation rec { + name = "v4l-utils-0.8.8"; + + src = fetchurl { + url = "http://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2"; + sha256 = "0zx8f1npsl6g5vjah1gwydg1j5azl74kr83ifbjhshgmnvscd92z"; }; - inherit (sourceInfo) name version; - inherit buildInputs; + buildInputs = [ libjpeg which ] ++ stdenv.lib.optional withQt4 qt4; - /* doConfigure should be removed if not needed */ - phaseNames = ["doUnpack" "doMakeInstall"]; + # The keytable wants to touch /etc files and udev scripts in /lib. + # I skip it. + patchPhase = '' + sed -i s/keytable// utils/Makefile + ''; + + installPhase = '' + make PREFIX=$out install + ''; - makeFlags = [''PREFIX="" DESTDIR="$out"'']; - meta = { - description = "Video-4-Linux utilities"; - maintainers = with a.lib.maintainers; - [ - raskin - ]; - platforms = with a.lib.platforms; - linux; - license = a.lib.licenses.gpl2; + homepage = http://linuxtv.org/projects.php; + description = "V4L utils and libv4l, that provides common image formats regardless of the v4l device"; + # (The libs are of LGPLv2.1+, some other pieces are GPL) + license = "free"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; }; - passthru = { - updateInfo = { - downloadPage = "http://www.linuxtv.org/downloads/v4l-utils/"; - }; - }; -}) x - +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 56b7cd95fae..52c63885f7c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4184,7 +4184,9 @@ let libunwind = callPackage ../development/libraries/libunwind { }; - libv4l = callPackage ../development/libraries/libv4l { }; + libv4l = v4l_utils.override { + withQt4 = false; + }; libva = callPackage ../development/libraries/libva { }; @@ -6025,7 +6027,9 @@ let inherit ncurses perl; }; - v4l_utils = callPackage ../os-specific/linux/v4l-utils {}; + v4l_utils = callPackage ../os-specific/linux/v4l-utils { + withQt4 = true; + }; windows = rec { w32api = callPackage ../os-specific/windows/w32api {