depends: Helper for vendoring new crates

This commit is contained in:
Jack Grigg 2018-10-30 14:50:45 +13:00
parent f3ec4534ee
commit 8c1f5fa729
No known key found for this signature in database
GPG Key ID: 9E8255172BBF9898
2 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,15 @@
package=crate_CRATEFILE
$(package)_crate_name=CRATENAME
$(package)_version=CRATEVER
$(package)_download_path=https://static.crates.io/crates/$($(package)_crate_name)
$(package)_file_name=$($(package)_crate_name)-$($(package)_version).crate
$(package)_sha256_hash=CRATEHASH
$(package)_crate_versioned_name=$($(package)_crate_name)
define $(package)_preprocess_cmds
$(call generate_crate_checksum,$(package))
endef
define $(package)_stage_cmds
$(call vendor_crate_source,$(package))
endef

12
depends/packages/vendorcrate.sh Executable file
View File

@ -0,0 +1,12 @@
pkgdir=$(dirname $0)
cratefile=$(echo "$1" | tr '-' '_')
cratename=$1
cratever=$2
cratehash=$(curl "https://static.crates.io/crates/$cratename/$cratename-$cratever.crate" | sha256sum | awk '{print $1}')
cat "$pkgdir/vendorcrate.mk" |
sed "s/CRATEFILE/$cratefile/g" |
sed "s/CRATENAME/$cratename/g" |
sed "s/CRATEVER/$cratever/g" |
sed "s/CRATEHASH/$cratehash/g" > "$pkgdir/crate_$cratefile.mk"