From e9fc4018ea53d69dd1f4f980d5ed0613d05cbb6e Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Thu, 19 Sep 2024 10:53:07 +0200 Subject: [PATCH] openni2: Use libjpeg from nixpkgs The vendored version of libjpeg fails to build with errors like this: ../../ThirdParty/LibJPEG/jccolor.c:135:3: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 135 | register int r, g, b; | ^~~~~~~~ --- pkgs/openni2/default.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pkgs/openni2/default.nix b/pkgs/openni2/default.nix index a44f5a6b1f..1e809d4dfd 100644 --- a/pkgs/openni2/default.nix +++ b/pkgs/openni2/default.nix @@ -1,5 +1,5 @@ { lib, clangStdenv, fetchurl, fetchFromGitHub, libusb1, jdk, python3, doxygen -, libGLU, xorg, freeglut }: +, libGLU, xorg, freeglut, fetchDebianPatch, libjpeg }: let libopenni2_pc = fetchurl { @@ -17,8 +17,17 @@ in clangStdenv.mkDerivation rec { sha256 = "0mfnyzpq53wnzgjfx91xcbx0nrl0lp1vrk1rk20a3gb3kshsr675"; }; + patches = [ + (fetchDebianPatch { + inherit pname; + version = "${version}+dfsg-18"; + patch = "0003-Use-system-wide-libjpeg.patch"; + hash = "sha256-Y4K70tqmbQDIsNCau/XZyNJL5RfBa/VW6xG5+M6XW6Q="; + }) + ]; + nativeBuildInputs = [ jdk python3 doxygen ]; - buildInputs = [ libusb1 libGLU xorg.libX11 freeglut ]; + buildInputs = [ libusb1 libGLU xorg.libX11 freeglut libjpeg ]; outputs = [ "out" "doc" ];