diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-04-03 11:57:13 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-04-13 08:20:32 +0000 |
commit | 26d66fbfa9bad792b9d8d629808f544f2d21d84e (patch) | |
tree | ed09434d986df6679f3f6f089442a80a4420b6d7 /pkgs/applications/virtualization/crosvm | |
parent | fd3f39303b4f3831747f6cdf7409915fec77446a (diff) |
crosvm.updateScript: generate Cargo.lock
Diffstat (limited to 'pkgs/applications/virtualization/crosvm')
-rw-r--r-- | pkgs/applications/virtualization/crosvm/generate-cargo.sh | 7 | ||||
-rwxr-xr-x | pkgs/applications/virtualization/crosvm/update.py | 12 |
2 files changed, 17 insertions, 2 deletions
diff --git a/pkgs/applications/virtualization/crosvm/generate-cargo.sh b/pkgs/applications/virtualization/crosvm/generate-cargo.sh new file mode 100644 index 0000000000000..216cafe367ca1 --- /dev/null +++ b/pkgs/applications/virtualization/crosvm/generate-cargo.sh @@ -0,0 +1,7 @@ +dir="$(mktemp -d)" && + cd "$dir" && + unpackPhase && + cd "${sourceRoot:-}" && + cargo generate-lockfile && + mv Cargo.lock "$1" +rm -rf "$dir" diff --git a/pkgs/applications/virtualization/crosvm/update.py b/pkgs/applications/virtualization/crosvm/update.py index 6e36e524b78d1..f9fc90c6b349b 100755 --- a/pkgs/applications/virtualization/crosvm/update.py +++ b/pkgs/applications/virtualization/crosvm/update.py @@ -5,9 +5,10 @@ import base64 import json import re +import shlex import subprocess from codecs import iterdecode -from os.path import dirname, splitext +from os.path import abspath, dirname, splitext from lxml import etree from lxml.etree import HTMLParser from urllib.request import urlopen @@ -78,7 +79,14 @@ argv = ['nix-instantiate', '--eval', '--json', '-A', 'crosvm.meta.position'] position = json.loads(subprocess.check_output(argv).decode('utf-8')) filename = re.match(r'[^:]*', position)[0] -# Finally, write the output. +# Write the output. with open(dirname(filename) + '/upstream-info.json', 'w') as out: json.dump(data, out, indent=2) out.write('\n') + +# Generate a Cargo.lock +run = ['.', + dirname(abspath(__file__)) + '/generate-cargo.sh', + dirname(filename) + '/Cargo.lock'] +expr = '(import ./. {}).crosvm.overrideAttrs (_: { dontCargoSetupPostUnpack = true; })' +subprocess.run(['nix-shell', '-E', expr, '--run', shlex.join(run)]) |