Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
1.8 kB · 91 lines
Nix
at litex
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192{ lib, stdenv, buildPythonPackage, pythonOlder, fetchFromGitHub, cmake, cython_3, ninja, scikit-build, setuptools, numpy, hypothesis, pandas, pytestCheckHook, rapidfuzz-cpp, taskflow}:
buildPythonPackage rec { pname = "rapidfuzz"; version = "3.0.0"; format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub { owner = "maxbachmann"; repo = "RapidFuzz"; rev = "refs/tags/v${version}"; hash = "sha256-rpUrMHIBr7sb0Cib6WYdLJ3KOPEgRnB0DCV/df1uE1A="; };
nativeBuildInputs = [ cmake cython_3 ninja scikit-build setuptools ];
dontUseCmakeConfigure = true;
buildInputs = [ rapidfuzz-cpp taskflow ];
preBuild = '' export RAPIDFUZZ_BUILD_EXTENSION=1 '' + lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) '' export CMAKE_ARGS="-DCMAKE_CXX_COMPILER_AR=$AR -DCMAKE_CXX_COMPILER_RANLIB=$RANLIB" '';
env.NIX_CFLAGS_COMPILE = toString (lib.optionals (stdenv.cc.isClang && stdenv.isDarwin) [ "-fno-lto" # work around https://github.com/NixOS/nixpkgs/issues/19098 ]);
propagatedBuildInputs = [ numpy ];
preCheck = '' export RAPIDFUZZ_IMPLEMENTATION=cpp '';
nativeCheckInputs = [ hypothesis pandas pytestCheckHook ];
disabledTests = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ # segfaults "test_cdist" ];
pythonImportsCheck = [ "rapidfuzz.distance" "rapidfuzz.fuzz" "rapidfuzz.process" "rapidfuzz.utils" ];
meta = with lib; { description = "Rapid fuzzy string matching"; homepage = "https://github.com/maxbachmann/RapidFuzz"; changelog = "https://github.com/maxbachmann/RapidFuzz/blob/${src.rev}/CHANGELOG.rst"; license = licenses.mit; maintainers = with maintainers; [ dotlambda ]; };}