diff options
author | Niklas Hambüchen <mail@nh2.me> | 2024-04-28 04:01:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-28 04:01:54 +0200 |
commit | 9c0ce522cab22ccaba5f89188d24ef5bb919d914 (patch) | |
tree | fcbe41121f4b5b89ddb1d898f395006b6288aee9 /pkgs/by-name/pa | |
parent | 32a79f412e8665f3d0b17833f73914f9e9549a0d (diff) | |
parent | 396177a40e2322ec5b0a5e697eab9eb193259f76 (diff) |
Merge pull request #307346 from nh2/parallel-hashmap
parallel-hashmap: init at 1.3.12
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 ]; + }; +}) |