uniffi-bindgen: add update script

This commit is contained in:
Vincent Haupert
2022-07-23 10:44:56 +02:00
committed by Van Tuan Vo
parent f22c5e38e7
commit a070b2e873
2 changed files with 37 additions and 0 deletions
@@ -35,6 +35,8 @@ rustPlatform.buildRustPackage rec {
--suffix PATH : ${lib.strings.makeBinPath [ rustfmt ktlint yapf rubocop ] }
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
description = "Toolkit for building cross-platform software components in Rust";
homepage = "https://mozilla.github.io/uniffi-rs/";
+35
View File
@@ -0,0 +1,35 @@
#!/usr/bin/env nix-shell
#! nix-shell -p nix cargo rsync nix-update
#! nix-shell -i bash
set -euo pipefail
if [[ -z "${UPDATE_NIX_ATTR_PATH+x}" ]]; then
echo "Error: run the following command from nixpkgs root:" >&2
echo " nix-shell maintainers/scripts/update.nix --argstr package uniffi-bindgen" >&2
exit 1
fi
targetLockfile="$(dirname "$0")/Cargo.lock"
# Update version and hash
nix-update "$UPDATE_NIX_ATTR_PATH"
# Update lockfile through `cargo update`
src=$(nix-build -A "${UPDATE_NIX_ATTR_PATH}.src" --no-out-link)
tmp=$(mktemp -d)
cleanup() {
echo "Removing $tmp" >&2
rm -rf "$tmp"
}
trap cleanup EXIT
rsync -a --chmod=ugo=rwX "$src/" "$tmp"
pushd "$tmp"
cargo update
cp "Cargo.lock" "$targetLockfile"
popd