From e2008513b5fb4ae71d87ca6d05bdab5f3cb3a53f Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 18 Jun 2026 14:05:46 -0400 Subject: Micromamba improvement (#148) * Update micromamba installation logic * Split installation from micromamba() into micromamba_install() * Return -1 when micromamba cannot be installed * Add stasis.ini option "indexer.micromamba_download_url" * Add global variable micromamba_download_url * The installation function attempts two known-good URLs by default * * Add indexer arugment '--micromamba-download-url' * Add is_file_compressed() function to utils * Call micromamba_install() from tests * Add space in usage statement * Fix usage output when option array contains arguments without short options * Add --micromamba-download-url to README.md --- src/cli/stasis_indexer/helpers.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/cli/stasis_indexer/helpers.c') diff --git a/src/cli/stasis_indexer/helpers.c b/src/cli/stasis_indexer/helpers.c index 3ef96e4..b89622b 100644 --- a/src/cli/stasis_indexer/helpers.c +++ b/src/cli/stasis_indexer/helpers.c @@ -157,6 +157,7 @@ int micromamba_configure(const struct Delivery *ctx, struct MicromambaInfo *m) { m->conda_prefix = globals.conda_install_prefix; m->micromamba_prefix = micromamba_prefix; m->download_dir = ctx->storage.tmpdir; + m->download_url = globals.micromamba_download_url; const size_t pathvar_len = strlen(getenv("PATH")) + strlen(m->micromamba_prefix) + strlen(m->conda_prefix) + 3 + 4 + 1; // ^^^^^^^^^^^^^^^^^^ @@ -172,6 +173,11 @@ int micromamba_configure(const struct Delivery *ctx, struct MicromambaInfo *m) { setenv("PATH", pathvar, 1); guard_free(pathvar); + if (micromamba_install(m)) { + SYSERROR("Micromamba installation failed"); + return -1; + } + status += micromamba(m, "config prepend --env channels conda-forge"); if (!globals.verbose) { status += micromamba(m, "config set --env quiet true"); -- cgit