pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/lang/purescript



Module Name:    pkgsrc
Committed By:   pho
Date:           Wed Feb 23 16:22:33 UTC 2022

Added Files:
        pkgsrc/lang/purescript: DESCR Makefile PLIST distinfo
        pkgsrc/lang/purescript/patches: patch-app_Main.hs
            patch-purescript.cabal
            patch-src_Language_PureScript_CoreFn_ToJSON.hs
            patch-src_Language_PureScript_Docs_Types.hs
            patch-src_Language_PureScript_Errors_JSON.hs
            patch-src_Language_PureScript_Graph.hs
            patch-src_Language_PureScript_Ide_Error.hs
            patch-src_Language_PureScript_Publish.hs

Log Message:
lang/purescript: import purescript-0.14.5

A small strongly typed programming language with expressive types that
compiles to JavaScript, written in and inspired by Haskell.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/lang/purescript/DESCR \
    pkgsrc/lang/purescript/Makefile pkgsrc/lang/purescript/PLIST \
    pkgsrc/lang/purescript/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/lang/purescript/patches/patch-app_Main.hs \
    pkgsrc/lang/purescript/patches/patch-purescript.cabal \
    pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_CoreFn_ToJSON.hs \
    pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Docs_Types.hs \
    pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Errors_JSON.hs \
    pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Graph.hs \
    pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Ide_Error.hs \
    pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Publish.hs

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Added files:

