unicap: use stdenv

This replaces use of `builderDefsPackage`. Also fix build.
This commit is contained in:
Robert Helgesson 2015-12-30 12:22:11 +01:00
parent 6ca0480de6
commit ffd09ecc60

View File

@ -1,56 +1,34 @@
x@{builderDefsPackage
, libusb, libraw1394, dcraw, intltool, perl
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
{ stdenv, fetchurl, libusb, libraw1394, dcraw, intltool, perl, v4l_utils }:
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="libunicap";
version="0.9.12";
name="${baseName}-${version}";
url="http://www.unicap-imaging.org/downloads/${name}.tar.gz";
hash="05zcnnm4dfc6idihfi0fq5xka6x86zi89wip2ca19yz768sd33s9";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
stdenv.mkDerivation rec {
name = "libunicap-${version}";
version="0.9.12";
src = fetchurl {
url = "http://www.unicap-imaging.org/downloads/${name}.tar.gz";
sha256 = "05zcnnm4dfc6idihfi0fq5xka6x86zi89wip2ca19yz768sd33s9";
};
inherit (sourceInfo) name version;
inherit buildInputs;
buildInputs = [ libusb libraw1394 dcraw intltool perl v4l_utils ];
/* doConfigure should be removed if not needed */
phaseNames = ["fixIncludes" "fixMakefiles" "doConfigure" "doMakeInstall"];
patches = [
# Debian has a patch that fixes the build.
(fetchurl {
url = "https://sources.debian.net/data/main/u/unicap/0.9.12-2/debian/patches/1009_v4l1.patch";
sha256 = "1lgypmhdj681m7d1nmzgvh19cz8agj2f31wlnfib0ha8i3g5hg5w";
})
];
fixIncludes = a.fullDepEntry (''
postPatch = ''
find . -type f -exec sed -e '/linux\/types\.h/d' -i '{}' ';'
'') ["minInit" "doUnpack"];
fixMakefiles = a.fullDepEntry (''
sed -e 's@/etc/udev@'"$out"'/&@' -i data/Makefile.*
'') ["minInit" "doUnpack"];
'';
meta = {
meta = with stdenv.lib; {
description = "Universal video capture API";
maintainers = with a.lib.maintainers;
[
raskin
];
platforms = with a.lib.platforms;
linux;
broken = true;
homepage = http://www.unicap-imaging.org/;
maintainers = [ maintainers.raskin ];
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
passthru = {
updateInfo = {
downloadPage = "http://unicap-imaging.org/download.htm";
};
};
}) x
}