diff --git a/pkgs/development/libraries/haskell/http-client-conduit/default.nix b/pkgs/development/libraries/haskell/http-client-conduit/default.nix new file mode 100644 index 00000000000..df4b49b47f3 --- /dev/null +++ b/pkgs/development/libraries/haskell/http-client-conduit/default.nix @@ -0,0 +1,14 @@ +{ cabal, conduit, httpClient, resourcet, transformers }: + +cabal.mkDerivation (self: { + pname = "http-client-conduit"; + version = "0.2.0.0"; + sha256 = "1pb47mms5qfi185nrz675if4pb7xji97xdqpmyrplqaxqygwih1y"; + buildDepends = [ conduit httpClient resourcet transformers ]; + meta = { + homepage = "https://github.com/snoyberg/http-client"; + description = "Frontend support for using http-client with conduit"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/http-client-multipart/default.nix b/pkgs/development/libraries/haskell/http-client-multipart/default.nix new file mode 100644 index 00000000000..068efdcb543 --- /dev/null +++ b/pkgs/development/libraries/haskell/http-client-multipart/default.nix @@ -0,0 +1,19 @@ +{ cabal, blazeBuilder, filepath, httpClient, httpTypes, mimeTypes +, random, text, transformers +}: + +cabal.mkDerivation (self: { + pname = "http-client-multipart"; + version = "0.2.0.0"; + sha256 = "1bahkysh771p3mrfan1gmm6jyx62w3k57ba4rsnx7h1gwbilm878"; + buildDepends = [ + blazeBuilder filepath httpClient httpTypes mimeTypes random text + transformers + ]; + meta = { + homepage = "https://github.com/snoyberg/http-client"; + description = "Generate multipart uploads for http-client"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/http-client-tls/default.nix b/pkgs/development/libraries/haskell/http-client-tls/default.nix new file mode 100644 index 00000000000..5056a94c5d9 --- /dev/null +++ b/pkgs/development/libraries/haskell/http-client-tls/default.nix @@ -0,0 +1,17 @@ +{ cabal, connection, dataDefault, hspec, httpClient, httpTypes +, network, tls +}: + +cabal.mkDerivation (self: { + pname = "http-client-tls"; + version = "0.2.0.0"; + sha256 = "06ywjmhdgnwdyfj0qvmabb5bvgrdfyf7dfxm0hzqvkh2i104s7g0"; + buildDepends = [ connection dataDefault httpClient network tls ]; + testDepends = [ hspec httpClient httpTypes ]; + meta = { + homepage = "https://github.com/snoyberg/http-client"; + description = "http-client backend using the connection package and tls library"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix new file mode 100644 index 00000000000..fd40ca88e1d --- /dev/null +++ b/pkgs/development/libraries/haskell/http-client/default.nix @@ -0,0 +1,27 @@ +{ cabal, base64Bytestring, blazeBuilder, caseInsensitive, cookie +, dataDefault, deepseq, failure, hspec, httpTypes, monadControl +, network, publicsuffixlist, text, time, transformers, zlib +, zlibBindings +}: + +cabal.mkDerivation (self: { + pname = "http-client"; + version = "0.2.0.1"; + sha256 = "0iqlq0drylxc9ir362pdbljghh5mxrmqjl51s02381y7jc0mfjs0"; + buildDepends = [ + base64Bytestring blazeBuilder caseInsensitive cookie dataDefault + deepseq failure httpTypes network publicsuffixlist text time + transformers zlibBindings + ]; + testDepends = [ + base64Bytestring blazeBuilder caseInsensitive dataDefault deepseq + failure hspec httpTypes monadControl network text time transformers + zlib zlibBindings + ]; + meta = { + homepage = "https://github.com/snoyberg/http-client"; + description = "An HTTP client engine, intended as a base layer for more user-friendly packages"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index a8e563c79cb..244ca770c5a 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1222,6 +1222,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x httpAttoparsec = callPackage ../development/libraries/haskell/http-attoparsec {}; + httpClient = callPackage ../development/libraries/haskell/http-client {}; + + httpClientConduit = callPackage ../development/libraries/haskell/http-client-conduit {}; + + httpClientMultipart = callPackage ../development/libraries/haskell/http-client-multipart {}; + + httpClientTls = callPackage ../development/libraries/haskell/http-client-tls {}; + httpReverseProxy = callPackage ../development/libraries/haskell/http-reverse-proxy {}; hackageDb = callPackage ../development/libraries/haskell/hackage-db {};