diff --git a/manifest.dhall b/manifest.dhall index 7b92e4c1ed937507051d827ba6d6d92545f377d6..c42ce323016ebd0c1e43ee76a7b306b03ad2cb29 100644 --- a/manifest.dhall +++ b/manifest.dhall @@ -82,6 +82,7 @@ in [ callHackage "Cabal" "3.8.1.0" , callHackage "asn1-types" "0.3.4" , callHackage "assoc" "1.0.2" , callHackage "async" "2.2.4" + , callHackage "atomic-primops" "0.8.4" , callHackage "attoparsec-iso8601" "1.1.0.0" , callHackage "attoparsec" "0.14.4" , callHackage "autodocodec" "0.2.0.1" diff --git a/overlay.nix b/overlay.nix index 9fadc0481bd16460e50c6aab876ed77a2466632a..faecff382cb9c6a21466f589db36f420b61ef712 100644 --- a/overlay.nix +++ b/overlay.nix @@ -47,6 +47,8 @@ final: prev: with pkgs.haskell.lib; { async = prev.callPackage (./pkgs/async.nix) { }; + atomic-primops = prev.callPackage (./pkgs/atomic-primops.nix) { }; + attoparsec = prev.callPackage (./pkgs/attoparsec.nix) { }; attoparsec-iso8601 = prev.callPackage (./pkgs/attoparsec-iso8601.nix) { }; diff --git a/pkgs/atomic-primops.nix b/pkgs/atomic-primops.nix new file mode 100644 index 0000000000000000000000000000000000000000..e0fc09cd1738b385627b7de3b53fe6b6e19ee113 --- /dev/null +++ b/pkgs/atomic-primops.nix @@ -0,0 +1,21 @@ +{ mkDerivation, base, ghc-prim, lib, primitive }: +mkDerivation { + pname = "atomic-primops"; + version = "0.8.4"; + sha256 = "22a8617eb9e221b5daee1ae26ccce279ce3d7a53d76e82c767708f90a6c72d3e"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ base ghc-prim primitive ]; + enableLibraryProfiling = false; + enableExecutableProfiling = false; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "https://github.com/rrnewton/haskell-lockfree/wiki"; + description = "A safe approach to CAS and other atomic ops in Haskell"; + license = lib.licenses.bsd3; + broken = false; +}