about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2023-03-12 17:21:00 +0100
committerVladimír Čunát <v@cunat.cz>2023-03-12 17:21:00 +0100
commit1f7eeea8ee7eb32eb956a80ce747dcbb4c75a67f (patch)
tree212d1e84809195384ddb5bdf4731dac2df5b3b69 /pkgs
parent5abe72f0b2efdd4958acb26e903973d3c624adf2 (diff)
parent8f1e87b4f4b47981be2ec1fc72553189e5880a53 (diff)
Merge branch 'master' into staging-next
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix8
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix43
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix32
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix97
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/linux.nix2
-rw-r--r--pkgs/applications/office/libreoffice/default.nix1
-rw-r--r--pkgs/applications/office/libreoffice/wrapper.nix14
-rw-r--r--pkgs/development/libraries/gstreamer/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/icamerasrc/default.nix55
-rw-r--r--pkgs/development/libraries/ipu6-camera-hal/default.nix72
-rw-r--r--pkgs/development/libraries/libgbinder/default.nix7
-rw-r--r--pkgs/development/libraries/libglibutil/default.nix5
-rw-r--r--pkgs/development/libraries/lmdb/default.nix4
-rw-r--r--pkgs/development/python-modules/gbinder-python/default.nix5
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix4
-rw-r--r--pkgs/games/prismlauncher/default.nix14
-rw-r--r--pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix69
-rw-r--r--pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix41
-rw-r--r--pkgs/os-specific/linux/ipu6-drivers/default.nix52
-rw-r--r--pkgs/os-specific/linux/ivsc-driver/default.nix43
-rw-r--r--pkgs/servers/web-apps/vikunja/api.nix4
-rw-r--r--pkgs/servers/web-apps/vikunja/frontend.nix4
-rw-r--r--pkgs/tools/security/crunch/default.nix7
-rw-r--r--pkgs/top-level/all-packages.nix14
-rw-r--r--pkgs/top-level/linux-kernels.nix4
26 files changed, 587 insertions, 22 deletions
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 950160593a638..b58465e20ec33 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -5,6 +5,10 @@ let
   inherit (self) callPackage;
 in
 {
+  acm = callPackage ./manual-packages/acm { };
+
+  acm-terminal = callPackage ./manual-packages/acm-terminal { };
+
   agda-input = callPackage ./manual-packages/agda-input { };
 
   agda2-mode = callPackage ./manual-packages/agda2-mode { };
@@ -49,6 +53,10 @@ in
 
   llvm-mode = callPackage ./manual-packages/llvm-mode { };
 
+  lsp-bridge = callPackage ./manual-packages/lsp-bridge {
+    inherit (pkgs) python3 git go gopls pyright;
+  };
+
   matrix-client = callPackage ./manual-packages/matrix-client {
     _map = self.map;
   };
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix
new file mode 100644
index 0000000000000..8aadb0867c321
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm-terminal/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, melpaBuild
+, fetchFromGitHub
+, acm
+, popon
+, writeText
+, unstableGitUpdater
+}:
+
+let
+  rev = "321e05fc0398a6159925b858f46608ea07ef269e";
+in
+melpaBuild {
+  pname = "acm-terminal";
+  version = "20230215.414"; # 4:14 UTC
+
+  src = fetchFromGitHub {
+    owner = "twlz0ne";
+    repo = "acm-terminal";
+    inherit rev;
+    sha256 = "sha256-Flw07EwH9z0E3tqXs4mStICJmoHfp60ALrP1GmUmeuU=";
+  };
+
+  commit = rev;
+
+  packageRequires = [
+    acm
+    popon
+  ];
+
+  recipe = writeText "recipe" ''
+    (acm-terminal :repo "twlz0ne/acm-terminal" :fetcher github)
+  '';
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = with lib; {
+    description = "Patch for LSP bridge acm on Terminal";
+    homepage = "https://github.com/twlz0ne/acm-terminal";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ kira-bruneau ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix
new file mode 100644
index 0000000000000..5879865c901e2
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/acm/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, melpaBuild
+, lsp-bridge
+, yasnippet
+, writeText
+}:
+
+melpaBuild {
+  pname = "acm";
+  version = lsp-bridge.version;
+
+  src = lsp-bridge.src;
+  commit = lsp-bridge.src.rev;
+
+  packageRequires = [
+    yasnippet
+  ];
+
+  recipe = writeText "recipe" ''
+    (acm
+      :repo "manateelazycat/lsp-bridge"
+      :fetcher github
+      :files ("acm/*.el" "acm/icons"))
+  '';
+
+  meta = with lib; {
+    description = "Asynchronous Completion Menu";
+    homepage = "https://github.com/manateelazycat/lsp-bridge";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fxttr kira-bruneau ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
new file mode 100644
index 0000000000000..bdfe1ed2c8099
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix
@@ -0,0 +1,97 @@
+{ lib
+, python3
+, melpaBuild
+, fetchFromGitHub
+, substituteAll
+, acm
+, markdown-mode
+, posframe
+, git
+, go
+, gopls
+, pyright
+, tempel
+, writeText
+, unstableGitUpdater
+}:
+
+let
+  rev = "c5dc02f6bd47039c320083b3befac0e569c0efa4";
+  python = python3.withPackages (ps: with ps; [
+    epc
+    orjson
+    sexpdata
+    six
+  ]);
+in
+melpaBuild {
+  pname = "lsp-bridge";
+  version = "20230311.1648"; # 16:48 UTC
+
+  src = fetchFromGitHub {
+    owner = "manateelazycat";
+    repo = "lsp-bridge";
+    inherit rev;
+    sha256 = "sha256-vbSVGPFBjAp4VRbJc6a2W0d2IqOusNa+rk4X6jRcjRI=";
+  };
+
+  commit = rev;
+
+  # Hardcode the python dependencies needed for lsp-bridge, so users
+  # don't have to modify their global environment
+  postPatch = ''
+    substituteInPlace lsp-bridge.el --replace \
+     '(defcustom lsp-bridge-python-command (if (memq system-type '"'"'(cygwin windows-nt ms-dos)) "python.exe" "python3")' \
+     '(defcustom lsp-bridge-python-command "${python.interpreter}"'
+  '';
+
+  packageRequires = [
+    acm
+    markdown-mode
+    posframe
+  ];
+
+  buildInputs = [ python ];
+
+  checkInputs = [
+    git
+    go
+    gopls
+    pyright
+    tempel
+  ];
+
+  recipe = writeText "recipe" ''
+    (lsp-bridge
+      :repo "manateelazycat/lsp-bridge"
+      :fetcher github
+      :files
+      ("*.el"
+       "lsp_bridge.py"
+       "core"
+       "langserver"
+       "multiserver"
+       "resources"))
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    runHook preCheck
+
+    cd "$sourceRoot"
+    mkfifo test.log
+    cat < test.log &
+    HOME=$(mktemp -d) python -m test.test
+
+    runHook postCheck
+  '';
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = with lib; {
+    description = "A blazingly fast LSP client for Emacs";
+    homepage = "https://github.com/manateelazycat/lsp-bridge";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fxttr kira-bruneau ];
+  };
+}
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index b7ee6d200af2a..5571585e32d98 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -16,7 +16,7 @@
 
 stdenv.mkDerivation {
   pname = "sane-backends";
-  version = "1.1.1";
+  version = "1.2.1";
 
   src = fetchurl {
     # raw checkouts of the repo do not work because, the configure script is
@@ -25,8 +25,8 @@ stdenv.mkDerivation {
     # unfortunately this make the url unpredictable on update, to find the link
     # go to https://gitlab.com/sane-project/backends/-/releases and choose
     # the link under the heading "Other".
-    url = "https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b6a58d64b43/sane-backends-1.1.1.tar.gz";
-    sha256 = "sha256-3UsEw3pC8UxGGejupqlX9MfGF/5Z4yrihys3OUCotgM=";
+    url = "https://gitlab.com/sane-project/backends/uploads/110fc43336d0fb5e514f1fdc7360dd87/sane-backends-1.2.1.tar.gz";
+    sha256 = "f832395efcb90bb5ea8acd367a820c393dda7e0dd578b16f48928b8f5bdd0524";
   };
 
   patches = [
diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix
index 72a9d2d3eba47..10fb303fdd678 100644
--- a/pkgs/applications/networking/instant-messengers/discord/linux.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix
@@ -5,6 +5,7 @@
 , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
 , libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss
 , pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript, python3, runCommand
+, libunity
 , wayland
 , branch
 , common-updater-scripts, withOpenASAR ? false }:
@@ -69,6 +70,7 @@ stdenv.mkDerivation rec {
     libnotify
     libX11
     libXcomposite
+    libunity
     libuuid
     libXcursor
     libXdamage
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index e9bf233ade49a..a8a6fb8bf963f 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -154,6 +154,7 @@ let
   mkDrv = if kdeIntegration then mkDerivation else stdenv.mkDerivation;
 
   srcs = {
+    primary = primary-src;
     third_party =
       map (x: ((fetchurl { inherit (x) url sha256 name; }) // { inherit (x) md5name md5; }))
         (importVariant "download.nix" ++ [
diff --git a/pkgs/applications/office/libreoffice/wrapper.nix b/pkgs/applications/office/libreoffice/wrapper.nix
index d97e76617b037..c44ca11c43256 100644
--- a/pkgs/applications/office/libreoffice/wrapper.nix
+++ b/pkgs/applications/office/libreoffice/wrapper.nix
@@ -18,6 +18,8 @@
 }:
 
 let
+  inherit (unwrapped.srcs.primary) major minor;
+
   makeWrapperArgs = builtins.concatStringsSep " " ([
     "--set" "GDK_PIXBUF_MODULE_FILE" "${librsvg}/${gdk-pixbuf.moduleDir}.cache"
     "--prefix" "GIO_EXTRA_MODULES" ":" "${lib.getLib dconf}/lib/gio/modules"
@@ -86,8 +88,18 @@ in runCommand "${unwrapped.name}-wrapped" {
   };
 } (''
   mkdir -p "$out/bin"
-  ln -s ${unwrapped}/share $out/share
+  mkdir -p "$out/share"
+
+  ln -s ${unwrapped}/share/icons $out/share/icons
+  ln -s ${unwrapped}/share/templates $out/share/templates
   ln -s ${unwrapped}/lib $out/lib
+
+  cp -r ${unwrapped}/share/applications/ $out/share/
+  for f in $out/share/applications/*.desktop; do
+    substituteInPlace "$f" \
+      --replace "Exec=libreoffice${major}.${minor}" "Exec=soffice"
+  done
+
   for i in sbase scalc sdraw smath swriter simpress soffice unopkg; do
     makeWrapper ${unwrapped}/lib/libreoffice/program/$i $out/bin/$i ${makeWrapperArgs}
 '' + lib.optionalString dbusVerify ''
diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix
index 9b67dd49c82bf..69ee36149776d 100644
--- a/pkgs/development/libraries/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/default.nix
@@ -25,5 +25,7 @@
 
   gst-vaapi = callPackage ./vaapi { };
 
+  icamerasrc = callPackage ./icamerasrc { };
+
   # note: gst-python is in ./python/default.nix - called under pythonPackages
 }
diff --git a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix
new file mode 100644
index 0000000000000..d67f646b2b62f
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, gst_all_1
+, ipu6-camera-hal
+, libdrm
+}:
+
+stdenv.mkDerivation rec {
+  pname = "icamerasrc";
+  version = "20221209";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "icamerasrc";
+    rev = "refs/tags/rpl_plat_${version}_pv";
+    hash = "sha256-qlV363l4tUjUAa1LiZQq55byKpz1tLESKAXEmgiYHVo=";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
+
+  preConfigure = ''
+    # https://github.com/intel/ipu6-camera-hal/issues/1
+    export CHROME_SLIM_CAMHAL=ON
+    # https://github.com/intel/icamerasrc/issues/22
+    export STRIP_VIRTUAL_CHANNEL_CAMHAL=ON
+  '';
+
+  buildInputs = [
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    ipu6-camera-hal
+    libdrm
+  ];
+
+  NIX_CFLAGS_COMPILE = [
+    # gstcameradeinterlace.cpp:55:10: fatal error: gst/video/video.h: No such file or directory
+    "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "GStreamer Plugin for MIPI camera support through the IPU6/IPU6EP/IPU6SE on Intel Tigerlake/Alderlake/Jasperlake platforms";
+    homepage = "https://github.com/intel/icamerasrc/tree/icamerasrc_slim_api";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ hexa ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/libraries/ipu6-camera-hal/default.nix b/pkgs/development/libraries/ipu6-camera-hal/default.nix
new file mode 100644
index 0000000000000..d8ac28f4ce6b6
--- /dev/null
+++ b/pkgs/development/libraries/ipu6-camera-hal/default.nix
@@ -0,0 +1,72 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+
+# build
+, cmake
+, pkg-config
+
+# runtime
+, expat
+, ipu6-camera-bin
+, libtool
+, gst_all_1
+}:
+
+stdenv.mkDerivation {
+  pname = "ipu6-camera-hal";
+  version = "unstable-2023-01-09";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "ipu6-camera-hal";
+    rev = "37292891c73367d22ba1fc96ea9b6e4546903037";
+    hash = "sha256-dJvTZt85rt5/v2JXOsfbSY933qffyXW74L0nWdIlqug=";
+  };
+
+  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
+  ];
+
+  preFixup = ''
+    ls -lah $out/lib/pkgconfig/
+    sed -Ei \
+      -e "s,^prefix=.*,prefix=$out," \
+      -e "s,^exec_prefix=.*,exec_prefix=''${prefix}," \
+      -e "s,^libdir=.*,libdir=''${prefix}/lib," \
+      -e "s,^includedir=.*,includedir=''${prefix}/include/libcamhal," \
+      $out/lib/pkgconfig/libcamhal.pc
+  '';
+
+  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" ];
+  };
+}
diff --git a/pkgs/development/libraries/libgbinder/default.nix b/pkgs/development/libraries/libgbinder/default.nix
index 69166ab33feb2..054dc0847051a 100644
--- a/pkgs/development/libraries/libgbinder/default.nix
+++ b/pkgs/development/libraries/libgbinder/default.nix
@@ -22,6 +22,13 @@ stdenv.mkDerivation rec {
     libglibutil
   ];
 
+  postPatch = ''
+    # Fix pkg-config and ranlib names for cross-compilation
+    substituteInPlace Makefile \
+      --replace "pkg-config" "$PKG_CONFIG" \
+      --replace "ranlib" "$RANLIB"
+  '';
+
   makeFlags = [
     "LIBDIR=$(out)/lib"
     "INSTALL_INCLUDE_DIR=$(dev)/include/gbinder"
diff --git a/pkgs/development/libraries/libglibutil/default.nix b/pkgs/development/libraries/libglibutil/default.nix
index 730ebf270446c..50ee2d289fcd9 100644
--- a/pkgs/development/libraries/libglibutil/default.nix
+++ b/pkgs/development/libraries/libglibutil/default.nix
@@ -21,6 +21,11 @@ stdenv.mkDerivation rec {
     glib
   ];
 
+  postPatch = ''
+    # Fix pkg-config name for cross-compilation
+    substituteInPlace Makefile --replace "pkg-config" "$PKG_CONFIG"
+  '';
+
   makeFlags = [
     "LIBDIR=$(out)/lib"
     "INSTALL_INCLUDE_DIR=$(dev)/include/gutil"
diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix
index a8b5da5b56da4..dbc15f11c3aa2 100644
--- a/pkgs/development/libraries/lmdb/default.nix
+++ b/pkgs/development/libraries/lmdb/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "lmdb";
-  version = "0.9.29";
+  version = "0.9.30";
 
   src = fetchFromGitLab {
     domain = "git.openldap.org";
     owner = "openldap";
     repo = "openldap";
     rev = "LMDB_${version}";
-    sha256 = "19zq5s1amrv1fhw1aszcn2w2xjrk080l6jj5hc9f46yiqf98jjg3";
+    sha256 = "sha256-zLa9BtSPzujHAIZKDl69lTo72cI3m/GZejFw5v8bFsg=";
   };
 
   postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
diff --git a/pkgs/development/python-modules/gbinder-python/default.nix b/pkgs/development/python-modules/gbinder-python/default.nix
index e575c51e315f1..9d9b906e24437 100644
--- a/pkgs/development/python-modules/gbinder-python/default.nix
+++ b/pkgs/development/python-modules/gbinder-python/default.nix
@@ -26,6 +26,11 @@ buildPythonPackage rec {
     pkg-config
   ];
 
+  postPatch = ''
+    # Fix pkg-config name for cross-compilation
+    substituteInPlace setup.py --replace "pkg-config" "$PKG_CONFIG"
+  '';
+
   setupPyGlobalFlags = [ "--cython" ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index e7c3ee8c5787a..8b186b9be4399 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -6,8 +6,8 @@ let
   ## fetchgit info
   url = "git://sourceware.org/git/systemtap.git";
   rev = "release-${version}";
-  sha256 = "sha256-3LgqMBCnUG2UmsekaIvV43lBpSPEocEXmFV9WpE7wE0=";
-  version = "4.5";
+  sha256 = "sha256-UiUMoqdfkk6mzaPGctpQW3dvOWKhNBNuScJ5BpCykVg=";
+  version = "4.8";
 
   inherit (kernel) stdenv;
 
diff --git a/pkgs/games/prismlauncher/default.nix b/pkgs/games/prismlauncher/default.nix
index 4abd40e24ab04..b3875245f8726 100644
--- a/pkgs/games/prismlauncher/default.nix
+++ b/pkgs/games/prismlauncher/default.nix
@@ -55,7 +55,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ]
     ++ lib.optionals (lib.versionAtLeast qtbase.version "6") [ "-DLauncher_QT_VERSION_MAJOR=6" ];
-  dontWrapQtApps = true;
 
   postUnpack = ''
     rm -rf source/libraries/libnbtplusplus
@@ -65,7 +64,7 @@ stdenv.mkDerivation rec {
     chown -R $USER: source/libraries/libnbtplusplus
   '';
 
-  postInstall =
+  qtWrapperArgs =
     let
       libpath = with xorg;
         lib.makeLibraryPath [
@@ -81,13 +80,12 @@ stdenv.mkDerivation rec {
           stdenv.cc.cc.lib
         ];
     in
-    ''
+    [
+      "--set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath}"
+      "--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}"
       # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128
-      wrapQtApp $out/bin/prismlauncher \
-        --set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \
-        --prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \
-        --prefix PATH : ${lib.makeBinPath [xorg.xrandr]}
-    '';
+      "--prefix PATH : ${lib.makeBinPath [xorg.xrandr]}"
+    ];
 
   meta = with lib; {
     homepage = "https://prismlauncher.org/";
diff --git a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix
new file mode 100644
index 0000000000000..b8c9d9d0d4366
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix
@@ -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" ];
+  };
+}
diff --git a/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix
new file mode 100644
index 0000000000000..fb2f940ddce63
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation {
+  pname = "ivsc-firmware";
+  version = "unstable-2022-11-02";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "ivsc-firmware";
+    rev = "29c5eff4cdaf83e90ef2dcd2035a9cdff6343430";
+    hash = "sha256-GuD1oTnDEs0HslJjXx26DkVQIe0eS+js4UoaTDa77ME=";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib/firmware/vsc
+    cp --no-preserve=mode --recursive ./firmware/* $out/lib/firmware/vsc/
+    install -D ./LICENSE $out/share/doc
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Firmware binaries for the Intel Vision Sensing Controller";
+    homepage = "https://github.com/intel/ivsc-firmware";
+    license = licenses.issl;
+    sourceProvenance = with sourceTypes; [
+      binaryFirmware
+    ];
+    maintainers = with maintainers; [
+      hexa
+    ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/os-specific/linux/ipu6-drivers/default.nix b/pkgs/os-specific/linux/ipu6-drivers/default.nix
new file mode 100644
index 0000000000000..155e384a119db
--- /dev/null
+++ b/pkgs/os-specific/linux/ipu6-drivers/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, ivsc-driver
+, kernel
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ipu6-drivers";
+  version = "unstable-2023-01-17";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = pname;
+    rev = "f83b0747b297cc42325668aaf69471d89253b88e";
+    hash = "sha256-yl2ZtJUTh1/qmTA8USd+FBCUAY5qNdh4bSvFRPImQNI=";
+  };
+
+  postPatch = ''
+    cp --no-preserve=mode --recursive --verbose \
+      ${ivsc-driver.src}/backport-include \
+      ${ivsc-driver.src}/drivers \
+      ${ivsc-driver.src}/include \
+      .
+  '';
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  makeFlags = kernel.makeFlags ++ [
+    "KERNELRELEASE=${kernel.modDirVersion}"
+    "KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  enableParallelBuilding = true;
+
+  preInstall = ''
+    sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," Makefile
+  '';
+
+  installTargets = [
+    "modules_install"
+  ];
+
+  meta = {
+    homepage = "https://github.com/intel/ipu6-drivers";
+    description = "IPU6 kernel driver";
+    license = lib.licenses.gpl2;
+    maintainers = with lib.maintainers; [ hexa ];
+    platforms = [ "x86_64-linux" ];
+    broken = kernel.kernelOlder "5.15";
+  };
+}
diff --git a/pkgs/os-specific/linux/ivsc-driver/default.nix b/pkgs/os-specific/linux/ivsc-driver/default.nix
new file mode 100644
index 0000000000000..fbcf619553500
--- /dev/null
+++ b/pkgs/os-specific/linux/ivsc-driver/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, kernel
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ivsc-drivers";
+  version = "unstable-2023-01-06";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "ivsc-driver";
+    rev = "94ecb88b3ac238d9145ac16230d6e0779bb4fd32";
+    hash = "sha256-Q7iyKw4WFSX42E4AtoW/zYRKpknWZSU66V5VPAx6AjA=";
+  };
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  makeFlags = kernel.makeFlags ++ [
+    "KERNELRELEASE=${kernel.modDirVersion}"
+    "KERNEL_SRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  enableParallelBuilding = true;
+
+  preInstall = ''
+    sed -i -e "s,INSTALL_MOD_DIR=,INSTALL_MOD_PATH=$out INSTALL_MOD_DIR=," Makefile
+  '';
+
+  installTargets = [
+    "modules_install"
+  ];
+
+  meta = {
+    homepage = "https://github.com/intel/ivsc-drivers";
+    description = "Intel Vision Sensing Controller kernel driver";
+    license = lib.licenses.gpl2;
+    maintainers = with lib.maintainers; [ hexa ];
+    platforms = [ "x86_64-linux" ];
+    broken = kernel.kernelOlder "5.15";
+  };
+}
diff --git a/pkgs/servers/web-apps/vikunja/api.nix b/pkgs/servers/web-apps/vikunja/api.nix
index ea91cb2505a8b..76947cdddf346 100644
--- a/pkgs/servers/web-apps/vikunja/api.nix
+++ b/pkgs/servers/web-apps/vikunja/api.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "vikunja-api";
-  version = "0.20.3";
+  version = "0.20.4";
 
   src = fetchFromGitea {
     domain = "kolaente.dev";
     owner = "vikunja";
     repo = "api";
     rev = "v${version}";
-    hash = "sha256-krmshpv7X8Ua61NUSZGTT1+avoBBNSFuxPa93go3qBY=";
+    hash = "sha256-SkZf8LFU4/HFEWVEEj7Gl2jVwIL834GRwyua4cw9nh4=";
   };
 
   nativeBuildInputs =
diff --git a/pkgs/servers/web-apps/vikunja/frontend.nix b/pkgs/servers/web-apps/vikunja/frontend.nix
index 2ccf1b4f3f5ae..40dbca76cc185 100644
--- a/pkgs/servers/web-apps/vikunja/frontend.nix
+++ b/pkgs/servers/web-apps/vikunja/frontend.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vikunja-frontend";
-  version = "0.20.4";
+  version = "0.20.5";
 
   src = fetchurl {
     url = "https://dl.vikunja.io/frontend/${pname}-${version}.zip";
-    hash = "sha256-gkeX/2f6T8GW6jQa+qFcGc/k5cu9QoO9b3tL6B4lPOQ=";
+    hash = "sha256-fUWMlayE8pxVBGloLrywVAFCXF/3vlrz/CHjHNBa7U8=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/tools/security/crunch/default.nix b/pkgs/tools/security/crunch/default.nix
index df1d50c60fadc..d287fb32fb670 100644
--- a/pkgs/tools/security/crunch/default.nix
+++ b/pkgs/tools/security/crunch/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0mgy6ghjvzr26yrhj1bn73qzw6v9qsniskc5wqq1kk0hfhy6r3va";
   };
 
-  buildInputs = [ which ];
+  nativeBuildInputs = [ which ];
 
   preBuild = ''
     substituteInPlace Makefile \
@@ -18,7 +18,10 @@ stdenv.mkDerivation rec {
       --replace 'sudo ' ""
   '';
 
-  makeFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "PREFIX=$(out)"
+  ];
 
   meta = with lib; {
     description = "Wordlist generator";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c0661e168a687..06fd5d0de2caf 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -26163,6 +26163,20 @@ with pkgs;
 
   iproute2 = callPackage ../os-specific/linux/iproute { };
 
+  ipu6-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins {};
+
+  ipu6-camera-hal = callPackage ../development/libraries/ipu6-camera-hal {};
+
+  ipu6ep-camera-bin = callPackage ../os-specific/linux/firmware/ipu6-camera-bins {
+    ipuVersion = "ipu6ep";
+  };
+
+  ipu6ep-camera-hal = callPackage ../development/libraries/ipu6-camera-hal {
+    ipu6-camera-bin = ipu6ep-camera-bin;
+  };
+
+  ivsc-firmware = callPackage ../os-specific/linux/firmware/ivsc-firmware { };
+
   iputils = hiPrio (callPackage ../os-specific/linux/iputils { });
   # hiPrio for collisions with inetutils (ping)
 
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index dd7279adda0d5..a713535aef576 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -351,6 +351,10 @@ in {
 
     intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null;
 
+    ipu6-drivers = callPackage ../os-specific/linux/ipu6-drivers {};
+
+    ivsc-driver = callPackage ../os-specific/linux/ivsc-driver {};
+
     ixgbevf = callPackage ../os-specific/linux/ixgbevf {};
 
     it87 = callPackage ../os-specific/linux/it87 {};