Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.1 kB · 102 lines
Nix
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103{ lib, stdenv, fetchFromGitHub,
# build cmake, pkg-config,
# runtime expat, ipu6-camera-bins, libtool, gst_all_1, libdrm,
# Pick one of # - ipu6 (Tiger Lake) # - ipu6ep (Alder Lake) # - ipu6epmtl (Meteor Lake) ipuVersion ? "ipu6",}:let ipuTarget = { "ipu6" = "ipu_tgl"; "ipu6ep" = "ipu_adl"; "ipu6epmtl" = "ipu_mtl"; } .${ipuVersion};instdenv.mkDerivation { pname = "${ipuVersion}-camera-hal"; version = "unstable-2024-09-29";
src = fetchFromGitHub { owner = "intel"; repo = "ipu6-camera-hal"; rev = "f98f72b156563fe8373e4f8d017a9f609676bb33"; hash = "sha256-zVcgKW7/GHYd1oMvsaI77cPyj3G68dL+OXBJDz5+Td4="; };
nativeBuildInputs = [ cmake pkg-config ];
cmakeFlags = [ "-DIPU_VER=${ipuVersion}" "-DTARGET_SUFFIX=-${ipuVersion}" # missing libiacss "-DUSE_PG_LITE_PIPE=ON" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" "-DCMAKE_INSTALL_SUB_PATH=${ipuTarget}" "-DCMAKE_INSTALL_LIBDIR=lib" ];
NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
enableParallelBuilding = true;
buildInputs = [ expat ipu6-camera-bins libtool gst_all_1.gstreamer gst_all_1.gst-plugins-base libdrm ];
postPatch = '' substituteInPlace src/platformdata/PlatformData.h \ --replace '/usr/share/' "${placeholder "out"}/share/" \ --replace '#define CAMERA_DEFAULT_CFG_PATH "/etc/camera/"' '#define CAMERA_DEFAULT_CFG_PATH "${placeholder "out"}/etc/camera/"' '';
postInstall = '' mkdir -p $out/include/${ipuTarget}/ cp -r $src/include $out/include/${ipuTarget}/libcamhal '';
postFixup = '' for lib in $out/lib/*.so; do patchelf --add-rpath "${ipu6-camera-bins}/lib" $lib done '';
passthru = { inherit ipuVersion ipuTarget; };
meta = with lib; { description = "HAL for processing of images in userspace"; homepage = "https://github.com/intel/ipu6-camera-hal"; license = licenses.asl20; maintainers = [ ]; platforms = [ "x86_64-linux" ]; };}