1{ lib, stdenv, fetchurl, autoconf, automake, libtool }:
2
3stdenv.mkDerivation rec {
4 pname = "libatomic_ops";
5 version = "7.8.0";
6
7 src = fetchurl {
8 urls = [
9 "http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-${version}.tar.gz"
10 "https://github.com/ivmai/libatomic_ops/releases/download/v${version}/libatomic_ops-${version}.tar.gz"
11 ];
12 sha256 = "sha256-FWdudnThG9paflCnP02efWBFInG4rPb9Oacf79+J+jE=";
13 };
14
15 outputs = [ "out" "dev" "doc" ];
16
17 nativeBuildInputs = lib.optionals stdenv.isCygwin [ autoconf automake libtool ];
18
19 preConfigure = lib.optionalString stdenv.isCygwin ''
20 sed -i -e "/libatomic_ops_gpl_la_SOURCES/a libatomic_ops_gpl_la_LIBADD = libatomic_ops.la" src/Makefile.am
21 ./autogen.sh
22 '';
23
24 meta = {
25 description = "A library for semi-portable access to hardware-provided atomic memory update operations";
26 license = lib.licenses.gpl2Plus ;
27 maintainers = [lib.maintainers.raskin];
28 platforms = with lib.platforms; unix ++ windows;
29 };
30}