I’m trying to package the Python3 package mimir in Nix. I used the wiki and other derivations from nixpkgs. I think I’m close to finish, but unfortunately, the build fails with
Directory ‘.’ is not installable. Neither ‘setup.py’ nor ‘pyproject.toml’ found
To be more specific, it fails in the pipBuildPhase:
The wiki’s guidelines to cope with that error, i.e., setting format = "pyproject"
didn’t help.
For simplicity, I’ve created a standalone nix file:
let
# nixpkgs 23.05
pkgs = import <nixpkgs> { };
mimirSrc = builtins.fetchTarball {
url = "https://github.com/simon-stahlberg/mimir/archive/refs/heads/main.tar.gz";
sha256 = "sha256:1hdmcr404wrx5wdf32gg0jiv2wh4wfg9gxgc22z2vx622pjzb3dw";
};
pybind11-stubgenSrc = builtins.fetchTarball {
url = "https://github.com/sizmailov/pybind11-stubgen/archive/refs/heads/master.tar.gz";
sha256 = "sha256:1pzn698jcfb6sa7gbmmj9ynx84rlb628ixrb3fxy4h8sx76hvbpl";
};
pybind11-stubgen = pkgs.python3Packages.buildPythonPackage {
name = "pybind11-stubgen";
src = pybind11-stubgenSrc;
format = "setuptools";
};
in
pkgs.python3Packages.buildPythonPackage {
name = "mimir";
src = mimirSrc;
format = "pyproject";
nativeBuildInputs = [
pkgs.cmake
pkgs.gnumake
pkgs.python3Packages.pybind11
pybind11-stubgen
];
buildInputs = [
pkgs.boost
pkgs.python3Packages.pybind11
pkgs.gtest
];
doCheck = false;
# dontUseCmakeConfigure = true;
}
What am I missing?
If I add dontUseCmakeConfigure = true
, the build succeeds and I see the following:
However, I was expecting a binary to appear and not just a shared object.