Subject: [PATCH v4 1/2] gnu: Add massivethreads.

From: gemmaro <[email-masked]>
Date: Mon, 1 Jan 2024 19:57:25 +0900

* gnu/packages/parallel.scm (massivethreads): New variable.
---
 gnu/packages/parallel.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index e12035e47d..f1cda36b70 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2019-2023 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2020 Roel Janssen <[email-masked]>
 ;;; Copyright © 2021 Stefan Reichör <[email-masked]>
+;;; Copyright © 2024 gemmaro <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -48,6 +49,7 @@ (define-module (gnu packages parallel)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages freeipmi)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
@@ -566,3 +568,30 @@ (define-public psimd
        "This header-only C++ library provides a portable interface to
 single-instruction multiple-data (SIMD) intrinsics.")
       (license license:expat))))
+
+(define-public massivethreads
+  (package
+    (name "massivethreads")
+    (version "1.00")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/massivethreads/massivethreads")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0d93xf2zknq92wlcm7xc7zbja2fh3qyl543xx2qc64k3rslmf8yh"))))
+    (build-system gnu-build-system)
+    ;; Cannot built with glibc 2.34 or later.
+    ;; https://github.com/massivethreads/massivethreads/pull/15
+    (inputs (list glibc-2.33 gcc-5))
+    (home-page
+     "https://www.eidos.ic.i.u-tokyo.ac.jp/contents/research/massivethreads.html")
+    (synopsis "Lightweight thread library")
+    (description
+     "MassiveThreads is a thread library that can spawn threads two orders of
+magnitude faster than native operating system threads.  It provides three APIs
+to use: native intefrace, pthread-compatible interface, and TBB-like
+interface.")
+    (license license:bsd-2)))

base-commit: 86b5fa100992527c434616482ba9cfd92b636d12
-- 
2.41.0