Hi Greg,
On Mon, Feb 22, 2021 at 08:40:40AM -0800, Greg Steuck wrote:
> > Now that 3.4 is properly out I can upgrade it and to my surprise the old
> > framework can be left untouched for cabal-install upgrade. So, as a
> > first (backward compatible) step here's something we can submit ASAP.
> >
> > Matthias, if you don't feel like looking at this at the moment, could
> > you let me know so I can corral another reviewer?
> >
> > OK?
>
> I figured out where the man page was hiding. Update patch below.
>
> Subject: [PATCH] Upgrade cabal-install to 3.4.0.0
>
> Uses a bootstrap.py developed upstream to limit Haskell dependencies
> to just lang/ghc. This will allow cabal-install to be at the base of
> cabal-based Haskell ports framework.
Looks and builds fine to me. Thanks!
Ciao,
Kili
> ---
> devel/cabal-install/Makefile | 91 +++--
> devel/cabal-install/distinfo | 84 ++++-
> devel/cabal-install/files/openbsd-8.6.4.json | 340 +++++++++++++++++++
> 3 files changed, 487 insertions(+), 28 deletions(-)
> create mode 100644 devel/cabal-install/files/openbsd-8.6.4.json
>
> diff --git a/devel/cabal-install/Makefile b/devel/cabal-install/Makefile
> index 6f4c559ea84..5163aae457e 100644
> --- a/devel/cabal-install/Makefile
> +++ b/devel/cabal-install/Makefile
> @@ -2,10 +2,14 @@
>
> COMMENT = command-line interface for Cabal and Hackage
>
> -DISTNAME = cabal-install-2.4.0.0
> +DISTNAME = cabal-install-3.4.0.0
> CATEGORIES = devel
>
> -HOMEPAGE = http://www.haskell.org/cabal/
> +GH_ACCOUNT = haskell
> +GH_TAGNAME = ${DISTNAME}
> +GH_PROJECT = cabal
> +
> +HOMEPAGE = https://github.com/haskell/cabal
>
> MAINTAINER = Matthias Kilian <[email protected]>
>
> @@ -14,35 +18,70 @@ PERMIT_PACKAGE = Yes
>
> WANTLIB = c charset ffi gmp iconv m pthread util z
>
> -MODULES = lang/ghc
> MODGHC_BUILD = cabal hackage nort
>
> LIB_DEPENDS = converters/libiconv \
> devel/gmp \
> devel/libffi
>
> -# Avoids the dependency on resolve.
> -MODGHC_SETUP_CONF_ARGS += -f-native-dns
> -
> -BUILD_DEPENDS += archivers/hs-zlib>=0.5.3,<0.7 \
> - archivers/hs-zip-archive>=0.3.2.5,<0.5 \
> - devel/hs-async>=2.0,<3 \
> - devel/hs-base16-bytestring>=0.1.1,<0.2 \
> - devel/hs-echo>=0.1.3,<0.2 \
> - devel/hs-edit-distance>=0.2.2,<0.3 \
> - devel/hs-hashable>=1.0,<2 \
> - devel/hs-network>=2.6,<2.7 \
> - devel/hs-network-uri>=2.6,<2.7 \
> - devel/hs-random>=1,<1.2 \
> - devel/hs-tar>=0.5.0.3,<0.6 \
> - net/hs-HTTP>=4000.1.5,<4000.4 \
> - security/hs-cryptohash-sha256>=0.11,<0.12 \
> - security/hs-hackage-security>=0.5.2.2,<0.6
> -
> -# Cabal (part of lang/ghc) would have patched for a correct mandir,
> -# but this is for now the only haskell program using Cabal to install a
> -# man page.
> -post-install:
> - mv ${PREFIX}/share/man/man1/cabal.1 ${PREFIX}/man/man1/cabal.1
> +# bootstrap.py handles the extraction of the rest of files.
> +EXTRACT_ONLY = ${DISTNAME}.tar.gz
> +DISTFILES = ${EXTRACT_ONLY}
> +DIST_SUBDIR = hackage
> +MASTER_SITES0 = https://hackage.haskell.org/package/
> +
> +# Produced by:
> +# cabal v2-run -w /usr/local/bin/ghc exe:cabal-bundler -- \
> +# --openbsd cabal -w /usr/local/bin/ghc -p
> cabal/dist-newstyle/cache/plan.json
> +_MANIFEST = \
> + HTTP 4000.3.14 1 \
> + async 2.2.2 1 \
> + base16-bytestring 0.1.1.7 0 \
> + base64-bytestring 1.1.0.0 0 \
> + cryptohash-sha256 0.11.101.0 4 \
> + echo 0.1.3 1 \
> + ed25519 0.0.5.0 3 \
> + edit-distance 0.2.2.1 1 \
> + hackage-security 0.6.0.1 2 \
> + hashable 1.3.0.0 1 \
> + lukko 0.1.1.2 0 \
> + network 3.1.1.1 0 \
> + network-uri 2.6.3.0 0 \
> + random 1.2.0 0 \
> + regex-base 0.94.0.0 1 \
> + regex-posix 0.96.0.0 1 \
> + resolv 0.1.2.0 0 \
> + splitmix 0.1 0 \
> + tar 0.5.1.1 2 \
> + zlib 0.6.2.1 1 \
> +
> +.for _package _version _revision in ${_MANIFEST}
> +DISTFILES += {${_package}-${_version}/}${_package}-${_version}.tar.gz:0
> +DISTFILES +=
> ${_package}-${_version}_${_revision}{${_package}-${_version}/revision/${_revision}}.cabal:0
> +.endfor
> +
> +BUILD_DEPENDS += lang/ghc>=8.6.4
> +
> +MODULES = lang/python
> +
> +MODPY_VERSION = ${MODPY_DEFAULT_VERSION_3}
> +
> +post-extract:
> + @mkdir -p ${WRKBUILD}/_build/tarballs
> +.for _package _version _revision in ${_MANIFEST}
> + @ln -s ${FULLDISTDIR}/${_package}-${_version}.tar.gz
> ${WRKBUILD}/_build/tarballs
> + @ln -s ${FULLDISTDIR}/${_package}-${_version}_${_revision}.cabal
> ${WRKBUILD}/_build/tarballs/${_package}.cabal
> +.endfor
> +
> +# Uses the same fixed versions of packages as in _MANIFEST. The
> +# distributed package currently doesn't have a 8.10.3 variant. The
> +# json file is generated by following cabal bootstrap instructions.
> +do-build:
> + @cd ${WRKBUILD} && ${MODPY_BIN} bootstrap/bootstrap.py -d
> ${FILESDIR}/openbsd-8.6.4.json
> +
> +do-install:
> + @install -m755 ${WRKBUILD}/_build/bin/cabal ${PREFIX}/bin
> + ${PREFIX}/bin/cabal man --raw > ${WRKSRC}/cabal.1
> + ${INSTALL_MAN} ${WRKSRC}/cabal.1 ${PREFIX}/man/man1/cabal.1
>
> .include <bsd.port.mk>
> diff --git a/devel/cabal-install/distinfo b/devel/cabal-install/distinfo
> index ed70ae5f09c..b1f98a02fad 100644
> --- a/devel/cabal-install/distinfo
> +++ b/devel/cabal-install/distinfo
> @@ -1,2 +1,82 @@
> -SHA256 (ghc/cabal-install-2.4.0.0.tar.gz) =
> EynpVktzawz7p205YgTZVWnwgOfFT+NVttlhjjqgvvY=
> -SIZE (ghc/cabal-install-2.4.0.0.tar.gz) = 614491
> +SHA256 (hackage/HTTP-4000.3.14.tar.gz) =
> pgLX8w6RcWTGpjT4yx9d9ISQSIWNsBOAoIdeFuWqaHs=
> +SHA256 (hackage/HTTP-4000.3.14_1.cabal) =
> PBmXX9/Y0Ffq5YhHvaanlRStiC/W+OrXKsAkevNL38Y=
> +SHA256 (hackage/async-2.2.2.tar.gz) =
> S0qxrILEUUTYLG2vbLa6Req5lX2tRHh/pehp4j1zu/8=
> +SHA256 (hackage/async-2.2.2_1.cabal) =
> oXjBZoVtp/8i/kUAM3tUgS6U/SBZQJRSGH1y4Fft6c0=
> +SHA256 (hackage/base16-bytestring-0.1.1.7.tar.gz) =
> UlaJZ51cyA+lMsHVz+rOD2K7tUE0+tUU8boA0Of+abo=
> +SHA256 (hackage/base16-bytestring-0.1.1.7_0.cabal) =
> jLuiUF1NpPbPyQzTbI6K0MCcBWU4SB6gDosQt49wyxA=
> +SHA256 (hackage/base64-bytestring-1.1.0.0.tar.gz) =
> IQ1skEIkHKUu5dic8iHb600OZLNzkTRTaQNa0tm0rKk=
> +SHA256 (hackage/base64-bytestring-1.1.0.0_0.cabal) =
> GQJk/vnmXZCF8AzNpBkTcJbR3JR3fFgnK8loIdx/N8M=
> +SHA256 (hackage/cabal-install-3.4.0.0.tar.gz) =
> 5PvV6x13QAdGqZNnkYHxWapBWje5MbJtZ/VgL2POlxw=
> +SHA256 (hackage/cryptohash-sha256-0.11.101.0.tar.gz) =
> UnVkNdvqJI40T7y8xd9TB/YN+s8zff0RrjDxx6TaBd0=
> +SHA256 (hackage/cryptohash-sha256-0.11.101.0_4.cabal) =
> uWPWMI2wljYtc9nGA7MxzxiKppMQGV9Hnf7fYEXX5gI=
> +SHA256 (hackage/echo-0.1.3.tar.gz) =
> cE8HMQ+CctFw+Kt/sqLBPxXYUB74MQgB42lkyO/0he8=
> +SHA256 (hackage/echo-0.1.3_1.cabal) =
> VJC+nPvqleFKemi30FWujSlYIuCxRtKsgoWz5aPjKC8=
> +SHA256 (hackage/ed25519-0.0.5.0.tar.gz) =
> 2KWVjr+pMJeQ763mQnXcXEQbVoZFxFzu0bDG/zbWFW0=
> +SHA256 (hackage/ed25519-0.0.5.0_3.cabal) =
> +5iwjeRn1R94j4vZOR8Omrm9TY38JkKWuJX/6g2CLfo=
> +SHA256 (hackage/edit-distance-0.2.2.1.tar.gz) =
> PoiF7i9WrU2pQPBDro+YHuL+M2tejkuj90Ns/09SbEo=
> +SHA256 (hackage/edit-distance-0.2.2.1_1.cabal) =
> TTOknNOD1QrwkPG4iGQtEBFuQ4CfnaYCPZ/G9n0mVu4=
> +SHA256 (hackage/hackage-security-0.6.0.1.tar.gz) =
> kWK0c69aIcH/MqULlyuaz1H0yQFgSiLPCKLcysL4Lxc=
> +SHA256 (hackage/hackage-security-0.6.0.1_2.cabal) =
> aSw4XAhbqigTBGrljjHfIcJQNGuByIJDG1/+92RRoYo=
> +SHA256 (hackage/hashable-1.3.0.0.tar.gz) =
> gi5UE/vMymrohNOrpAZkIsi11Y0j0Yuey1wDJzuxmrQ=
> +SHA256 (hackage/hashable-1.3.0.0_1.cabal) =
> THDxQHiBBZ6TVQ03QhkSVClrJze3k6dCvZATSPs+H7E=
> +SHA256 (hackage/lukko-0.1.1.2.tar.gz) =
> innRE9wMzvFsJNgzecxFdIWUMCfnd1KcRjYv7MBmB9I=
> +SHA256 (hackage/lukko-0.1.1.2_0.cabal) =
> ydP6MPtqsroW4DdYbKeb5uV+xfADgbbuXyk0ANvfVRU=
> +SHA256 (hackage/network-3.1.1.1.tar.gz) =
> 1+9ZAXP/8qtSL7wWfz+vuGfk7Pyiees+8NE3tR8ULJo=
> +SHA256 (hackage/network-3.1.1.1_0.cabal) =
> twTLZnbAPpgmcZDfeXSXWHV2oulglFUOoUNBUjm75m4=
> +SHA256 (hackage/network-uri-2.6.3.0.tar.gz) =
> oBwTifFdLMLoR5FHN/cGEzuxHwxfjuiXEaNqJbevpyM=
> +SHA256 (hackage/network-uri-2.6.3.0_0.cabal) =
> 0tn/OoDZstH/MXo1S8DFbMEJxppMJEnl/HEtPdzoPt4=
> +SHA256 (hackage/random-1.2.0.tar.gz) =
> 5FGc98BYv9W9vkrMeCKErMniXnRIcghhnKg8vNY/ud4=
> +SHA256 (hackage/random-1.2.0_0.cabal) =
> XKhnTpXEbH65D1IMJq6iLUA2Jcl2lydUNK+6ZuvTKwU=
> +SHA256 (hackage/regex-base-0.94.0.0.tar.gz) =
> xB+C9fwRV8lhpMvcDNVWHlqkTzOc5ucG2XjZfgymuRQ=
> +SHA256 (hackage/regex-base-0.94.0.0_1.cabal) =
> RKqVynYilP+7KM8K+cVn2TtdLFbk84zlOFolfYmflo4=
> +SHA256 (hackage/regex-posix-0.96.0.0.tar.gz) =
> JRMA8aa7LpGruL9ROiGYH4+recmKZazqK7bWpSRBRSE=
> +SHA256 (hackage/regex-posix-0.96.0.0_1.cabal) =
> aQ0TZunqbfcd7T2vSco9U8Y+2j+Vk3liKZsjkYJNw7M=
> +SHA256 (hackage/resolv-0.1.2.0.tar.gz) =
> gaK6+tSE2xI8+NF6AtmLs4ihJ/0Pgi+gIliUaKDmRnE=
> +SHA256 (hackage/resolv-0.1.2.0_0.cabal) =
> Cppt0pcGJYrmClwirswUCkB0O48I/DJP2ZhOffvzqA0=
> +SHA256 (hackage/splitmix-0.1.tar.gz) =
> HBHIc1LduxM2U4D+Fj+Zu4+IRevJbKHVcuXTqb+BC/o=
> +SHA256 (hackage/splitmix-0.1_0.cabal) =
> 1QxNCAGjW+eHWgQEcMCYYzQlFJMMgqfSV4Cmwu/E/ak=
> +SHA256 (hackage/tar-0.5.1.1.tar.gz) =
> s4REn2KysKo+bSyxAEuAYLAfIeyT57Y+evbY+tip8d4=
> +SHA256 (hackage/tar-0.5.1.1_2.cabal) =
> enFUFMTUlMkEjPttdjTgfncyyhVMuJONyF9uoZIZLow=
> +SHA256 (hackage/zlib-0.6.2.1.tar.gz) =
> 8PgQ/xc1YLYDkttEhFXAUTsyOfSOQ8tJSzczqlWWIdA=
> +SHA256 (hackage/zlib-0.6.2.1_1.cabal) =
> 003fX+zk0enUcbUpjzYzW7PP4Sy1obhSXELwtmU4L0U=
> +SIZE (hackage/HTTP-4000.3.14.tar.gz) = 72938
> +SIZE (hackage/HTTP-4000.3.14_1.cabal) = 5843
> +SIZE (hackage/async-2.2.2.tar.gz) = 12927
> +SIZE (hackage/async-2.2.2_1.cabal) = 2934
> +SIZE (hackage/base16-bytestring-0.1.1.7.tar.gz) = 5136
> +SIZE (hackage/base16-bytestring-0.1.1.7_0.cabal) = 2153
> +SIZE (hackage/base64-bytestring-1.1.0.0.tar.gz) = 12076
> +SIZE (hackage/base64-bytestring-1.1.0.0_0.cabal) = 2334
> +SIZE (hackage/cabal-install-3.4.0.0.tar.gz) = 2072483
> +SIZE (hackage/cryptohash-sha256-0.11.101.0.tar.gz) = 14996
> +SIZE (hackage/cryptohash-sha256-0.11.101.0_4.cabal) = 5417
> +SIZE (hackage/echo-0.1.3.tar.gz) = 5373
> +SIZE (hackage/echo-0.1.3_1.cabal) = 2500
> +SIZE (hackage/ed25519-0.0.5.0.tar.gz) = 80034
> +SIZE (hackage/ed25519-0.0.5.0_3.cabal) = 4165
> +SIZE (hackage/edit-distance-0.2.2.1.tar.gz) = 13228
> +SIZE (hackage/edit-distance-0.2.2.1_1.cabal) = 2351
> +SIZE (hackage/hackage-security-0.6.0.1.tar.gz) = 86006
> +SIZE (hackage/hackage-security-0.6.0.1_2.cabal) = 12001
> +SIZE (hackage/hashable-1.3.0.0.tar.gz) = 29835
> +SIZE (hackage/hashable-1.3.0.0_1.cabal) = 5206
> +SIZE (hackage/lukko-0.1.1.2.tar.gz) = 28366
> +SIZE (hackage/lukko-0.1.1.2_0.cabal) = 4485
> +SIZE (hackage/network-3.1.1.1.tar.gz) = 118478
> +SIZE (hackage/network-3.1.1.1_0.cabal) = 4268
> +SIZE (hackage/network-uri-2.6.3.0.tar.gz) = 31997
> +SIZE (hackage/network-uri-2.6.3.0_0.cabal) = 2902
> +SIZE (hackage/random-1.2.0.tar.gz) = 37889
> +SIZE (hackage/random-1.2.0_0.cabal) = 5897
> +SIZE (hackage/regex-base-0.94.0.0.tar.gz) = 9679
> +SIZE (hackage/regex-base-0.94.0.0_1.cabal) = 2253
> +SIZE (hackage/regex-posix-0.96.0.0.tar.gz) = 12529
> +SIZE (hackage/regex-posix-0.96.0.0_1.cabal) = 2531
> +SIZE (hackage/resolv-0.1.2.0.tar.gz) = 156710
> +SIZE (hackage/resolv-0.1.2.0_0.cabal) = 4548
> +SIZE (hackage/splitmix-0.1.tar.gz) = 18997
> +SIZE (hackage/splitmix-0.1_0.cabal) = 5249
> +SIZE (hackage/tar-0.5.1.1.tar.gz) = 39155
> +SIZE (hackage/tar-0.5.1.1_2.cabal) = 5254
> +SIZE (hackage/zlib-0.6.2.1.tar.gz) = 143424
> +SIZE (hackage/zlib-0.6.2.1_1.cabal) = 4547
> diff --git a/devel/cabal-install/files/openbsd-8.6.4.json
> b/devel/cabal-install/files/openbsd-8.6.4.json
> new file mode 100644
> index 00000000000..eee5f9eefeb
> --- /dev/null
> +++ b/devel/cabal-install/files/openbsd-8.6.4.json
> @@ -0,0 +1,340 @@
> +{
> + "builtin": [
> + {
> + "package": "rts",
> + "version": "1.0"
> + },
> + {
> + "package": "ghc-prim",
> + "version": "0.5.3"
> + },
> + {
> + "package": "integer-gmp",
> + "version": "1.0.2.0"
> + },
> + {
> + "package": "base",
> + "version": "4.12.0.0"
> + },
> + {
> + "package": "array",
> + "version": "0.5.3.0"
> + },
> + {
> + "package": "deepseq",
> + "version": "1.4.4.0"
> + },
> + {
> + "package": "bytestring",
> + "version": "0.10.8.2"
> + },
> + {
> + "package": "containers",
> + "version": "0.6.0.1"
> + },
> + {
> + "package": "binary",
> + "version": "0.8.6.0"
> + },
> + {
> + "package": "filepath",
> + "version": "1.4.2.1"
> + },
> + {
> + "package": "time",
> + "version": "1.8.0.2"
> + },
> + {
> + "package": "unix",
> + "version": "2.7.2.2"
> + },
> + {
> + "package": "directory",
> + "version": "1.3.3.0"
> + },
> + {
> + "package": "transformers",
> + "version": "0.5.6.2"
> + },
> + {
> + "package": "mtl",
> + "version": "2.2.2"
> + },
> + {
> + "package": "text",
> + "version": "1.2.3.1"
> + },
> + {
> + "package": "parsec",
> + "version": "3.1.13.0"
> + },
> + {
> + "package": "pretty",
> + "version": "1.1.3.6"
> + },
> + {
> + "package": "process",
> + "version": "1.6.5.0"
> + },
> + {
> + "package": "ghc-boot-th",
> + "version": "8.6.4"
> + },
> + {
> + "package": "template-haskell",
> + "version": "2.14.0.0"
> + },
> + {
> + "package": "stm",
> + "version": "2.5.0.0"
> + }
> + ],
> + "dependencies": [
> + {
> + "cabal_sha256": null,
> + "flags": [
> + "-bundled-binary-generic"
> + ],
> + "package": "Cabal",
> + "revision": null,
> + "source": "local",
> + "src_sha256": null,
> + "version": "3.4.0.0"
> + },
> + {
> + "cabal_sha256":
> "b704cb6676c03e98267190df797497587576a2e96094550ea143415239bbe66e",
> + "flags": [],
> + "package": "network",
> + "revision": 0,
> + "source": "hackage",
> + "src_sha256":
> "d7ef590173fff2ab522fbc167f3fafb867e4ecfca279eb3ef0d137b51f142c9a",
> + "version": "3.1.1.1"
> + },
> + {
> + "cabal_sha256":
> "d2d9ff3a80d9b2d1ff317a354bc0c56cc109c69a4c2449e5fc712d3ddce83ede",
> + "flags": [],
> + "package": "network-uri",
> + "revision": 0,
> + "source": "hackage",
> + "src_sha256":
> "a01c1389f15d2cc2e847914737f706133bb11f0c5f8ee89711a36a25b7afa723",
> + "version": "2.6.3.0"
> + },
> + {
> + "cabal_sha256":
> "3c19975fdfd8d057eae58847bda6a79514ad882fd6f8ead72ac0247af34bdfc6",
> + "flags": [
> + "-conduit10",
> + "-mtl1",
> + "+network-uri",
> + "-warn-as-error",
> + "-warp-tests"
> + ],
> + "package": "HTTP",
> + "revision": 1,
> + "source": "hackage",
> + "src_sha256":
> "a602d7f30e917164c6a634f8cb1f5df4849048858db01380a0875e16e5aa687b",
> + "version": "4000.3.14"
> + },
> + {
> + "cabal_sha256":
> "4c70f1407881059e93550d3742191254296b2737b793a742bd901348fb3e1fb1",
> + "flags": [
> + "-examples",
> + "+integer-gmp",
> + "+sse2",
> + "-sse41"
> + ],
> + "package": "hashable",
> + "revision": 1,
> + "source": "hackage",
> + "src_sha256":
> "822e5413fbccca6ae884d3aba4066422c8b5d58d23d18b9ecb5c03273bb19ab4",
> + "version": "1.3.0.0"
> + },
> + {
> + "cabal_sha256":
> "a178c166856da7ff22fe4500337b54812e94fd2059409452187d72e057ede9cd",
> + "flags": [
> + "-bench"
> + ],
> + "package": "async",
> + "revision": 1,
> + "source": "hackage",
> + "src_sha256":
> "4b4ab1ac82c45144d82c6daf6cb6ba45eab9957dad44787fa5e869e23d73bbff",
> + "version": "2.2.2"
> + },
> + {
> + "cabal_sha256":
> "8cbba2505d4da4f6cfc90cd36c8e8ad0c09c056538481ea00e8b10b78f70cb10",
> + "flags": [],
> + "package": "base16-bytestring",
> + "revision": 0,
> + "source": "hackage",
> + "src_sha256":
> "525689679d5cc80fa532c1d5cfeace0f62bbb54134fad514f1ba00d0e7fe69ba",
> + "version": "0.1.1.7"
> + },
> + {
> + "cabal_sha256":
> "190264fef9e65d9085f00ccda419137096d1dc94777c58272bc96821dc7f37c3",
> + "flags": [],
> + "package": "base64-bytestring",
> + "revision": 0,
> + "source": "hackage",
> + "src_sha256":
> "210d6c9042241ca52ee5d89cf221dbeb4d0e64b37391345369035ad2d9b4aca9",
> + "version": "1.1.0.0"
> + },
> + {
> + "cabal_sha256":
> "b963d6308db096362d73d9c603b331cf188aa69310195f479dfedf6045d7e602",
> + "flags": [
> + "-exe"
> + ],
> + "package": "cryptohash-sha256",
> + "revision": 4,
> + "source": "hackage",
> + "src_sha256":
> "52756435dbea248e344fbcbcc5df5307f60dfacf337dfd11ae30f1c7a4da05dd",
> + "version": "0.11.101.0"
> + },
> + {
> + "cabal_sha256":
> "5490be9cfbea95e14a7a68b7d055ae8d295822e0b146d2ac8285b3e5a3e3282f",
> + "flags": [
> + "-example"
> + ],
> + "package": "echo",
> + "revision": 1,
> + "source": "hackage",
> + "src_sha256":
> "704f07310f8272d170f8ab7fb2a2c13f15d8501ef8310801e36964c8eff485ef",
> + "version": "0.1.3"
> + },
> + {
> + "cabal_sha256":
> "d50c4d0801a35be7875a040470c09863342514930c82a7d25780a6c2efc4fda9",
> + "flags": [
> + "-optimised-mixer"
> + ],
> + "package": "splitmix",
> + "revision": 0,
> + "source": "hackage",
> + "src_sha256":
> "1c11c87352ddbb13365380fe163f99bb8f8845ebc96ca1d572e5d3a9bf810bfa",
> + "version": "0.1"
> + },
> + {
> + "cabal_sha256":
> "5ca8674e95c46c7eb90f520c26aea22d403625c97697275434afba66ebd32b05",
> + "flags": [],
> + "package": "random",
> + "revision": 0,
> + "source": "hackage",
> + "src_sha256":
> "e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de",
> + "version": "1.2.0"
> + },
> + {
> + "cabal_sha256":
> "4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee",
> + "flags": [],
> + "package": "edit-distance",
> + "revision": 1,
> + "source": "hackage",
> + "src_sha256":
> "3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a",
> + "version": "0.2.2.1"
> + },
> + {
> + "cabal_sha256":
> "fb98b08de467d51f788f8bd9391f0e9ab9bd4d8dfc264296b895ffea0d822dfa",
> + "flags": [
> + "+no-donna",
> + "+test-doctests",
> + "+test-hlint",
> + "+test-properties"
> + ],
> + "package": "ed25519",
> + "revision": 3,
> + "source": "hackage",
> + "src_sha256":
> "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d",
> + "version": "0.0.5.0"
> + },
> + {
> + "cabal_sha256":
> "c9d3fa30fb6ab2ba16e037586ca79be6e57ec5f00381b6ee5f293400dbdf5515",
> + "flags": [
> + "+ofd-locking"
> + ],
> + "package": "lukko",
> + "revision": 0,
> + "source": "hackage",
> + "src_sha256":
> "8a79d113dc0ccef16c24d83379cc457485943027e777529c46362fecc06607d2",
> + "version": "0.1.1.2"
> + },
> + {
> + "cabal_sha256":
> "7a715414c4d494c9048cfb6d7634e07e7732ca154cb8938dc85f6ea192192e8c",
> + "flags": [
> + "-old-bytestring",
> + "-old-time"
> + ],
> + "package": "tar",
> + "revision": 2,
> + "source": "hackage",
> + "src_sha256":
> "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de",
> + "version": "0.5.1.1"
> + },
> + {
> + "cabal_sha256":
> "d34ddf5fece4d1e9d471b5298f36335bb3cfe12cb5a1b8525c42f0b665382f45",
> + "flags": [
> + "-non-blocking-ffi",
> + "-pkg-config"
> + ],
> + "package": "zlib",
> + "revision": 1,
> + "source": "hackage",
> + "src_sha256":
> "f0f810ff173560b60392db448455c0513b3239f48e43cb494b3733aa559621d0",
> + "version": "0.6.2.1"
> + },
> + {
> + "cabal_sha256":
> "692c385c085baa2813046ae58e31df21c250346b81c882431b5ffef76451a18a",
> + "flags": [
> + "+base48",
> + "+lukko",
> + "-mtl21",
> + "-old-directory",
> + "+use-network-uri"
> + ],
> + "package": "hackage-security",
> + "revision": 2,
> + "source": "hackage",
> + "src_sha256":
> "9162b473af5a21c1ff32a50b972b9acf51f4c901604a22cf08a2dccac2f82f17",
> + "version": "0.6.0.1"
> + },
> + {
> + "cabal_sha256":
> "44aa95ca762294ffbb28cf0af9c567d93b5d2c56e4f38ce5385a257d899f968e",
> + "flags": [],
> + "package": "regex-base",
> + "revision": 1,
> + "source": "hackage",
> + "src_sha256":
> "c41f82f5fc1157c961a4cbdc0cd5561e5aa44f339ce6e706d978d97e0ca6b914",
> + "version": "0.94.0.0"
> + },
> + {
> + "cabal_sha256":
> "690d1366e9ea6df71ded3daf49ca3d53c63eda3f95937962299b2391824dc3b3",
> + "flags": [
> + "-_regex-posix-clib"
> + ],
> + "package": "regex-posix",
> + "revision": 1,
> + "source": "hackage",
> + "src_sha256":
> "251300f1a6bb2e91abb8bf513a21981f8fab79c98a65acea2bb6d6a524414521",
> + "version": "0.96.0.0"
> + },
> + {
> + "cabal_sha256":
> "0a9a6dd29706258ae60a5c22aecc140a40743b8f08fc324fd9984e7dfbf3a80d",
> + "flags": [],
> + "package": "resolv",
> + "revision": 0,
> + "source": "hackage",
> + "src_sha256":
> "81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671",
> + "version": "0.1.2.0"
> + },
> + {
> + "cabal_sha256": null,
> + "flags": [
> + "-debug-conflict-sets",
> + "-debug-expensive-assertions",
> + "-debug-tracetree",
> + "+lukko",
> + "+native-dns"
> + ],
> + "package": "cabal-install",
> + "revision": null,
> + "source": "local",
> + "src_sha256": null,
> + "version": "3.5.0.0"
> + }
> + ]
> +}
> --
> 2.30.1