meta.yaml 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. {% set name = "mamba" %}
  2. {% set libmamba_version = "1.4.1" %}
  3. {% set libmambapy_version = "1.4.1" %}
  4. {% set mamba_version = "1.4.1" %}
  5. {% set release = "2023.03.28" %}
  6. {% set build_mamba = "false" %}
  7. package:
  8. name: mamba-split
  9. source:
  10. url: https://github.com/{{ name }}-org/{{ name }}/archive/refs/tags/{{ release }}.tar.gz
  11. sha256: 53ee26c7cf3730919cb6b40956a1fb591859ec12a037adc09da1ed390c2fdfb6
  12. build:
  13. number: 1
  14. outputs:
  15. - name: libmamba
  16. version: {{ libmamba_version }}
  17. script: build_mamba.sh # [unix]
  18. script: build_mamba.bat # [win]
  19. build:
  20. run_exports:
  21. - {{ pin_subpackage('libmamba', max_pin='x.x') }}
  22. ignore_run_exports:
  23. - spdlog
  24. - python # [win]
  25. missing_dso_whitelist: # [s390x]
  26. - $RPATH/ld64.so.1 # [s390x] Known s390x `ld64.so` issue.
  27. requirements:
  28. build:
  29. - {{ compiler('cxx') }}
  30. - cmake
  31. - ninja
  32. - python # [win]
  33. host:
  34. - libsolv 0.7.22
  35. - libcurl 7.88.1
  36. - openssl {{ openssl }}
  37. - libarchive 3.6.2
  38. - nlohmann_json 3.11.2
  39. - cpp-expected 1.0.0
  40. - reproc-cpp 14.2.4
  41. - reproc 14.2.4
  42. - spdlog 1.11.0
  43. - yaml-cpp 0.7.0
  44. - fmt 9.1.0
  45. - winreg 4.1.2 # [win]
  46. - zstd 1.5.4
  47. - bzip2 1.0
  48. - cli11 2.1.2
  49. run:
  50. - libsolv >=0.7.22,<0.8.0a0
  51. - reproc-cpp >=14.2.4,<15.0a0
  52. - reproc >=14.2.4,<15.0a0
  53. test:
  54. commands:
  55. - test -d ${PREFIX}/include/mamba # [unix]
  56. - test -f ${PREFIX}/include/mamba/version.hpp # [unix]
  57. - test -f ${PREFIX}/lib/cmake/libmamba/libmambaConfig.cmake # [unix]
  58. - test -f ${PREFIX}/lib/cmake/libmamba/libmambaConfigVersion.cmake # [unix]
  59. - test -e ${PREFIX}/lib/libmamba${SHLIB_EXT} # [unix]
  60. - if not exist %LIBRARY_PREFIX%\include\mamba\version.hpp (exit 1) # [win]
  61. - if not exist %LIBRARY_PREFIX%\lib\cmake\libmamba\libmambaConfig.cmake (exit 1) # [win]
  62. - if not exist %LIBRARY_PREFIX%\lib\cmake\libmamba\libmambaConfigVersion.cmake (exit 1) # [win]
  63. - if not exist %LIBRARY_PREFIX%\bin\libmamba.dll (exit 1) # [win]
  64. - if not exist %LIBRARY_PREFIX%\lib\libmamba.lib (exit 1) # [win]
  65. {% set libmamba_version_split = libmamba_version.split('.') %}
  66. - cat $PREFIX/include/mamba/version.hpp | grep "LIBMAMBA_VERSION_MAJOR {{ libmamba_version_split[0] }}" # [unix]
  67. - cat $PREFIX/include/mamba/version.hpp | grep "LIBMAMBA_VERSION_MINOR {{ libmamba_version_split[1] }}" # [unix]
  68. - cat $PREFIX/include/mamba/version.hpp | grep "LIBMAMBA_VERSION_PATCH {{ libmamba_version_split[2] }}" # [unix]
  69. - name: libmambapy
  70. version: {{ libmambapy_version }}
  71. script: build_mamba.sh # [unix]
  72. script: build_mamba.bat # [win]
  73. build:
  74. skip: true # [py<37]
  75. string: py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}
  76. run_exports:
  77. - {{ pin_subpackage('libmambapy', max_pin='x.x') }}
  78. ignore_run_exports:
  79. - spdlog
  80. requirements:
  81. build:
  82. - {{ compiler('cxx') }}
  83. - cmake
  84. - ninja
  85. host:
  86. - python
  87. - pip
  88. - setuptools
  89. - wheel
  90. - pybind11 2.10.1
  91. - pybind11-abi 4
  92. - openssl {{ openssl }}
  93. - yaml-cpp 0.7.0
  94. - cpp-expected 1.0.0
  95. - spdlog 1.11.0
  96. - fmt 9.1.0
  97. - nlohmann_json 3.11.2
  98. - {{ pin_subpackage('libmamba', exact=True) }}
  99. run:
  100. - python
  101. - {{ pin_subpackage('libmamba', exact=True) }}
  102. test:
  103. imports:
  104. - libmambapy
  105. - libmambapy.bindings
  106. commands:
  107. - python -c "import libmambapy._version; assert libmambapy._version.__version__ == '{{ libmambapy_version }}'"
  108. {% if build_mamba == "true" %}
  109. # we don't intend to support mamba on Anaconda's defaults, therefore
  110. # we disable it, but still trying to share recipe in most parts with
  111. # conda-forge.
  112. - name: mamba
  113. version: {{ mamba_version }}
  114. script: build_mamba.sh # [unix]
  115. script: build_mamba.bat # [win]
  116. build:
  117. skip: true # [py<37]
  118. string: py{{ CONDA_PY }}h{{ PKG_HASH }}_{{ PKG_BUILDNUM }}
  119. entry_points:
  120. - mamba = mamba.mamba:main
  121. requirements:
  122. host:
  123. - python
  124. - pip
  125. - setuptools
  126. - wheel
  127. - openssl {{ openssl }}
  128. - {{ pin_subpackage('libmambapy', exact=True) }}
  129. run:
  130. - python
  131. - conda >=4.14.0,<23.4
  132. - {{ pin_subpackage('libmambapy', exact=True) }}
  133. test:
  134. imports:
  135. - mamba
  136. requires:
  137. - pip
  138. commands:
  139. - mamba --help
  140. - if exist %PREFIX%\condabin\mamba.bat (exit 0) else (exit 1) # [win]
  141. - test -f ${PREFIX}/etc/profile.d/mamba.sh # [linux]
  142. # these tests work when run on win, but for some reason not during conda build
  143. - mamba create -n test_py2 python=2.7 --dry-run # [linux and (x86_64 or ppc64le)]
  144. - mamba install xtensor xsimd -c conda-forge --dry-run # [linux and x86_64]
  145. # for some reason tqdm doesn't have a proper colorama dependency so pip check fails
  146. # but that's completely unrelated to mamba
  147. - python -c "import mamba._version; assert mamba._version.__version__ == '{{ mamba_version }}'"
  148. - test -f ${PREFIX}/condabin/mamba # [unix]
  149. {% endif %}
  150. about:
  151. home: https://github.com/mamba-org/mamba
  152. license: BSD-3-Clause
  153. license_file: LICENSE
  154. license_family: BSD
  155. summary: A fast drop-in alternative to conda, using libsolv for dependency resolution
  156. description: |
  157. # Mamba, the Fast Cross-Platform Package Manager
  158. [![Build Status](https://github.com/mamba-org/mamba/workflows/CI/badge.svg)](https://github.com/mamba-org/mamba/actions)
  159. [![Join the Gitter Chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mamba-org/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
  160. [![docs](https://readthedocs.org/projects/mamba/badge/?version=latest&style=flat)](https://mamba.readthedocs.io/en/latest)
  161. `mamba` is a reimplementation of the conda package manager in C++.
  162. - parallel downloading of repository data and package files using multi-threading
  163. - libsolv for much faster dependency solving, a state of the art library used in the RPM package manager of Red Hat, Fedora and OpenSUSE
  164. - core parts of `mamba` are implemented in C++ for maximum efficiency
  165. At the same time, `mamba` utilizes the same command line parser, package installation and deinstallation code and transaction verification routines as `conda` to stay as compatible as possible.
  166. Mamba is part of a bigger ecosystem to make scientific packaging more sustainable. You can read our [announcement blog post](https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23).
  167. The ecosystem also consists of `quetz`, an open source `conda` package server and `boa`, a fast `conda` package builder.
  168. ### Installation
  169. Please refer to the [`mamba` and `micromamba` installation guide](https://mamba.readthedocs.io/en/latest/installation.html) in the documentation.
  170. ### Additional features in Mamba and Micromamba
  171. `mamba` and `micromamba` come with features on top of stock `conda`.
  172. ### `repoquery`
  173. To efficiently query repositories and query package dependencies you can use `mamba repoquery` or `micromamba repoquery`.
  174. See the [repoquery documentation](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html#repoquery) for details.
  175. ### Installing lock files
  176. `micromamba` can be used to install lock files generated by [conda-lock](https://conda-incubator.github.io/conda-lock/) without having to install `conda-lock`. Simply invoke e.g. `micromamba create -n my-env -f conda-lock.yml` with an environment lockfile named `*-lock.yml` or `*-lock.yaml`.
  177. dev_url: https://github.com/mamba-org/mamba
  178. doc_url: https://mamba.readthedocs.io/
  179. extra:
  180. recipe-maintainers:
  181. - adriendelsalle
  182. - SylvainCorlay
  183. - JohanMabille
  184. - wolfv
  185. - ericmjl