Thu Feb 24 01:27:40 2022 UTC ()
lang/spago: import spago-0.20.7

PureScript package manager and build tool powered by Dhall and
package-sets.


(pho)
diff -r0 -r1.1 pkgsrc/lang/spago/DESCR
diff -r0 -r1.1 pkgsrc/lang/spago/Makefile
diff -r0 -r1.1 pkgsrc/lang/spago/PLIST
diff -r0 -r1.1 pkgsrc/lang/spago/distinfo
diff -r0 -r1.1 pkgsrc/lang/spago/patches/patch-src_Spago_Bower.hs

File Added: pkgsrc/lang/spago/DESCR
PureScript package manager and build tool powered by Dhall and
package-sets.

File Added: pkgsrc/lang/spago/Makefile
# $NetBSD: Makefile,v 1.1 2022/02/24 01:27:40 pho Exp $

DISTNAME=	spago-0.20.7
PKGNAME=	${DISTNAME}
CATEGORIES=	lang
MASTER_SITES=	${MASTER_SITE_GITHUB:=purescript/}
DISTFILES=	${DEFAULT_DISTFILES}
DIST_SUBDIR=	${PKGBASE}

# NOTE: This has to be kept in sync with ${WRKSRC}/scripts/fetch-templates
.for version in 0.0.10 0.0.11
DISTFILES+=					docs-search-app-${version}.js
EXTRACT_DIR.docs-search-app-${version}.js=	${WRKSRC}/templates
SITES.docs-search-app-${version}.js=		\
	-https://github.com/purescript/purescript-docs-search/releases/download/v${version}/docs-search-app.js

DISTFILES+=					purescript-docs-search-${version}
EXTRACT_DIR.purescript-docs-search-${version}=	${WRKSRC}/templates
SITES.purescript-docs-search-${version}=	\
	-https://github.com/purescript/purescript-docs-search/releases/download/v${version}/purescript-docs-search

REPLACE_FILES.node+=	templates/purescript-docs-search-${version}
.endfor

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	https://github.com/purescript/spago\#readme
COMMENT=	PureScript package manager and build tool
LICENSE=	modified-bsd

REPLACE_INTERPRETER+=	node
REPLACE.node.old=	.*node
REPLACE.node.new=	${PREFIX}/bin/node

# If spago is to be linked dynamically, it will depend on more than 200
# shared objects and the dynamic linker will spend several seconds to
# resolve symbols on startup. This is unacceptable because spago tends to
# be launched fairly 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

# This package installs an executable that can generate shell completion
# scripts automatically.
.include "../../devel/hs-optparse-applicative/application.mk"

.include "../../textproc/hs-Glob/buildlink3.mk"
.include "../../converters/hs-aeson/buildlink3.mk"
.include "../../converters/hs-aeson-pretty/buildlink3.mk"
.include "../../devel/hs-ansi-terminal/buildlink3.mk"
.include "../../devel/hs-async-pool/buildlink3.mk"
.include "../../www/hs-bower-json/buildlink3.mk"
.include "../../security/hs-cryptonite/buildlink3.mk"
.include "../../lang/dhall/buildlink3.mk"
.include "../../devel/hs-either/buildlink3.mk"
.include "../../devel/hs-file-embed/buildlink3.mk"
.include "../../devel/hs-foldl/buildlink3.mk"
.include "../../devel/hs-fsnotify/buildlink3.mk"
.include "../../devel/hs-generic-lens/buildlink3.mk"
.include "../../www/hs-http-client/buildlink3.mk"
.include "../../www/hs-http-conduit/buildlink3.mk"
.include "../../www/hs-http-types/buildlink3.mk"
.include "../../devel/hs-lens-family-core/buildlink3.mk"
.include "../../textproc/hs-megaparsec/buildlink3.mk"
.include "../../net/hs-network-uri/buildlink3.mk"
.include "../../www/hs-open-browser/buildlink3.mk"
.include "../../textproc/hs-prettyprinter/buildlink3.mk"
.include "../../devel/hs-retry/buildlink3.mk"
.include "../../devel/hs-rio/buildlink3.mk"
.include "../../devel/hs-rio-orphans/buildlink3.mk"
.include "../../devel/hs-safe/buildlink3.mk"
.include "../../devel/hs-semver-range/buildlink3.mk"
.include "../../textproc/hs-stringsearch/buildlink3.mk"
.include "../../archivers/hs-tar/buildlink3.mk"
.include "../../sysutils/hs-temporary/buildlink3.mk"
.include "../../devel/hs-turtle/buildlink3.mk"
.include "../../devel/hs-unliftio/buildlink3.mk"
.include "../../devel/hs-unordered-containers/buildlink3.mk"
.include "../../devel/hs-utf8-string/buildlink3.mk"
.include "../../devel/hs-versions/buildlink3.mk"
.include "../../devel/hs-with-utf8/buildlink3.mk"
.include "../../archivers/hs-zlib/buildlink3.mk"
.include "../../mk/haskell.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/lang/spago/PLIST
@comment $NetBSD: PLIST,v 1.1 2022/02/24 01:27:40 pho Exp $
bin/spago
lib/${PKGNAME}/${HS_VERSION}/package-description
lib/${PKGNAME}/${HS_VERSION}/package-id
lib/${HS_PLATFORM}/${HS_PKGID}/Paths_spago.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Async.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Bower.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Build.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/CLI.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Command/Init.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Command/Ls.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Command/Path.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Command/Verify.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Config.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Dhall.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/DryRun.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Env.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/FetchPackage.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Git.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/GitHub.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/GlobalCache.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Messages.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/PackageSet.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Packages.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Prelude.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/PscPackage.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Purs.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/RunEnv.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/TH.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Templates.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Types.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Version.hi
lib/${HS_PLATFORM}/${HS_PKGID}/Spago/Watch.hi
lib/${HS_PLATFORM}/${HS_PKGID}/libHS${HS_PKGID}.a
share/doc/${HS_PLATFORM}/${PKGNAME}/LICENSE
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Async.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Bower.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Build.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-CLI.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Command-Init.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Command-Ls.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Command-Path.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Command-Verify.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Config.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Dhall.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-DryRun.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Env.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-FetchPackage.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Git.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-GitHub.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-GlobalCache.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Messages.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-PackageSet.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Packages.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Prelude.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-PscPackage.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Purs.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-RunEnv.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-TH.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Templates.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Types.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Version.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/Spago-Watch.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-124.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-36.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-37.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-38.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-42.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-43.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-45.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-46.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-47.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-58.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-60.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-61.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-62.html
share/doc/${HS_PLATFORM}/${PKGNAME}/html/doc-index-94.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-Y.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/quick-jump.css
share/doc/${HS_PLATFORM}/${PKGNAME}/html/spago.haddock
share/doc/${HS_PLATFORM}/${PKGNAME}/html/synopsis.png

