4r/nix/dependencies.nix

198 lines
5.9 KiB
Nix

inputs:
ghcVersion:
final: prev:
with builtins; mapAttrs (_: v:
if isAttrs v && hasAttr "isHaskellLibrary" v
then v.overrideAttrs (_: {
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
})
else v) prev //
{
relude = final.callPackage ({ lib }: final.mkDerivation {
pname = "relude";
version = "1.1.0.0";
src = inputs.relude-src;
isLibrary = true;
libraryHaskellDepends = with final; [
base bytestring containers deepseq ghc-prim hashable mtl stm text
transformers unordered-containers
];
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
license = lib.licenses.mit;
}) {};
doctest = final.callPackage ({ lib }: final.mkDerivation {
pname = "doctest";
version = "0.20.0";
src = inputs.doctest-src;
isLibrary = true;
isExecutable = true;
libraryHaskellDepends = with final; [
base base-compat code-page deepseq directory exceptions filepath
ghc ghc-paths process syb transformers
];
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
description = "Test interactive Haskell examples";
license = lib.licenses.mit;
}) {};
servant-client = final.callPackage ({ lib }: final.mkDerivation {
pname = "servant-client";
version = "0.19";
revision = "3";
src = "${inputs.servant-src}/servant-client";
libraryHaskellDepends = with final; [
base base-compat bytestring containers deepseq exceptions
http-client http-media http-types kan-extensions monad-control mtl
semigroupoids servant servant-client-core stm text time
transformers transformers-base transformers-compat
];
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
description = "Automatic derivation of querying functions for servant";
license = lib.licenses.bsd3;
}) {};
servant-server = final.callPackage ({ lib }: final.mkDerivation {
pname = "servant-server";
version = "0.19.1";
revision = "3";
src = "${inputs.servant-src}/servant-server";
buildTarget = "servant-server";
libraryHaskellDepends = with final; [
base base-compat base64-bytestring bytestring constraints
containers exceptions filepath http-api-data http-media http-types
monad-control mtl network network-uri resourcet servant sop-core
string-conversions tagged text transformers transformers-base wai
wai-app-static word8
];
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
description = "A family of combinators for defining webservices APIs and serving them";
license = lib.licenses.bsd3;
}) {};
polysemy-zoo = final.callPackage ({ lib }: final.mkDerivation {
pname = "polysemy-zoo";
version = "0.8.0.0";
src = inputs.polysemy-zoo-src;
libraryHaskellDepends = with final; [
async
base
compact
constraints
containers
contravariant
exceptions
ghc
mtl
polysemy
random
reflection
streaming
text
transformers
];
jailbreak = true;
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
description = "Experimental, user-contributed effects and interpreters for polysemy";
license = lib.licenses.bsd3;
}) {};
polysemy = final.callPackage ({ lib }: final.mkDerivation {
pname = "polysemy";
version = "1.7.1.0";
src = inputs.polysemy-src;
setupHaskellDepends = with final; [ base Cabal cabal-doctest ];
libraryHaskellDepends = with final; [
QuickCheck
async
base
containers
first-class-families
mtl
stm
syb
template-haskell
th-abstraction
transformers
type-errors
unagi-chan
];
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
description = "higher-order, no-boilerplate monads";
license = lib.licenses.bsd3;
}) {};
polysemy-plugin = final.callPackage ({ lib }: final.mkDerivation {
pname = "polysemy-plugin";
version = "0.4.3.0";
src = "${inputs.polysemy-src}/polysemy-plugin";
setupHaskellDepends = with final; [ base Cabal cabal-doctest ];
libraryHaskellDepends = with final; [
base
containers
ghc
ghc-tcplugins-extra
polysemy
syb
transformers
];
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
description = ''A typechecker plugin that can disambiguate "obvious" uses of effects in polysemy'';
license = lib.licenses.bsd3;
}) {};
servant-client-polysemy = final.callPackage ({ lib }: final.mkDerivation {
pname = "servant-polysemy";
version = "0.1.3";
src = inputs.servant-polysemy-src;
patches = [
./patches/servant-client-polysemy/1.patch
./patches/servant-client-polysemy/2.patch
];
libraryHaskellDepends = with final; [
base deepseq http-client http-client-tls polysemy
polysemy-plugin polysemy-zoo servant-client
];
jailbreak = true;
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
description = "Utilities for using servant in a polysemy stack";
license = lib.licenses.bsd3;
}) {};
compact = final.callPackage
({ haskell }: haskell.lib.doJailbreak
(prev.compact.overrideAttrs (_: {
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
}))) {};
type-errors = final.callPackage
({ haskell }: haskell.lib.doJailbreak
(prev.type-errors.overrideAttrs (_: {
doCheck = false;
doBenchmark = false;
doHoogle = false;
doHaddock = false;
}))) {};
}