uniffi-bindgen: add update script
This commit is contained in:
@@ -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
@@ -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
|
||||
Reference in New Issue
Block a user