diff options
author | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2024-04-28 05:11:43 +0200 |
---|---|---|
committer | Weijia Wang <9713184+wegank@users.noreply.github.com> | 2024-04-28 05:11:43 +0200 |
commit | bab247f2bbbb119a939fbb01879c317130d1bdc2 (patch) | |
tree | ab2105a311726215acd81c18639462b521f64f14 /pkgs/by-name/pa | |
parent | 7f45fee52a693123c5027e554fa38a8dc0debd40 (diff) | |
parent | cd08362300dd1336a078253e899990ad6da92fae (diff) |
Merge branch 'master' into staging-next
Diffstat (limited to 'pkgs/by-name/pa')
-rw-r--r-- | pkgs/by-name/pa/parallel-hashmap/package.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/by-name/pa/parallel-hashmap/package.nix b/pkgs/by-name/pa/parallel-hashmap/package.nix new file mode 100644 index 0000000000000..767b760c920a5 --- /dev/null +++ b/pkgs/by-name/pa/parallel-hashmap/package.nix @@ -0,0 +1,49 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, gtest +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "parallel-hashmap"; + version = "1.3.12"; + + src = fetchFromGitHub { + owner = "greg7mdp"; + repo = "parallel-hashmap"; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-6KhzXUxa4WOsRrPmSSgguFxRGTOTIaxiJBFFSzOhch0="; + }; + + postPatch = '' + # don't download googletest, but build it from source + # https://github.com/greg7mdp/parallel-hashmap/blob/be6a2c79857c9ea76760ca6ce782e1609713428e/CMakeLists.txt#L98 + substituteInPlace CMakeLists.txt \ + --replace "include(cmake/DownloadGTest.cmake)" "add_subdirectory(${gtest.src} ./googletest-build EXCLUDE_FROM_ALL)" + ''; + + nativeBuildInputs = [ + cmake + ]; + + cmakeFlags = [ + "-DPHMAP_BUILD_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}" + "-DPHMAP_BUILD_EXAMPLES=OFF" + ]; + + nativeCheckInputs = [ + gtest + ]; + + doCheck = true; + + meta = with lib; { + description = "A family of header-only, very fast and memory-friendly hashmap and btree containers"; + homepage = "https://github.com/greg7mdp/parallel-hashmap"; + changelog = "https://github.com/greg7mdp/parallel-hashmap/releases/tag/${finalAttrs.src.rev}"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ natsukium ]; + }; +}) |