Index: pkgsrc/lang/purescript/DESCR
diff -u /dev/null pkgsrc/lang/purescript/DESCR:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/DESCR        Wed Feb 23 16:22:33 2022
@@ -0,0 +1,2 @@
+A small strongly typed programming language with expressive types that
+compiles to JavaScript, written in and inspired by Haskell.
Index: pkgsrc/lang/purescript/Makefile
diff -u /dev/null pkgsrc/lang/purescript/Makefile:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/Makefile     Wed Feb 23 16:22:33 2022
@@ -0,0 +1,90 @@
+# $NetBSD: Makefile,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+DISTNAME=      purescript-0.14.5
+PKGNAME=       ${DISTNAME}
+CATEGORIES=    lang
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      http://www.purescript.org/
+COMMENT=       Strongly typed programming language that compiles to JavaScript
+LICENSE=       modified-bsd
+
+USE_TOOLS+=    happy
+
+CONFIGURE_ARGS+=       -f release
+
+# If purs is to be linked dynamically, it will depend on more than 180
+# shared objects and the dynamic linker will spend several seconds to
+# resolve symbols on startup. This is unacceptable because purs tends to be
+# launched very frequently by build systems. This wastes storage, but time
+# is more expensive than disks.
+HASKELL_ENABLE_SHARED_LIBRARY= no
+
+# It makes no sense to build the profiling library because this package
+# isn't meant to be used as a library.
+HASKELL_ENABLE_LIBRARY_PROFILING=      no
+
+# purs is built with optparse-applicative, and can generate shell
+# completion scripts automatically.
+OPTPARSE_APPLICATIVE_EXECUTABLES+=     purs
+.include "../../devel/hs-optparse-applicative/application.mk"
+
+# lib:purescript
+.include "../../converters/hs-aeson/buildlink3.mk"
+.include "../../converters/hs-aeson-better-errors/buildlink3.mk"
+.include "../../converters/hs-aeson-pretty/buildlink3.mk"
+.include "../../devel/hs-ansi-terminal/buildlink3.mk"
+.include "../../devel/hs-base-compat/buildlink3.mk"
+.include "../../textproc/hs-blaze-html/buildlink3.mk"
+.include "../../www/hs-bower-json/buildlink3.mk"
+.include "../../textproc/hs-boxes/buildlink3.mk"
+.include "../../devel/hs-cborg/buildlink3.mk"
+.include "../../textproc/hs-cheapskate/buildlink3.mk"
+.include "../../time/hs-clock/buildlink3.mk"
+.include "../../security/hs-cryptonite/buildlink3.mk"
+.include "../../devel/hs-data-ordlist/buildlink3.mk"
+.include "../../devel/hs-dlist/buildlink3.mk"
+.include "../../textproc/hs-edit-distance/buildlink3.mk"
+.include "../../devel/hs-file-embed/buildlink3.mk"
+.include "../../devel/hs-fsnotify/buildlink3.mk"
+.include "../../textproc/hs-Glob/buildlink3.mk"
+.include "../../lang/hs-language-javascript/buildlink3.mk"
+.include "../../devel/hs-lifted-async/buildlink3.mk"
+.include "../../devel/hs-lifted-base/buildlink3.mk"
+.include "../../devel/hs-memory/buildlink3.mk"
+.include "../../devel/hs-microlens/buildlink3.mk"
+.include "../../devel/hs-microlens-platform/buildlink3.mk"
+.include "../../devel/hs-monad-control/buildlink3.mk"
+.include "../../devel/hs-monad-logger/buildlink3.mk"
+.include "../../devel/hs-parallel/buildlink3.mk"
+.include "../../devel/hs-pattern-arrows/buildlink3.mk"
+.include "../../devel/hs-protolude/buildlink3.mk"
+.include "../../lang/hs-purescript-cst/buildlink3.mk"
+.include "../../textproc/hs-regex-tdfa/buildlink3.mk"
+.include "../../devel/hs-safe/buildlink3.mk"
+.include "../../math/hs-scientific/buildlink3.mk"
+.include "../../devel/hs-semialign/buildlink3.mk"
+.include "../../math/hs-semigroups/buildlink3.mk"
+.include "../../devel/hs-serialise/buildlink3.mk"
+.include "../../lang/hs-sourcemap/buildlink3.mk"
+.include "../../devel/hs-split/buildlink3.mk"
+.include "../../textproc/hs-stringsearch/buildlink3.mk"
+.include "../../devel/hs-syb/buildlink3.mk"
+.include "../../devel/hs-these/buildlink3.mk"
+.include "../../devel/hs-transformers-base/buildlink3.mk"
+.include "../../devel/hs-transformers-compat/buildlink3.mk"
+.include "../../devel/hs-unordered-containers/buildlink3.mk"
+.include "../../devel/hs-utf8-string/buildlink3.mk"
+.include "../../devel/hs-vector/buildlink3.mk"
+
+# exe:purescript
+.include "../../textproc/hs-ansi-wl-pprint/buildlink3.mk"
+.include "../../www/hs-http-types/buildlink3.mk"
+.include "../../net/hs-network/buildlink3.mk"
+.include "../../www/hs-wai/buildlink3.mk"
+.include "../../www/hs-wai-websockets/buildlink3.mk"
+.include "../../www/hs-warp/buildlink3.mk"
+.include "../../www/hs-websockets/buildlink3.mk"
+
+.include "../../mk/haskell.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/lang/purescript/PLIST
diff -u /dev/null pkgsrc/lang/purescript/PLIST:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/PLIST        Wed Feb 23 16:22:33 2022
@@ -0,0 +1,308 @@
+@comment $NetBSD: PLIST,v 1.1 2022/02/23 16:22:33 pho Exp $
+bin/purs
+lib/${PKGNAME}/${HS_VERSION}/package-description
+lib/${PKGNAME}/${HS_VERSION}/package-id
+lib/${HS_PLATFORM}/${HS_PKGID}/Control/Monad/Logger.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Bundle.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CST.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CodeGen.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CodeGen/JS.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CodeGen/JS/Common.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CodeGen/JS/Printer.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Constants/Data/Generic/Rep.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Constants/Data/Newtype.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Constants/Prelude.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/Ann.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/Binders.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/Desugar.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/Expr.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/FromJSON.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/Meta.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/Module.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/Optimizer.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/ToJSON.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreFn/Traversals.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreImp.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreImp/AST.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreImp/Optimizer.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreImp/Optimizer/Blocks.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreImp/Optimizer/Common.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreImp/Optimizer/Inliner.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreImp/Optimizer/MagicDo.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreImp/Optimizer/TCO.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/CoreImp/Optimizer/Unused.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/AsHtml.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/AsMarkdown.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Collect.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Convert.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Convert/ReExports.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Convert/Single.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Css.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Prim.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Render.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/RenderedCode.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/RenderedCode/RenderType.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/RenderedCode/Types.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Tags.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Types.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Docs/Utils/MonoidExtras.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Errors.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Errors/JSON.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Externs.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Graph.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Hierarchy.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/CaseSplit.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Command.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Completion.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Error.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Externs.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Filter.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Filter/Declaration.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Imports.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Logging.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Matcher.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Prim.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Rebuild.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Reexports.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/SourceFile.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/State.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Types.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Usage.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Ide/Util.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Interactive.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Interactive/Completion.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Interactive/Directive.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Interactive/IO.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Interactive/Message.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Interactive/Module.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Interactive/Parser.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Interactive/Printer.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Interactive/Types.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Linter.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Linter/Exhaustive.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Linter/Imports.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Make.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Make/Actions.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Make/BuildPlan.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Make/Cache.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Make/Monad.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/ModuleDependencies.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Options.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Pretty.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Pretty/Common.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Pretty/Types.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Pretty/Values.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Publish.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Publish/BoxesHelpers.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Publish/ErrorsWarnings.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Publish/Utils.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Renamer.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/AdoNotation.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/BindingGroups.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/CaseDeclarations.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/DoNotation.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/LetPattern.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Names.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Names/Common.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Names/Env.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Names/Exports.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Names/Imports.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/ObjectWildcards.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Operators.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Operators/Binders.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Operators/Common.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Operators/Expr.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/Operators/Types.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/TypeClasses.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/TypeClasses/Deriving.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/Sugar/TypeDeclarations.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Entailment.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Entailment/Coercible.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Kinds.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Monad.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Roles.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Skolems.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Subsumption.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Synonyms.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/TypeSearch.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Types.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Language/PureScript/TypeChecker/Unify.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/Paths_purescript.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/System/IO/UTF8.hi
+lib/${HS_PLATFORM}/${HS_PKGID}/libHS${HS_PKGID}.a
+share/doc/${HS_PLATFORM}/${PKGNAME}/LICENSE
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Control-Monad-Logger.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Bundle.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CST.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CodeGen-JS-Common.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CodeGen-JS-Printer.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CodeGen-JS.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CodeGen.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Constants-Data-Generic-Rep.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Constants-Data-Newtype.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Constants-Prelude.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-Ann.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-Binders.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-Desugar.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-Expr.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-FromJSON.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-Meta.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-Module.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-Optimizer.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-ToJSON.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn-Traversals.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreFn.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreImp-AST.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreImp-Optimizer-Blocks.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreImp-Optimizer-Common.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreImp-Optimizer-Inliner.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreImp-Optimizer-MagicDo.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreImp-Optimizer-TCO.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreImp-Optimizer-Unused.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreImp-Optimizer.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-CoreImp.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-AsHtml.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-AsMarkdown.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Collect.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Convert-ReExports.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Convert-Single.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Convert.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Css.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Prim.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Render.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-RenderedCode-RenderType.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-RenderedCode-Types.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-RenderedCode.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Tags.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Types.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs-Utils-MonoidExtras.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Docs.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Errors-JSON.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Errors.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Externs.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Graph.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Hierarchy.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-CaseSplit.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Command.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Completion.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Error.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Externs.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Filter-Declaration.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Filter.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Imports.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Logging.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Matcher.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Prim.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Rebuild.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Reexports.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-SourceFile.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-State.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Types.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Usage.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide-Util.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Ide.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Interactive-Completion.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Interactive-Directive.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Interactive-IO.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Interactive-Message.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Interactive-Module.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Interactive-Parser.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Interactive-Printer.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Interactive-Types.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Interactive.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Linter-Exhaustive.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Linter-Imports.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Linter.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Make-Actions.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Make-BuildPlan.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Make-Cache.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Make-Monad.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Make.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-ModuleDependencies.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Options.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Pretty-Common.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Pretty-Types.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Pretty-Values.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Pretty.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Publish-BoxesHelpers.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Publish-ErrorsWarnings.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Publish-Utils.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Publish.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Renamer.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-AdoNotation.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-BindingGroups.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-CaseDeclarations.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-DoNotation.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-LetPattern.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Names-Common.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Names-Env.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Names-Exports.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Names-Imports.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Names.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-ObjectWildcards.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Operators-Binders.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Operators-Common.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Operators-Expr.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Operators-Types.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-Operators.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-TypeClasses-Deriving.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-TypeClasses.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar-TypeDeclarations.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-Sugar.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Entailment-Coercible.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Entailment.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Kinds.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Monad.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Roles.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Skolems.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Subsumption.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Synonyms.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-TypeSearch.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Types.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker-Unify.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript-TypeChecker.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/Language-PureScript.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/System-IO-UTF8.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-36.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-45.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-95.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-A.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-All.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-B.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-C.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-D.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-E.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-F.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-G.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-H.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-I.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-J.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-K.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-L.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-M.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-N.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-O.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-P.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-Q.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-R.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-S.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-T.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-U.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-V.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-W.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-X.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-Z.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/haddock-bundle.min.js
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/index.html
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/linuwial.css
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/meta.json
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/purescript.haddock
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/quick-jump.css
+share/doc/${HS_PLATFORM}/${PKGNAME}/html/synopsis.png
Index: pkgsrc/lang/purescript/distinfo
diff -u /dev/null pkgsrc/lang/purescript/distinfo:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/distinfo     Wed Feb 23 16:22:33 2022
@@ -0,0 +1,13 @@
+$NetBSD: distinfo,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+BLAKE2s (purescript-0.14.5.tar.gz) = 79e67fc61551acf18fbdc81666444345ce2d5114a93a7f9323d5f313b693acae
+SHA512 (purescript-0.14.5.tar.gz) = 0b283f9538988323bd06b01db205916cd61fe8806cf0901ffd14b5a298f48fe8f9ccc59275058331655104222e78fc66375e4b96230ca1a92a5ece71453d2a6c
+Size (purescript-0.14.5.tar.gz) = 540327 bytes
+SHA1 (patch-app_Main.hs) = d522a384b245cef55deec8e114e46e0dc7db2772
+SHA1 (patch-purescript.cabal) = 30d2ba8248854653123ff053d62fa5ece6bd1f7c
+SHA1 (patch-src_Language_PureScript_CoreFn_ToJSON.hs) = eeff7a9f48c43a391405bd61175a7f75529ead24
+SHA1 (patch-src_Language_PureScript_Docs_Types.hs) = 20ed67a6382abe8dc59a947265c115497b0a0096
+SHA1 (patch-src_Language_PureScript_Errors_JSON.hs) = 441c229348b3aa4e8ac8c2f03a29044fe949c928
+SHA1 (patch-src_Language_PureScript_Graph.hs) = 7b3554e0273f0a1c4a5fac724e0d2d6e436b6813
+SHA1 (patch-src_Language_PureScript_Ide_Error.hs) = e2f23edd3774b5b2fa97593456207c5b3459170a
+SHA1 (patch-src_Language_PureScript_Publish.hs) = b3ca97415a77e4a7fe2c3cef8a189cd19953d0ac

