summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 67a21a475fc1a26bd782d44aca109350b5483349 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Maintainer: Carlos Aznarán <caznaranl@uni.pe>
# Maintainer: Brian Thompson <brianrobt@pm.me>
# Maintainer: Philipp A. <flying-sheep@web.de>
# Contributor: Guillaume Dolle  <dev at gdolle.com>
# Contributor: Blair Bonnett <blair dot bonnett at gmail dot com>
pkgname=micromamba
_pkgname=${pkgname/micro/}
pkgver=2.5.0
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 ninja
  python-build python-installer python-scikit-build-core)
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz"
  etc-install.patch::https://github.com/mamba-org/mamba/commit/3dec9c0bc0e424749c649eae96de92c323e3b3d3.patch
  static-off.patch)
sha512sums=('3deb0eef480aa011e9095ba5d2ab3d22539464df34aa98540ac9a7855d23aa9daa484ed77cee6e98a79bad2c96591fe37e3c1957c435c4fafec9e6ddc9c2019b'
            '4e9230098bc1409e771d06811267c44d4ce95ce71ba9e5a2b63605e21302c94359d531a8f528944f09c76382468efda62daf51de171364c9198b2297111dff0e'
            '36c1ff684597251aba0de64cfee372212cdfe51890e584c15798b37bd41c02ed929596368b2c743934cfab89ce31bf9ac6ba9ee7f17ab038feb87fdecbadf1d8')
provides=(
  "libmamba=${pkgver}"
  "python-libmambapy=${pkgver}"
)
conflicts=(
  'micromamba-bin'
)

prepare() {
  cd "${_pkgname}-${pkgver}"
  patch -p1 -i "${srcdir}/etc-install.patch"
  patch -p0 -i "${srcdir}/static-off.patch"
}

build() {
  cmake \
    -S "${_pkgname}-${pkgver}" \
    -B build \
    -G Ninja \
    -D CMAKE_INSTALL_PREFIX="/usr" \
    -D CMAKE_BUILD_TYPE=Release \
    -D BUILD_LIBMAMBA=ON \
    -D BUILD_LIBMAMBAPY=ON \
    -D BUILD_MICROMAMBA=ON \
    -D BUILD_LIBMAMBA_SPDLOG=ON \
    -D BUILD_SHARED=ON \
    -D CMAKE_BUILD_WITH_INSTALL_RPATH=ON
  cmake --build build --parallel "$(nproc)"
  cmake --install build --prefix install

  cd "${_pkgname}-${pkgver}/libmambapy"
  export CMAKE_ARGS="\
    -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
    -DBUILD_LIBMAMBA=ON \
    -DBUILD_LIBMAMBAPY=ON \
    -DBUILD_MICROMAMBA=OFF \
    -DBUILD_MAMBA_PACKAGE=OFF \
    -Dlibmamba-spdlog_DIR=$PWD/../../install/lib/cmake/libmamba-spdlog \
    -Dlibmamba_ROOT=$PWD/../../install"
  python -m build --wheel --no-isolation --skip-dependency-check
}

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

package() {
  # Install main components (C++ library, executables, headers)
  DESTDIR="${pkgdir}" cmake --build build --target install

  cd "${_pkgname}-${pkgver}"
  install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"

  cd libmambapy
  python -m installer --destdir="$pkgdir" dist/*.whl
}