This is the tool I use for generating cabal manifests for Haskell ports.
I will reference this port in the planned cabal.port.mk manual page.

I performed some weird contortions so that cabal.port.mk and bsd.port.mk
don't bump heads as the project is not ready to produce releases. Any
ideas for simplifications would be great. I could conceivably package up
a tarball and release it on my github, not sure if that's preferable.

Thanks
Greg

>From 76c310b3f8e80b2cf8e91821f4b8b06eb805cc62 Mon Sep 17 00:00:00 2001
From: Greg Steuck <[email protected]>
Date: Sun, 18 Oct 2020 15:41:19 -0700
Subject: [PATCH] Add cabal-bundler via devel/cabal module

DISTFILES unusually hacky due to having to use a fixed GH_COMMIT as
there's no plans in the upstream to provide releases.
---
 devel/cabal-bundler/Makefile                  | 121 +++++++++++
 devel/cabal-bundler/distinfo                  | 198 ++++++++++++++++++
 .../cabal-bundler/patches/patch-cabal_project |  32 +++
 devel/cabal-bundler/pkg/DESCR                 |   5 +
 devel/cabal-bundler/pkg/PLIST                 |   2 +
 5 files changed, 358 insertions(+)
 create mode 100644 devel/cabal-bundler/Makefile
 create mode 100644 devel/cabal-bundler/distinfo
 create mode 100644 devel/cabal-bundler/patches/patch-cabal_project
 create mode 100644 devel/cabal-bundler/pkg/DESCR
 create mode 100644 devel/cabal-bundler/pkg/PLIST

diff --git a/devel/cabal-bundler/Makefile b/devel/cabal-bundler/Makefile
new file mode 100644
index 00000000000..bfe27171f31
--- /dev/null
+++ b/devel/cabal-bundler/Makefile
@@ -0,0 +1,121 @@
+# $OpenBSD$
+
+COMMENT =      use cabal solver to build standalone installation
+
+# https://github.com/phadej/cabal-extras/issues/37
+V =            0.1
+GH_ACCOUNT =   phadej
+GH_COMMIT =    6580467e28204bb44021282f33acc999dd6d50f0
+GH_PROJECT =   cabal-extras
+
+# Overrides cabal.port.mk which would otherwise preempt bsd.port.mk
+DISTNAME =     ${GH_PROJECT}-${V}
+DISTFILES =    
${DISTNAME}-${GH_COMMIT:C/(........).*/\1/}${EXTRACT_SUFX}{${GH_COMMIT}${EXTRACT_SUFX}}
 \
