1{ stdenv, fetchurl, autoconf, automake, libtool }:
2let
3 s = # Generated upstream information
4 rec {
5 baseName="libatomic_ops";
6 version="7.4.2";
7 name="${baseName}-${version}";
8 hash="1pdm0h1y7bgkczr8byg20r6bq15m5072cqm5pny4f9crc9gn3yh4";
9 url="http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-7.4.2.tar.gz";
10 sha256="1pdm0h1y7bgkczr8byg20r6bq15m5072cqm5pny4f9crc9gn3yh4";
11 };
12
13 buildInputs = stdenv.lib.optionals stdenv.isCygwin [ autoconf automake libtool ];
14
15in stdenv.mkDerivation {
16 inherit (s) name version;
17 inherit buildInputs;
18
19 src = fetchurl {
20 inherit (s) url sha256;
21 };
22
23 preConfigure = if stdenv.isCygwin then ''
24 sed -i -e "/libatomic_ops_gpl_la_SOURCES/a libatomic_ops_gpl_la_LIBADD = libatomic_ops.la" src/Makefile.am
25 ./autogen.sh
26 '' else null;
27
28 meta = {
29 inherit (s) version;
30 description = ''A library for semi-portable access to hardware-provided atomic memory update operations'';
31 license = stdenv.lib.licenses.gpl2Plus ;
32 maintainers = [stdenv.lib.maintainers.raskin];
33 platforms = stdenv.lib.platforms.unix;
34 };
35}