File Added: pkgsrc/lang/spago/distinfo
$NetBSD: distinfo,v 1.1 2022/02/24 01:27:40 pho Exp $

BLAKE2s (spago/docs-search-app-0.0.10.js) = 6688bba140b19751323a75faa6e3bc9919903ee83452af71b7cacb1de3de2cc2
SHA512 (spago/docs-search-app-0.0.10.js) = 3489977e2f5bad60231ec866809cac156d085cdf4d6222fb1260c48ecee922d42a0ac2f81e99ddce57701ba278bc9cb05d99c924cb41aba21474553b74073e7c
Size (spago/docs-search-app-0.0.10.js) = 468584 bytes
BLAKE2s (spago/docs-search-app-0.0.11.js) = 750d14a501f26c367285755b1d17017faeeb69de84f952a91086e0b52a9e4729
SHA512 (spago/docs-search-app-0.0.11.js) = 63c5753b458656b9b6464f8c3eda1fa51927016f261c3cb20decf204befedf35a13c167f09c56f377d31fc39894b38fd214cc9fe27c34f561da2e37a71ac1bd8
Size (spago/docs-search-app-0.0.11.js) = 462590 bytes
BLAKE2s (spago/purescript-docs-search-0.0.10) = fb9a13bfe1a29165621ae09cdf2bfadba289f3a7ad731cf6c2442d03f11860de
SHA512 (spago/purescript-docs-search-0.0.10) = f5f8f2391f156d962f10ed930c1dce0a86ddfec88811c83f46b7dd2a33af9b62e2f774f1fa5c12337f5c9d40bf4f61ae0351111ee596cd1fd604d74041cf5d3d
Size (spago/purescript-docs-search-0.0.10) = 421322 bytes
BLAKE2s (spago/purescript-docs-search-0.0.11) = e5f03da04530b8ba4f56ec868c1aff5ab49b3239c4aa9a4bfee7e4ed0f5f0174
SHA512 (spago/purescript-docs-search-0.0.11) = 1b3f659f04fafe13aa1b87f3e193875c359c377d48609be39a412f0b41dd668ebe18f65a423da05ba4ff6239d1dcd0d6e3c051b538452feeb3998d9ba6161cdf
Size (spago/purescript-docs-search-0.0.11) = 426985 bytes
BLAKE2s (spago/spago-0.20.7.tar.gz) = 351050d778dc5c55aa9d8e8eaec915d312214ec11fb4d593605eeac52fa5d468
SHA512 (spago/spago-0.20.7.tar.gz) = 5562f886d3cfdc9f66c3e66eafe5d221344047bcbf89c9874fbc015dcb4d96937ca758a7434ad93ab41f90b677036a96743aaa476556f7753824850218c73d82
Size (spago/spago-0.20.7.tar.gz) = 131912 bytes
SHA1 (patch-src_Spago_Bower.hs) = 8bbedecd2206c794de516b9378c3cd0001680966

File Added: pkgsrc/lang/spago/patches/patch-src_Spago_Bower.hs
$NetBSD: patch-src_Spago_Bower.hs,v 1.1 2022/02/24 01:27:40 pho Exp $

Fix build with aeson-2.0

--- src/Spago/Bower.hs.orig	2022-02-21 10:02:11.595064997 +0000
+++ src/Spago/Bower.hs
@@ -9,7 +9,7 @@ import Spago.Env
 
 import qualified Data.Aeson                 as Aeson
 import qualified Data.Aeson.Encode.Pretty   as Pretty
-import qualified Data.HashMap.Strict        as HashMap
+import qualified Data.Aeson.KeyMap          as KeyMap
 import qualified Data.Text                  as Text
 import qualified System.Info
 import qualified Turtle
@@ -109,7 +109,7 @@ mkBowerVersion packageName version (Repo
       Just (Object obj) -> pure obj
       _ -> die [ display $ "Unable to decode output from `bower " <> Text.intercalate " " args <> "`: ", display out ]
 
-    if HashMap.member "version" info
+    if KeyMap.member "version" info
       then pure $ Bower.VersionRange $ "^" <> version
       else pure $ Bower.VersionRange $ repo <> "#" <> version