Subject: [bug#66120] [PATCH 1/3] gnu: Add robin-hood-hashing.

From: Jean-Pierre De Jesus DIAZ <[email-masked]>
Date: Wed, 20 Sep 2023 14:39:31 +0200

* gnu/packages/cpp.scm (robin-hood-hashing): New variable.

Signed-off-by: Jean-Pierre De Jesus DIAZ <[email-masked]>
---
 gnu/packages/cpp.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 4ee7f375d7..7117ada000 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -37,6 +37,7 @@
 ;;; Copyright © 2023 Artyom V. Poptsov <[email-masked]>
 ;;; Copyright © 2023 Liliana Marie Prikler <[email-masked]>
 ;;; Copyright © 2023 Denis 'GNUtoo' Carikli <[email-masked]>
+;;; Copyright © 2023 Foundation Devices, Inc. <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -223,6 +224,34 @@ (define-public range-v3
       ;; Others
       license:boost1.0))))
 
+(define-public robin-hood-hashing
+  (package
+    (name "robin-hood-hashing")
+    (version "3.11.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/martinus/robin-hood-hashing")
+                    (commit version)))
+              (modules '((guix build utils)))
+              (snippet #~(delete-file-recursively "src/test/thirdparty"))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1qx6i09sp8c3l89mhyaql144nzh2h26ky9ms3n5l85qplx1vv2r7"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:tests? #f ;; Needs bundled libraries for tests.
+           ;; By default this option is set to ON and removes the ability to
+           ;; install the library.
+           #:configure-flags
+           #~(list "-DRH_STANDALONE_PROJECT=OFF")))
+    (home-page "https://github.com/martinus/robin-hood-hashing")
+    (synopsis "Unordered set and map data structures library")
+    (description "This library provides a header-only unordered set and map
+data structures for C++.")
+    (license license:expat)))
+
 (define-public c++-gsl
   (package
     (name "c++-gsl")
-- 
2.34.1