nixpkgs/pkgs/development/libraries/ipu6-camera-hal/default.nix
2023-04-07 17:34:54 +02:00

77 lines
1.5 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
# build
, cmake
, pkg-config
# runtime
, expat
, ipu6-camera-bin
, libtool
, gst_all_1
}:
stdenv.mkDerivation {
pname = "${ipu6-camera-bin.ipuVersion}-camera-hal";
version = "unstable-2023-02-08";
src = fetchFromGitHub {
owner = "intel";
repo = "ipu6-camera-hal";
rev = "884b81aae0ea19a974eb8ccdaeef93038136bdd4";
hash = "sha256-AePL7IqoOhlxhfPRLpCman5DNh3wYS4MUcLgmgBUcCM=";
};
nativeBuildInputs = [
cmake
pkg-config
];
cmakeFlags = [
"-DIPU_VER=${ipu6-camera-bin.ipuVersion}"
# missing libiacss
"-DUSE_PG_LITE_PIPE=ON"
# missing libipu4
"-DENABLE_VIRTUAL_IPU_PIPE=OFF"
];
NIX_CFLAGS_COMPILE = [
"-I${lib.getDev ipu6-camera-bin}/include/ia_imaging"
"-I${lib.getDev ipu6-camera-bin}/include/ia_camera"
];
enableParallelBuilding = true;
buildInputs = [
expat
ipu6-camera-bin
libtool
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
];
postPatch = ''
substituteInPlace src/platformdata/PlatformData.h \
--replace '/usr/share/' "${placeholder "out"}/share/"
'';
postFixup = ''
substituteInPlace $out/lib/pkgconfig/libcamhal.pc \
--replace 'prefix=/usr' "prefix=$out"
'';
passthru = {
inherit (ipu6-camera-bin) ipuVersion;
};
meta = with lib; {
description = "HAL for processing of images in userspace";
homepage = "https://github.com/intel/ipu6-camera-hal";
license = licenses.asl20;
maintainers = with maintainers; [ hexa ];
platforms = [ "x86_64-linux" ];
};
}