Index: pkgsrc/lang/purescript/patches/patch-app_Main.hs
diff -u /dev/null pkgsrc/lang/purescript/patches/patch-app_Main.hs:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/patches/patch-app_Main.hs    Wed Feb 23 16:22:33 2022
@@ -0,0 +1,15 @@
+$NetBSD: patch-app_Main.hs,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+Fix build with optparse-applicative-0.17
+
+--- app/Main.hs.orig   2022-02-20 19:11:59.577636859 +0000
++++ app/Main.hs
+@@ -48,7 +48,7 @@ main = do
+     -- | Displays full command help when invoked with no arguments.
+     execParserPure :: Opts.ParserInfo a -> [String] -> Opts.ParserResult a
+     execParserPure pinfo [] = Opts.Failure $
+-      Opts.parserFailure Opts.defaultPrefs pinfo Opts.ShowHelpText mempty
++      Opts.parserFailure Opts.defaultPrefs pinfo (Opts.ShowHelpText Nothing) mempty
+     execParserPure pinfo args = Opts.execParserPure Opts.defaultPrefs pinfo args
+ 
+     versionInfo :: Opts.Parser (a -> a)
Index: pkgsrc/lang/purescript/patches/patch-purescript.cabal
diff -u /dev/null pkgsrc/lang/purescript/patches/patch-purescript.cabal:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/patches/patch-purescript.cabal       Wed Feb 23 16:22:33 2022
@@ -0,0 +1,234 @@
+$NetBSD: patch-purescript.cabal,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+Fix build with GHC 9.2 and libraries from pkgsrc.
+
+--- purescript.cabal.orig      2022-02-20 16:31:14.423955237 +0000
++++ purescript.cabal
+@@ -206,38 +206,38 @@ library
+ 
+     ghc-options:        -Wall
+     build-depends:
+-        aeson >=1.5.6.0 && <1.6,
++        aeson >=1.5.6.0,
+         aeson-better-errors >=0.9.1.0 && <0.10,
+         aeson-pretty >=0.8.8 && <0.9,
+-        ansi-terminal >=0.10.3 && <0.11,
++        ansi-terminal >=0.10.3,
+         array >=0.5.4.0 && <0.6,
+-        base >=4.14.1.0 && <4.15,
+-        base-compat >=0.11.2 && <0.12,
++        base >=4.14.1.0,
++        base-compat >=0.11.2,
+         blaze-html >=0.9.1.2 && <0.10,
+         bower-json >=1.0.0.1 && <1.1,
+         boxes >=0.1.5 && <0.2,
+-        bytestring >=0.10.12.0 && <0.11,
+-        Cabal >=3.2.1.0 && <3.3,
++        bytestring >=0.10.12.0,
++        Cabal >=3.2.1.0,
+         cborg >=0.2.4.0 && <0.3,
+         serialise >=0.2.3.0 && <0.3,
+         cheapskate >=0.1.1.2 && <0.2,
+         clock ==0.8.*,
+         containers >=0.6.2.1 && <0.7,
+-        cryptonite ==0.27.*,
++        cryptonite >=0.27,
+         data-ordlist >=0.4.7.0 && <0.5,
+         deepseq >=1.4.4.0 && <1.5,
+         directory >=1.3.6.0 && <1.4,
+-        dlist >=0.8.0.8 && <0.9,
++        dlist >=0.8.0.8,
+         edit-distance >=0.2.2.1 && <0.3,
+         file-embed >=0.0.13.0 && <0.1,
+         filepath >=1.4.2.1 && <1.5,
+         fsnotify >=0.3.0.1 && <0.4,
+         Glob >=0.10.1 && <0.11,
+         haskeline >=0.8.1.1 && <0.9,
+-        language-javascript ==0.7.0.0,
++        language-javascript >=0.7.0.0,
+         lifted-async >=0.10.1.3 && <0.11,
+         lifted-base >=0.2.3.12 && <0.3,
+-        memory >=0.15.0 && <0.16,
++        memory >=0.15.0,
+         microlens >=0.4.11.2 && <0.5,
+         microlens-platform >=0.4.1 && <0.5,
+         monad-control >=1.0.2.3 && <1.1,
+@@ -252,8 +252,8 @@ library
+         regex-tdfa >=1.3.1.0 && <1.4,
+         safe >=0.3.19 && <0.4,
+         scientific >=0.3.6.2 && <0.4,
+-        semigroups >=0.19.1 && <0.20,
+-        semialign >=1.1.0.1 && <1.2,
++        semigroups >=0.19.1,
++        semialign >=1.1.0.1,
+         sourcemap >=0.1.6 && <0.2,
+         split >=0.2.3.4 && <0.3,
+         stm >=2.5.0.0 && <2.6,
+@@ -261,10 +261,10 @@ library
+         syb >=0.7.2.1 && <0.8,
+         text >=1.2.4.1 && <1.3,
+         these >=1.1.1.1 && <1.2,
+-        time >=1.9.3 && <1.10,
++        time >=1.9.3,
+         transformers >=0.5.6.2 && <0.6,
+         transformers-base >=0.4.5.2 && <0.5,
+-        transformers-compat >=0.6.6 && <0.7,
++        transformers-compat >=0.6.6,
+         unordered-containers >=0.2.13.0 && <0.3,
+         utf8-string >=1.0.2 && <1.1,
+         vector >=0.12.1.2 && <0.13
+@@ -303,38 +303,38 @@ executable purs
+         -Wall -fno-warn-unused-do-bind -threaded -rtsopts -with-rtsopts=-N
+ 
+     build-depends:
+-        aeson >=1.5.6.0 && <1.6,
++        aeson >=1.5.6.0,
+         aeson-better-errors >=0.9.1.0 && <0.10,
+         aeson-pretty >=0.8.8 && <0.9,
+-        ansi-terminal >=0.10.3 && <0.11,
++        ansi-terminal >=0.10.3,
+         array >=0.5.4.0 && <0.6,
+-        base >=4.14.1.0 && <4.15,
+-        base-compat >=0.11.2 && <0.12,
++        base >=4.14.1.0,
++        base-compat >=0.11.2,
+         blaze-html >=0.9.1.2 && <0.10,
+         bower-json >=1.0.0.1 && <1.1,
+         boxes >=0.1.5 && <0.2,
+-        bytestring >=0.10.12.0 && <0.11,
+-        Cabal >=3.2.1.0 && <3.3,
++        bytestring >=0.10.12.0,
++        Cabal >=3.2.1.0,
+         cborg >=0.2.4.0 && <0.3,
+         serialise >=0.2.3.0 && <0.3,
+         cheapskate >=0.1.1.2 && <0.2,
+         clock ==0.8.*,
+         containers >=0.6.2.1 && <0.7,
+-        cryptonite ==0.27.*,
++        cryptonite >=0.27,
+         data-ordlist >=0.4.7.0 && <0.5,
+         deepseq >=1.4.4.0 && <1.5,
+         directory >=1.3.6.0 && <1.4,
+-        dlist >=0.8.0.8 && <0.9,
++        dlist >=0.8.0.8,
+         edit-distance >=0.2.2.1 && <0.3,
+         file-embed >=0.0.13.0 && <0.1,
+         filepath >=1.4.2.1 && <1.5,
+         fsnotify >=0.3.0.1 && <0.4,
+         Glob >=0.10.1 && <0.11,
+         haskeline >=0.8.1.1 && <0.9,
+-        language-javascript ==0.7.0.0,
++        language-javascript >=0.7.0.0,
+         lifted-async >=0.10.1.3 && <0.11,
+         lifted-base >=0.2.3.12 && <0.3,
+-        memory >=0.15.0 && <0.16,
++        memory >=0.15.0,
+         microlens >=0.4.11.2 && <0.5,
+         microlens-platform >=0.4.1 && <0.5,
+         monad-control >=1.0.2.3 && <1.1,
+@@ -349,8 +349,8 @@ executable purs
+         regex-tdfa >=1.3.1.0 && <1.4,
+         safe >=0.3.19 && <0.4,
+         scientific >=0.3.6.2 && <0.4,
+-        semigroups >=0.19.1 && <0.20,
+-        semialign >=1.1.0.1 && <1.2,
++        semigroups >=0.19.1,
++        semialign >=1.1.0.1,
+         sourcemap >=0.1.6 && <0.2,
+         split >=0.2.3.4 && <0.3,
+         stm >=2.5.0.0 && <2.6,
+@@ -358,10 +358,10 @@ executable purs
+         syb >=0.7.2.1 && <0.8,
+         text >=1.2.4.1 && <1.3,
+         these >=1.1.1.1 && <1.2,
+-        time >=1.9.3 && <1.10,
++        time >=1.9.3,
+         transformers >=0.5.6.2 && <0.6,
+         transformers-base >=0.4.5.2 && <0.5,
+-        transformers-compat >=0.6.6 && <0.7,
++        transformers-compat >=0.6.6,
+         unordered-containers >=0.2.13.0 && <0.3,
+         utf8-string >=1.0.2 && <1.1,
+         vector >=0.12.1.2 && <0.13,
+@@ -369,7 +369,7 @@ executable purs
+         exceptions >=0.10.4 && <0.11,
+         http-types >=0.12.3 && <0.13,
+         network >=3.1.1.1 && <3.2,
+-        optparse-applicative >=0.15.1.0 && <0.16,
++        optparse-applicative >=0.15.1.0,
+         purescript -any,
+         wai >=3.2.3 && <3.3,
+         wai-websockets >=3.0.1.2 && <3.1,
+@@ -434,38 +434,38 @@ test-suite tests
+ 
+     ghc-options:        -Wall
+     build-depends:
+-        aeson >=1.5.6.0 && <1.6,
++        aeson >=1.5.6.0,
+         aeson-better-errors >=0.9.1.0 && <0.10,
+         aeson-pretty >=0.8.8 && <0.9,
+-        ansi-terminal >=0.10.3 && <0.11,
++        ansi-terminal >=0.10.3,
+         array >=0.5.4.0 && <0.6,
+-        base >=4.14.1.0 && <4.15,
+-        base-compat >=0.11.2 && <0.12,
++        base >=4.14.1.0,
++        base-compat >=0.11.2,
+         blaze-html >=0.9.1.2 && <0.10,
+         bower-json >=1.0.0.1 && <1.1,
+         boxes >=0.1.5 && <0.2,
+-        bytestring >=0.10.12.0 && <0.11,
+-        Cabal >=3.2.1.0 && <3.3,
++        bytestring >=0.10.12.0,
++        Cabal >=3.2.1.0,
+         cborg >=0.2.4.0 && <0.3,
+         serialise >=0.2.3.0 && <0.3,
+         cheapskate >=0.1.1.2 && <0.2,
+         clock ==0.8.*,
+         containers >=0.6.2.1 && <0.7,
+-        cryptonite ==0.27.*,
++        cryptonite >=0.27,
+         data-ordlist >=0.4.7.0 && <0.5,
+         deepseq >=1.4.4.0 && <1.5,
+         directory >=1.3.6.0 && <1.4,
+-        dlist >=0.8.0.8 && <0.9,
++        dlist >=0.8.0.8,
+         edit-distance >=0.2.2.1 && <0.3,
+         file-embed >=0.0.13.0 && <0.1,
+         filepath >=1.4.2.1 && <1.5,
+         fsnotify >=0.3.0.1 && <0.4,
+         Glob >=0.10.1 && <0.11,
+         haskeline >=0.8.1.1 && <0.9,
+-        language-javascript ==0.7.0.0,
++        language-javascript >=0.7.0.0,
+         lifted-async >=0.10.1.3 && <0.11,
+         lifted-base >=0.2.3.12 && <0.3,
+-        memory >=0.15.0 && <0.16,
++        memory >=0.15.0,
+         microlens >=0.4.11.2 && <0.5,
+         microlens-platform >=0.4.1 && <0.5,
+         monad-control >=1.0.2.3 && <1.1,
+@@ -480,8 +480,8 @@ test-suite tests
+         regex-tdfa >=1.3.1.0 && <1.4,
+         safe >=0.3.19 && <0.4,
+         scientific >=0.3.6.2 && <0.4,
+-        semigroups >=0.19.1 && <0.20,
+-        semialign >=1.1.0.1 && <1.2,
++        semigroups >=0.19.1,
++        semialign >=1.1.0.1,
+         sourcemap >=0.1.6 && <0.2,
+         split >=0.2.3.4 && <0.3,
+         stm >=2.5.0.0 && <2.6,
+@@ -489,10 +489,10 @@ test-suite tests
+         syb >=0.7.2.1 && <0.8,
+         text >=1.2.4.1 && <1.3,
+         these >=1.1.1.1 && <1.2,
+-        time >=1.9.3 && <1.10,
++        time >=1.9.3,
+         transformers >=0.5.6.2 && <0.6,
+         transformers-base >=0.4.5.2 && <0.5,
+-        transformers-compat >=0.6.6 && <0.7,
++        transformers-compat >=0.6.6,
+         unordered-containers >=0.2.13.0 && <0.3,
+         utf8-string >=1.0.2 && <1.1,
+         vector >=0.12.1.2 && <0.13,
Index: pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_CoreFn_ToJSON.hs
diff -u /dev/null pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_CoreFn_ToJSON.hs:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_CoreFn_ToJSON.hs       Wed Feb 23 16:22:33 2022
@@ -0,0 +1,338 @@
+$NetBSD: patch-src_Language_PureScript_CoreFn_ToJSON.hs,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+Fix build with aeson-2.0
+
+--- src/Language/PureScript/CoreFn/ToJSON.hs.orig      2022-02-20 17:44:35.893792664 +0000
++++ src/Language/PureScript/CoreFn/ToJSON.hs
+@@ -13,6 +13,7 @@ import           Control.Arrow ((***))
+ import           Data.Either (isLeft)
+ import qualified Data.Map.Strict as M
+ import           Data.Aeson
++import qualified Data.Aeson.Key as Key
+ import           Data.Version (Version, showVersion)
+ import           Data.Text (Text)
+ import qualified Data.Text as T
+@@ -23,6 +24,10 @@ import           Language.PureScript.Cor
+ import           Language.PureScript.Names
+ import           Language.PureScript.PSString (PSString)
+ 
++mkKey :: String -> Key
++{-# INLINE mkKey #-}
++mkKey = Key.fromText . T.pack
++
+ constructorTypeToJSON :: ConstructorType -> Value
+ constructorTypeToJSON ProductType = toJSON "ProductType"
+ constructorTypeToJSON SumType = toJSON "SumType"
+@@ -30,61 +35,61 @@ constructorTypeToJSON SumType = toJSON "
+ metaToJSON :: Meta -> Value
+ metaToJSON (IsConstructor t is)
+   = object
+-    [ T.pack "metaType"         .= "IsConstructor"
+-    , T.pack "constructorType"  .= constructorTypeToJSON t
+-    , T.pack "identifiers"      .= identToJSON `map` is
+-    ]
+-metaToJSON IsNewtype              = object [ T.pack "metaType"  .= "IsNewtype" ]
+-metaToJSON IsTypeClassConstructor = object [ T.pack "metaType"  .= "IsTypeClassConstructor" ]
+-metaToJSON IsForeign              = object [ T.pack "metaType"  .= "IsForeign" ]
+-metaToJSON IsWhere                = object [ T.pack "metaType"  .= "IsWhere" ]
++    [ mkKey "metaType"         .= "IsConstructor"
++    , mkKey "constructorType"  .= constructorTypeToJSON t
++    , mkKey "identifiers"      .= identToJSON `map` is
++    ]
++metaToJSON IsNewtype              = object [ mkKey "metaType"  .= "IsNewtype" ]
++metaToJSON IsTypeClassConstructor = object [ mkKey "metaType"  .= "IsTypeClassConstructor" ]
++metaToJSON IsForeign              = object [ mkKey "metaType"  .= "IsForeign" ]
++metaToJSON IsWhere                = object [ mkKey "metaType"  .= "IsWhere" ]
+ 
+ sourceSpanToJSON :: SourceSpan -> Value
+ sourceSpanToJSON (SourceSpan _ spanStart spanEnd) =
+-  object [ T.pack "start" .= spanStart
+-         , T.pack "end"   .= spanEnd
++  object [ mkKey "start" .= spanStart
++         , mkKey "end"   .= spanEnd
+          ]
+ 
+ annToJSON :: Ann -> Value
+-annToJSON (ss, _, _, m) = object [ T.pack "sourceSpan"  .= sourceSpanToJSON ss
+-                                 , T.pack "meta"        .= maybe Null metaToJSON m
++annToJSON (ss, _, _, m) = object [ mkKey "sourceSpan"  .= sourceSpanToJSON ss
++                                 , mkKey "meta"        .= maybe Null metaToJSON m
+                                  ]
+ 
+ literalToJSON :: (a -> Value) -> Literal a -> Value
+ literalToJSON _ (NumericLiteral (Left n))
+   = object
+-    [ T.pack "literalType" .= "IntLiteral"
+-    , T.pack "value"       .= n
++    [ mkKey "literalType" .= "IntLiteral"
++    , mkKey "value"       .= n
+     ]
+ literalToJSON _ (NumericLiteral (Right n))
+   = object
+-      [ T.pack "literalType"  .= "NumberLiteral"
+-      , T.pack "value"        .= n
++      [ mkKey "literalType"  .= "NumberLiteral"
++      , mkKey "value"        .= n
+       ]
+ literalToJSON _ (StringLiteral s)
+   = object
+-    [ T.pack "literalType"  .= "StringLiteral"
+-    , T.pack "value"        .= s
++    [ mkKey "literalType"  .= "StringLiteral"
++    , mkKey "value"        .= s
+     ]
+ literalToJSON _ (CharLiteral c)
+   = object
+-    [ T.pack "literalType"  .= "CharLiteral"
+-    , T.pack "value"        .= c
++    [ mkKey "literalType"  .= "CharLiteral"
++    , mkKey "value"        .= c
+     ]
+ literalToJSON _ (BooleanLiteral b)
+   = object
+-    [ T.pack "literalType"  .= "BooleanLiteral"
+-    , T.pack "value"        .= b
++    [ mkKey "literalType"  .= "BooleanLiteral"
++    , mkKey "value"        .= b
+     ]
+ literalToJSON t (ArrayLiteral xs)
+   = object
+-    [ T.pack "literalType"  .= "ArrayLiteral"
+-    , T.pack "value"        .= map t xs
++    [ mkKey "literalType"  .= "ArrayLiteral"
++    , mkKey "value"        .= map t xs
+     ]
+ literalToJSON t (ObjectLiteral xs)
+   = object
+-    [ T.pack "literalType"    .= "ObjectLiteral"
+-    , T.pack "value"          .= recordToJSON t xs
++    [ mkKey "literalType"    .= "ObjectLiteral"
++    , mkKey "value"          .= recordToJSON t xs
+     ]
+ 
+ identToJSON :: Ident -> Value
+@@ -95,8 +100,8 @@ properNameToJSON = toJSON . runProperNam
+ 
+ qualifiedToJSON :: (a -> Text) -> Qualified a -> Value
+ qualifiedToJSON f (Qualified mn a) = object
+-  [ T.pack "moduleName"   .= maybe Null moduleNameToJSON mn
+-  , T.pack "identifier"   .= toJSON (f a)
++  [ mkKey "moduleName"   .= maybe Null moduleNameToJSON mn
++  , mkKey "identifier"   .= toJSON (f a)
+   ]
+ 
+ moduleNameToJSON :: ModuleName -> Value
+@@ -104,22 +109,22 @@ moduleNameToJSON (ModuleName name) = toJ
+ 
+ moduleToJSON :: Version -> Module Ann -> Value
+ moduleToJSON v m = object
+-  [ T.pack "sourceSpan" .= sourceSpanToJSON (moduleSourceSpan m)
+-  , T.pack "moduleName" .= moduleNameToJSON (moduleName m)
+-  , T.pack "modulePath" .= toJSON (modulePath m)
+-  , T.pack "imports"    .= map importToJSON (moduleImports m)
+-  , T.pack "exports"    .= map identToJSON (moduleExports m)
+-  , T.pack "reExports"  .= reExportsToJSON (moduleReExports m)
+-  , T.pack "foreign"    .= map identToJSON (moduleForeign m)
+-  , T.pack "decls"      .= map bindToJSON (moduleDecls m)
+-  , T.pack "builtWith"  .= toJSON (showVersion v)
+-  , T.pack "comments"   .= map toJSON (moduleComments m)
++  [ mkKey "sourceSpan" .= sourceSpanToJSON (moduleSourceSpan m)
++  , mkKey "moduleName" .= moduleNameToJSON (moduleName m)
++  , mkKey "modulePath" .= toJSON (modulePath m)
++  , mkKey "imports"    .= map importToJSON (moduleImports m)
++  , mkKey "exports"    .= map identToJSON (moduleExports m)
++  , mkKey "reExports"  .= reExportsToJSON (moduleReExports m)
++  , mkKey "foreign"    .= map identToJSON (moduleForeign m)
++  , mkKey "decls"      .= map bindToJSON (moduleDecls m)
++  , mkKey "builtWith"  .= toJSON (showVersion v)
++  , mkKey "comments"   .= map toJSON (moduleComments m)
+   ]
+ 
+   where
+   importToJSON (ann,mn) = object
+-    [ T.pack "annotation" .= annToJSON ann
+-    , T.pack "moduleName" .= moduleNameToJSON mn
++    [ mkKey "annotation" .= annToJSON ann
++    , mkKey "moduleName" .= moduleNameToJSON mn
+     ]
+ 
+   reExportsToJSON :: M.Map ModuleName [Ident] -> Value
+@@ -128,19 +133,19 @@ moduleToJSON v m = object
+ bindToJSON :: Bind Ann -> Value
+ bindToJSON (NonRec ann n e)
+   = object
+-    [ T.pack "bindType"   .= "NonRec"
+-    , T.pack "annotation" .= annToJSON ann
+-    , T.pack "identifier" .= identToJSON n
+-    , T.pack "expression" .= exprToJSON e
++    [ mkKey "bindType"   .= "NonRec"
++    , mkKey "annotation" .= annToJSON ann
++    , mkKey "identifier" .= identToJSON n
++    , mkKey "expression" .= exprToJSON e
+     ]
+ bindToJSON (Rec bs)
+   = object
+-    [ T.pack "bindType"   .= "Rec"
+-    , T.pack "binds"      .= map (\((ann, n), e)
++    [ mkKey "bindType"   .= "Rec"
++    , mkKey "binds"      .= map (\((ann, n), e)
+                                   -> object
+-                                      [ T.pack "identifier"  .= identToJSON n
+-                                      , T.pack "annotation"   .= annToJSON ann
+-                                      , T.pack "expression"   .= exprToJSON e
++                                      [ mkKey "identifier"  .= identToJSON n
++                                      , mkKey "annotation"   .= annToJSON ann
++                                      , mkKey "expression"   .= exprToJSON e
+                                       ]) bs
+     ]
+ 
+@@ -148,86 +153,86 @@ recordToJSON :: (a -> Value) -> [(PSStri
+ recordToJSON f = toJSON . map (toJSON *** f)
+ 
+ exprToJSON :: Expr Ann -> Value
+-exprToJSON (Var ann i)              = object [ T.pack "type"        .= toJSON "Var"
+-                                             , T.pack "annotation"  .= annToJSON ann
+-                                             , T.pack "value"       .= qualifiedToJSON runIdent i
+-                                             ]
+-exprToJSON (Literal ann l)          = object [ T.pack "type"        .= "Literal"
+-                                             , T.pack "annotation"  .= annToJSON ann
+-                                             , T.pack "value"       .=  literalToJSON exprToJSON l
+-                                             ]
+-exprToJSON (Constructor ann d c is) = object [ T.pack "type"        .= "Constructor"
+-                                             , T.pack "annotation"  .= annToJSON ann
+-                                             , T.pack "typeName"    .= properNameToJSON d
+-                                             , T.pack "constructorName" .= properNameToJSON c
+-                                             , T.pack "fieldNames"  .= map identToJSON is
+-                                             ]
+-exprToJSON (Accessor ann f r)       = object [ T.pack "type"        .= "Accessor"
+-                                             , T.pack "annotation"  .= annToJSON ann
+-                                             , T.pack "fieldName"   .= f
+-                                             , T.pack "expression"  .= exprToJSON r
+-                                             ]
+-exprToJSON (ObjectUpdate ann r fs)  = object [ T.pack "type"        .= "ObjectUpdate"
+-                                             , T.pack "annotation"  .= annToJSON ann
+-                                             , T.pack "expression"  .= exprToJSON r
+-                                             , T.pack "updates"     .= recordToJSON exprToJSON fs
+-                                             ]
+-exprToJSON (Abs ann p b)            = object [ T.pack "type"        .= "Abs"
+-                                             , T.pack "annotation"  .= annToJSON ann
+-                                             , T.pack "argument"    .= identToJSON p
+-                                             , T.pack "body"        .= exprToJSON b
+-                                             ]
+-exprToJSON (App ann f x)            = object [ T.pack "type"        .= "App"
+-                                             , T.pack "annotation"  .= annToJSON ann
+-                                             , T.pack "abstraction" .= exprToJSON f
+-                                             , T.pack "argument"    .= exprToJSON x
+-                                             ]
+-exprToJSON (Case ann ss cs)         = object [ T.pack "type"        .= "Case"
+-                                             , T.pack "annotation"  .= annToJSON ann
+-                                             , T.pack "caseExpressions"
++exprToJSON (Var ann i)              = object [ mkKey "type"        .= toJSON "Var"
++                                             , mkKey "annotation"  .= annToJSON ann
++                                             , mkKey "value"       .= qualifiedToJSON runIdent i
++                                             ]
++exprToJSON (Literal ann l)          = object [ mkKey "type"        .= "Literal"
++                                             , mkKey "annotation"  .= annToJSON ann
++                                             , mkKey "value"       .=  literalToJSON exprToJSON l
++                                             ]
++exprToJSON (Constructor ann d c is) = object [ mkKey "type"        .= "Constructor"
++                                             , mkKey "annotation"  .= annToJSON ann
++                                             , mkKey "typeName"    .= properNameToJSON d
++                                             , mkKey "constructorName" .= properNameToJSON c
++                                             , mkKey "fieldNames"  .= map identToJSON is
++                                             ]
++exprToJSON (Accessor ann f r)       = object [ mkKey "type"        .= "Accessor"
++                                             , mkKey "annotation"  .= annToJSON ann
++                                             , mkKey "fieldName"   .= f
++                                             , mkKey "expression"  .= exprToJSON r
++                                             ]
++exprToJSON (ObjectUpdate ann r fs)  = object [ mkKey "type"        .= "ObjectUpdate"
++                                             , mkKey "annotation"  .= annToJSON ann
++                                             , mkKey "expression"  .= exprToJSON r
++                                             , mkKey "updates"     .= recordToJSON exprToJSON fs
++                                             ]
++exprToJSON (Abs ann p b)            = object [ mkKey "type"        .= "Abs"
++                                             , mkKey "annotation"  .= annToJSON ann
++                                             , mkKey "argument"    .= identToJSON p
++                                             , mkKey "body"        .= exprToJSON b
++                                             ]
++exprToJSON (App ann f x)            = object [ mkKey "type"        .= "App"
++                                             , mkKey "annotation"  .= annToJSON ann
++                                             , mkKey "abstraction" .= exprToJSON f
++                                             , mkKey "argument"    .= exprToJSON x
++                                             ]
++exprToJSON (Case ann ss cs)         = object [ mkKey "type"        .= "Case"
++                                             , mkKey "annotation"  .= annToJSON ann
++                                             , mkKey "caseExpressions"
+                                                                     .= map exprToJSON ss
+-                                             , T.pack "caseAlternatives"
++                                             , mkKey "caseAlternatives"
+                                                                     .= map caseAlternativeToJSON cs
+                                              ]
+-exprToJSON (Let ann bs e)           = object [ T.pack "type"        .= "Let" 
+-                                             , T.pack "annotation"  .= annToJSON ann
+-                                             , T.pack "binds"       .= map bindToJSON bs
+-                                             , T.pack "expression"  .= exprToJSON e
++exprToJSON (Let ann bs e)           = object [ mkKey "type"        .= "Let" 
++                                             , mkKey "annotation"  .= annToJSON ann
++                                             , mkKey "binds"       .= map bindToJSON bs
++                                             , mkKey "expression"  .= exprToJSON e
+                                              ]
+ 
+ caseAlternativeToJSON :: CaseAlternative Ann -> Value
+ caseAlternativeToJSON (CaseAlternative bs r') =
+   let isGuarded = isLeft r'
+   in object
+-      [ T.pack "binders"     .= toJSON (map binderToJSON bs)
+-      , T.pack "isGuarded"   .= toJSON isGuarded
+-      , T.pack (if isGuarded then "expressions" else "expression")
++      [ mkKey "binders"     .= toJSON (map binderToJSON bs)
++      , mkKey "isGuarded"   .= toJSON isGuarded
++      , mkKey (if isGuarded then "expressions" else "expression")
+          .= case r' of
+-             Left rs -> toJSON $ map (\(g, e) -> object [ T.pack "guard" .= exprToJSON g, T.pack "expression" .= exprToJSON e]) rs
++             Left rs -> toJSON $ map (\(g, e) -> object [ mkKey "guard" .= exprToJSON g, mkKey "expression" .= exprToJSON e]) rs
+              Right r -> exprToJSON r
+       ]
+ 
+ binderToJSON :: Binder Ann -> Value
+-binderToJSON (VarBinder ann v)              = object [ T.pack "binderType"  .= "VarBinder"
+-                                                     , T.pack "annotation"  .= annToJSON ann
+-                                                     , T.pack "identifier"  .= identToJSON v
++binderToJSON (VarBinder ann v)              = object [ mkKey "binderType"  .= "VarBinder"
++                                                     , mkKey "annotation"  .= annToJSON ann
++                                                     , mkKey "identifier"  .= identToJSON v
+                                                      ]
+-binderToJSON (NullBinder ann)               = object [ T.pack "binderType"  .= "NullBinder"
+-                                                     , T.pack "annotation"  .= annToJSON ann
++binderToJSON (NullBinder ann)               = object [ mkKey "binderType"  .= "NullBinder"
++                                                     , mkKey "annotation"  .= annToJSON ann
+                                                      ]
+-binderToJSON (LiteralBinder ann l)          = object [ T.pack "binderType"  .= "LiteralBinder"
+-                                                     , T.pack "annotation"  .= annToJSON ann
+-                                                     , T.pack "literal"     .= literalToJSON binderToJSON l
++binderToJSON (LiteralBinder ann l)          = object [ mkKey "binderType"  .= "LiteralBinder"
++                                                     , mkKey "annotation"  .= annToJSON ann
++                                                     , mkKey "literal"     .= literalToJSON binderToJSON l
+                                                      ]
+-binderToJSON (ConstructorBinder ann d c bs) = object [ T.pack "binderType"  .= "ConstructorBinder"
+-                                                     , T.pack "annotation"  .= annToJSON ann
+-                                                     , T.pack "typeName"    .= qualifiedToJSON runProperName d
+-                                                     , T.pack "constructorName"
++binderToJSON (ConstructorBinder ann d c bs) = object [ mkKey "binderType"  .= "ConstructorBinder"
++                                                     , mkKey "annotation"  .= annToJSON ann
++                                                     , mkKey "typeName"    .= qualifiedToJSON runProperName d
++                                                     , mkKey "constructorName"
+                                                                             .= qualifiedToJSON runProperName c
+-                                                     , T.pack "binders"     .= map binderToJSON bs
++                                                     , mkKey "binders"     .= map binderToJSON bs
+                                                      ]
+-binderToJSON (NamedBinder ann n b)          = object [ T.pack "binderType"  .= "NamedBinder"
+-                                                     , T.pack "annotation"  .= annToJSON ann
+-                                                     , T.pack "identifier"  .= identToJSON n
+-                                                     , T.pack "binder"      .= binderToJSON b
++binderToJSON (NamedBinder ann n b)          = object [ mkKey "binderType"  .= "NamedBinder"
++                                                     , mkKey "annotation"  .= annToJSON ann
++                                                     , mkKey "identifier"  .= identToJSON n
++                                                     , mkKey "binder"      .= binderToJSON b
+                                                      ]
Index: pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Docs_Types.hs
diff -u /dev/null pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Docs_Types.hs:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Docs_Types.hs  Wed Feb 23 16:22:33 2022
@@ -0,0 +1,54 @@
+$NetBSD: patch-src_Language_PureScript_Docs_Types.hs,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+Fix build with aeson-2.0
+
+--- src/Language/PureScript/Docs/Types.hs.orig 2022-02-20 17:30:25.395973220 +0000
++++ src/Language/PureScript/Docs/Types.hs
+@@ -20,6 +20,7 @@ import Data.Time.Clock (UTCTime)
+ import qualified Data.Time.Format as TimeFormat
+ import Data.Version
+ import qualified Data.Aeson as A
++import qualified Data.Aeson.Key as Key
+ import qualified Data.Text as T
+ import qualified Data.Vector as V
+ 
+@@ -702,7 +703,7 @@ asQualifiedProperName = fromAesonParser
+ asModuleMap :: Parse PackageError (Map P.ModuleName PackageName)
+ asModuleMap =
+   Map.fromList <$>
+-    eachInObjectWithKey (Right . P.moduleNameFromString)
++    eachInObjectWithKey (Right . P.moduleNameFromString . Key.toText)
+                         (withText parsePackageName')
+ 
+ -- This is here to preserve backwards compatibility with compilers which used
+@@ -722,7 +723,7 @@ bookmarksAsModuleMap =
+ 
+ asResolvedDependencies :: Parse PackageError [(PackageName, Version)]
+ asResolvedDependencies =
+-  eachInObjectWithKey parsePackageName' asVersion
++  eachInObjectWithKey (parsePackageName' . Key.toText) asVersion
+ 
+ parsePackageName' :: Text -> Either PackageError PackageName
+ parsePackageName' =
+@@ -751,10 +752,10 @@ instance A.ToJSON a => A.ToJSON (Package
+       , "version"              .= showVersion pkgVersion
+       , "versionTag"           .= pkgVersionTag
+       , "modules"              .= pkgModules
+-      , "moduleMap"            .= assocListToJSON P.runModuleName
++      , "moduleMap"            .= assocListToJSON (Key.fromText . P.runModuleName)
+                                                   runPackageName
+                                                   (Map.toList pkgModuleMap)
+-      , "resolvedDependencies" .= assocListToJSON runPackageName
++      , "resolvedDependencies" .= assocListToJSON (Key.fromText . runPackageName)
+                                                   (T.pack . showVersion)
+                                                   pkgResolvedDependencies
+       , "github"               .= pkgGithub
+@@ -840,7 +841,7 @@ instance A.ToJSON GithubRepo where
+ --
+ -- For example:
+ -- @assocListToJSON T.pack T.pack [("a", "b")]@ will give @{"a": "b"}@.
+-assocListToJSON :: (a -> Text) -> (b -> Text) -> [(a, b)] -> A.Value
++assocListToJSON :: (a -> A.Key) -> (b -> Text) -> [(a, b)] -> A.Value
+ assocListToJSON f g xs = A.object (map (uncurry (.=) . (f *** g)) xs)
+ 
+ instance A.ToJSON a => A.ToJSON (InPackage a) where
Index: pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Errors_JSON.hs
diff -u /dev/null pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Errors_JSON.hs:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Errors_JSON.hs Wed Feb 23 16:22:33 2022
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_Language_PureScript_Errors_JSON.hs,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+Fix build with GHC 9.2
+
+--- src/Language/PureScript/Errors/JSON.hs.orig        2022-02-20 18:03:10.579584907 +0000
++++ src/Language/PureScript/Errors/JSON.hs
+@@ -39,9 +39,9 @@ data JSONResult = JSONResult
+   } deriving (Show, Eq)
+ 
+ $(A.deriveJSON A.defaultOptions ''ErrorPosition)
++$(A.deriveJSON A.defaultOptions ''ErrorSuggestion)
+ $(A.deriveJSON A.defaultOptions ''JSONError)
+ $(A.deriveJSON A.defaultOptions ''JSONResult)
+-$(A.deriveJSON A.defaultOptions ''ErrorSuggestion)
+ 
+ toJSONErrors :: Bool -> P.Level -> P.MultipleErrors -> [JSONError]
+ toJSONErrors verbose level = map (toJSONError verbose level) . P.runMultipleErrors
Index: pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Graph.hs
diff -u /dev/null pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Graph.hs:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Graph.hs       Wed Feb 23 16:22:33 2022
@@ -0,0 +1,25 @@
+$NetBSD: patch-src_Language_PureScript_Graph.hs,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+Fix build with aeson-2.0
+
+--- src/Language/PureScript/Graph.hs.orig      2022-02-20 17:59:47.559345082 +0000
++++ src/Language/PureScript/Graph.hs
+@@ -3,7 +3,8 @@ module Language.PureScript.Graph (graph)
+ import Prelude.Compat
+ 
+ import qualified Data.Aeson as Json
+-import qualified Data.HashMap.Strict as HashMap
++import qualified Data.Aeson.Key as Key
++import qualified Data.Aeson.KeyMap as KeyMap
+ import qualified Data.Map as Map
+ 
+ import           Control.Monad (forM)
+@@ -44,7 +45,7 @@ moduleGraphToJSON
+ moduleGraphToJSON paths = Json.Object . foldl' insert mempty
+   where
+   insert :: Json.Object -> (ModuleName, [ModuleName]) -> Json.Object
+-  insert obj (mn, depends) = HashMap.insert (runModuleName mn) value obj
++  insert obj (mn, depends) = KeyMap.insert (Key.fromText $ runModuleName mn) value obj
+     where
+       path = fromMaybe (Crash.internalError "missing module name in graph") $ Map.lookup mn paths
+       value = Json.object
Index: pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Ide_Error.hs
diff -u /dev/null pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Ide_Error.hs:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Ide_Error.hs   Wed Feb 23 16:22:33 2022
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_Language_PureScript_Ide_Error.hs,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+Fix build with aeson-2.0
+
+--- src/Language/PureScript/Ide/Error.hs.orig  2022-02-20 18:04:21.957211592 +0000
++++ src/Language/PureScript/Ide/Error.hs
+@@ -19,7 +19,7 @@ module Language.PureScript.Ide.Error
+ 
+ import           Data.Aeson
+ import qualified Data.Aeson.Types as Aeson
+-import qualified Data.HashMap.Lazy as HM
++import qualified Data.Aeson.KeyMap as KM
+ import qualified Data.Text as T
+ import qualified Language.PureScript as P
+ import           Language.PureScript.Errors.JSON
+@@ -59,7 +59,7 @@ encodeRebuildErrors = toJSON . map encod
+ 
+     insertTSCompletions name idents fields (Aeson.Object value) =
+       Aeson.Object
+-        (HM.insert "pursIde"
++        (KM.insert "pursIde"
+          (object [ "name" .= name
+                  , "completions" .= ordNub (map identCompletion idents ++ map fieldCompletion fields)
+                  ]) value)
Index: pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Publish.hs
diff -u /dev/null pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Publish.hs:1.1
--- /dev/null   Wed Feb 23 16:22:33 2022
+++ pkgsrc/lang/purescript/patches/patch-src_Language_PureScript_Publish.hs     Wed Feb 23 16:22:33 2022
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_Language_PureScript_Publish.hs,v 1.1 2022/02/23 16:22:33 pho Exp $
+
+Fix build with aeson-2.0
+
+--- src/Language/PureScript/Publish.hs.orig    2022-02-20 18:01:35.029300166 +0000
++++ src/Language/PureScript/Publish.hs
+@@ -23,6 +23,7 @@ import Control.Arrow ((***))
+ import Control.Category ((>>>))
+ import Control.Monad.Writer.Strict (MonadWriter, WriterT, runWriterT, tell)
+ 
++import qualified Data.Aeson.Key as Key
+ import Data.Aeson.BetterErrors (Parse, parse, keyMay, eachInObjectWithKey, key, asString, withString)
+ import qualified Data.ByteString.Lazy as BL
+ import Data.String (String, lines)
+@@ -321,7 +322,7 @@ parseResolutionsFile resolutionsFile = d
+ -- "path" field is required.
+ asResolutions :: Parse D.PackageError [(PackageName, (FilePath, DependencyStatus))]
+ asResolutions =
+-  eachInObjectWithKey parsePackageName $
++  eachInObjectWithKey (parsePackageName . Key.toText) $
+     (,) <$> key "path" asString
+         <*> (maybe NoResolution ResolvedVersion <$> keyMay "version" asVersion)
+ 



Home | Main Index | Thread Index | Old Index