Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.2 kB · 94 lines
Nix
at flake-libs
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495{ lib, fetchFromGitHub, buildPythonPackage, pybind11, cmake, xcbuild, zsh, blas, lapack, setuptools,}:
let # static dependencies included directly during compilation gguf-tools = fetchFromGitHub { owner = "antirez"; repo = "gguf-tools"; rev = "af7d88d808a7608a33723fba067036202910acb3"; hash = "sha256-LqNvnUbmq0iziD9VP5OTJCSIy+y/hp5lKCUV7RtKTvM="; }; nlohmann_json = fetchFromGitHub { owner = "nlohmann"; repo = "json"; rev = "v3.11.3"; hash = "sha256-7F0Jon+1oWL7uqet5i1IgHX0fUw/+z0QwEcA3zs5xHg="; };inbuildPythonPackage rec { pname = "mlx"; version = "0.21.1";
src = fetchFromGitHub { owner = "ml-explore"; repo = "mlx"; rev = "refs/tags/v${version}"; hash = "sha256-wxv9bA9e8VyFv/FMh63sUTTNgkXHGQJNQhLuVynczZA="; };
pyproject = true;
patches = [ # With Darwin SDK 11 we cannot include vecLib/cblas_new.h, this needs to wait for PR #229210 # In the meantime, pretend Accelerate is not available and use blas/lapack instead. ./disable-accelerate.patch ];
postPatch = '' substituteInPlace CMakeLists.txt \ --replace "/usr/bin/xcrun" "${xcbuild}/bin/xcrun" \ '';
dontUseCmakeConfigure = true;
# updates the wrong fetcher rev attribute passthru.skipBulkUpdate = true;
env = { PYPI_RELEASE = version; # we can't use Metal compilation with Darwin SDK 11 CMAKE_ARGS = toString [ (lib.cmakeBool "MLX_BUILD_METAL" false) (lib.cmakeOptionType "filepath" "FETCHCONTENT_SOURCE_DIR_GGUFLIB" "${gguf-tools}") (lib.cmakeOptionType "filepath" "FETCHCONTENT_SOURCE_DIR_JSON" "${nlohmann_json}") ]; };
nativeBuildInputs = [ cmake pybind11 xcbuild zsh gguf-tools nlohmann_json setuptools ];
buildInputs = [ blas lapack ];
meta = with lib; { homepage = "https://github.com/ml-explore/mlx"; description = "Array framework for Apple silicon"; changelog = "https://github.com/ml-explore/mlx/releases/tag/v${version}"; license = licenses.mit; platforms = [ "aarch64-darwin" ]; maintainers = with maintainers; [ viraptor Gabriella439 ]; };}