From dc6d0d69ff5ebe08be49f493b07d610f09ebaf32 Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Tue, 13 Oct 2026 16:44:46 -0400 Subject: [PATCH] sparsehash: modernize Signed-off-by: Ethan Carter Edwards --- pkgs/by-name/sp/sparsehash/package.nix | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sp/sparsehash/package.nix b/pkgs/by-name/sp/sparsehash/package.nix index 5be59bdf8f8c..b3f42cf50dba 100644 --- a/pkgs/by-name/sp/sparsehash/package.nix +++ b/pkgs/by-name/sp/sparsehash/package.nix @@ -2,17 +2,21 @@ lib, stdenv, fetchFromGitHub, + testers, }: stdenv.mkDerivation (finalAttrs: { pname = "sparsehash"; version = "2.0.4"; + strictDeps = true; + __structuredAttrs = true; + src = fetchFromGitHub { owner = "sparsehash"; repo = "sparsehash"; - rev = "sparsehash-${finalAttrs.version}"; - sha256 = "1pf1cjvcjdmb9cd6gcazz64x0cd2ndpwh6ql2hqpypjv725xwxy7"; + tag = "sparsehash-${finalAttrs.version}"; + hash = "sha256-x3feizhbXn8xFBQbyG+zojHQiflfsWcaS6s2ybZkwd0="; }; # C++20 (default with GCC 16) removed many members of std::allocator. This @@ -20,11 +24,18 @@ stdenv.mkDerivation (finalAttrs: { # https://github.com/sparsehash/sparsehash/pull/165 patches = [ ./c++-20-std-allocator.patch ]; + passthru.tests = { + pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + }; + }; + meta = { homepage = "https://github.com/sparsehash/sparsehash"; description = "Extremely memory-efficient hash_map implementation"; platforms = lib.platforms.all; license = lib.licenses.bsd3; + pkgConfigModules = [ "libsparsehash" ]; maintainers = with lib.maintainers; [ pSub ]; }; })