Package Details: micromamba 2.6.1-1

Git Clone URL: https://aur.archlinux.org/micromamba.git (read-only, click to copy)
Package Base: micromamba
Description: The fast cross-platform package manager
Upstream URL: https://github.com/mamba-org/mamba
Licenses: BSD-3-Clause
Conflicts: micromamba-bin
Provides: libmamba, python-libmambapy
Submitter: gdolle
Maintainer: carlosal1015 (flying-sheep)
Last Packager: carlosal1015
Votes: 10
Popularity: 0.078894
First Submitted: 2021-03-21 15:23 (UTC)
Last Updated: 2026-05-15 02:19 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

arthurfragoso commented on 2025-06-06 04:21 (UTC) (edited on 2025-06-06 04:22 (UTC) by arthurfragoso)

[ 98%] Building CXX object micromamba/CMakeFiles/mamba.dir/src/shell.cpp.o
[ 98%] Building CXX object micromamba/CMakeFiles/mamba.dir/src/umamba.cpp.o
[ 99%] Building CXX object micromamba/CMakeFiles/mamba.dir/src/update.cpp.o
[100%] Building CXX object micromamba/CMakeFiles/mamba.dir/src/version.cpp.o
[100%] Linking CXX executable mamba
[100%] Built target mamba
==> Iniciando check()...
Traceback (most recent call last):
  File "/home/arthur/.local/bin/ctest", line 5, in <module>
    from cmake import ctest
ModuleNotFoundError: No module named 'cmake'
==> ERRO: Uma falha ocorreu em check().
    Abortando...
 -> erro ao construir: micromamba-exit status 4
 -> Falha ao instalar os seguintes pacotes. É necessária a intervenção manual:
micromamba - exit status 4

I had to install python-cmake (python-cmake-bin) to be able to build it.

brianrobt commented on 2025-06-03 13:21 (UTC)

Just published the new version. Please let us know if there are any issues!

brianrobt commented on 2025-05-29 13:36 (UTC) (edited on 2025-05-29 13:37 (UTC) by brianrobt)

I just got a working patch for the fmt changes which can be seen below. Since I'm not the maintainer of this package, I can't push the changes.

utils.cpp.patch:

--- libmambapy/src/libmambapy/bindings/utils.cpp.orig   2025-05-29 13:26:59.915035009 +0000
+++ libmambapy/src/libmambapy/bindings/utils.cpp    2025-05-29 13:27:33.215447011 +0000
@@ -109,11 +109,11 @@
                         return std::nullopt;
                     }
                     const auto fg = style.get_foreground();
-                    if (fg.is_rgb)
+                    if (!fg.is_terminal_color())
                     {
-                        return { { fmt::rgb(fg.value.rgb_color) } };
+                        return { { fmt::rgb(fg.value()) } };
                     }
-                    return { { static_cast<fmt::terminal_color>(fg.value.term_color) } };
+                    return { { static_cast<fmt::terminal_color>(fg.value()) } };
                 }
             )
             .def_property_readonly(
@@ -125,16 +125,15 @@
                         return std::nullopt;
                     }
                     const auto bg = style.get_background();
-                    if (bg.is_rgb)
+                    if (!bg.is_terminal_color())
                     {
-                        return { { fmt::rgb(bg.value.rgb_color) } };
+                        return { { fmt::rgb(bg.value()) } };
                     }
-                    return { { static_cast<fmt::terminal_color>(bg.value.term_color) } };
+                    return { { static_cast<fmt::terminal_color>(bg.value()) } };
                 }
             )
             .def_property_readonly(
                 "emphasis",
-
                 [](const fmt::text_style& style) -> std::optional<fmt::emphasis>
                 {
                     if (!style.has_emphasis())
@@ -143,7 +142,6 @@
                     }
                     return { style.get_emphasis() };
                 }
-
             )
             .def("__copy__", &copy<fmt::text_style>)
             .def("__deepcopy__", &deepcopy<fmt::text_style>, py::arg("memo"));

brianrobt commented on 2025-05-29 13:07 (UTC) (edited on 2025-05-29 13:07 (UTC) by brianrobt)

Why does it still say provides=(python-libmambapy) then?

Was in a hurry and forgot to remove it.

Can the fmt incompatibility be fixed? The conda package depends on python-libmambapy.

