Add install from source instructions (#2977)

* Update static environment files

* Refactor installation pages

* Add install from source instructions
This commit is contained in:
Antoine Prouvost 2023-11-15 08:47:53 +01:00 committed by GitHub
parent 09cbb34e54
commit ddea95e16c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 79 additions and 65 deletions

View File

@ -0,0 +1,34 @@
channels:
- conda-forge
dependencies:
# libmamba build dependencies
- cxx-compiler
- cmake >=3.16
- pkg-config # Used by some CMake dependencies
- ninja
# libmamba dependencies
- cpp-expected
- nlohmann_json
- simdjson-static >=3.3.0
- spdlog
- fmt
- libsolv-static >=0.7.24
- yaml-cpp-static >=0.8.0
- reproc-static >=14.2.4.post0
- reproc-cpp-static >=14.2.4.post0
- libcurl >=8.4.0
- libcurl-static >=8.4.0
- xz-static
- libssh2-static
- libarchive-minimal-static
- krb5-static
- openssl
- libopenssl-static
- zstd-static
- zlib
- libnghttp2-static
- lz4-c-static
# libmamba test dependencies
- doctest
# micromamba dependencies
- cli11 >=2.2,<3

View File

@ -22,7 +22,7 @@ Setting the development environment requires conda, mamba, or micromamba.
Since some commands are automated with ``micromamba``, and to avoid any runtime linking issue,
it is best to work with micromamba.
Refer to the :ref:`installation<installation>` page for how to install micromamba or mamba.
Refer to the :ref:`installation<umamba-install>` page for how to install micromamba or mamba.
Develop using Taskfile
======================

View File

@ -17,7 +17,8 @@ The ``mamba-org`` organization hosts multiple Mamba flavors:
.. note::
:ref:`micromamba<micromamba>` is especially well fitted for the CI use-case but not limited to that!
You can try Mamba now by visiting the :ref:`installation page<installation>`!
You can try Mamba now by visiting the installation for
:ref:`mamba<mamba-install>` or :ref:`micromamba<umamba-install>`
.. toctree::
@ -25,8 +26,8 @@ You can try Mamba now by visiting the :ref:`installation page<installation>`!
:maxdepth: 2
:hidden:
Mamba <mamba-installation>
Micromamba <micromamba-installation>
Mamba <installation/mamba-installation>
Micromamba <installation/micromamba-installation>
.. toctree::
:caption: USER GUIDE

View File

@ -1,17 +0,0 @@
:orphan:
.. _installation:
============
Installation
============
Mamba
=====
See :ref:`mamba-install`.
Micromamba
==========
See :ref:`umamba-install`.

View File

@ -174,6 +174,44 @@ image can be used to run ``micromamba`` without installing it:
docker run -it --rm mambaorg/micromamba:latest micromamba info
Build from source
*****************
.. note::
These instuction do not work currently on Windows, which requires a more complex hybrid build.
For up-to-date instructions on Windows and Unix, consult the scripts in the
`micromamba-feedstock <https://github.com/conda-forge/micromamba-feedstock>`_.
To build from source, install the development dependencies, using a Conda compatible installer
(``conda``/``mamba``/``micromamba``/``rattler``/``pixi``).
.. code-block:: bash
micromamba create -n mamba --file dev/environment-static.yml
micromamba activate -n mamba
Use CMake from this environment to drive the build:
.. code-block:: bash
cmake -B build/ \
-G Ninja \
${CMAKE_ARGS} \
-D CMAKE_BUILD_TYPE="Release" \
-D BUILD_LIBMAMBA=ON \
-D BUILD_STATIC=ON \
-D BUILD_MICROMAMBA=ON
cmake --build build/ --parallel
You will find the executable under "build/micromamba/micromamba".
The executable can be striped to remove its size:
.. code:: bash
strip "build/micromamba/micromamba"
.. _shell_completion:
Shell completion

View File

@ -6,7 +6,8 @@ Troubleshooting
Please use the official installer
---------------------------------
Please make sure that you use the :ref:`official Mambaforge installer <installation>` to install Mamba. Other installation methods are not supported.
Please make sure that you use the :ref:`official Mambaforge installer <mamba-install>` to install Mamba.
Other installation methods are not supported.
Mamba should be installed to the ``base`` environment
-----------------------------------------------------

View File

@ -1,16 +0,0 @@
name: mamba-dev
channels:
- conda-forge
dependencies:
- vs2019_win-64
- ninja
- python
- curl
- cli11 >=2.2,<3
- cpp-expected
- cpp-filesystem
- nlohmann_json
- spdlog
- fmt
- zlib
- winreg

View File

@ -1,27 +0,0 @@
name: mamba-dev
channels:
- conda-forge
dependencies:
- cxx-compiler
- cmake >=3.16
- ninja
- yaml-cpp-static
- spdlog
- fmt
- libcurl
- libcurl-static
- xz-static
- libssh2-static
- libarchive-minimal-static
- krb5-static
- libsolv-static
- zstd-static
- libnghttp2-static
- lz4-c-static
- reproc-static
- reproc-cpp
- reproc-cpp-static
- openssl
- libopenssl-static
- nlohmann_json
- cpp-expected