about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/ipu6-camera-hal
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/ipu6-camera-hal')
-rw-r--r--nixpkgs/pkgs/development/libraries/ipu6-camera-hal/default.nix76
1 files changed, 76 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/ipu6-camera-hal/default.nix b/nixpkgs/pkgs/development/libraries/ipu6-camera-hal/default.nix
new file mode 100644
index 000000000000..17e5ed482196
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/ipu6-camera-hal/default.nix
@@ -0,0 +1,76 @@
+{ 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" ];
+  };
+}