diff --git a/horizon.dhall b/horizon.dhall index b204838a87f5fff64eb751c1e8551043678e369f..e6fa170c5d9ce507462ae0b2583db997b0e69571 100644 --- a/horizon.dhall +++ b/horizon.dhall @@ -3,6 +3,7 @@ let H = let packages = { Only = H.callHackage "Only" "0.1" + , attoparsec-iso8601 = H.callHackage "attoparsec-iso8601" "1.1.0.0" , brick = H.callHackage "brick" "1.9" , cassava = H.callHackage "cassava" "0.5.3.0" , constraints-extras = H.callHackage "constraints-extras" "0.4.0.0" @@ -14,6 +15,8 @@ let packages = , deriving-compat = H.callHackage "deriving-compat" "0.6.3" , formatting = H.callHackage "formatting" "7.2.0" , haskell-src = H.callHackage "haskell-src" "1.0.4" + , http-api-data = H.callHackage "http-api-data" "0.5.1" + , http-media = H.callHackage "http-media" "0.8.0.0" , hxt = H.callHackage "hxt" "9.3.1.22" , hxt-charproperties = H.callHackage "hxt-charproperties" "9.5.0.0" , hxt-regex-xmlschema = H.callHackage "hxt-regex-xmlschema" "9.2.0.7" @@ -23,6 +26,13 @@ let packages = , quiet = H.callHackage "quiet" "0.2" , recursion-schemes = H.callHackage "recursion-schemes" "5.2.2.4" , regex-compat = H.callHackage "regex-compat" "0.95.2.1" + , servant = + H.callGit + "https://github.com/haskell-servant/servant" + "7ae787371333556a7b84778631ed91d1d73e8370" + (Some "servant") + , sop-core = H.callHackage "sop-core" "0.5.0.2" + , string-conversions = H.callHackage "string-conversions" "0.4.0.1" , th-extras = H.callHackage "th-extras" "0.0.0.6" , type-errors = H.callHackage "type-errors" "0.2.0.2" , unagi-chan = H.callHackage "unagi-chan" "0.4.1.4" diff --git a/horizon.lock b/horizon.lock index d6c8f3a475f444e71aee181d3c327f2af47c9349..22f2899c0ca93d758f205d5d71bd53ab9c4dfe8c 100644 --- a/horizon.lock +++ b/horizon.lock @@ -2,6 +2,10 @@ , mapValue = "760c33f4cbaa2de1d94170d733d56a2dfcc8766f12e2861fb36bbc7e272a6eb0" } +, { mapKey = "attoparsec-iso8601" + , mapValue = + "e9381924b80af1d359ebf5c4d5eeabd059219603adf132913d598c1839e7eb5a" + } , { mapKey = "brick" , mapValue = "220f9d15bf93eaa2a28c4bc6c2a056031afc9120fd28160948bafeef89e219f2" @@ -42,6 +46,14 @@ , mapValue = "2d896b58cf0f770cb302c87d2dfa69bee4a0695a99002a3c9562605abecca8c3" } +, { mapKey = "http-api-data" + , mapValue = + "78e041cece1042fdbe1ab46bf296f636faf0daa58a837438e888e1f72b3143c9" + } +, { mapKey = "http-media" + , mapValue = + "d50ec8691d4951419260746c7dee43695c7dc897a4db9b6f33777d7e3184b150" + } , { mapKey = "hxt" , mapValue = "dae321e9369f296a7a32f0745485e70d3d59991da972ee110b8ff4e24ceed98b" @@ -78,6 +90,18 @@ , mapValue = "0b384fc5c7d44f762a315e6a5db0b79ad2d94170ce78099ef2e3166233c5a124" } +, { mapKey = "servant" + , mapValue = + "16507876e4f9cddcca51bdf96704910d2cac52a088d901743712b78e52bff38c" + } +, { mapKey = "sop-core" + , mapValue = + "d56af2b88721046b8b776bafe938a96257471ddfa7e93472e7c0a0befbc8cbf9" + } +, { mapKey = "string-conversions" + , mapValue = + "09ec9168fbe0f6d127634b092da0357ec271b727cb9125a40ca7b75d2c1a3774" + } , { mapKey = "th-extras" , mapValue = "c92ed4131b334a9a9bd2fe738996e086bcfbdaa40d156843daebaa36a2f18f74" diff --git a/overlay.nix b/overlay.nix index 1eb6ee16565c455e432dfd13a7e0dd4263a35b15..03d05a9b3d681062bbfea38eb604ef1e028bb06e 100644 --- a/overlay.nix +++ b/overlay.nix @@ -3,6 +3,8 @@ final: prev: with pkgs.haskell.lib; { Only = final.callPackage (./pkgs/Only.nix) { }; + attoparsec-iso8601 = final.callPackage (./pkgs/attoparsec-iso8601.nix) { }; + brick = final.callPackage (./pkgs/brick.nix) { }; cassava = final.callPackage (./pkgs/cassava.nix) { }; @@ -23,6 +25,10 @@ final: prev: with pkgs.haskell.lib; { haskell-src = final.callPackage (./pkgs/haskell-src.nix) { }; + http-api-data = final.callPackage (./pkgs/http-api-data.nix) { }; + + http-media = final.callPackage (./pkgs/http-media.nix) { }; + hxt = final.callPackage (./pkgs/hxt.nix) { }; hxt-charproperties = final.callPackage (./pkgs/hxt-charproperties.nix) { }; @@ -41,6 +47,12 @@ final: prev: with pkgs.haskell.lib; { regex-compat = final.callPackage (./pkgs/regex-compat.nix) { }; + servant = final.callPackage (./pkgs/servant.nix) { }; + + sop-core = final.callPackage (./pkgs/sop-core.nix) { }; + + string-conversions = final.callPackage (./pkgs/string-conversions.nix) { }; + th-extras = final.callPackage (./pkgs/th-extras.nix) { }; type-errors = final.callPackage (./pkgs/type-errors.nix) { }; diff --git a/pkgs/attoparsec-iso8601.nix b/pkgs/attoparsec-iso8601.nix new file mode 100644 index 0000000000000000000000000000000000000000..4afd2fbb1eed4c865a7a702b1092fe2ce426aec2 --- /dev/null +++ b/pkgs/attoparsec-iso8601.nix @@ -0,0 +1,27 @@ +{ mkDerivation, attoparsec, base, base-compat-batteries, lib, text +, time, time-compat +}: +mkDerivation { + pname = "attoparsec-iso8601"; + version = "1.1.0.0"; + sha256 = "1109a817c448a154ec58047a8f01282530cb40d20fbd5690bc58b1443ecb264a"; + revision = "1"; + editedCabalFile = "1h84bvjji5kwk54fr8q2gs8qhb39xwsm585s3472vvjh54dllf31"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ + attoparsec base base-compat-batteries text time time-compat + ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "https://github.com/haskell/aeson"; + description = "Parsing of ISO 8601 dates, originally from aeson"; + license = lib.licenses.bsd3; + broken = false; +} \ No newline at end of file diff --git a/pkgs/http-api-data.nix b/pkgs/http-api-data.nix new file mode 100644 index 0000000000000000000000000000000000000000..315360f510c1b0a2643404451a8e8ef091dea76e --- /dev/null +++ b/pkgs/http-api-data.nix @@ -0,0 +1,36 @@ +{ mkDerivation, HUnit, QuickCheck, attoparsec, attoparsec-iso8601 +, base, base-compat, bytestring, containers, cookie, hashable +, hspec, hspec-discover, http-types, lib, quickcheck-instances +, tagged, text, time-compat, transformers, unordered-containers +, uuid-types +}: +mkDerivation { + pname = "http-api-data"; + version = "0.5.1"; + sha256 = "6166c64824e139a2727cc31af44d0077f66eb3921a20973bc6e98ff9fb77122b"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ + attoparsec attoparsec-iso8601 base base-compat bytestring + containers cookie hashable http-types tagged text time-compat + transformers unordered-containers uuid-types + ]; + testHaskellDepends = [ + base base-compat bytestring cookie hspec HUnit QuickCheck + quickcheck-instances text time-compat unordered-containers + uuid-types + ]; + testToolDepends = [ hspec-discover ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "http://github.com/fizruk/http-api-data"; + description = "Converting to/from HTTP API data like URL pieces, headers and query parameters"; + license = lib.licenses.bsd3; + broken = false; +} \ No newline at end of file diff --git a/pkgs/http-media.nix b/pkgs/http-media.nix new file mode 100644 index 0000000000000000000000000000000000000000..a718e05c798f9764997e53e740cd97a02072d43e --- /dev/null +++ b/pkgs/http-media.nix @@ -0,0 +1,32 @@ +{ mkDerivation, QuickCheck, base, bytestring, case-insensitive +, containers, lib, test-framework, test-framework-quickcheck2 +, utf8-string +}: +mkDerivation { + pname = "http-media"; + version = "0.8.0.0"; + sha256 = "398279d1dff5b60cd8b8c650caceca248ea1184d694bedf5df5426963b2b9c53"; + revision = "8"; + editedCabalFile = "08r5iq0hi1y4y1b6vdi4kp52blvxzmd9gxa38xwzz86xnz84xvzl"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ + base bytestring case-insensitive containers utf8-string + ]; + testHaskellDepends = [ + base bytestring case-insensitive containers QuickCheck + test-framework test-framework-quickcheck2 utf8-string + ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "https://github.com/zmthy/http-media"; + description = "Processing HTTP Content-Type and Accept headers"; + license = lib.licenses.mit; + broken = false; +} \ No newline at end of file diff --git a/pkgs/servant.nix b/pkgs/servant.nix new file mode 100644 index 0000000000000000000000000000000000000000..b3d8fbe1be58305d870ba8c544ed916c1d2627be --- /dev/null +++ b/pkgs/servant.nix @@ -0,0 +1,43 @@ +{ mkDerivation, QuickCheck, aeson, attoparsec, base, base-compat +, bifunctors, bytestring, case-insensitive, constraints, deepseq +, fetchgit, hspec, hspec-discover, http-api-data, http-media +, http-types, lib, mmorph, mtl, network-uri, quickcheck-instances +, singleton-bool, sop-core, string-conversions, tagged, text +, transformers, vault +}: +mkDerivation { + pname = "servant"; + version = "0.19.1"; + src = fetchgit { + url = "https://github.com/haskell-servant/servant"; + sha256 = "0ck3l8nj42nan8abdzvkl4ynb2l9nhnsq2zjl24d7sgca860fi57"; + rev = "7ae787371333556a7b84778631ed91d1d73e8370"; + fetchSubmodules = true; + }; + postUnpack = "sourceRoot+=/servant/; echo source root reset to $sourceRoot"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ + aeson attoparsec base base-compat bifunctors bytestring + case-insensitive constraints deepseq http-api-data http-media + http-types mmorph mtl network-uri QuickCheck singleton-bool + sop-core string-conversions tagged text transformers vault + ]; + testHaskellDepends = [ + aeson base base-compat bytestring hspec http-media mtl QuickCheck + quickcheck-instances string-conversions text transformers + ]; + testToolDepends = [ hspec-discover ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "http://docs.servant.dev/"; + description = "A family of combinators for defining webservices APIs"; + license = lib.licenses.bsd3; + broken = false; +} \ No newline at end of file diff --git a/pkgs/sop-core.nix b/pkgs/sop-core.nix new file mode 100644 index 0000000000000000000000000000000000000000..137498296ce35a99bcc6a9b6918d69185a3e4897 --- /dev/null +++ b/pkgs/sop-core.nix @@ -0,0 +1,22 @@ +{ mkDerivation, base, deepseq, lib }: +mkDerivation { + pname = "sop-core"; + version = "0.5.0.2"; + sha256 = "87bffd2254b98ded822d449fcd1c33dbd74d2ce96bf35e7a6714abc5a2297265"; + revision = "2"; + editedCabalFile = "0db36xhswrsc30cw5c5s7h6g1ykcb3bkjjnixaqqshxln6cwfsig"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ base deepseq ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + description = "True Sums of Products"; + license = lib.licenses.bsd3; + broken = false; +} \ No newline at end of file diff --git a/pkgs/string-conversions.nix b/pkgs/string-conversions.nix new file mode 100644 index 0000000000000000000000000000000000000000..67dfd03599b32699d010cffefe7a1d7b46ed7164 --- /dev/null +++ b/pkgs/string-conversions.nix @@ -0,0 +1,29 @@ +{ mkDerivation, QuickCheck, base, bytestring, deepseq, hspec, lib +, quickcheck-instances, text, utf8-string +}: +mkDerivation { + pname = "string-conversions"; + version = "0.4.0.1"; + sha256 = "46bcce6d9ce62c558b7658a75d9c6a62f7259d6b0473d011d8078234ad6a1994"; + revision = "1"; + editedCabalFile = "1g3wxx579mhs2icxngi78pvjfybbk606a6vgns88pg6ws5hrvx4s"; + isLibrary = true; + isExecutable = false; + enableSeparateDataOutput = false; + libraryHaskellDepends = [ base bytestring text utf8-string ]; + testHaskellDepends = [ + base bytestring deepseq hspec QuickCheck quickcheck-instances text + utf8-string + ]; + enableLibraryProfiling = true; + enableExecutableProfiling = true; + doHaddock = false; + jailbreak = true; + doCheck = false; + doBenchmark = false; + hyperlinkSource = false; + homepage = "https://github.com/soenkehahn/string-conversions#readme"; + description = "Simplifies dealing with different types for strings"; + license = lib.licenses.bsd3; + broken = false; +} \ No newline at end of file