I think so. On the surface it looks like there were only a few breaking API changes limited to a single file. If I have some time today, I'll do a deeper dive and try to get a working patch.

EDIT: Also, once we get this working, I think it's safe to delete the python-libmamba package.

flying-sheep commented on 2025-05-29 13:02 (UTC) (edited on 2025-05-29 13:03 (UTC) by flying-sheep)

I also had to disable building libmambapy

Why does it still say provides=(python-libmambapy) then?

Can the fmt incompatibility be fixed? The conda package depends on python-libmambapy.

brianrobt commented on 2025-05-27 19:55 (UTC) (edited on 2025-05-28 13:06 (UTC) by brianrobt)

@anlorn, I stand corrected. Looks like patching the CMakeLists.txt file fixed the issue.

EDIT: I also had to disable building libmambapy due to the incompatibility with fmt>=11.x.

PKGBUILD:

# Maintainer: Carlos Aznarán <caznaranl@uni.pe>
# Contributor: Guillaume Dolle  <dev at gdolle.com>
pkgname=micromamba
_pkgname=${pkgname/micro/}
pkgver=2.1.1
pkgrel=2
pkgdesc="The fast cross-platform package manager"
arch=(i686 x86_64)
url="https://github.com/${_pkgname}-org/${_pkgname}"
license=(BSD-3-Clause)
depends=(python fmt libsolv reproc yaml-cpp simdjson)
makedepends=(cli11 spdlog tl-expected nlohmann-json cmake pybind11) # gtest
source=(${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz
    static-off.patch)
sha512sums=('99777c9711af0f36731aa3be9fd89cd730ab1878d4c9485fb0d5d39464ee13e29d6e8a5f4ecb4cbb0149c9a2962d91cb212e9a052536283b46a9e1776ed6899f'
    'SKIP')
provides=("libmamba=${pkgver}" "python-libmambapy=${pkgver}")
conflicts=('micromamba-bin' 'python-libmamba')

prepare() {
  cd ${_pkgname}-${pkgver}
  patch -p0 -i ../../static-off.patch
}

build() {
  cmake \
    -S ${_pkgname}-${pkgver} \
    -B build \
    -DBUILD_SHARED=ON \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
    -DBUILD_LIBMAMBA=ON \
    -DBUILD_LIBMAMBAPY=OFF \
    -DBUILD_LIBMAMBA_TESTS=OFF \
    -DBUILD_MAMBA_PACKAGE=OFF \
    -DBUILD_MICROMAMBA=ON \
    -DBUILD_STATIC=OFF \
    -Wno-dev
  cmake --build build
}

check() {
  ctest --test-dir build
}

package() {
  DESTDIR="${pkgdir}" cmake --build build --target install
  install -Dm 644 ${_pkgname}-${pkgver}/${pkgname}/LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}

static-off.patch:

--- CMakeLists.txt.orig 2025-05-27 19:39:41.831173013 +0000
+++ CMakeLists.txt  2025-05-27 19:40:21.521306004 +0000
@@ -68,7 +68,8 @@

 # micromamba requires static linkage
 if(BUILD_MICROMAMBA)
-    set(BUILD_STATIC ON)
+    set(BUILD_STATIC OFF)
+    set(BUILD_SHARED ON)
 endif()

 # libmamba library and tests

brianrobt commented on 2025-05-27 19:32 (UTC)

I think I already tried to patch that but ran into some errors.

From the documentation, it sounds like -DBUILD_MICROMAMBA is only meant to be built statically. I don't think that trying to force it to use BUILD_SHARED is going to get us anywhere.

In the meantime, I tried setting -DBUILD_MICROMAMBA=OFF and adding -DBUILD_MAMBA=ON.

-DBUILD_MAMBA is meant to be used for compiling micromamba dynamically, so it seems like that might be what we want. There is already a micromamba-bin package for the standalone static version.

With that being said, I ran into more issues with libmambapy and its fmt dependency. libmambapy is expecting v10.1.1 (I think), but fmt is v11.2.0.

I spent a couple of hours trying to get a working patch, but to no avail.

I'll try some additional build flag combos to see if we can get a working version, but eventually the micromamba upstream is going to need to update libmambapy to use fmt v11.0.0 at the very least.

anlorn commented on 2025-05-27 02:35 (UTC)

Looks like mamba cmake enforces static compiling when build as micromamba


if(BUILD_MICROMAMBA)
    set(BUILD_STATIC ON)
endif()

brianrobt commented on 2025-05-21 13:42 (UTC) (edited on 2025-05-21 13:46 (UTC) by brianrobt)

Trying to build this, I get the following error:

CMake Error at cmake/Checks.cmake:9 (message):
  Expected type "STATIC_LIBRARY" for target "yaml-cpp::yaml-cpp" but found
  "SHARED_LIBRARY"
Call Stack (most recent call first):
  libmamba/CMakeLists.txt:469 (mamba_target_check_type)
  libmamba/CMakeLists.txt:706 (libmamba_create_target)


-- Configuring incomplete, errors occurred!
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: micromamba-exit status 4
 -> Failed to install the following packages. Manual intervention is required:

I've tried several patches to get around the "STATIC_LIBRARY" error, installing static versions of yaml-cpp, reproc, and reproc++, and building with a different combination of flags--all to no avail.

AFAICT, no changes have been made to yaml-cpp since this package was last published.

It seems like -DBUILD_SHARED=ON and -DBUILD_STATIC=OFF aren't being respected.

I'm not sure what to do at this point or if anyone else has run into the same error.

xZTtV2 commented on 2025-04-18 17:25 (UTC) (edited on 2025-04-18 17:25 (UTC) by xZTtV2)

==> Сборка пакета micromamba 2.1.0-1 (Пт 18 апр 2025 17:15:37)
==> Проверка зависимостей для запуска...
==> Проверка зависимостей для сборки...
==> Получение исходных файлов...
  -> Найден micromamba-2.1.0.tar.gz
==> Проверка файлов source с использованием sha512sums...
    micromamba-2.1.0.tar.gz ... Готово
==> Удаление директории '$srcdir/'...
==> Распаковка исходных файлов...
  -> Распаковка 'micromamba-2.1.0.tar.gz' с помощью bsdtar
==> Исходные файлы готовы.
==> Сборка пакета micromamba 2.1.0-1 (Пт 18 апр 2025 17:15:38)
==> Проверка зависимостей для запуска...
==> Проверка зависимостей для сборки...
==> ВНИМАНИЕ: Использование существующего дерева исходных файлов в '$srcdir/'
==> Удаление директории '$pkgdir/'...
==> Запускается build()...
-- The C compiler identification is GNU 14.2.1
-- The CXX compiler identification is GNU 14.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building libmamba v2.1.0
-- libmamba binary version: v3.0.0
-- Found Python3: /usr/bin/python3.13 (found version "3.13.2") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found nlohmann_json: /usr/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake (found version "3.12.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.4.3")
-- Found Libsolv: /usr/include (found version "0.7.31")
-- Skipping LTO for target libmamba::solv-cpp, the build type is not a release
-- Adding shared libmamba target
-- Skipping LTO for target libmamba::libmamba-dyn, the build type is not a release
   -> Dynamically linking against libmamba (shared) dependencies
-- Found CURL: /usr/lib/libcurl.so (found version "8.13.0")
-- Found LibArchive: /usr/lib/libarchive.so (found version "3.7.9")
-- Found BZip2: /usr/lib/libbz2.so (found version "1.0.8")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Found OpenSSL: /usr/lib/libcrypto.so (found version "3.5.0")
-- Adding static libmamba target
-- Skipping LTO for target libmamba::libmamba-static, the build type is not a release
   -> Statically linking against libmamba (static) dependencies
CMake Error at cmake/Checks.cmake:9 (message):
  Expected type "STATIC_LIBRARY" for target "yaml-cpp::yaml-cpp" but found
  "SHARED_LIBRARY"
Call Stack (most recent call first):
  libmamba/CMakeLists.txt:469 (mamba_target_check_type)
  libmamba/CMakeLists.txt:706 (libmamba_create_target)


-- Configuring incomplete, errors occurred!
==> ОШИБКА: Произошел сбой в build().
    Прерывание...
 -> Failed to install layer, rolling up to next layer.error:error making: micromamba - exit status 4

pacman -Ss yaml-cpp

extra/yaml-cpp 0.8.0-2 [installed]
    YAML parser and emitter in C++, written around the YAML 1.2 spec