about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/rapidfuzz-cpp
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-12-06 19:57:55 +0000
committerAlyssa Ross <hi@alyssa.is>2023-02-08 13:48:30 +0000
commitbf3aadfdd39aa197e18bade671fab6726349ffa4 (patch)
tree698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/development/libraries/rapidfuzz-cpp
parentf4afc5a01d9539ce09e47494e679c51f80723d07 (diff)
parent99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff)
downloadnixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst
nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/rapidfuzz-cpp')
-rw-r--r--nixpkgs/pkgs/development/libraries/rapidfuzz-cpp/default.nix45
-rw-r--r--nixpkgs/pkgs/development/libraries/rapidfuzz-cpp/dont-fetch-project-options.patch58
2 files changed, 103 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/rapidfuzz-cpp/default.nix b/nixpkgs/pkgs/development/libraries/rapidfuzz-cpp/default.nix
new file mode 100644
index 000000000000..3e3ab72d2720
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rapidfuzz-cpp/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, catch2_3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rapidfuzz-cpp";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "maxbachmann";
+    repo = "rapidfuzz-cpp";
+    rev = "v${version}";
+    hash = "sha256-ogj8eFkiDtjFcBb3Yip909gKBIeALsoH3LnRIjQmLMA=";
+  };
+
+  patches = [
+    ./dont-fetch-project-options.patch
+  ];
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeFlags = lib.optionals doCheck [
+    "-DRAPIDFUZZ_BUILD_TESTING=ON"
+  ];
+
+  checkInputs = [
+    catch2_3
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Rapid fuzzy string matching in C++ using the Levenshtein Distance";
+    homepage = "https://github.com/maxbachmann/rapidfuzz-cpp";
+    changelog = "https://github.com/maxbachmann/rapidfuzz-cpp/blob/${src.rev}/CHANGELOG.md";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/rapidfuzz-cpp/dont-fetch-project-options.patch b/nixpkgs/pkgs/development/libraries/rapidfuzz-cpp/dont-fetch-project-options.patch
new file mode 100644
index 000000000000..ab88c530d400
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/rapidfuzz-cpp/dont-fetch-project-options.patch
@@ -0,0 +1,58 @@
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 5ba4464..ad72319 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -12,39 +12,10 @@ else()
+     FetchContent_MakeAvailable(Catch2)
+ endif()
+ 
+-# include aminya & jason turner's C++ best practices recommended cmake project utilities
+-include(FetchContent)
+-FetchContent_Declare(_project_options URL https://github.com/aminya/project_options/archive/refs/tags/v0.20.0.zip)
+-FetchContent_MakeAvailable(_project_options)
+-include(${_project_options_SOURCE_DIR}/Index.cmake)
+-
+-project_options(
+-        # ENABLE_CACHE
+-        # ENABLE_CONAN
+-        WARNINGS_AS_ERRORS
+-        # ENABLE_CPPCHECK
+-        # ENABLE_CLANG_TIDY
+-        # ENABLE_INCLUDE_WHAT_YOU_USE
+-        # ENABLE_COVERAGE
+-        # ENABLE_PCH
+-        # PCH_HEADERS <Eigen/Dense> <fmt/core.h> <vector> <utility> <string> <string_view>
+-        # ENABLE_DOXYGEN
+-        # ENABLE_IPO
+-        # ENABLE_USER_LINKER
+-        # ENABLE_BUILD_WITH_TIME_TRACE
+-        # ENABLE_UNITY
+-        # ENABLE_SANITIZER_ADDRESS
+-        # ENABLE_SANITIZER_LEAK
+-        # ENABLE_SANITIZER_UNDEFINED_BEHAVIOR
+-        # ENABLE_SANITIZER_THREAD
+-        # ENABLE_SANITIZER_MEMORY
+-        # CLANG_WARNINGS "-Weverything"
+-)
+-
+ function(rapidfuzz_add_test test)
+     add_executable(test_${test} tests-${test}.cpp)
+     target_link_libraries(test_${test} ${PROJECT_NAME})
+-    target_link_libraries(test_${test} Catch2::Catch2WithMain project_warnings)
++    target_link_libraries(test_${test} Catch2::Catch2WithMain)
+     add_test(NAME ${test} COMMAND test_${test})
+ endfunction()
+ 
+diff --git a/test/distance/CMakeLists.txt b/test/distance/CMakeLists.txt
+index 2a70054..7a43c88 100644
+--- a/test/distance/CMakeLists.txt
++++ b/test/distance/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ function(rapidfuzz_add_test test)
+     add_executable(test_${test} tests-${test}.cpp)
+     target_link_libraries(test_${test} ${PROJECT_NAME})
+-    target_link_libraries(test_${test} Catch2::Catch2WithMain project_warnings)
++    target_link_libraries(test_${test} Catch2::Catch2WithMain)
+     add_test(NAME ${test} COMMAND test_${test})
+ endfunction()
+