diff --git a/recipe/activate.bat b/recipe/activate.bat index ebe1bdd..7e21a1a 100644 --- a/recipe/activate.bat +++ b/recipe/activate.bat @@ -2,6 +2,7 @@ set CARGO_HOME=%CONDA_PREFIX%\.cargo set CARGO_CONFIG=%CARGO_HOME%\config set RUSTUP_HOME=%CARGO_HOME%\rustup set PATH=%CARGO_HOME%\bin:%PATH% +set "CARGO=cargo-auditable-wrapper.bat" if not exist "%CARGO_HOME%" mkdir "%CARGO_HOME%" diff --git a/recipe/activate.sh b/recipe/activate.sh index e597e47..471c517 100755 --- a/recipe/activate.sh +++ b/recipe/activate.sh @@ -2,6 +2,7 @@ export CARGO_HOME=${CONDA_PREFIX}/.cargo export CARGO_CONFIG=${CARGO_HOME}/config +export CARGO="cargo-auditable-wrapper" export RUSTUP_HOME=${CARGO_HOME}/rustup [[ -d ${CARGO_HOME} ]] || mkdir -p ${CARGO_HOME} diff --git a/recipe/bld.bat b/recipe/bld.bat deleted file mode 100644 index d448dd5..0000000 --- a/recipe/bld.bat +++ /dev/null @@ -1,2 +0,0 @@ -mkdir %PREFIX%\etc\conda\activate.d -copy %RECIPE_DIR%\activate.bat %PREFIX%\etc\conda\activate.d\activate-%PKG_NAME%.bat diff --git a/recipe/build-activation.bat b/recipe/build-activation.bat new file mode 100644 index 0000000..e70400d --- /dev/null +++ b/recipe/build-activation.bat @@ -0,0 +1,13 @@ +@echo on + +mkdir %PREFIX%\etc\conda\activate.d +if %ERRORLEVEL% neq 0 exit 1 + +copy %RECIPE_DIR%\activate.bat %PREFIX%\etc\conda\activate.d\activate-%PKG_NAME%.bat +if %ERRORLEVEL% neq 0 exit 1 + +md %LIBRARY_PREFIX%\bin +if %ERRORLEVEL% neq 0 exit 1 + +copy %RECIPE_DIR%\cargo-auditable-wrapper.bat %LIBRARY_PREFIX%\bin\cargo-auditable-wrapper.bat +if %ERRORLEVEL% neq 0 exit 1 diff --git a/recipe/build.sh b/recipe/build-activation.sh similarity index 86% rename from recipe/build.sh rename to recipe/build-activation.sh index 74090ba..f736ee4 100755 --- a/recipe/build.sh +++ b/recipe/build-activation.sh @@ -1,6 +1,6 @@ #!/bin/bash -set -x +set -exuo pipefail mkdir -p ${PREFIX}/etc/conda/{de,}activate.d cp "${RECIPE_DIR}"/activate.sh activate.sh @@ -13,3 +13,5 @@ sed -i.bak "s/@cross_target_platform@/$cross_target_platform/g" activate.sh sed -i.bak "s/@CONDA_RUST_HOST_LOWER@/$(echo $rust_arch_env_build | tr '[:upper:]' '[:lower:]')/g" activate.sh sed -i.bak "s/@CONDA_RUST_TARGET_LOWER@/$(echo $rust_arch_env | tr '[:upper:]' '[:lower:]')/g" activate.sh cp activate.sh ${PREFIX}/etc/conda/activate.d/activate_${PKG_NAME}.sh +mkdir -p ${PREFIX}/bin +cp ${RECIPE_DIR}/cargo-auditable-wrapper.sh $PREFIX/bin/cargo-auditable-wrapper diff --git a/recipe/cargo-auditable-wrapper.bat b/recipe/cargo-auditable-wrapper.bat new file mode 100644 index 0000000..448a624 --- /dev/null +++ b/recipe/cargo-auditable-wrapper.bat @@ -0,0 +1 @@ +cargo auditable %* diff --git a/recipe/cargo-auditable-wrapper.sh b/recipe/cargo-auditable-wrapper.sh new file mode 100755 index 0000000..c393fb7 --- /dev/null +++ b/recipe/cargo-auditable-wrapper.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec cargo auditable $* diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 6f0270a..55fd649 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -11,12 +11,12 @@ package: version: {{ version }} build: - number: 1 + number: 2 outputs: - name: rust_{{ cross_target_platform }} - script: build.sh # [unix] - script: bld.bat # [win] + script: build-activation.sh # [unix] + script: build-activation.bat # [win] build: skip: True # [win and vc<14] run_exports: @@ -48,6 +48,7 @@ outputs: - vs_{{ cross_target_platform }} >=2019 # [win] {% endif %} - ld64_{{ target_platform }} # [osx] + - cargo-auditable test: requires: - file # [unix] @@ -60,7 +61,8 @@ outputs: - rustc --help - rustdoc --help - cargo --help - - cargo install --force xsv + - "%CARGO% install --force xsv" # [win] + - $CARGO install --force xsv # [unix] - file $PREFIX/.cargo/bin/xsv # [unix and cross_target_platform != "win-64" and cross_target_platform != "win-arm64"] - file $PREFIX/.cargo/bin/xsv | grep "Mach-O 64-bit arm64 executable" # [unix and cross_target_platform == "osx-arm64"] - file $PREFIX/.cargo/bin/xsv | grep "Mach-O 64-bit x86_64 executable" # [unix and cross_target_platform == "osx-64"] @@ -71,7 +73,7 @@ outputs: - file $PREFIX/.cargo/bin/xsv.exe | grep "PE32+ executable for MS Windows" | grep x86-64 # [unix and cross_target_platform == "win-64"] - name: rust-gnu_{{ target_platform }} - script: bld.bat + script: build-activation.bat build: skip: True # [not win] skip: True