ipu6-camera-bin: init at 2022-11-12

Exposes both the ipu6 and ipu6ep firmware variants as top-level
packages.
This commit is contained in:
Martin Weinelt 2023-01-26 17:07:48 +00:00
parent 3c4862636f
commit 134e4a6473
No known key found for this signature in database
GPG Key ID: 87C1E9888F856759
2 changed files with 75 additions and 0 deletions

View File

@ -0,0 +1,69 @@
{ lib
, stdenv
, fetchFromGitHub
# Pick one of
# - ipu6 (Tiger Lake)
# - ipu6ep (Alder Lake)
, ipuVersion ? "ipu6"
}:
stdenv.mkDerivation {
pname = "${ipuVersion}-camera-bin";
version = "unstable-2022-11-12";
src = fetchFromGitHub {
owner = "intel";
repo = "ipu6-camera-bins";
rev = "4694ba7ee51652d29ef41e7fde846b83a2a1c53b";
hash = "sha256-XPT3dbV6Kl1/TEeiQESF4Q4s95hjtiv4VLlqlahQXqE=";
};
sourceRoot = "source/${ipuVersion}";
installPhase = ''
runHook preInstall
mkdir -p $out
cp --no-preserve=mode --recursive \
lib \
include \
$out/
install -D ../LICENSE $out/share/doc
runHook postInstall
'';
postFixup = ''
for pcfile in $out/lib/pkgconfig/*.pc; do
substituteInPlace $pcfile \
--replace 'exec_prefix=/usr' 'exec_prefix=''${prefix}' \
--replace 'prefix=/usr' "prefix=$out" \
--replace 'libdir=/usr/lib' 'libdir=''${prefix}/lib' \
--replace 'includedir=/usr/include' 'includedir=''${prefix}/include'
done
'';
passthru = {
inherit ipuVersion;
};
meta = let
generation = {
ipu6 = "Tiger Lake";
ipu6ep = "Alder Lake";
}.${ipuVersion};
in with lib; {
description = "${generation} IPU firmware and proprietary image processing libraries";
homepage = "https://github.com/intel/ipu6-camera-bins";
license = licenses.issl;
sourceProvenance = with sourceTypes; [
binaryFirmware
];
maintainers = with maintainers; [
hexa
];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -25865,6 +25865,12 @@ with pkgs;
iproute2 = callPackage ../os-specific/linux/iproute { };
ipu6-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins {};
ipu6ep-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins {
ipuVersion = "ipu6ep";
};
iputils = hiPrio (callPackage ../os-specific/linux/iputils { });
# hiPrio for collisions with inetutils (ping)