about summary refs log tree commit diff
path: root/pkgs/development/misc/haskell
diff options
context:
space:
mode:
authorsternenseemann <sternenseemann@systemli.org>2022-03-15 12:26:32 +0100
committersternenseemann <sternenseemann@systemli.org>2022-04-03 15:43:33 +0200
commitf5536149557e611a8f8b6503bd51cb2e62306a2a (patch)
treeead5ce2ef499c7314a9f8992a6b85dafb65a361d /pkgs/development/misc/haskell
parent820408b2e8dc152054fde2098d88dd15eb87ab4a (diff)
haskellPackages.graphql-engine: 2.0.10 -> 2.3.1
haskellPackages.kriti-lang: init at 0.3.1

Towards getting hasura-related packages to work with Stackage Nightly /
GHC 9.0.
Diffstat (limited to 'pkgs/development/misc/haskell')
-rw-r--r--pkgs/development/misc/haskell/hasura/ekg-core.nix17
-rw-r--r--pkgs/development/misc/haskell/hasura/ekg-json.nix9
-rw-r--r--pkgs/development/misc/haskell/hasura/graphql-engine.nix115
-rw-r--r--pkgs/development/misc/haskell/hasura/graphql-parser.nix23
-rw-r--r--pkgs/development/misc/haskell/hasura/kriti-lang.nix41
-rw-r--r--pkgs/development/misc/haskell/hasura/pg-client.nix35
-rw-r--r--pkgs/development/misc/haskell/hasura/pool.nix2
-rwxr-xr-xpkgs/development/misc/haskell/hasura/update.sh12
8 files changed, 161 insertions, 93 deletions
diff --git a/pkgs/development/misc/haskell/hasura/ekg-core.nix b/pkgs/development/misc/haskell/hasura/ekg-core.nix
index 6a9b1157021e2..2d1b62bc16c78 100644
--- a/pkgs/development/misc/haskell/hasura/ekg-core.nix
+++ b/pkgs/development/misc/haskell/hasura/ekg-core.nix
@@ -1,17 +1,17 @@
 # This has been automatically generated by the script
 # ./update.sh.  This should not be changed by hand.
 { mkDerivation, async, atomic-primops, base, containers, criterion
-, fetchgit, generic-random, ghc-prim, hashable, hspec
-, hspec-smallcheck, HUnit, inspection-testing, lib, markdown-unlit
-, primitive, QuickCheck, smallcheck, text, unordered-containers
+, fetchgit, ghc-prim, hashable, hspec, hspec-smallcheck, HUnit
+, inspection-testing, lib, markdown-unlit, primitive, QuickCheck
+, smallcheck, text, unordered-containers
 }:
 mkDerivation {
   pname = "ekg-core";
   version = "0.1.1.7";
   src = fetchgit {
     url = "https://github.com/hasura/ekg-core.git";
-    sha256 = "1s58kjg1kbhsyfyj0zwhnnws9hg9zwj9jylpwicg54yi78w962ys";
-    rev = "9fc8f94685c149a909b66bad4167455d8ae1002c";
+    sha256 = "1syb87iav3fgj6vqjh1izdvw4g0l4mngcyhvcg2nazisw3l685z6";
+    rev = "b0cdc337ca2a52e392d427916ba3e28246b396c0";
     fetchSubmodules = true;
   };
   libraryHaskellDepends = [
@@ -19,10 +19,9 @@ mkDerivation {
     primitive text unordered-containers
   ];
   testHaskellDepends = [
-    async atomic-primops base containers generic-random ghc-prim
-    hashable hspec hspec-smallcheck HUnit inspection-testing
-    markdown-unlit primitive QuickCheck smallcheck text
-    unordered-containers
+    async atomic-primops base containers ghc-prim hashable hspec
+    hspec-smallcheck HUnit inspection-testing markdown-unlit primitive
+    QuickCheck smallcheck text unordered-containers
   ];
   testToolDepends = [ markdown-unlit ];
   benchmarkHaskellDepends = [ base criterion ];
diff --git a/pkgs/development/misc/haskell/hasura/ekg-json.nix b/pkgs/development/misc/haskell/hasura/ekg-json.nix
index e115e2c40b9d2..bb71aef27970d 100644
--- a/pkgs/development/misc/haskell/hasura/ekg-json.nix
+++ b/pkgs/development/misc/haskell/hasura/ekg-json.nix
@@ -1,6 +1,6 @@
 # This has been automatically generated by the script
 # ./update.sh.  This should not be changed by hand.
-{ mkDerivation, aeson, base, ekg-core, fetchgit, lib, text
+{ mkDerivation, aeson, base, ekg-core, fetchgit, hspec, lib, text
 , unordered-containers, vector
 }:
 mkDerivation {
@@ -8,13 +8,16 @@ mkDerivation {
   version = "0.1.0.7";
   src = fetchgit {
     url = "https://github.com/hasura/ekg-json.git";
-    sha256 = "1yf9x7gh66q27c3wv5m00ijf2qpiwm53jjlhrj2yc1glv684wf4v";
-    rev = "f25b9ddb7aae18059ef707a5ce30d6a54a63db13";
+    sha256 = "17kd2f1695dmf5l95iz1w86hapc4f1gfrd0ld3ivffa2q5vxbi70";
+    rev = "d1c5031b49a5559cf4b4f6beb0238b872890a48c";
     fetchSubmodules = true;
   };
   libraryHaskellDepends = [
     aeson base ekg-core text unordered-containers vector
   ];
+  testHaskellDepends = [
+    aeson base ekg-core hspec text unordered-containers
+  ];
   homepage = "https://github.com/tibbe/ekg-json";
   description = "JSON encoding of ekg metrics";
   license = lib.licenses.bsd3;
diff --git a/pkgs/development/misc/haskell/hasura/graphql-engine.nix b/pkgs/development/misc/haskell/hasura/graphql-engine.nix
index d5d8e693ab41a..646c576713625 100644
--- a/pkgs/development/misc/haskell/hasura/graphql-engine.nix
+++ b/pkgs/development/misc/haskell/hasura/graphql-engine.nix
@@ -1,39 +1,44 @@
 # This has been automatically generated by the script
 # ./update.sh.  This should not be changed by hand.
-{ mkDerivation, aeson, aeson-casing, ansi-wl-pprint, asn1-encoding
-, asn1-types, async, attoparsec, attoparsec-iso8601, auto-update
-, base, base16-bytestring, base64-bytestring, binary, byteorder
-, bytestring, case-insensitive, ci-info, connection, containers
-, cron, cryptonite, data-default-class, data-has, deepseq
-, dependent-map, dependent-sum, directory, ekg-core, ekg-json
-, exceptions, fast-logger, fetchgit, file-embed, filepath
-, ghc-heap-view, graphql-parser, hashable, hashable-time, hspec
-, hspec-core, hspec-expectations, hspec-expectations-lifted
-, http-api-data, http-client, http-client-tls, http-conduit
+{ mkDerivation, aeson, aeson-casing, aeson-qq, ansi-wl-pprint
+, asn1-encoding, asn1-types, async, attoparsec, attoparsec-iso8601
+, auto-update, base, base16-bytestring, base64-bytestring, binary
+, byteorder, bytestring, case-insensitive, ci-info, conduit
+, connection, containers, cron, cryptonite, data-default-class
+, data-has, deepseq, dependent-map, dependent-sum, directory
+, either, ekg-core, ekg-json, exceptions, fast-logger, fetchgit
+, file-embed, filepath, ghc-heap-view, graphql-parser, hashable
+, hashable-time, haskell-src-meta, hedgehog, hspec, hspec-core
+, hspec-discover, hspec-expectations, hspec-expectations-lifted
+, hspec-hedgehog, hspec-wai, hspec-wai-json, http-api-data
+, http-client, http-client-tls, http-conduit, http-media
 , http-types, immortal, insert-ordered-containers, jose
-, kan-extensions, lens, lens-aeson, lib, lifted-async, lifted-base
-, list-t, memory, mime-types, mmorph, monad-control, monad-loops
-, monad-validate, mtl, mustache, mysql, mysql-simple
-, natural-transformation, network, network-uri, odbc
-, optparse-applicative, pem, pg-client, postgresql-binary
-, postgresql-libpq, pretty-simple, process, profunctors, psqueues
-, QuickCheck, quickcheck-instances, random, regex-tdfa
-, resource-pool, retry, safe, safe-exceptions, scientific
-, semialign, semigroups, semver, shakespeare, some, split
-, Spock-core, stm, stm-containers, tagged, template-haskell, text
-, text-builder, text-conversions, these, time, tls, transformers
-, transformers-base, unix, unordered-containers, uri-encode
+, kan-extensions, kriti-lang, lens, lens-aeson, lib, libyaml
+, lifted-async, lifted-base, list-t, memory, mime-types, mmorph
+, monad-control, monad-logger, monad-loops, monad-validate, mtl
+, mustache, mysql, mysql-simple, natural-transformation, network
+, network-uri, odbc, openapi3, optparse-applicative
+, optparse-generic, parsec, pem, pg-client, postgresql-binary
+, postgresql-libpq, postgresql-simple, pretty-simple, process
+, profunctors, psqueues, QuickCheck, quickcheck-instances, random
+, regex-tdfa, resource-pool, resourcet, retry, safe
+, safe-exceptions, scientific, semialign, semigroups, semver
+, shakespeare, some, split, Spock-core, stm, stm-containers, tagged
+, template-haskell, text, text-builder, text-conversions, th-lift
+, th-lift-instances, these, time, tls, tmp-postgres, transformers
+, transformers-base, typed-process, unix, unliftio-core
+, unordered-containers, uri-bytestring, uri-encode, url
 , utf8-string, uuid, validation, vector, vector-instances, wai
-, warp, websockets, wreq, x509, x509-store, x509-system
-, x509-validation, yaml, zlib
+, wai-extra, warp, websockets, witch, wreq, x509, x509-store
+, x509-system, x509-validation, yaml, zlib
 }:
 mkDerivation {
   pname = "graphql-engine";
   version = "1.0.0";
   src = fetchgit {
     url = "https://github.com/hasura/graphql-engine.git";
-    sha256 = "04ns40wk1760pxi18pyqzgrk8h28mw6402zkjc1g52ny6afchs05";
-    rev = "8be851c2a1326b2caada13a3c43becd2e848db6c";
+    sha256 = "1r19qw2wxzmngb6sjpin3dk6i5r491brcb0ir4g8kw9d0ic90hpy";
+    rev = "1349e6cdcfdef4b06593b48fe8e2e51b9f9c94e9";
     fetchSubmodules = true;
   };
   postUnpack = "sourceRoot+=/server; echo source root reset to $sourceRoot";
@@ -44,22 +49,23 @@ mkDerivation {
     attoparsec attoparsec-iso8601 auto-update base base16-bytestring
     base64-bytestring binary byteorder bytestring case-insensitive
     ci-info connection containers cron cryptonite data-default-class
-    data-has deepseq dependent-map dependent-sum directory ekg-core
-    ekg-json exceptions fast-logger file-embed filepath ghc-heap-view
-    graphql-parser hashable hashable-time http-api-data http-client
-    http-client-tls http-conduit http-types immortal
-    insert-ordered-containers jose kan-extensions lens lens-aeson
-    lifted-async lifted-base list-t memory mime-types mmorph
-    monad-control monad-loops monad-validate mtl mustache mysql
-    mysql-simple network network-uri odbc optparse-applicative pem
-    pg-client postgresql-binary postgresql-libpq pretty-simple process
-    profunctors psqueues QuickCheck quickcheck-instances random
-    regex-tdfa resource-pool retry safe-exceptions scientific semialign
-    semigroups semver shakespeare some split Spock-core stm
-    stm-containers tagged template-haskell text text-builder
-    text-conversions these time tls transformers transformers-base unix
-    unordered-containers uri-encode utf8-string uuid validation vector
-    vector-instances wai warp websockets wreq x509 x509-store
+    data-has deepseq dependent-map dependent-sum directory either
+    ekg-core ekg-json exceptions fast-logger file-embed filepath
+    ghc-heap-view graphql-parser hashable hashable-time http-api-data
+    http-client http-client-tls http-conduit http-media http-types
+    immortal insert-ordered-containers jose kan-extensions kriti-lang
+    lens lens-aeson lifted-async lifted-base list-t memory mime-types
+    mmorph monad-control monad-loops monad-validate mtl mustache mysql
+    mysql-simple network network-uri odbc openapi3 optparse-applicative
+    optparse-generic parsec pem pg-client postgresql-binary
+    postgresql-libpq pretty-simple process profunctors psqueues
+    QuickCheck quickcheck-instances random regex-tdfa resource-pool
+    retry safe-exceptions scientific semialign semigroups semver
+    shakespeare some split Spock-core stm stm-containers tagged
+    template-haskell text text-builder text-conversions these time tls
+    transformers transformers-base unix unordered-containers
+    uri-bytestring uri-encode url utf8-string uuid validation vector
+    vector-instances wai warp websockets witch wreq x509 x509-store
     x509-system x509-validation yaml zlib
   ];
   executableHaskellDepends = [
@@ -67,15 +73,24 @@ mkDerivation {
     text-conversions time unix
   ];
   testHaskellDepends = [
-    aeson base bytestring containers cron dependent-map dependent-sum
-    graphql-parser hspec hspec-core hspec-expectations
-    hspec-expectations-lifted http-client http-client-tls http-types
-    insert-ordered-containers jose kan-extensions lens lifted-base
-    mmorph monad-control mtl natural-transformation network-uri
-    optparse-applicative pg-client process QuickCheck safe scientific
-    split template-haskell text time transformers-base
-    unordered-containers vector
+    aeson aeson-casing aeson-qq async base bytestring case-insensitive
+    conduit containers cron dependent-map dependent-sum ekg-core
+    exceptions graphql-parser haskell-src-meta hedgehog hspec
+    hspec-core hspec-discover hspec-expectations
+    hspec-expectations-lifted hspec-hedgehog hspec-wai hspec-wai-json
+    http-client http-client-tls http-conduit http-types
+    insert-ordered-containers jose kan-extensions lens lens-aeson
+    libyaml lifted-base mmorph monad-control monad-logger mtl mysql
+    mysql-simple natural-transformation network network-uri odbc
+    optparse-applicative parsec pg-client postgresql-libpq
+    postgresql-simple process QuickCheck resource-pool resourcet safe
+    safe-exceptions scientific shakespeare split Spock-core stm
+    template-haskell text text-conversions th-lift th-lift-instances
+    time tmp-postgres transformers transformers-base typed-process unix
+    unliftio-core unordered-containers utf8-string vector wai wai-extra
+    warp websockets yaml
   ];
+  testToolDepends = [ hspec-discover ];
   doCheck = false;
   homepage = "https://www.hasura.io";
   description = "GraphQL API over Postgres";
diff --git a/pkgs/development/misc/haskell/hasura/graphql-parser.nix b/pkgs/development/misc/haskell/hasura/graphql-parser.nix
index a447ac0154015..70024ce732c44 100644
--- a/pkgs/development/misc/haskell/hasura/graphql-parser.nix
+++ b/pkgs/development/misc/haskell/hasura/graphql-parser.nix
@@ -1,30 +1,29 @@
 # This has been automatically generated by the script
 # ./update.sh.  This should not be changed by hand.
-{ mkDerivation, aeson, attoparsec, base, bytestring, containers
-, criterion, deepseq, fetchgit, filepath, hashable, hedgehog, lib
-, prettyprinter, scientific, template-haskell, text, text-builder
-, th-lift-instances, unordered-containers, vector
+{ mkDerivation, aeson, attoparsec, base, bytestring, deepseq
+, fetchgit, hashable, hedgehog, lib, prettyprinter, scientific
+, tasty-bench, template-haskell, text, text-builder
+, th-lift-instances, unordered-containers
 }:
 mkDerivation {
   pname = "graphql-parser";
   version = "0.2.0.0";
   src = fetchgit {
     url = "https://github.com/hasura/graphql-parser-hs.git";
-    sha256 = "0zqrh7y0cjjrscsw2hmyhdcm4nzvb5pw394pcxk8q19xx13jp9xd";
-    rev = "43562a5b7b41d380e3e31732b48637702e5aa97d";
+    sha256 = "1xprr5wdhcfnbggkygz71v3za1mmkqv5mbm7h16kpsrhm1m9mpx8";
+    rev = "c311bc15b8d8cef28a846d1d81b0bcc1d59bd956";
     fetchSubmodules = true;
   };
   libraryHaskellDepends = [
-    aeson attoparsec base bytestring containers deepseq filepath
-    hashable hedgehog prettyprinter scientific template-haskell text
-    text-builder th-lift-instances unordered-containers vector
+    aeson attoparsec base bytestring deepseq hashable hedgehog
+    prettyprinter scientific template-haskell text text-builder
+    th-lift-instances unordered-containers
   ];
   testHaskellDepends = [
-    attoparsec base bytestring hedgehog prettyprinter scientific text
-    text-builder
+    attoparsec base bytestring hedgehog prettyprinter text text-builder
   ];
   benchmarkHaskellDepends = [
-    base bytestring criterion prettyprinter text text-builder
+    base bytestring prettyprinter tasty-bench text text-builder
   ];
   homepage = "https://github.com/hasura/graphql-parser-hs";
   description = "A native Haskell GraphQL parser";
diff --git a/pkgs/development/misc/haskell/hasura/kriti-lang.nix b/pkgs/development/misc/haskell/hasura/kriti-lang.nix
new file mode 100644
index 0000000000000..7e22aff40d7b4
--- /dev/null
+++ b/pkgs/development/misc/haskell/hasura/kriti-lang.nix
@@ -0,0 +1,41 @@
+# This has been automatically generated by the script
+# ./update.sh.  This should not be changed by hand.
+{ mkDerivation, aeson, aeson-pretty, alex, array, base, bytestring
+, containers, directory, fetchgit, filepath, generic-arbitrary
+, happy, hspec, hspec-core, hspec-golden, lens, lens-aeson, lib
+, megaparsec, mtl, network-uri, optparse-applicative, parsec
+, parser-combinators, pretty-simple, prettyprinter, QuickCheck
+, raw-strings-qq, safe-exceptions, scientific, text
+, unordered-containers, utf8-string, vector
+}:
+mkDerivation {
+  pname = "kriti-lang";
+  version = "0.3.1";
+  src = fetchgit {
+    url = "https://github.com/hasura/kriti-lang.git";
+    sha256 = "09v31xp8gkc0p0gfysxyd8yb7lyb1vpgzq8550h3s3msjbapr7pj";
+    rev = "0f0b153b93af5dc6c6e995c016ca4562e8438cec";
+    fetchSubmodules = true;
+  };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson array base bytestring containers lens megaparsec mtl
+    network-uri optparse-applicative parser-combinators prettyprinter
+    scientific text unordered-containers utf8-string vector
+  ];
+  libraryToolDepends = [ alex happy ];
+  executableHaskellDepends = [
+    aeson base bytestring containers mtl optparse-applicative
+    prettyprinter text utf8-string
+  ];
+  testHaskellDepends = [
+    aeson aeson-pretty base bytestring containers directory filepath
+    generic-arbitrary hspec hspec-core hspec-golden lens lens-aeson mtl
+    optparse-applicative parsec pretty-simple prettyprinter QuickCheck
+    raw-strings-qq safe-exceptions scientific text unordered-containers
+    utf8-string vector
+  ];
+  license = lib.licenses.asl20;
+  maintainers = with lib.maintainers; [ lassulus ];
+}
diff --git a/pkgs/development/misc/haskell/hasura/pg-client.nix b/pkgs/development/misc/haskell/hasura/pg-client.nix
index 52f179f9923ce..92d556824dbd6 100644
--- a/pkgs/development/misc/haskell/hasura/pg-client.nix
+++ b/pkgs/development/misc/haskell/hasura/pg-client.nix
@@ -1,10 +1,10 @@
 # This has been automatically generated by the script
 # ./update.sh.  This should not be changed by hand.
-{ mkDerivation, aeson, aeson-casing, attoparsec, base, bytestring
-, Cabal, criterion, ekg-core, fetchgit, file-embed, hashable
-, hashtables, hasql, hasql-pool, hasql-transaction, hspec, lib
-, mmorph, monad-control, mtl, postgresql, postgresql-binary
-, postgresql-libpq, resource-pool, retry, scientific
+{ mkDerivation, aeson, aeson-casing, async, attoparsec, base
+, bytestring, ekg-core, fetchgit, file-embed, hashable, hashtables
+, hasql, hasql-pool, hasql-transaction, hspec, lib, mmorph
+, monad-control, mtl, postgresql-binary, postgresql-libpq
+, resource-pool, retry, safe-exceptions, scientific, tasty-bench
 , template-haskell, text, text-builder, time, transformers-base
 , uuid, vector
 }:
@@ -13,24 +13,25 @@ mkDerivation {
   version = "0.1.0";
   src = fetchgit {
     url = "https://github.com/hasura/pg-client-hs.git";
-    sha256 = "00h9hskv3p4mg35php5wsr2d2rjahcv29rqidb2lxl11r05psr4m";
-    rev = "5e8a2d7ebe8b96518e5a70f4d61be2550eaa4e70";
+    sha256 = "0ga2bj0mfng25c8kxsvi8i13pnanbnhahxvbq8ijl0bysd41g7zi";
+    rev = "09b40ad8e5d16a78f5d91fe2306676f52caadbc8";
     fetchSubmodules = true;
   };
-  setupHaskellDepends = [ base Cabal ];
   libraryHaskellDepends = [
-    aeson aeson-casing attoparsec base bytestring ekg-core hashable
-    hashtables mmorph monad-control mtl postgresql-binary
-    postgresql-libpq resource-pool retry scientific template-haskell
-    text text-builder time transformers-base uuid vector
+    aeson aeson-casing async attoparsec base bytestring ekg-core
+    hashable hashtables mmorph monad-control mtl postgresql-binary
+    postgresql-libpq resource-pool retry safe-exceptions scientific
+    template-haskell text text-builder time transformers-base uuid
+    vector
+  ];
+  testHaskellDepends = [
+    async base bytestring hspec mtl safe-exceptions time
   ];
-  librarySystemDepends = [ postgresql ];
-  testHaskellDepends = [ base bytestring hspec mtl ];
   benchmarkHaskellDepends = [
-    base bytestring criterion file-embed hashable hasql hasql-pool
-    hasql-transaction mtl postgresql-libpq text text-builder
+    base bytestring file-embed hasql hasql-pool hasql-transaction mtl
+    tasty-bench text
   ];
   homepage = "https://github.com/hasura/platform";
-  license = lib.licenses.bsd3;
+  license = lib.licenses.asl20;
   maintainers = with lib.maintainers; [ lassulus ];
 }
diff --git a/pkgs/development/misc/haskell/hasura/pool.nix b/pkgs/development/misc/haskell/hasura/pool.nix
index c03b1fb88121d..48954114a4a17 100644
--- a/pkgs/development/misc/haskell/hasura/pool.nix
+++ b/pkgs/development/misc/haskell/hasura/pool.nix
@@ -17,7 +17,7 @@ mkDerivation {
     vector
   ];
   testHaskellDepends = [ base hspec ];
-  homepage = "https://github.com/bos/pool";
+  homepage = "http://github.com/bos/pool";
   description = "A high-performance striped resource pooling implementation";
   license = lib.licenses.bsd3;
   maintainers = with lib.maintainers; [ lassulus ];
diff --git a/pkgs/development/misc/haskell/hasura/update.sh b/pkgs/development/misc/haskell/hasura/update.sh
index 77a5d5fc6dead..f4286ea6b831e 100755
--- a/pkgs/development/misc/haskell/hasura/update.sh
+++ b/pkgs/development/misc/haskell/hasura/update.sh
@@ -21,12 +21,13 @@ pgclient_derivation_file="${script_dir}/pg-client.nix"
 pool_derivation_file="${script_dir}/pool.nix"
 ekgcore_derivation_file="${script_dir}/ekg-core.nix"
 ekgjson_derivation_file="${script_dir}/ekg-json.nix"
+kritilang_derivation_file="${script_dir}/kriti-lang.nix"
 
 # TODO: get current revision of graphql-engine in Nixpkgs.
 # old_version="$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$engine_derivation_file")"
 
 # This is the latest release version of graphql-engine on GitHub.
-new_version=$(curl --silent "https://api.github.com/repos/hasura/graphql-engine/releases" | jq '.[0].tag_name' --raw-output)
+new_version=$(curl --silent "https://api.github.com/repos/hasura/graphql-engine/releases" | jq 'map(select(.prerelease | not)) | .[0].tag_name' --raw-output)
 
 echo "Running cabal2nix and outputting to ${engine_derivation_file}..."
 
@@ -77,6 +78,15 @@ echo "# ./update.sh.  This should not be changed by hand." >> "$ekgjson_derivati
 
 cabal2nix --maintainer lassulus "https://github.com/hasura/ekg-json.git" >> "$ekgjson_derivation_file"
 
+echo "Running cabal2nix and outputting to ${kritilang_derivation_file}..."
+
+echo "# This has been automatically generated by the script" > "$kritilang_derivation_file"
+echo "# ./update.sh.  This should not be changed by hand." >> "$kritilang_derivation_file"
+
+new_kritilang_version=$(curl --silent "https://api.github.com/repos/hasura/kriti-lang/tags" | jq '.[0].name' --raw-output)
+
+cabal2nix --revision "$new_kritilang_version" --maintainer lassulus "https://github.com/hasura/kriti-lang.git" >> "$kritilang_derivation_file"
+
 echo "###################"
 echo "please update pkgs/servers/hasura/cli.nix vendorSha256"
 echo "please update pkgs/development/haskell-modules/configuration-common.nix graphql-engine version"