Hi everyone,
I am trying to install the latest version of orjson
using a python override, which I based off of the nixpkgs
derviation for the older version:
pyfinal: pyprev: {
orjson = let
pname = "orjson";
version = "3.7.5";
src = fetchFromGitHub {
owner = "ijl";
repo = "orjson";
rev = version;
sha256 = "sha256-N0PbBU4PRqR2CAd5Ndm+vabQfaSXHBxAATwRuC+5peo=";
};
in
with pkgs;
pyfinal.buildPythonPackage {
inherit pname version src;
format = "pyproject";
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
sha256 = "sha256-IXwz8BleoDSnf4EKZJPpHHHUxnbjUhKcIPG2QzDha54=";
};
buildInputs = lib.optionals stdenv.isDarwin [
libiconv
];
nativeBuildInputs = with rustPlatform; [
cargoSetupHook
maturinBuildHook
];
};
}
But it fails during linking, complaining about missing symbols for my architecture:
...
Undefined symbols for architecture arm64:
"_PyBuffer_IsContiguous", referenced from:
_loads in orjson.orjson.892e4fe1-cgu.0.rcgu.o
"_PyErr_SetObject", referenced from:
orjson::raise_loads_exception::he8e648ab34420f9b in orjson.orjson.892e4fe1-cgu.0.rcgu.o
orjson::raise_dumps_exception::h7ad6d88736c30fd1 in orjson.orjson.892e4fe1-cgu.0.rcgu.o
...
After searching I found this thread which to suggests that I need to include a path with a python framework, but Iām not sure how to do that in a nix-appropriate way.
Thank you for your help!