Skip to content
Snippets Groups Projects

Bug 40852 Reproducible build of lox library and js bindings

Merged Cecylia Bocovich requested to merge cohosh/tor-browser-build:lox-wasm into main
Files
5
+ 43
0
#!/bin/bash
[% c("var/set_default_env") -%]
distdir=/var/tmp/dist
builddir=/var/tmp/build/[% project %]
mkdir -p $distdir/[% project %]
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/rust') %]
export PATH="/var/tmp/dist/rust/bin:$PATH"
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/wasm-bindgen') %]
export PATH="/var/tmp/dist/wasm-bindgen:$PATH"
[% IF c("var/linux") -%]
export LD_LIBRARY_PATH="/var/tmp/dist/rust/lib:$LD_LIBRARY_PATH"
[% END -%]
mkdir -p /var/tmp/build
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
# Now prepare the offline build
# Move the directory for hardcoding the path in .cargo/config
mv /var/tmp/build/[% project %]-[% c('version') %] $builddir
tar -C $builddir -xf $rootdir/[% c('input_files_by_name/cargo_vendor') %]
cd $builddir
mkdir .cargo
cat > .cargo/config << 'EOF'
[source.crates-io]
replace-with = "vendored-sources"
[source."https://git-crysp.uwaterloo.ca/iang/lox.git"]
git = "https://git-crysp.uwaterloo.ca/iang/lox.git"
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "/var/tmp/build/lox-wasm/vendor"
+1
EOF
cargo build -p lox-wasm --release --frozen --target wasm32-unknown-unknown
mv target/wasm32-unknown-unknown/release/lox_wasm.wasm $distdir/[% project %]
cd $distdir
wasm-bindgen --out-dir [% project %] --target web [% project %]/lox_wasm.wasm
[% c('tar', {
tar_src => [ project ],
tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
}) %]
Loading