diff --git a/manifest.dhall b/manifest.dhall index 55bdd58ecb3384896fbf48246284d7e2bb94026e..9870ff740b6447523da9a62bb27a74de9e2bef66 100644 --- a/manifest.dhall +++ b/manifest.dhall @@ -74,6 +74,9 @@ in [ callHackage "Cabal" "3.8.1.0" , callHackage "apecs" "0.9.4" , callHackage "assoc" "1.0.2" , callHackage "async" "2.2.4" + , callHackage "autodocodec" "0.2.0.1" + , callHackage "autodocodec-schema" "0.1.0.2" + , callHackage "autodocodec-servant-multipart" "0.0.0.0" , callHackage "autodocodec-yaml" "0.2.0.2" , callHackage "basement" "0.0.15" , callHackage "base64" "0.4.2.4" @@ -319,11 +322,15 @@ in [ callHackage "Cabal" "3.8.1.0" , callHackage "servant-lucid" "0.9.0.5" , callHackage "servant-multipart" "0.12.1" , callHackage "servant-multipart-api" "0.12.1" + , callHackage "servant-polysemy" "0.1.3" , callCabal2nix "servant-server" "https://github.com/TeofilC/servant" (Some "76fc90a51f915230bbe1e0d1dbe9727fcdc7a0fc") (Some "servant-server") + , callHackage "servant-swagger" "1.1.11" + , callHackage "servant-swagger-ui" "0.3.5.4.5.0" + , callHackage "servant-swagger-ui-core" "0.3.5" , callHackage "shake" "0.19.6" , callHackage "shelly" "1.10.0" , callHackage "singleton-bool" "0.1.6" @@ -335,8 +342,9 @@ in [ callHackage "Cabal" "3.8.1.0" , callHackage "string-interpolate" "0.3.1.2" , callHackage "string-qq" "0.0.4" , callHackage "stylish-haskell" "0.14.2.0" + , callHackage "swagger2" "2.8.5" , callHackage "syb" "0.7.2.1" - , callHackage "sydtest" "0.12.0.1" + , callHackage "sydtest" "0.13.0.0" , callHackage "sydtest-discover" "0.0.0.2" , callCabal2nix "tasty" @@ -369,6 +377,7 @@ in [ callHackage "Cabal" "3.8.1.0" , callHackage "unicode-collation" "0.1.3.2" , callHackage "unicode-data" "0.4.0" , callHackage "unicode-transforms" "0.4.0.1" + , callHackage "universe-base" "1.1.3" , callHackage "unordered-containers" "0.2.19.1" , callHackage "validity" "0.12.0.1" , callHackage "validity-aeson" "0.2.0.5" diff --git a/overlay.nix b/overlay.nix index e71510b43b3be61c9ec213343ff70d6d1604834c..efc62b82e103665d5ba3d4b91a3627a003d0da2b 100644 --- a/overlay.nix +++ b/overlay.nix @@ -31,6 +31,12 @@ final: prev: with pkgs.haskell.lib; { async = prev.callPackage (./pkgs/async.nix) { }; + autodocodec = prev.callPackage (./pkgs/autodocodec.nix) { }; + + autodocodec-schema = prev.callPackage (./pkgs/autodocodec-schema.nix) { }; + + autodocodec-servant-multipart = prev.callPackage (./pkgs/autodocodec-servant-multipart.nix) { }; + autodocodec-yaml = prev.callPackage (./pkgs/autodocodec-yaml.nix) { }; base-compat = prev.callPackage (./pkgs/base-compat.nix) { }; @@ -407,8 +413,16 @@ final: prev: with pkgs.haskell.lib; { servant-multipart-api = prev.callPackage (./pkgs/servant-multipart-api.nix) { }; + servant-polysemy = prev.callPackage (./pkgs/servant-polysemy.nix) { }; + servant-server = prev.callPackage (./pkgs/servant-server.nix) { }; + servant-swagger = prev.callPackage (./pkgs/servant-swagger.nix) { }; + + servant-swagger-ui = prev.callPackage (./pkgs/servant-swagger-ui.nix) { }; + + servant-swagger-ui-core = prev.callPackage (./pkgs/servant-swagger-ui-core.nix) { }; + shake = prev.callPackage (./pkgs/shake.nix) { }; shelly = prev.callPackage (./pkgs/shelly.nix) { }; @@ -431,6 +445,8 @@ final: prev: with pkgs.haskell.lib; { stylish-haskell = prev.callPackage (./pkgs/stylish-haskell.nix) { }; + swagger2 = prev.callPackage (./pkgs/swagger2.nix) { }; + syb = prev.callPackage (./pkgs/syb.nix) { }; sydtest = prev.callPackage (./pkgs/sydtest.nix) { }; @@ -475,6 +491,8 @@ final: prev: with pkgs.haskell.lib; { unicode-transforms = prev.callPackage (./pkgs/unicode-transforms.nix) { }; + universe-base = prev.callPackage (./pkgs/universe-base.nix) { }; + unordered-containers = prev.callPackage (./pkgs/unordered-containers.nix) { }; validity = prev.callPackage (./pkgs/validity.nix) { }; diff --git a/pkgs/autodocodec-schema.nix b/pkgs/autodocodec-schema.nix new file mode 100644 index 0000000000000000000000000000000000000000..165c045d8c45981ae73226f8494a4f1aaccade2f --- /dev/null +++ b/pkgs/autodocodec-schema.nix @@ -0,0 +1,20 @@ +{ mkDerivation, aeson, autodocodec, base, containers, lib, mtl +, text, unordered-containers, validity, validity-aeson +, validity-containers, validity-text +}: +mkDerivation { + pname = "autodocodec-schema"; + version = "0.1.0.2"; + sha256 = "7178bc6b356bf744918202312a71eb0c4fb9b2dfe70680c4acd8d8a5d0977c6f"; + libraryHaskellDepends = [ + aeson autodocodec base containers mtl text unordered-containers + validity validity-aeson validity-containers validity-text + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/NorfairKing/autodocodec#readme"; + description = "Autodocodec interpreters for JSON Schema"; + license = lib.licenses.mit; +} \ No newline at end of file diff --git a/pkgs/autodocodec-servant-multipart.nix b/pkgs/autodocodec-servant-multipart.nix new file mode 100644 index 0000000000000000000000000000000000000000..70cf395a68053915e5e9ee83b7cdacd76049b605 --- /dev/null +++ b/pkgs/autodocodec-servant-multipart.nix @@ -0,0 +1,20 @@ +{ mkDerivation, aeson, autodocodec, base, bytestring, lib +, servant-multipart, servant-multipart-api, text +, unordered-containers, vector +}: +mkDerivation { + pname = "autodocodec-servant-multipart"; + version = "0.0.0.0"; + sha256 = "fa0983ebc5d83ec0d510542adf4004011cb204aab0719428fc5bb70b8b4a5fdf"; + libraryHaskellDepends = [ + aeson autodocodec base bytestring servant-multipart + servant-multipart-api text unordered-containers vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/NorfairKing/autodocodec#readme"; + description = "Autodocodec interpreters for Servant Multipart"; + license = lib.licenses.mit; +} \ No newline at end of file diff --git a/pkgs/autodocodec.nix b/pkgs/autodocodec.nix new file mode 100644 index 0000000000000000000000000000000000000000..037b3e9f2e70853e1f5aa7c810f7278acd53368c --- /dev/null +++ b/pkgs/autodocodec.nix @@ -0,0 +1,20 @@ +{ mkDerivation, aeson, base, bytestring, containers, hashable, lib +, mtl, scientific, text, time, unordered-containers, validity +, validity-scientific, vector +}: +mkDerivation { + pname = "autodocodec"; + version = "0.2.0.1"; + sha256 = "4f4e2c2c57608a7e3060247a0f1b86e3f1257c2ba15af3c4649b9d87a6155bde"; + libraryHaskellDepends = [ + aeson base bytestring containers hashable mtl scientific text time + unordered-containers validity validity-scientific vector + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/NorfairKing/autodocodec#readme"; + description = "Self-documenting encoder and decoder"; + license = lib.licenses.mit; +} \ No newline at end of file diff --git a/pkgs/servant-polysemy.nix b/pkgs/servant-polysemy.nix new file mode 100644 index 0000000000000000000000000000000000000000..960626f79bd813b5683bca96c8239966558eaa73 --- /dev/null +++ b/pkgs/servant-polysemy.nix @@ -0,0 +1,28 @@ +{ mkDerivation, base, deepseq, http-client, http-client-tls, lens +, lib, mtl, polysemy, polysemy-plugin, polysemy-zoo, servant +, servant-client, servant-server, servant-swagger +, servant-swagger-ui, swagger2, text, wai, warp +}: +mkDerivation { + pname = "servant-polysemy"; + version = "0.1.3"; + sha256 = "11a10a26a55962dc36518ca8d1b0d21d29a6bf9bdceb54d0988642709d715e8c"; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + base deepseq http-client http-client-tls mtl polysemy + polysemy-plugin polysemy-zoo servant-client servant-server wai warp + ]; + executableHaskellDepends = [ + base deepseq http-client http-client-tls lens mtl polysemy + polysemy-plugin polysemy-zoo servant servant-client servant-server + servant-swagger servant-swagger-ui swagger2 text wai warp + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/AJChapman/servant-polysemy#readme"; + description = "Utilities for using servant in a polysemy stack"; + license = lib.licenses.bsd3; +} \ No newline at end of file diff --git a/pkgs/servant-swagger-ui-core.nix b/pkgs/servant-swagger-ui-core.nix new file mode 100644 index 0000000000000000000000000000000000000000..39c1c25d984d885b18b4dc2957048d0c5b9f7d2e --- /dev/null +++ b/pkgs/servant-swagger-ui-core.nix @@ -0,0 +1,22 @@ +{ mkDerivation, aeson, base, blaze-markup, bytestring, http-media +, lib, servant, servant-blaze, servant-server, text, transformers +, transformers-compat, wai-app-static +}: +mkDerivation { + pname = "servant-swagger-ui-core"; + version = "0.3.5"; + sha256 = "ed0bf0b2fbdb1751350df6780335de00ae08dd90ac4728a88369f4b132cf7b32"; + revision = "4"; + editedCabalFile = "16183mrmxipa3l3ffpibsrr41mbi2iikw66y80hplmnl6jjhnyzd"; + libraryHaskellDepends = [ + aeson base blaze-markup bytestring http-media servant servant-blaze + servant-server text transformers transformers-compat wai-app-static + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/haskell-servant/servant-swagger-ui"; + description = "Servant swagger ui core components"; + license = lib.licenses.bsd3; +} \ No newline at end of file diff --git a/pkgs/servant-swagger-ui.nix b/pkgs/servant-swagger-ui.nix new file mode 100644 index 0000000000000000000000000000000000000000..7519f80c108102ba7752b061f684bfd9fafffb15 --- /dev/null +++ b/pkgs/servant-swagger-ui.nix @@ -0,0 +1,21 @@ +{ mkDerivation, aeson, base, bytestring, file-embed-lzma, lib +, servant, servant-server, servant-swagger-ui-core, text +}: +mkDerivation { + pname = "servant-swagger-ui"; + version = "0.3.5.4.5.0"; + sha256 = "efa528edc055dc6c9e83dfdfe4b892be439bbcfb83a73847f6cfdb35c42f878b"; + revision = "2"; + editedCabalFile = "05g4gnvr8ljg5mszan5cr9zzi40p6d8sr7343mm2yc3ps45vy9g1"; + libraryHaskellDepends = [ + aeson base bytestring file-embed-lzma servant servant-server + servant-swagger-ui-core text + ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/haskell-servant/servant-swagger-ui"; + description = "Servant swagger ui"; + license = lib.licenses.bsd3; +} \ No newline at end of file diff --git a/pkgs/servant-swagger.nix b/pkgs/servant-swagger.nix new file mode 100644 index 0000000000000000000000000000000000000000..67fb44354ecaef5f8c4f07e18b5fd12d00ae94e6 --- /dev/null +++ b/pkgs/servant-swagger.nix @@ -0,0 +1,31 @@ +{ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring +, Cabal, cabal-doctest, directory, doctest, filepath, hspec +, hspec-discover, http-media, insert-ordered-containers, lens +, lens-aeson, lib, QuickCheck, servant, singleton-bool, swagger2 +, template-haskell, text, time, unordered-containers, utf8-string +, vector +}: +mkDerivation { + pname = "servant-swagger"; + version = "1.1.11"; + sha256 = "f4b985007ab0520c177f8dcf7bfabf8cc88d480e087db5ea5b1d311c079676cf"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + aeson aeson-pretty base base-compat bytestring hspec http-media + insert-ordered-containers lens QuickCheck servant singleton-bool + swagger2 text unordered-containers + ]; + testHaskellDepends = [ + aeson base base-compat directory doctest filepath hspec lens + lens-aeson QuickCheck servant swagger2 template-haskell text time + utf8-string vector + ]; + testToolDepends = [ hspec-discover ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/haskell-servant/servant/tree/master/servant-swagger#readme"; + description = "Generate a Swagger/OpenAPI/OAS 2.0 specification for your servant API."; + license = lib.licenses.bsd3; +} \ No newline at end of file diff --git a/pkgs/swagger2.nix b/pkgs/swagger2.nix new file mode 100644 index 0000000000000000000000000000000000000000..8f2ee2bb25cd5799ebcd643af8d1926c87239761 --- /dev/null +++ b/pkgs/swagger2.nix @@ -0,0 +1,35 @@ +{ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries +, bytestring, Cabal, cabal-doctest, containers, cookie, doctest +, generics-sop, Glob, hashable, hspec, hspec-discover, http-media +, HUnit, insert-ordered-containers, lens, lib, mtl, network +, optics-core, optics-th, QuickCheck, quickcheck-instances +, scientific, template-haskell, text, time, transformers +, unordered-containers, utf8-string, uuid-types, vector +}: +mkDerivation { + pname = "swagger2"; + version = "2.8.5"; + sha256 = "660787d11c0aebd6668dcace2414d54e42fbb63dd703cd2491fb9bab4f31299b"; + setupHaskellDepends = [ base Cabal cabal-doctest ]; + libraryHaskellDepends = [ + aeson aeson-pretty base base-compat-batteries bytestring containers + cookie generics-sop hashable http-media insert-ordered-containers + lens mtl network optics-core optics-th QuickCheck scientific + template-haskell text time transformers unordered-containers + uuid-types vector + ]; + testHaskellDepends = [ + aeson base base-compat-batteries bytestring containers doctest Glob + hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck + quickcheck-instances template-haskell text time + unordered-containers utf8-string vector + ]; + testToolDepends = [ hspec-discover ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/GetShopTV/swagger2"; + description = "Swagger 2.0 data model"; + license = lib.licenses.bsd3; +} \ No newline at end of file diff --git a/pkgs/sydtest.nix b/pkgs/sydtest.nix index 3df70cbba007f6ad7f469c04bd0adbcc44ba7ffd..a63ac4eeeb09b6aaab1966fea7d9d1f7cffc6990 100644 --- a/pkgs/sydtest.nix +++ b/pkgs/sydtest.nix @@ -1,75 +1,23 @@ -{ mkDerivation -, async -, autodocodec -, autodocodec-yaml -, base -, bytestring -, containers -, Diff -, dlist -, envparse -, filepath -, lib -, MonadRandom -, mtl -, optparse-applicative -, path -, path-io -, pretty-show -, QuickCheck -, quickcheck-io -, random -, random-shuffle -, safe -, safe-coloured-text -, safe-coloured-text-terminfo -, split -, stm -, sydtest-discover -, text +{ mkDerivation, async, autodocodec, autodocodec-yaml, base +, bytestring, containers, Diff, dlist, envparse, filepath, lib +, MonadRandom, mtl, optparse-applicative, path, path-io +, pretty-show, QuickCheck, quickcheck-io, random, random-shuffle +, safe, safe-coloured-text, safe-coloured-text-terminfo, split, stm +, sydtest-discover, text }: mkDerivation { pname = "sydtest"; - version = "0.12.0.1"; - sha256 = "1c7186d0e41145aefcb6eae9727938d757e07ebd8f8287feb19a447567d8565f"; + version = "0.13.0.0"; + sha256 = "856583d832d8b9e52a4d0ba6290b70e984ad1663cb300464961800ea8c2f4a57"; libraryHaskellDepends = [ - async - autodocodec - autodocodec-yaml - base - bytestring - containers - Diff - dlist - envparse - filepath - MonadRandom - mtl - optparse-applicative - path - path-io - pretty-show - QuickCheck - quickcheck-io - random - random-shuffle - safe - safe-coloured-text - safe-coloured-text-terminfo - split - stm - text + async autodocodec autodocodec-yaml base bytestring containers Diff + dlist envparse filepath MonadRandom mtl optparse-applicative path + path-io pretty-show QuickCheck quickcheck-io random random-shuffle + safe safe-coloured-text safe-coloured-text-terminfo split stm text ]; testHaskellDepends = [ - base - bytestring - path - path-io - QuickCheck - random - safe-coloured-text - stm - text + base bytestring path path-io QuickCheck random safe-coloured-text + stm text ]; testToolDepends = [ sydtest-discover ]; doHaddock = false; @@ -79,4 +27,4 @@ mkDerivation { homepage = "https://github.com/NorfairKing/sydtest#readme"; description = "A modern testing framework for Haskell with good defaults and advanced testing features"; license = "unknown"; -} +} \ No newline at end of file diff --git a/pkgs/universe-base.nix b/pkgs/universe-base.nix new file mode 100644 index 0000000000000000000000000000000000000000..90451507185300f38fd6a27233ae55d4a2d66c2d --- /dev/null +++ b/pkgs/universe-base.nix @@ -0,0 +1,19 @@ +{ mkDerivation, base, containers, lib, QuickCheck, tagged +, transformers +}: +mkDerivation { + pname = "universe-base"; + version = "1.1.3"; + sha256 = "c59dfe99b76435d13483eff888e020a282ae8451b7b692dc98f348dcec95db52"; + revision = "3"; + editedCabalFile = "0hnd5vxsncwyjsindfmsvp9jbixanhmzczhrmd8s8g6imgb0mzyk"; + libraryHaskellDepends = [ base containers tagged transformers ]; + testHaskellDepends = [ base containers QuickCheck ]; + doHaddock = false; + jailbreak = true; + doCheck = false; + hyperlinkSource = false; + homepage = "https://github.com/dmwit/universe"; + description = "A class for finite and recursively enumerable types"; + license = lib.licenses.bsd3; +} \ No newline at end of file