···1{ stdenv
2, fetchgit
3, lib
4-, fetchpatch
5, meson
6, ninja
7, pkg-config
···33 hash = "sha256-x0Im9m9MoACJhQKorMI34YQ+/bd62NdAPc2nWwaJAvM=";
34 };
3536- outputs = [ "out" "dev" "doc" ];
3738 postPatch = ''
39 patchShebangs utils/
00000000000040 '';
4142 strictDeps = true;
···86 # Avoid blanket -Werror to evade build failures on less
87 # tested compilers.
88 "-Dwerror=false"
000089 ];
9091 # Fixes error on a deprecated declaration
···9394 # Silence fontconfig warnings about missing config
95 FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
96-97- # libcamera signs the IPA module libraries at install time, but they are then
98- # modified by stripping and RPATH fixup. Therefore, we need to generate the
99- # signatures again ourselves.
100- #
101- # If this is not done, libcamera will still try to load them, but it will
102- # isolate them in separate processes, which can cause crashes for IPA modules
103- # that are not designed for this (notably ipa_rpi.so).
104- postFixup = ''
105- ../src/ipa/ipa-sign-install.sh src/ipa-priv-key.pem $out/lib/libcamera/ipa_*.so
106- '';
107108 meta = with lib; {
109 description = "An open source camera stack and framework for Linux, Android, and ChromeOS";
···1{ stdenv
2, fetchgit
3, lib
04, meson
5, ninja
6, pkg-config
···32 hash = "sha256-x0Im9m9MoACJhQKorMI34YQ+/bd62NdAPc2nWwaJAvM=";
33 };
3435+ outputs = [ "out" "dev" ];
3637 postPatch = ''
38 patchShebangs utils/
39+ '';
40+41+ # libcamera signs the IPA module libraries at install time, but they are then
42+ # modified by stripping and RPATH fixup. Therefore, we need to generate the
43+ # signatures again ourselves. For reproducibility, we use a static private key.
44+ #
45+ # If this is not done, libcamera will still try to load them, but it will
46+ # isolate them in separate processes, which can cause crashes for IPA modules
47+ # that are not designed for this (notably ipa_rpi.so).
48+ preBuild = ''
49+ ninja src/ipa-priv-key.pem
50+ install -D ${./ipa-priv-key.pem} src/ipa-priv-key.pem
51 '';
5253 strictDeps = true;
···97 # Avoid blanket -Werror to evade build failures on less
98 # tested compilers.
99 "-Dwerror=false"
100+ # Documentation breaks binary compatibility.
101+ # Given that upstream also provides public documentation,
102+ # we can disable it here.
103+ "-Ddocumentation=disabled"
104 ];
105106 # Fixes error on a deprecated declaration
···108109 # Silence fontconfig warnings about missing config
110 FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
00000000000111112 meta = with lib; {
113 description = "An open source camera stack and framework for Linux, Android, and ChromeOS";