Commit Graph

108 Commits

Author SHA1 Message Date
Johan Mabille 89abba3df0
warning as error default to OFF and enabled in CI (#3814) 2025-02-11 15:05:41 +01:00
Ayaz Salikhov 0a8128d23e
maint: Enable `-Werror` compiler flag for GCC, Clang and AppleClang (#3611) 2024-11-21 13:50:09 +01:00
Henry Schreiner 5bfdd90adf
chore: some CMake cleanup (#3564)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2024-10-28 11:58:57 +01:00
Johan Mabille 4f2d1ebd43
Added mamba as dynamic build of micromamba (#3060) 2023-12-14 14:22:31 +01:00
Antoine Prouvost 9c68ee239b
Refactor (some) OpenSSL functions (#3024)
* Add sha256 to cryptography

* Refactor cryptographic hasher

* Use new hasher in validation

* Split util::encoding

* Improve hash tests

* Move and refactor cache_name_from_url

* Fix conversion

* Fix namespace

* Fix conversion

* Refactor Base64 encoding

* Move URL percent encoding

* Document encoding.hpp

* Move EVPContextDeleter

* Add doc to DigestHasher

* Remove util::hex_string

* Add UTF8 source file encoding on Windows

* Add hex_to_bytes

* Use util::hex_to_bytes

* Private Digest inheritance

* Make thread_local hasher

* Use digester in validation

* Fix Win
2023-12-04 16:11:35 +01:00
Antoine Prouvost d116ff8917
Add cmake-format (#2962)
* Add cmake-format

* Apply cmake-format
2023-11-07 11:08:26 +01:00
Antoine Prouvost 91b6c44a51
Read repodata.json using nl::json (rerun) (#2753)
* Add simdjson dependency

* Add experimental_repodata_parsing option

* Add simdjson repodata parser

* Add missing dependency

* Deactivate simdjson by default
2023-10-04 22:06:46 +02:00
Antoine Prouvost 050278c738
Add FindLibsolv.cmake (#2886)
* Add FindLibsolv.cmake

* Add OSX dynamic lib names
2023-10-04 09:59:20 +02:00
Antoine Prouvost be30af600a
Build micromamba win with feedstock (#2859)
* Try CI

* Remove useless header

* Try mixing static windows build with Conda

* More packages from conda-forge

* Move to yaml-cpp>=0.8.0

* Ensure proper yaml-cpp target

* Use yaml-cpp-static on Windows

* Fix versions

* Use libsolv-static from Conda-Forge
2023-09-27 10:32:47 +02:00
Antoine Prouvost 3c200f9e8e
Don't force MSVC_RUNTIME (#2861)
* Don't force MSVC_RUNTIME

* Run micromamba-feedstock fork

* Explicit MSVC runtime in CI

* Fix typo
2023-09-21 20:02:02 +02:00
Antoine Prouvost da70542cbe
Enable Link Time Optimization (#2742)
* Add MAMBA_LTO option to CMake

* Handle no CMAKE_BUILD_TYPE in LTO
2023-08-25 09:50:35 +02:00
Johan Mabille b38377a479
Only full shared or full static build (#2342) 2023-03-03 17:27:25 +01:00
Antoine Prouvost 0002794f3c
Aggressive compilation warnings (#2304) 2023-02-20 09:02:36 +01:00
Jonas Haag 62a3c2b149
Add repodata.zst support (#2113) 2023-01-13 18:50:09 +01:00
Joël Lamotte (Klaim) 862b06c901 msvc: only see severe warnings (level 1) from external headers, including conda environment library headers 2022-06-02 17:46:24 +02:00
Joël Lamotte (Klaim) 7b853c7ff3 msvc: upgrade warnings to level 4 (which is the minimum recommended)
For some reason CMake does not set the warning level to 4 by default,
even if a new project created with visual studo will have it set to 4.
It is also the minimum recommended (a bit like `-Wall` and a few others
on gcc/clang).
2022-06-02 17:45:26 +02:00
Joël Lamotte (Klaim) 00467c2205 msvc: always enable multi-process build (all the cores) 2022-06-02 17:44:55 +02:00
Joël Lamotte (Klaim) 1f92906376 msvc: make sure `__cplusplus` is set to the right value 2022-06-02 15:23:02 +02:00
Joël Lamotte (Klaim) 740fbae297 Enable C++ exceptions on Windows/MSVC 2022-05-17 17:41:33 +02:00
Adrien DELSALLE 2f349dca96
rename mamba-archive mamba-package
rename umamba subcom archive, package
turn on parallel extraction of mamba in CI by building mamba-package target
2021-10-29 17:32:43 +02:00
Jonas Haag 435dbf03de
extract in subproc
micromamba uses a new archive subcommand
mamba uses a dedicated executable mamba-archive
limit number of extraction processes
fallback to in-process extraction
mamba uses a new executable mamba-archive
implement maximum extraction concurrency
add extract_threads configurable
defaults is host max concurrency, positive is user defined, negative is host max minus value
use a LockFile during tarballs extraction when possible

Co-authored-by: Jonas Haag <jonas@lophus.org>
2021-10-29 17:13:43 +02:00
Adrien DELSALLE 73b1760e5e
improve cmake build options
create a libmamba-full-static target to expose static deps
remove automagic activation of libmamba build options to fix packaging
add find_package libmamba in micromamba and libmambapy
add umamba MICROMAMBA_LINKAGE option to select libmamba target
update documentation
2021-10-28 16:36:22 +02:00
Adrien Delsalle bff16c2bdc
Split projects (#1219)
* make a clear split between CMake targets
* split versions between libmamba and mamba
* add libmambapy target for python bindings and make mamba depend on it
* rename CMake options to make them homogeneous, simplify CMake
* remove termcolor from thirdparties, use it as a dependency
* remove unnecessary version global vars and convert to functions
* update CI workflows
2021-10-26 16:01:53 +02:00
Wolf Vollprecht 7ea1ab9110 improve explicit transactions and remove package function 2021-10-15 09:47:05 +02:00
Adrien Delsalle af71ae1e5c
Support CLI11 2.0 (#1086) 2021-07-15 17:43:49 +02:00
Wolf Vollprecht 5ab06d176f
add mamba shell init (#1078) 2021-07-13 16:56:57 +02:00
Isuru Fernando be715ebdaf
Add mamba.sh so that reactivating and conda environments work (#1075) 2021-07-12 08:22:05 +02:00
Wolf Vollprecht 81a490a046
add menu install shortcut and more long paths support for Windows (#975) 2021-06-17 13:28:36 +02:00
Adrien DELSALLE 7fd801c52c
remove GHC_WIN_DISABLE_AUTO_PREFIXES definition
resize the buffer before returning self exe
avoids long path prefix on Windows
test long prefix activation
add documentation
2021-06-10 17:16:22 +02:00
Wolf Vollprecht d9eb271ce3
Merge pull request #928 from JohanMabille/progress_bar
Progress bar
2021-05-12 17:58:24 +02:00
Adrien DELSALLE 95cd1a75af
use openssl cryptographic functions
remove libsodium dep
add bin2hex and hex2bin utils from libsodium
2021-05-11 18:31:57 +02:00
Johan Mabille 8adfc72a47 Refactored progress bars 2021-05-10 11:45:52 +02:00
Wolf Vollprecht 798447cce3 make libsodium optional, fix winreg tests 2021-05-01 07:21:37 +02:00
Adrien Delsalle 133284bddc
Add initial crypto sign and verify (#916) 2021-04-30 11:27:16 +02:00
Adrien DELSALLE b4bbd509d3 allow ultra-dry runs on final executable
add an extra debug config that is required for config and context debug prints
update CMakeLists, CI scripts and tests
2021-04-28 07:39:07 +02:00
Adrien Delsalle d5505b534f
only init curl ssl on micromamba static (#895) 2021-04-23 11:43:31 +02:00
Wolf Vollprecht e5bb0b12eb initial token handling for micromamba 2021-04-22 19:28:37 +02:00
Adrien DELSALLE b58a853987 suspend use of long path on windows 2021-04-15 11:30:20 +02:00
Adrien DELSALLE 35afe8d1ca fix support of fs::path on windows
fix tests
2021-04-14 19:07:50 +02:00
Adrien DELSALLE 08483f9ee6 add a C-API for the high-level API
fix remove operation that was exiting
2021-04-02 18:46:09 +02:00
Adrien Delsalle 99157eef84
Add a high-level API (#824) 2021-04-02 18:41:15 +02:00
Adrien Delsalle 79d3342a04
mamba core API (#821) 2021-04-01 11:12:01 +02:00
Wolf Vollprecht a04d2de988 add context debugging config flags 2021-03-31 17:11:26 +02:00
Adrien DELSALLE 92c94787a1 [WIP] refactor configuration
Configurable is a trait
Configuration is a collection of traits
declare reference to Context at construction
improve Configuration::dump method, use it for multiple purpose
add config describe umamba sub command
improve config list sub command
refactor cpp and python tests
add capability to define to link cli config with Configuration/Configurable
register cli options/flags on configurables
add capability to declare and get config from env var
merge configuration from rc files, cli or env vars
make rc-file and no-rc exclusive
rc-file has to be a valid file
2021-03-19 19:48:00 +01:00
Wolf Vollprecht 7140b7db9f add initial virtual packages handling for micromamba
add dist virtual packages
add cuda virtual package
load virtual packages in PrefixData
add tests
add glibc handling using confstr
load virtual packages on install/update/create ops only
add umamba info sub command
add capability to add virtual packages to PrefixData
add __archspec virtual package
add capability to override virtual packages
refactor win environment variable reading and setting
2021-03-03 15:45:39 +01:00
Adrien DELSALLE 4f6e1205d9 pin python specification
add pinned_packages from rc files to specs
add prefix pinned file content to specs
add pinned_packages to context and load_config
add no-pin flag to create and install cli subcoms
add tests
2021-02-25 11:58:06 +01:00
Adrien DELSALLE 65658ec1b9 read config from rc files
add CLI command and subcommands for config
add shrink_user free function
add util to unindent literal strings
store sources of config values
add capability to print config and sources
activate override channels option
add method to load config in context
call this method in CLI callbacks
store valid sources
display if a source is invalid in config sources subcommand
add tests
add MAMBA_USE_YAML_CPP definition
use it to not include config related files when building with setup.py
add override_channels_enabled in context
get override_channels_enabled from config if available
add warning if override_channel is used when override_channels_enabled is false
2021-02-24 16:32:15 +01:00
Wolf Vollprecht b84e6f689a more uniform error handling in micromamba, and retry when solve fails / repodata corrupted 2021-01-13 18:24:53 +01:00
Wolf Vollprecht 1c2cf758b0 clean up and move cmake lists 2020-11-11 11:18:05 +01:00
Wolf Vollprecht 8638a020a2 use reproc 2020-11-09 06:46:31 +01:00