94 lines
1.7 KiB
Nix
94 lines
1.7 KiB
Nix
|
{
|
||
|
lib,
|
||
|
fetchFromGitHub,
|
||
|
pythonPackages,
|
||
|
buildPythonPackage,
|
||
|
cmake,
|
||
|
ninja,
|
||
|
libmamba,
|
||
|
pybind11,
|
||
|
setuptools,
|
||
|
fmt,
|
||
|
spdlog,
|
||
|
tl-expected,
|
||
|
nlohmann_json,
|
||
|
yaml-cpp,
|
||
|
reproc,
|
||
|
libsolv,
|
||
|
curl,
|
||
|
zstd,
|
||
|
bzip2,
|
||
|
wheel,
|
||
|
}:
|
||
|
buildPythonPackage rec {
|
||
|
pname = "libmambapy";
|
||
|
version = "1.5.7";
|
||
|
pyproject = true;
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "mamba-org";
|
||
|
repo = "mamba";
|
||
|
rev = "${pname}-${version}";
|
||
|
hash = "sha256-HfmvLi9IBWlaGAn2Ej4Bnm4b3l19jEXwNl5IUkdVxi0=";
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
cmake
|
||
|
ninja
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
(libmamba.override { python3Packages = pythonPackages; })
|
||
|
pybind11
|
||
|
fmt
|
||
|
spdlog
|
||
|
tl-expected
|
||
|
nlohmann_json
|
||
|
yaml-cpp
|
||
|
reproc
|
||
|
libsolv
|
||
|
curl
|
||
|
zstd
|
||
|
bzip2
|
||
|
];
|
||
|
|
||
|
build-system = [
|
||
|
setuptools
|
||
|
wheel
|
||
|
];
|
||
|
|
||
|
# patch needed to fix setuptools errors
|
||
|
# see these for reference
|
||
|
# https://stackoverflow.com/questions/72294299/multiple-top-level-packages-discovered-in-a-flat-layout
|
||
|
# https://github.com/pypa/setuptools/issues/3197#issuecomment-1078770109
|
||
|
postPatch = ''
|
||
|
substituteInPlace libmambapy/setup.py --replace-warn "setuptools.setup()" "setuptools.setup(py_modules=[])"
|
||
|
'';
|
||
|
|
||
|
cmakeFlags = [
|
||
|
"-GNinja"
|
||
|
(lib.cmakeBool "BUILD_LIBMAMBAPY" true)
|
||
|
];
|
||
|
|
||
|
buildPhase = ''
|
||
|
ninjaBuildPhase
|
||
|
cp -r libmambapy ../libmambapy
|
||
|
cd ../libmambapy
|
||
|
pypaBuildPhase
|
||
|
'';
|
||
|
|
||
|
pythonRemoveDeps = [ "scikit-build" ];
|
||
|
|
||
|
pythonImportsCheck = [
|
||
|
"libmambapy"
|
||
|
"libmambapy.bindings"
|
||
|
];
|
||
|
|
||
|
meta = {
|
||
|
description = "The python library for the fast Cross-Platform Package Manager";
|
||
|
homepage = "https://github.com/mamba-org/mamba";
|
||
|
license = lib.licenses.bsd3;
|
||
|
maintainers = [ lib.maintainers.ericthemagician ];
|
||
|
};
|
||
|
}
|