+               gentle-introduction-2021.2.tar.gz:1
+PKGNAME =      ${MODCABAL_EXECUTABLES}-${V}
+MASTER_SITES = ${MASTER_SITES_GITHUB}
+
+MASTER_SITES1 =        https://oleg.fi/
+
+CATEGORIES =   devel
+HOMEPAGE =     https://github.com/phadej/cabal-extras
+
+# GPLv3
+PERMIT_PACKAGE = Yes
+
+LIB_DEPENDS =  converters/libiconv \
+               devel/gmp \
+               devel/libffi
+
+RUN_DEPENDS =  devel/cabal-install
+
+WANTLIB =      c m pthread util ffi gmp iconv
+
+MODULES =              devel/cabal
+MODCABAL_STEM =                ${GH_PROJECT}
+MODCABAL_VERSION =     ${V}
+MODCABAL_EXECUTABLES = cabal-bundler
+
+# After the workaround in https://github.com/phadej/cabal-extras/issues/83,
+# the manifest produced by:
+#
+# $ cd cabal-extras/cabal-bundler
+# $ cabal v2-run -w /usr/local/bin/ghc exe:cabal-bundler -- \
+#      cabal-bundler --openbsd --executable cabal-bundler -p 
../dist-newstyle/cache/plan.json
+MODCABAL_MANIFEST =    \
+       Cabal   3.4.0.0 0       \
+       Glob    0.10.1  0       \
+       QuickCheck      2.14.2  0       \
+       StateVar        1.2.1   0       \
+       aeson   1.5.6.0 0       \
+       ansi-terminal   0.11    0       \
+       ansi-wl-pprint  0.6.9   2       \
+       assoc   1.0.2   1       \
+       async   2.2.3   0       \
+       attoparsec      0.13.2.5        1       \
+       base-compat     0.11.2  0       \
+       base-compat-batteries   0.11.2  0       \
+       base-orphans    0.8.4   0       \
+       base16-bytestring       1.0.1.0 0       \
+       bifunctors      5.5.10  0       \
+       binary-instances        1.0.1   1       \
+       binary-orphans  1.0.1   5       \
+       cabal-install-parsers   0.4.1   1       \
+       cabal-plan      0.7.2.0 0       \
+       case-insensitive        1.2.1.0 0       \
+       cborg   0.2.4.0 0       \
+       clock   0.8.2   0       \
+       colour  2.3.5   0       \
+       comonad 5.0.8   0       \
+       contravariant   1.5.3   0       \
+       cryptohash-sha256       0.11.102.0      0       \
+       data-fix        0.3.1   0       \
+       distributive    0.6.2.1 0       \
+       dlist   1.0     0       \
+       edit-distance   0.2.2.1 1       \
+       half    0.3.1   0       \
+       hashable        1.3.1.0 0       \
+       hsc2hs  0.68.7  1       \
+       indexed-profunctors     0.1     0       \
+       indexed-traversable     0.1.1   0       \
+       indexed-traversable-instances   0.1     0       \
+       integer-logarithms      1.0.3.1 0       \
+       lattices        2.0.2   3       \
+       lukko   0.1.1.3 1       \
+       network-uri     2.6.4.1 0       \
+       optics-core     0.3.0.1 0       \
+       optics-extra    0.3     2       \
+       optparse-applicative    0.16.1.0        0       \
+       paths   0.2.0.0 3       \
+       primitive       0.7.1.0 2       \
+       random  1.2.0   5       \
+       scientific      0.3.6.2 0       \
+       semialign       1.2     0       \
+       semigroupoids   5.3.5   0       \
+       semigroups      0.19.1  0       \
+       serialise       0.2.3.0 1       \
+       some    1.0.2   0       \
+       sop-core        0.5.0.1 1       \
+       splitmix        0.1.0.3 0       \
+       strict  0.4.0.1 0       \
+       tagged  0.8.6.1 0       \
+       tar     0.5.1.1 3       \
+       temporary       1.3     0       \
+       text-binary     0.2.1.1 0       \
+       th-abstraction  0.4.2.0 0       \
+       th-compat       0.1.1   0       \
+       these   1.1.1.1 1       \
+       time-compat     1.9.5   1       \
+       topograph       1.0.0.1 1       \
+       transformers-compat     0.6.6   0       \
+       universe-base   1.1.2   0       \
+       universe-reverse-instances      1.1.1   0       \
+       unliftio-core   0.2.0.1 1       \
+       unordered-containers    0.2.13.0        0       \
+       uuid-types      1.0.4   0       \
+       vector  0.12.2.0        0       \
+       vector-binary-instances 0.2.5.1 2       \
+       witherable      0.4.1   0       \
+       zinza   0.2     2       \
+
+.include <bsd.port.mk>
diff --git a/devel/cabal-bundler/distinfo b/devel/cabal-bundler/distinfo
new file mode 100644
index 00000000000..750d07fe53b
--- /dev/null
+++ b/devel/cabal-bundler/distinfo
@@ -0,0 +1,198 @@
+SHA256 (hackage/Cabal-3.4.0.0.tar.gz) = 
uHmZipZ2OzD9ihpfTpSSPc76c8TacAgT8ohPRwJlQf0=
+SHA256 (hackage/Glob-0.10.1.tar.gz) = 
yuRHbZRJRwEHBeCwDPPjbJDvQH+WiGH2dxuTEFa20xU=
+SHA256 (hackage/QuickCheck-2.14.2.tar.gz) = 
2HtshWlrYBF1J0Nh+mIheJRAHkAeFQw8XUATrFPNNvM=
+SHA256 (hackage/StateVar-1.2.1.tar.gz) = 
7iYVUpErYNi5N/AlNhXjEObMJfnEBwAbO8wuPVUAD4s=
+SHA256 (hackage/aeson-1.5.6.0.tar.gz) = 
A2HDS+PS7JRSAfAlAWk0NvvaENzFSUaUgaCEst4iv+g=
+SHA256 (hackage/ansi-terminal-0.11.tar.gz) = 
xmEbnlGt1B2z956sMAZsBrM6bKKgnlhrSzYdf5gwN5M=
+SHA256 (hackage/ansi-wl-pprint-0.6.9.tar.gz) = 
p7Lo580/AvKVTosX3GCgzNiJ9J4gaOuxWr+h1C96Tqw=
+SHA256 (hackage/ansi-wl-pprint-0.6.9_2.cabal) = 
INMGdPE31DqgJ5wsLMXkWl8cPFfjAYUklJBhWLYxO/c=
+SHA256 (hackage/assoc-1.0.2.tar.gz) = 
2JiNxuhxjHo0VlFbdpyTNq7uxzDPhvxRdSR5af+PFE8=
+SHA256 (hackage/assoc-1.0.2_1.cabal) = 
qCTk9hVGmietlJ2/SQe6JYvWtFne6+wAUkx7yz9lzJ8=
+SHA256 (hackage/async-2.2.3.tar.gz) = 
RnrzoAN5R6UjLs9fTvvUzyEYqqIxBWbX9ArIKw4yk1w=
+SHA256 (hackage/attoparsec-0.13.2.5.tar.gz) = 
IeDzjqoZV79HEnavoXZRwSWjiSRXXxLCy9L6U0tFaG8=
+SHA256 (hackage/attoparsec-0.13.2.5_1.cabal) = 
fIgZXD8yQ8ar41bBvIcs9AgYqMew4mGo+OaGj+QoGaA=
+SHA256 (hackage/base-compat-0.11.2.tar.gz) = 
U6a1FFRC+6WkutbbK83t4X8WRkK0i8OblQFUIqOa29s=
+SHA256 (hackage/base-compat-batteries-0.11.2.tar.gz) = 
MeBmpaqWr5T+ZGWtuVnDjWOkngE1dkGqQyLHVKlNMCM=
+SHA256 (hackage/base-orphans-0.8.4.tar.gz) = 
N7K1k1bANACi1QmGJnc5PF/3BqCqv4JsEE9v4D2Tu7M=
+SHA256 (hackage/base16-bytestring-1.0.1.0.tar.gz) = 
wMcKS1i+U9Npcb1zYbowD4Kl1ev39Q4aLXv8iDi91vo=
+SHA256 (hackage/bifunctors-5.5.10.tar.gz) = 
53Kc/Ytq9c7NfdUJ5OST7sDxUih2zAzPT1gFSVwzqQ0=
+SHA256 (hackage/binary-instances-1.0.1.tar.gz) = 
AAb+xGplPbT+fZFKb9g+/5B3CfI5Ur+MoxpnzOOXGHI=
+SHA256 (hackage/binary-instances-1.0.1_1.cabal) = 
l0dABCOBVV+eNhTZ/jcTbauhVeH5K8BIiUaYWQvNgvc=
+SHA256 (hackage/binary-orphans-1.0.1.tar.gz) = 
QxrUC42BK62hhsaJNcCmmqKQTKO8V9lX4bD7fXOxdT0=
+SHA256 (hackage/binary-orphans-1.0.1_5.cabal) = 
xsnT1IKzC1MrVkFLzDlYhySaMLEyWnhzspxl9/UZTcA=
+SHA256 (hackage/cabal-extras-0.1-6580467e.tar.gz) = 
Guh/DyMBh7jQ5gklKnE1NwWF8LAfiJbO3fzSxb1bgPU=
+SHA256 (hackage/cabal-install-parsers-0.4.1.tar.gz) = 
Ay40+OWitxIQ20W89q0vg4Ur7J4IVIaFX0pb9AElXLY=
+SHA256 (hackage/cabal-install-parsers-0.4.1_1.cabal) = 
xWmcxdFD9U0Ze8xbO2+yfISF6oZMomUBePqUKCH5Ero=
+SHA256 (hackage/cabal-plan-0.7.2.0.tar.gz) = 
Izo9FGBzL+NIYWkCN1jkMdN8XJFW+yjYKd7K97kXD4U=
+SHA256 (hackage/case-insensitive-1.2.1.0.tar.gz) = 
KW3BfgxfPfs9gs7YPkycRMM47N50myeLbq5RLx0E5AY=
+SHA256 (hackage/cborg-0.2.4.0.tar.gz) = 
NK44r/+gePjTlDJZN9DhVDEGnUQop0SfavnS0WU5Nn8=
+SHA256 (hackage/clock-0.8.2.tar.gz) = 
C12xEMcD5oslHViDJTqTSwEhELRTk/xl3xsJXrmk5GE=
+SHA256 (hackage/colour-2.3.5.tar.gz) = 
O41HGXlhfc58GTUjdDyXgt9jQz2Oh+PvbZeSLg2hBOc=
+SHA256 (hackage/comonad-5.0.8.tar.gz) = 
72zfLMKSzEPuaqlsWBsjX96oq0Sgv/sk3HmuKy7zPRM=
+SHA256 (hackage/contravariant-1.5.3.tar.gz) = 
RFNvDjMf3kcScZNzI9yQQJ6V1H9X5CZX/a8kKg/WXcE=
+SHA256 (hackage/cryptohash-sha256-0.11.102.0.tar.gz) = 
itbph1qRKPbNZtZdgPn4XdBVnHOsALs39x++6CDRBRk=
+SHA256 (hackage/data-fix-0.3.1.tar.gz) = 
m0XAQEcpIsGXuzMZAZe1iVr6xjGCA7KvswJR1N+LzHk=
+SHA256 (hackage/distributive-0.6.2.1.tar.gz) = 
1zUTkuB49YyqRmMKS5xkPh4und3uRYSMXINY57Exa5E=
+SHA256 (hackage/dlist-1.0.tar.gz) = 
Fz1jcyi7Fz/MNl8w0p/0qUKSoeDlVYrrPfwR3oFRARU=
+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/gentle-introduction-2021.2.tar.gz) = 
DJJ1JCJxmwAeQ47Edl9kwdUQ0nEUZ4d0+zUTz5man8k=
+SHA256 (hackage/half-0.3.1.tar.gz) = 
4q/DJyThG/XGldeXuRadnZstxipTCu0xKEyBh68WFdE=
+SHA256 (hackage/hashable-1.3.1.0.tar.gz) = 
gGGCOkrFIbU5Eu3Lo2uVbzFZy4hbB+wRmvKVplaMp8Q=
+SHA256 (hackage/hsc2hs-0.68.7.tar.gz) = 
/XkV5B4+07x3UP7g6K3StPMtysi3xUTP31VCKTIjiUo=
+SHA256 (hackage/hsc2hs-0.68.7_1.cabal) = 
Sg9oYKF+fCRWRpdePCmBQWr9y2p7NVPDEAXrNkGn9Vs=
+SHA256 (hackage/indexed-profunctors-0.1.tar.gz) = 
Md+0MZ3/hBmTRAALHvrXUVjurBfdy7J/kXNelYWRu2U=
+SHA256 (hackage/indexed-traversable-0.1.1.tar.gz) = 
esNq4xU8vnqOmerP/QZTZ7h1RJU8ySmX9CShUNtGgTk=
+SHA256 (hackage/indexed-traversable-instances-0.1.tar.gz) = 
+uxEgHkCtY5QyOEjlNFevaHwDA4jW0kPexxK5bWuaNw=
+SHA256 (hackage/integer-logarithms-1.0.3.1.tar.gz) = 
mwqfn6tgmxXNAVhlch+wX3RKG8d66S/RM4ct5Si76n8=
+SHA256 (hackage/lattices-2.0.2.tar.gz) = 
PW51DLMIytF4wsMFgwpAMlAx7Hm1YQ9o60aK09WFGYE=
+SHA256 (hackage/lattices-2.0.2_3.cabal) = 
eVN94YKECw+ygRvoIyWQkOSUwyUwl8XZigjtc8jZOtg=
+SHA256 (hackage/lukko-0.1.1.3.tar.gz) = 
qA77YM+j2uGGgsAZgNdtX35BPhkc0YaZLhv3OI1Iqx8=
+SHA256 (hackage/lukko-0.1.1.3_1.cabal) = 
LbSbbLZjKkbsRG/FGHDNDUngpm0cXSBj9GrlKhAOuFY=
+SHA256 (hackage/network-uri-2.6.4.1.tar.gz) = 
V4VtuTYIpNQZ9oG4gcm41ESIANWmh1h9w36KngsiNYQ=
+SHA256 (hackage/optics-core-0.3.0.1.tar.gz) = 
MBFb2bKtxOcHb/qIHi+2DX5FslZB4efdgFgOWbPM4Qc=
+SHA256 (hackage/optics-extra-0.3.tar.gz) = 
pNYVWBQRGlxs6JZAkVulmHKW/sPOzHZuzj1BEqv9dpc=
+SHA256 (hackage/optics-extra-0.3_2.cabal) = 
aMPdA4yxuaQxB7ZF4zrf0U8IX1kjrQG0LSIu4baqo48=
+SHA256 (hackage/optparse-applicative-0.16.1.0.tar.gz) = 
YgUng2LzM8UiVrndPt9fj+D4TwDLnuAAKRCJ9urM1po=
+SHA256 (hackage/paths-0.2.0.0.tar.gz) = 
myjbrAAZD0G94jRpqqhIisoROPQfnxdjToefXi2V/6I=
+SHA256 (hackage/paths-0.2.0.0_3.cabal) = 
zlpeEZdQVYpfe148nfBkVC/2Wb+t+VIpKElKQjF2BZY=
+SHA256 (hackage/primitive-0.7.1.0.tar.gz) = 
a+vs/fKld4fZ/VIxv9YStlqS7dezOpc7Kg8RMSuJo/A=
+SHA256 (hackage/primitive-0.7.1.0_2.cabal) = 
9jV9VyDBxmUJbD4BFGfa9EMZi3hqcI0v+SaViiTVCNQ=
+SHA256 (hackage/random-1.2.0.tar.gz) = 
5FGc98BYv9W9vkrMeCKErMniXnRIcghhnKg8vNY/ud4=
+SHA256 (hackage/random-1.2.0_5.cabal) = 
MNct9MwdL+LURciPDunSGWWvfOhmYMQ6bDKmodkNUck=
+SHA256 (hackage/scientific-0.3.6.2.tar.gz) = 
J40K/IdFAlT4p26rIbVYOvY5VO/Jt0hEoXohpoATFA8=
+SHA256 (hackage/semialign-1.2.tar.gz) = 
svVubkcpBpR2qgw4fEGtV8CabNwJzd68DnWdl4z0rBE=
+SHA256 (hackage/semigroupoids-5.3.5.tar.gz) = 
VS8Y4T7zRxGJEclQlX5K3NoKH5SOJ08p7EScxBPTxrA=
+SHA256 (hackage/semigroups-0.19.1.tar.gz) = 
eedh5kuGJWSjRw1dNWy2sGCxRFLWdYWa7TstHhRkZkg=
+SHA256 (hackage/serialise-0.2.3.0.tar.gz) = 
yXifs8P/0hWHnOM5YdYfgt2Qo27PaX1B6LfGfrvn5G4=
+SHA256 (hackage/serialise-0.2.3.0_1.cabal) = 
OcwWont3vh62qPxp2pQEMM9ey++I4yzktJnhUOOE5t0=
+SHA256 (hackage/some-1.0.2.tar.gz) = 
zPiksH1SNqb5ZmSevvOedk8fa7UiF2R+LpbQzf4ru4o=
+SHA256 (hackage/sop-core-0.5.0.1.tar.gz) = 
2sNn8WCMm9bF3RaX4qMOG3YGFwI7luHffUTGwBeZnbA=
+SHA256 (hackage/sop-core-0.5.0.1_1.cabal) = 
rQ80oabLJt1e2L+CD0DcS2qskM1pbUjciGpXSPNTmrQ=
+SHA256 (hackage/splitmix-0.1.0.3.tar.gz) = 
RgCfSwAMnmYTN3dnuHGL84R2Rp8qjiFi2YzCRogtWjU=
+SHA256 (hackage/strict-0.4.0.1.tar.gz) = 
3/arwIrWN+UYkbuLR1d4xAkmxRIZ7aYP1k8NloAiYkE=
+SHA256 (hackage/tagged-0.8.6.1.tar.gz) = 
9eD8+V8LtKpj9CjywBlVpB6hpCz885FF7WMfWalhbAI=
+SHA256 (hackage/tar-0.5.1.1.tar.gz) = 
s4REn2KysKo+bSyxAEuAYLAfIeyT57Y+evbY+tip8d4=
+SHA256 (hackage/tar-0.5.1.1_3.cabal) = 
lN7QVxj+dbiMmOcRP+65/KUGiKflm2rv2ApvSEOMUGI=
+SHA256 (hackage/temporary-1.3.tar.gz) = 
jEQpk2lLX/yoI86GSvlb0oQftSZO5RHGHPSMxx2HmJA=
+SHA256 (hackage/text-binary-0.2.1.1.tar.gz) = 
tpeyvQkIBkPUaGcFx3kSISljiQSHDfXB1ByPxy8I9KE=
+SHA256 (hackage/th-abstraction-0.4.2.0.tar.gz) = 
6gayzaJfxLUtrEjMI+WnVvmX34mF7K7lpVQgJQihHEA=
+SHA256 (hackage/th-compat-0.1.1.tar.gz) = 
lfogWDrCNryexroBNQSD6HoSGniTtBWGUccApgr2A/k=
+SHA256 (hackage/these-1.1.1.1.tar.gz) = 
15jJ9W4X3vRB6PUeVMwRr9s+dsap0enuFU6aeNoL9Qg=
+SHA256 (hackage/these-1.1.1.1_1.cabal) = 
6YHGUijbWud6BDYx90oeSkt3D3IThm9YTjR2tSUS8a8=
+SHA256 (hackage/time-compat-1.9.5.tar.gz) = 
MSayZ9GfMdUqPDbxOoeIvgMkL4KaW93YowhOE00B46Y=
+SHA256 (hackage/time-compat-1.9.5_1.cabal) = 
pYa9Wlm0fqDJ6vxVxpNu3hESb0puYZ1teu7+5zxD2bg=
+SHA256 (hackage/topograph-1.0.0.1.tar.gz) = 
mxHBTdV5uVLmT6qnYqX63evGSUm8f3MoZfy1maN/ouk=
+SHA256 (hackage/topograph-1.0.0.1_1.cabal) = 
M3N/W4NhAPDXr3kAzr+5tL+WeW0f7ZGB76ijKU2od7E=
+SHA256 (hackage/transformers-compat-0.6.6.tar.gz) = 
fi4CUeXm0oFCYVpLlQo/q6ycC3gEsexKSumF8ZUZqfk=
+SHA256 (hackage/universe-base-1.1.2.tar.gz) = 
megYMhtZ3vQYTGj75kG5Y/308WVMQYESYNc27LAPSso=
+SHA256 (hackage/universe-reverse-instances-1.1.1.tar.gz) = 
xBJ+EqavjY4F+H5Ualf9wL17f0fq+F1KDxgmyZjN+3M=
+SHA256 (hackage/unliftio-core-0.2.0.1.tar.gz) = 
kZ8NEpfqL1NzEYVTwd8qlAXYueMagwfoKdpn1JU8KZo=
+SHA256 (hackage/unliftio-core-0.2.0.1_1.cabal) = 
mz5E6pqsrL/DWztUAVr0UAkZFqw2GKQYaOv2VGl3ZZo=
+SHA256 (hackage/unordered-containers-0.2.13.0.tar.gz) = 
hrATaauOsxE4OgUtOJM34s1xpjCIMj8CkydU30qje1U=
+SHA256 (hackage/uuid-types-1.0.4.tar.gz) = 
wqosyqOnQlmsofV8wcJ3giCGQwgUzl5POM/YaP5I7AY=
+SHA256 (hackage/vector-0.12.2.0.tar.gz) = 
F6sLhMh4WTM/9oG7n3aDaHeWd5Jb1Yn/S6oFvj/Sa1A=
+SHA256 (hackage/vector-binary-instances-0.2.5.1.tar.gz) = 
OUW5n479MZyDdwC3zvUWPuI+ZW6JInNX4LekHSpmxRI=
+SHA256 (hackage/vector-binary-instances-0.2.5.1_2.cabal) = 
3eFgUOvE9to2p18QuLkzdCeT6UNmCGzHUmNmefCJSUU=
+SHA256 (hackage/witherable-0.4.1.tar.gz) = 
CxU/BjKvWEu0O5difS1RLgVKww87Wz3h2EKp1gBuQso=
+SHA256 (hackage/zinza-0.2.tar.gz) = 
aMucPLXIHIKoGmPQEoadHsP93aib4L1fj8CqjypkxOs=
+SHA256 (hackage/zinza-0.2_2.cabal) = 
5no56lpRksyTM7LBi9jtmQ+l3pxhxManFfIrdpJWAZ8=
+SIZE (hackage/Cabal-3.4.0.0.tar.gz) = 836699
+SIZE (hackage/Glob-0.10.1.tar.gz) = 29763
+SIZE (hackage/QuickCheck-2.14.2.tar.gz) = 75246
+SIZE (hackage/StateVar-1.2.1.tar.gz) = 5055
+SIZE (hackage/aeson-1.5.6.0.tar.gz) = 286364
+SIZE (hackage/ansi-terminal-0.11.tar.gz) = 36074
+SIZE (hackage/ansi-wl-pprint-0.6.9.tar.gz) = 16723
+SIZE (hackage/ansi-wl-pprint-0.6.9_2.cabal) = 2388
+SIZE (hackage/assoc-1.0.2.tar.gz) = 3047
+SIZE (hackage/assoc-1.0.2_1.cabal) = 1205
+SIZE (hackage/async-2.2.3.tar.gz) = 14056
+SIZE (hackage/attoparsec-0.13.2.5.tar.gz) = 163876
+SIZE (hackage/attoparsec-0.13.2.5_1.cabal) = 6171
+SIZE (hackage/base-compat-0.11.2.tar.gz) = 34625
+SIZE (hackage/base-compat-batteries-0.11.2.tar.gz) = 16902
+SIZE (hackage/base-orphans-0.8.4.tar.gz) = 22573
+SIZE (hackage/base16-bytestring-1.0.1.0.tar.gz) = 7256
+SIZE (hackage/bifunctors-5.5.10.tar.gz) = 45810
+SIZE (hackage/binary-instances-1.0.1.tar.gz) = 5187
+SIZE (hackage/binary-instances-1.0.1_1.cabal) = 2683
+SIZE (hackage/binary-orphans-1.0.1.tar.gz) = 4425
+SIZE (hackage/binary-orphans-1.0.1_5.cabal) = 2116
+SIZE (hackage/cabal-extras-0.1-6580467e.tar.gz) = 692822
+SIZE (hackage/cabal-install-parsers-0.4.1.tar.gz) = 40815
+SIZE (hackage/cabal-install-parsers-0.4.1_1.cabal) = 3860
+SIZE (hackage/cabal-plan-0.7.2.0.tar.gz) = 53268
+SIZE (hackage/case-insensitive-1.2.1.0.tar.gz) = 53609
+SIZE (hackage/cborg-0.2.4.0.tar.gz) = 89300
+SIZE (hackage/clock-0.8.2.tar.gz) = 7604
+SIZE (hackage/colour-2.3.5.tar.gz) = 20485
+SIZE (hackage/comonad-5.0.8.tar.gz) = 15227
+SIZE (hackage/contravariant-1.5.3.tar.gz) = 13726
+SIZE (hackage/cryptohash-sha256-0.11.102.0.tar.gz) = 15636
+SIZE (hackage/data-fix-0.3.1.tar.gz) = 5520
+SIZE (hackage/distributive-0.6.2.1.tar.gz) = 8140
+SIZE (hackage/dlist-1.0.tar.gz) = 18667
+SIZE (hackage/edit-distance-0.2.2.1.tar.gz) = 13228
+SIZE (hackage/edit-distance-0.2.2.1_1.cabal) = 2351
+SIZE (hackage/gentle-introduction-2021.2.tar.gz) = 5329
+SIZE (hackage/half-0.3.1.tar.gz) = 8514
+SIZE (hackage/hashable-1.3.1.0.tar.gz) = 21424
+SIZE (hackage/hsc2hs-0.68.7.tar.gz) = 38630
+SIZE (hackage/hsc2hs-0.68.7_1.cabal) = 2794
+SIZE (hackage/indexed-profunctors-0.1.tar.gz) = 6360
+SIZE (hackage/indexed-traversable-0.1.1.tar.gz) = 8424
+SIZE (hackage/indexed-traversable-instances-0.1.tar.gz) = 4235
+SIZE (hackage/integer-logarithms-1.0.3.1.tar.gz) = 9023
+SIZE (hackage/lattices-2.0.2.tar.gz) = 54390
+SIZE (hackage/lattices-2.0.2_3.cabal) = 3558
+SIZE (hackage/lukko-0.1.1.3.tar.gz) = 28575
+SIZE (hackage/lukko-0.1.1.3_1.cabal) = 4542
+SIZE (hackage/network-uri-2.6.4.1.tar.gz) = 32373
+SIZE (hackage/optics-core-0.3.0.1.tar.gz) = 427726
+SIZE (hackage/optics-extra-0.3.tar.gz) = 22858
+SIZE (hackage/optics-extra-0.3_2.cabal) = 3492
+SIZE (hackage/optparse-applicative-0.16.1.0.tar.gz) = 58315
+SIZE (hackage/paths-0.2.0.0.tar.gz) = 10999
+SIZE (hackage/paths-0.2.0.0_3.cabal) = 2638
+SIZE (hackage/primitive-0.7.1.0.tar.gz) = 52184
+SIZE (hackage/primitive-0.7.1.0_2.cabal) = 2728
+SIZE (hackage/random-1.2.0.tar.gz) = 37889
+SIZE (hackage/random-1.2.0_5.cabal) = 6094
+SIZE (hackage/scientific-0.3.6.2.tar.gz) = 23510
+SIZE (hackage/semialign-1.2.tar.gz) = 10310
+SIZE (hackage/semigroupoids-5.3.5.tar.gz) = 23362
+SIZE (hackage/semigroups-0.19.1.tar.gz) = 21124
+SIZE (hackage/serialise-0.2.3.0.tar.gz) = 74688
+SIZE (hackage/serialise-0.2.3.0_1.cabal) = 8670
+SIZE (hackage/some-1.0.2.tar.gz) = 8256
+SIZE (hackage/sop-core-0.5.0.1.tar.gz) = 28666
+SIZE (hackage/sop-core-0.5.0.1_1.cabal) = 2896
+SIZE (hackage/splitmix-0.1.0.3.tar.gz) = 20754
+SIZE (hackage/strict-0.4.0.1.tar.gz) = 12488
+SIZE (hackage/tagged-0.8.6.1.tar.gz) = 9842
+SIZE (hackage/tar-0.5.1.1.tar.gz) = 39155
+SIZE (hackage/tar-0.5.1.1_3.cabal) = 5464
+SIZE (hackage/temporary-1.3.tar.gz) = 5686
+SIZE (hackage/text-binary-0.2.1.1.tar.gz) = 1729
+SIZE (hackage/th-abstraction-0.4.2.0.tar.gz) = 37848
+SIZE (hackage/th-compat-0.1.1.tar.gz) = 10903
+SIZE (hackage/these-1.1.1.1.tar.gz) = 9804
+SIZE (hackage/these-1.1.1.1_1.cabal) = 2631
+SIZE (hackage/time-compat-1.9.5.tar.gz) = 59336
+SIZE (hackage/time-compat-1.9.5_1.cabal) = 4954
+SIZE (hackage/topograph-1.0.0.1.tar.gz) = 40187
+SIZE (hackage/topograph-1.0.0.1_1.cabal) = 1633
+SIZE (hackage/transformers-compat-0.6.6.tar.gz) = 41347
+SIZE (hackage/universe-base-1.1.2.tar.gz) = 10024
+SIZE (hackage/universe-reverse-instances-1.1.1.tar.gz) = 2721
+SIZE (hackage/unliftio-core-0.2.0.1.tar.gz) = 3696
+SIZE (hackage/unliftio-core-0.2.0.1_1.cabal) = 1082
+SIZE (hackage/unordered-containers-0.2.13.0.tar.gz) = 53379
+SIZE (hackage/uuid-types-1.0.4.tar.gz) = 11537
+SIZE (hackage/vector-0.12.2.0.tar.gz) = 142213
+SIZE (hackage/vector-binary-instances-0.2.5.1.tar.gz) = 4067
+SIZE (hackage/vector-binary-instances-0.2.5.1_2.cabal) = 2577
+SIZE (hackage/witherable-0.4.1.tar.gz) = 11351
+SIZE (hackage/zinza-0.2.tar.gz) = 34008
+SIZE (hackage/zinza-0.2_2.cabal) = 2038
diff --git a/devel/cabal-bundler/patches/patch-cabal_project 
b/devel/cabal-bundler/patches/patch-cabal_project
new file mode 100644
index 00000000000..baf8a9680c5
--- /dev/null
+++ b/devel/cabal-bundler/patches/patch-cabal_project
@@ -0,0 +1,32 @@
+$OpenBSD$
+
+Avoid building the parts we don't use that drag in extra dependencies.
+
+Index: cabal.project
+--- cabal.project.orig
++++ cabal.project
+@@ -1,17 +1,5 @@
+-with-compiler: ghc-8.8.4
+-tests: True
+-
+ packages: cabal-bundler
+-packages: cabal-deps
+-packages: cabal-diff
+-packages: cabal-docspec
+-packages: cabal-env
+-packages: cabal-hie
+-packages: cabal-iface-query
+ 
+-packages: cabal-store-check
+-packages: cabal-store-gc
+-
+ packages: peura
+ 
+ package cabal-bundler
+@@ -36,5 +24,4 @@ constraints: directory     installed
+ constraints: process       installed
+ constraints: transformers  installed
+ 
+-packages: https://oleg.fi/gentle-introduction-2021.2.tar.gz
+--- packages: gentle-introduction-2021.1.tar.gz
++packages: ../gentle-introduction-2021.2
diff --git a/devel/cabal-bundler/pkg/DESCR b/devel/cabal-bundler/pkg/DESCR
new file mode 100644
index 00000000000..84b214ffef5
--- /dev/null
+++ b/devel/cabal-bundler/pkg/DESCR
@@ -0,0 +1,5 @@
+cabal-bundler: (ab)use cabal-install solver to build standalone
+installation bundles.
+
+The OpenBSD port is used to create or update the MODCABAL_MANIFEST
+entries for the ports.
diff --git a/devel/cabal-bundler/pkg/PLIST b/devel/cabal-bundler/pkg/PLIST
new file mode 100644
index 00000000000..ba7427488f1
--- /dev/null
+++ b/devel/cabal-bundler/pkg/PLIST
@@ -0,0 +1,2 @@
+@comment $OpenBSD: PLIST,v$
+@bin bin/cabal-bundler
-- 
2.30.2

Reply via email to