diff options
author | Arun Isaac <arunisaac@systemreboot.net> | 2022-03-21 12:12:49 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2022-03-21 12:12:49 +0200 |
commit | 61b4b6aea29b24f4a1c6af7d8f4e1c416ab41c86 (patch) | |
tree | 5058013b02ad818679f535f37a54d8bfa3250433 | |
parent | a47b4da09945610080ed9f436e8717a3a4c02664 (diff) | |
download | guix-61b4b6aea29b24f4a1c6af7d8f4e1c416ab41c86.tar.gz |
gnu: Add atomic-queue.
* gnu/packages/cpp.scm (atomic-queue): New variable.
-rw-r--r-- | gnu/packages/cpp.scm | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index eb53f9e0a9..bb7f5ab95a 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name> +;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (guix modules) #:use-module (guix gexp) @@ -1274,6 +1276,44 @@ provides a number of utilities to make coding with expected cleaner.") (home-page "https://tl.tartanllama.xyz/") (license license:cc0))) +(define-public atomic-queue + (package + (name "atomic-queue") + (version "1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/max0x7ba/atomic_queue") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ssff73wlvrsk2nma99dmvm0ijyzfr54jk37kxgpb694r7ajc90l")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags '("-Dbenchmarks=false") + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (lambda _ + (invoke "make" "run_tests"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "../source/include/atomic_queue" + (string-append (assoc-ref outputs "out") + "/include/atomic_queue"))))))) + (native-inputs + (list boost + pkg-config)) + (home-page "https://github.com/max0x7ba/atomic_queue") + (synopsis "C++ lockless queue") + (description + "This package contains a C++11 multiple-producer-multiple-consumer lockless +queues header library based on circular buffer with @code{std::atomic}.") + (license license:expat))) + (define-public magic-enum (package (name "magic-enum") |