libcamera: fix binary reproduciblity
This commit is contained in:
parent
f2c7ecb8a4
commit
fb0ddd9186
28
pkgs/by-name/li/libcamera/ipa-priv-key.pem
Normal file
28
pkgs/by-name/li/libcamera/ipa-priv-key.pem
Normal file
@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCocmtyzPPjv+52
|
||||
JiZrpZFfaZ0eeUgugc8gV+0+2Q9GEkl/xxqjiDVg31gBO3iwQov2NmGuPbXr+vwZ
|
||||
QcUqNQakmmdi22tBaTtd6hMuhu9OfbP8sIFaf0dToZRHkPgf63+WCF6w0O9enEz4
|
||||
zjW3kPa1eVRVekiYCXGML/VhN+h5WwWouNWgEOw5JH39ZuGmhsGN5XekkHtyMkwq
|
||||
Vr+JodoSizhYs9VBYNA1J4PlyiS4BYr4pLiLffzPwRjcSS777x33g+nWNr1lsFxB
|
||||
nDoVvVnq0E7fiXxlmCtAr/7dv0Ug5ixuNfZ9yoT0f+mfUiG/anmfodHujIm2Db37
|
||||
jvmfxaq1AgMBAAECggEAFhJKBHSY92xod0g37A55fiZFTV8oZ1mgdXU386522yBd
|
||||
y5Wf5rIcBmm1axHrFjNeCgClq3JQEk/kdP3Ccy2YBXzq04/7HYrHmd5oLYZGOINt
|
||||
kExjYqN/SdTH7FmxPWN66AKIP8RcvQmfZ1GDxd4DiZNQitO3S96e53bIQPkVp8Lg
|
||||
GfK6LQCdOGimD00wvRoeqbV0PWGGVMfx+KvD5hxKYolyi/hNUxToD28qCAoMlMTi
|
||||
yL+17q3nIYZvUmL0k7d64U+lXF8ov3cVXNJzAzFi41MXZ2Xqk3Lj+IhNweUhlOyn
|
||||
fTo8QntNlirNL/XmtJ+5mPbGufE/6zsSNOf2Cyz2aQKBgQDio/tA3tFBzOz31hox
|
||||
gW6NKarhp7e5R3XHQjZPmQXKq2lGCTBN+LzwCLYDa+ZWkS+cel/xSbkUFl0dopCu
|
||||
7uGrSvmVAv+l1k879WHsYmLlDjJSa8WmDtVQ0SJr70X9UJmD2BivWnTnzrpZFu2A
|
||||
Nv57gvebJTI4tLfAAyIfbg8gOQKBgQC+RJRv8/jVha/4sPonQYvpH0scS0Xzwca6
|
||||
xd23e+vULBpk7IVzMbVGJEDdfWXVJeAO++FSQcgTJA38nfYm2XRPZAProliLaW8o
|
||||
XVhhhWbXP7Jc8BmL5zyfDaLOXNFBX2kfr/oKeOoQ+0dRDlWKlarw1SxC+RT6i2qQ
|
||||
YETgXHKmXQKBgGk8mWsqy2HRZOtDqE/6eLnlciprtVy7+M14Sj21oUHVTAGwPJTH
|
||||
/fs7IEEAdikWK1RuYmRoxh60r7IWDTadR35BRxjRFqILnCkMLNcVbDRN3kH1NwZ/
|
||||
dr+bDG+v4ADazx2wVu39g7Erhc3eXpOddZcmXhDVObeo+nWXPt33PeDJAoGBAJ4v
|
||||
+FVnuo8Tee1Cfogat87W5KSedIcnqSjpjt+Y2MXq8PrNplnSjwrE42UCd6KRvcnX
|
||||
Ykr4Q/ad+D75uYgtLMVAuv2yWPl3bCJcETnrJkh5PbqFKEgntT/rn1sA0j0OrSDa
|
||||
NwFz6+64a1+ZkkcJDjjykr0Px4BSXwOv9jOuyOdFAoGADZEADOLX5y4utxboe1M0
|
||||
UnaFKGEDE6H8qdRJQ9bSvEwJI142al02CvnvqvP4cpd8rKOCRs9nSXFJFXCedTLy
|
||||
ojSVfjTyJMTVJxab/c/Qugkxb/TqGfEnZF2yoTsfPYp2pXRd6DvyKlDQzlSOj933
|
||||
FrqeSe1QKapuPRsujVwLZDU=
|
||||
-----END PRIVATE KEY-----
|
@ -1,7 +1,6 @@
|
||||
{ stdenv
|
||||
, fetchgit
|
||||
, lib
|
||||
, fetchpatch
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
@ -33,12 +32,24 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-x0Im9m9MoACJhQKorMI34YQ+/bd62NdAPc2nWwaJAvM=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs utils/
|
||||
'';
|
||||
|
||||
# libcamera signs the IPA module libraries at install time, but they are then
|
||||
# modified by stripping and RPATH fixup. Therefore, we need to generate the
|
||||
# signatures again ourselves. For reproducibility, we use a static private key.
|
||||
#
|
||||
# If this is not done, libcamera will still try to load them, but it will
|
||||
# isolate them in separate processes, which can cause crashes for IPA modules
|
||||
# that are not designed for this (notably ipa_rpi.so).
|
||||
preBuild = ''
|
||||
ninja src/ipa-priv-key.pem
|
||||
install -D ${./ipa-priv-key.pem} src/ipa-priv-key.pem
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
buildInputs = [
|
||||
@ -86,6 +97,10 @@ stdenv.mkDerivation rec {
|
||||
# Avoid blanket -Werror to evade build failures on less
|
||||
# tested compilers.
|
||||
"-Dwerror=false"
|
||||
# Documentation breaks binary compatibility.
|
||||
# Given that upstream also provides public documentation,
|
||||
# we can disable it here.
|
||||
"-Ddocumentation=disabled"
|
||||
];
|
||||
|
||||
# Fixes error on a deprecated declaration
|
||||
@ -94,17 +109,6 @@ stdenv.mkDerivation rec {
|
||||
# Silence fontconfig warnings about missing config
|
||||
FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
|
||||
|
||||
# libcamera signs the IPA module libraries at install time, but they are then
|
||||
# modified by stripping and RPATH fixup. Therefore, we need to generate the
|
||||
# signatures again ourselves.
|
||||
#
|
||||
# If this is not done, libcamera will still try to load them, but it will
|
||||
# isolate them in separate processes, which can cause crashes for IPA modules
|
||||
# that are not designed for this (notably ipa_rpi.so).
|
||||
postFixup = ''
|
||||
../src/ipa/ipa-sign-install.sh src/ipa-priv-key.pem $out/lib/libcamera/ipa_*.so
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An open source camera stack and framework for Linux, Android, and ChromeOS";
|
||||
homepage = "https://libcamera.org";
|
||||
|
Loading…
Reference in New Issue
Block a user