summary refs log tree commit diff
path: root/pkgs/development/libraries/openpa/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/openpa/default.nix')
-rw-r--r--pkgs/development/libraries/openpa/default.nix34
1 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/development/libraries/openpa/default.nix b/pkgs/development/libraries/openpa/default.nix
new file mode 100644
index 00000000000..fa147a9d9cc
--- /dev/null
+++ b/pkgs/development/libraries/openpa/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, file }:
+
+stdenv.mkDerivation rec {
+  pname = "openpa";
+  version = "1.0.4";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://trac.mpich.org/projects/${pname}/raw-attachment/wiki/Downloads/${name}.tar.gz";
+    sha256 = "0flyi596hm6fv7xyw2iykx3s65p748s62bf15624xcnwpfrh8ncy";
+  };
+
+  prePatch = ''substituteInPlace configure --replace /usr/bin/file ${file}/bin/file'';
+
+  doCheck = true;
+
+  meta = {
+    description = "Atomic primitives for high performance, concurrent software";
+    homepage = "https://trac.mpich.org/projects/openpa";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ leenaars ];
+    platforms = with stdenv.lib.platforms; linux;
+    longDescription = ''
+      OPA (or sometimes OpenPA or Open Portable Atomics) is an
+      open source library intended to provide a consistent C API for performing
+      atomic operations on a variety of platforms. The main goal of the project is to
+      enable the portable usage of atomic operations in concurrent software.
+      Developers of client software can worry about implementing and improving their
+      concurrent algorithms instead of fiddling with inline assembly syntax and
+      learning new assembly dialects in order improve or maintain application
+      portability.
+    '';
+   };
+}