Package Details: micromamba 2.8.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.022853
First Submitted: 2021-03-21 15:23 (UTC)
Last Updated: 2026-06-12 03:27 (UTC)

Latest Comments

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

flying-sheep commented on 2025-06-07 10:34 (UTC)

Hi, you don’t actually install libmambapy. building it is ON, but it’s not on my system!

Please fix or stop conflicting with python-libmamba and providing python-libmambapy

❯ paru -Qlq micromamba | treeify 
[/]
 └─usr
    ├─bin
    │  └─mamba
    ├─etc
    │  └─profile.d
    │     └─mamba.sh
    ├─include
    │  └─mamba/**/*.h*
    ├─lib
    │  ├─cmake
    │  │  └─libmamba
    │  │     ├─libmambaConfig.cmake
    │  │     ├─libmambaConfigVersion.cmake
    │  │     ├─libmambaTargets-none.cmake
    │  │     └─libmambaTargets.cmake
    │  ├─libmamba.so
    │  ├─libmamba.so.4
    │  └─libmamba.so.4.0.0
    └─share
       └─licenses
          └─micromamba
             └─LICENSE

brianrobt commented on 2025-06-06 12:47 (UTC) (edited on 2025-06-06 15:21 (UTC) by brianrobt)

That looks like an issue specific to your local environment (i.e., "/home/arthur/.local/bin/ctest").

Micromamba installs without the need for python-cmake in a fresh Docker container: https://github.com/brianrobt/micromamba-aur/blob/master/Dockerfile

[builder@9b949c15df81 ~]$ which ctest
/usr/sbin/ctest
[builder@9b949c15df81 ~]$ ctest --version
ctest version 4.0.2-dirty

CMake suite maintained and supported by Kitware (kitware.com/cmake).

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()