mission-planner: reduce closure size
The release zip file doesn't contain a top level directory. The previous solution of `sourceRoot = "."` followed by an `installPhase` of `mv * $out/...` does install correctly. However, this grabs detritus from the Nix build sandbox root, in particular `env-vars`, resulting in an accidental run-time dependency on many build-time inputs. Fix by instead using a custom `unpackPhase` to change into an empty directory, then extracting the release and proceeding with the installation from there, so that only files from the release are installed. This reduces closure size by ~425M. Tested that Mission Planner opens and connects to a drone.
This commit is contained in:
parent
e974455152
commit
438d311460
@ -34,7 +34,17 @@ stdenv.mkDerivation rec {
|
|||||||
mono
|
mono
|
||||||
unzip
|
unzip
|
||||||
];
|
];
|
||||||
sourceRoot = ".";
|
|
||||||
|
# zip has no outer directory, so make one and unpack there
|
||||||
|
unpackPhase = ''
|
||||||
|
runHook preUnpack
|
||||||
|
|
||||||
|
mkdir -p source
|
||||||
|
cd source
|
||||||
|
unzip -q $src
|
||||||
|
|
||||||
|
runHook postUnpack
|
||||||
|
'';
|
||||||
|
|
||||||
AOT_FILES = [
|
AOT_FILES = [
|
||||||
"MissionPlanner.exe"
|
"MissionPlanner.exe"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user