git: ddc73a4bb4a1 - main - lang/ghc: Starting with GHC 9.2.7 switch to the Hadrian build system.

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Wed, 03 May 2023 20:42:30 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ddc73a4bb4a1e9791b7b1ea6682d1574376d8fd1

commit ddc73a4bb4a1e9791b7b1ea6682d1574376d8fd1
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2023-04-08 10:57:14 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2023-05-03 20:42:20 +0000

    lang/ghc: Starting with GHC 9.2.7 switch to the Hadrian build system.
    
    Hadrian is a new build system for GHC which is written in Haskell and requires
    bootstrapping process. Ugh. Luckily, we only prepare a source bootstrap
    archive as bootstrap GHC has everything needed to build it.
    
    Hadrian also fails to build GHC on i386 so build it the old way for now.
---
 devel/hs-cabal-install/Makefile           |    1 +
 lang/ghc/Makefile                         |  135 +-
 lang/ghc/distinfo                         |    4 +
 lang/ghc/files/UserSettings.hs            |   74 +
 lang/ghc/files/plan-bootstrap-8_10_7.json |  255 ++
 lang/ghc/pkg-plist.hadrian                | 4990 +++++++++++++++++++++++++++++
 lang/ghc810/Makefile                      |    2 +-
 7 files changed, 5441 insertions(+), 20 deletions(-)

diff --git a/devel/hs-cabal-install/Makefile b/devel/hs-cabal-install/Makefile
index 587e34e3eee1..0ade49700bcb 100644
--- a/devel/hs-cabal-install/Makefile
+++ b/devel/hs-cabal-install/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	cabal-install
 PORTVERSION=	3.10.1.0
+PORTREVISION=	1
 CATEGORIES=	devel haskell
 EXTRACT_ONLY=	${DISTNAME_DEFAULT}${_GITHUB_EXTRACT_SUFX}
 
diff --git a/lang/ghc/Makefile b/lang/ghc/Makefile
index d7db35d0ebe2..b8030fdcb8de 100644
--- a/lang/ghc/Makefile
+++ b/lang/ghc/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	ghc
 PORTVERSION=	${GHC_VERSION}
+PORTREVISION?=	1
 CATEGORIES=	lang haskell
 MASTER_SITES=	https://www.haskell.org/ghc/dist/${PORTVERSION}/:source \
 		LOCAL/arrowd/:boot
@@ -20,6 +21,7 @@ USES=			autoreconf compiler:c11 gmake iconv:patch,translit \
 
 GNU_CONFIGURE=		yes
 CONFIGURE_ARGS+=	--docdir=${DOCSDIR}
+CONFIGURE_ENV=		ALEX=/usr/bin/true HAPPY=/usr/bin/true
 INSTALL_TARGET=		install-strip
 USE_LOCALE=		en_US.UTF-8
 USE_PERL5=		build
@@ -43,16 +45,18 @@ PROFILE_DESC=		Add support for performance profiling
 BOOT_CONFIGURE_ENV=	GHC=${LOCALBASE}/bin/ghc
 BOOT_CONFIGURE_ENV_OFF=	GHC=${BOOT_GHC} LLC=llc${BOOT_LLVM_VERSION} OPT=opt${BOOT_LLVM_VERSION}
 
-DOCS_BUILD_DEPENDS=	sphinx-build:textproc/py-sphinx
+DOCS_BUILD_DEPENDS=	sphinx-build:textproc/py-sphinx \
+			xelatex:print/tex-xetex \
+			${LOCALBASE}/share/fonts/dejavu/DejaVuSans.ttf:x11-fonts/dejavu
 DOCS_VARS=		enable_docs=YES
-DOCS_VARS_OFF=		enable_docs=NO
+DOCS_VARS_OFF=		enable_docs=NO hadrian_docs_arg=--docs=none
 
 DYNAMIC_CONFIGURE_WITH=	system-libffi \
 			ffi-includes=${LOCALBASE}/include \
 			ffi-libraries=${LOCALBASE}/lib
 DYNAMIC_LIB_DEPENDS=	libffi.so:devel/libffi
-DYNAMIC_VARS=		enable_dynamic=YES
-DYNAMIC_VARS_OFF=	enable_dynamic=NO
+DYNAMIC_VARS=		enable_dynamic=YES hadrian_setting_dynamic=True
+DYNAMIC_VARS_OFF=	enable_dynamic=NO hadrian_setting_dynamic=False
 
 # do not replace this with GMP_CONFIGURE_WITH
 # it adds "--without-gmp-*" when the option is OFF, which results in "no" value
@@ -60,15 +64,16 @@ DYNAMIC_VARS_OFF=	enable_dynamic=NO
 GMP_CONFIGURE_ON=	--with-gmp-includes=${LOCALBASE}/include \
 			--with-gmp-libraries=${LOCALBASE}/lib
 GMP_LIB_DEPENDS=	libgmp.so:math/gmp
+GMP_VARS_OFF=		hadrian_gmp_arg=--bignum=native
 
-PROFILE_VARS=		enable_profile=YES
-PROFILE_VARS_OFF=	enable_profile=NO
+PROFILE_VARS=		enable_profile=YES hadrian_setting_profile=True
+PROFILE_VARS_OFF=	enable_profile=NO hadrian_setting_profile=False
 
 GHC_VERSION?=		9.2.7
 LLVM_VERSION?=		12
-BOOT_GHC_VERSION=	8.10.7
+BOOT_GHC_VERSION?=	8.10.7
 # LLVM version that bootstrap compiler uses
-BOOT_LLVM_VERSION=	10
+BOOT_LLVM_VERSION?=	10
 
 BASE_PACKAGES?=		Cabal-3.6.3.0 array-0.5.4.0 base-4.16.4.0 binary-0.8.9.0 \
 			bytestring-0.11.4.0 containers-0.6.5.1 deepseq-1.4.6.1 \
@@ -99,6 +104,29 @@ BUILD_MK=		DYNAMIC_GHC_PROGRAMS=${ENABLE_DYNAMIC} \
 
 .include <bsd.port.pre.mk>
 
+.if ${GHC_VERSION:C/\..*//g} >= 9 && ${ARCH} != i386
+# hadrian build on i386 fails due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269570
+# relocation R_386_TLS_LE cannot be used with -shared
+USE_HADRIAN=		yes
+.endif
+
+.ifdef USE_HADRIAN
+LIB_DEPENDS+=		libffi.so:devel/libffi
+.undef DYNAMIC_CONFIGURE_WITH
+CONFIGURE_ARGS+=	--with-system-libffi --with-ffi-includes=${LOCALBASE}/include --with-ffi-libraries=${LOCALBASE}/lib
+SHEBANG_FILES+=		hadrian/bootstrap/bootstrap.py
+HADRIAN_CMD=		${WRKSRC}/hadrian/bootstrap/_build/bin/hadrian ${HADRIAN_DOCS_ARG} ${HADRIAN_GMP_ARG}
+DO_MAKE_BUILD=		${SETENV} ${MAKE_ENV} ${HADRIAN_CMD} ${_MAKE_JOBS} --flavour=ports
+ALL_TARGET=		binary-dist-dir
+INSTALL_WRKSRC=		${WRKSRC}/_build/bindist/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd
+INSTALL_TARGET=		install
+PLIST=			${.CURDIR}/pkg-plist.hadrian
+
+.  if (empty(PORT_OPTIONS:MDYNAMIC) || empty(PORT_OPTIONS:MPROFILE))
+IGNORE=			Building with Hadrian requires both DYNAMIC and PROFILE for now
+.  endif
+.endif
+
 .if ${SLAVE_PORT} != "yes"
 PORTDOCS=		*
 .endif
@@ -115,6 +143,9 @@ BUILD_DEPENDS+=	${LOCALBASE}/lib/compat/libncursesw.so.8:misc/compat12x
 
 .if empty(PORT_OPTIONS:MBOOT)
 DISTFILES+=		ghc-${BOOT_GHC_VERSION}-boot-${ARCH}-freebsd${EXTRACT_SUFX}:boot
+.   if !defined(IGNORE_MISSING_HADRIAN) && defined(USE_HADRIAN)
+DISTFILES+=		hadrian-${GHC_VERSION}-boot.tar.gz:boot
+.   endif
 .endif # MBOOT
 
 .if ${ARCH} == aarch64 || ${ARCH:Marmv*}
@@ -138,6 +169,11 @@ post-patch:
 .for line in ${BUILD_MK}
 	${ECHO_CMD} ${line} >> ${WRKSRC}/mk/build.mk
 .endfor
+.ifdef USE_HADRIAN
+	${SED} -e 's|%%DYNAMIC%%|${HADRIAN_SETTING_DYNAMIC}|' \
+		-e 's|%%PROFILE%%|${HADRIAN_SETTING_PROFILE}|' \
+		${PATCHDIR}/UserSettings.hs > ${WRKSRC}/hadrian/src/UserSettings.hs
+.endif
 
 # TODO: remove this after rerolling all bootstraps
 post-patch-BOOT-off:
@@ -154,11 +190,28 @@ pre-configure:
 	cd ${BOOT_DIR} && ${CONFIGURE_ENV} ${CONFIGURE_CMD} --prefix=${BOOT_DIR}
 	cd ${BOOT_DIR} && PACKAGES='' ${MAKE_CMD} install
 .endif
+.ifdef USE_HADRIAN
+# Compile Hadrian
+	cd ${WRKSRC}/hadrian/bootstrap && \
+		./bootstrap.py -w ${BOOT_GHC} -s ${DISTDIR}/hadrian-${GHC_VERSION}-boot.tar.gz
+.endif
+
+.ifdef USE_HADRIAN
+pre-install:
+	cd ${INSTALL_WRKSRC} && ${CONFIGURE_ENV} ${CONFIGURE_CMD} --prefix=${PREFIX}
+.endif
 
 post-install:
-	${FIND} ${STAGEDIR}${DOCSDIR}/html -name .buildinfo -delete
+.ifdef USE_HADRIAN
+# Hadrian doesn't have --docdir
+	${MV} ${STAGEDIR}${DOCSDIR}-${GHC_VERSION} ${STAGEDIR}${DOCSDIR}
+# These includes are duplicated in lib/ghc-X.Y.Z/lib/<triple>/rts-X.Y.Z/include
+	${RM} -r ${STAGEDIR}${PREFIX}/include/*
+.endif
+	${FIND} ${STAGEDIR}${DOCSDIR} -name .buildinfo -delete
 # For some reason, INSTALL_TARGET=install-strip doesn't cause libraries to be stripped
 # Run strip on them manually
+	${FIND} ${STAGEDIR}${PREFIX}/lib/ghc-${GHC_VERSION} -type f -perm +111 -exec ${STRIP_CMD} {} +
 	${FIND} ${STAGEDIR}${PREFIX}/lib/ghc-${GHC_VERSION} -name '*.so' -exec ${STRIP_CMD} {} +
 	${RM} ${STAGEDIR}${PREFIX}/bin/haddock
 .if ${SLAVE_PORT} == "yes"
@@ -189,34 +242,78 @@ fixup-plist:
 # Set all OPTIONS to OFF when generating bootstraps
 .PHONY: create-bootstrap
 create-bootstrap:
+.ifndef USE_HADRIAN
 	cd ${WRKSRC} \
-		&& ${ECHO} "BIN_DIST_NAME=ghc-${GHC_VERSION}-boot" >> mk/build.mk \
-		&& ${ECHO} "BIN_DIST_TAR=ghc-${GHC_VERSION}-boot.tar" >> mk/build.mk \
-		&& ${ECHO} "HADDOCK_DOCS=NO" >> mk/build.mk \
+		&& ${ECHO_CMD} "BIN_DIST_NAME=ghc-${GHC_VERSION}-boot" >> mk/build.mk \
+		&& ${ECHO_CMD} "BIN_DIST_TAR=ghc-${GHC_VERSION}-boot.tar" >> mk/build.mk \
+		&& ${ECHO_CMD} "HADDOCK_DOCS=NO" >> mk/build.mk \
 		&& ${GMAKE} binary-dist TAR_COMP=xz \
 		&& ${MV} ${WRKSRC}/ghc-${GHC_VERSION}-boot-${GHC_ARCH}-portbld-freebsd.tar.xz /tmp/ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz
+.else
+	cd ${WRKSRC} \
+		&& ${HADRIAN_CMD} binary-dist-xz \
+		&& ${MV} ${WRKSRC}/_build/bindist/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz /tmp/ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz
+.endif
 
-	cd /tmp \
+	@cd /tmp \
 		&& sha256 ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz \
-		&& ${ECHO} -n "SIZE (ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz) = " \
+		&& ${ECHO_CMD} -n "SIZE (ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz) = " \
 		&& ${STAT} -f %z ghc-${GHC_VERSION}-boot-${ARCH}-freebsd.tar.xz
 
 # Much like create-bootstrap, just different naming and output format
 # Set DYNAMIC, GMP and PROFILE to ON, and DOCS to OFF when generating Stack bindist
 .PHONY: create-stack-bindist
 create-stack-bindist:
+.ifndef USE_HADRIAN
 	cd ${WRKSRC} \
 		&& ${GMAKE} binary-dist TAR_COMP=xz \
 		&& ${MV} ${WRKSRC}/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz /tmp/
+.else
+	cd ${WRKSRC} \
+		&& ${HADRIAN_CMD} binary-dist-xz \
+		&& ${MV} ${WRKSRC}/_build/bindist/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz /tmp/
+.endif
 
 	cd /tmp \
-		&& ${ECHO} "${GHC_VERSION}:" \
-		&& ${ECHO} "url: \"http://distcache.FreeBSD.org/local-distfiles/arrowd/stack-bindists/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz\"" \
-		&& ${ECHO} -n "content-length: " \
+		&& ${ECHO_CMD} "${GHC_VERSION}:" \
+		&& ${ECHO_CMD} "url: \"http://distcache.FreeBSD.org/local-distfiles/arrowd/stack-bindists/ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz\"" \
+		&& ${ECHO_CMD} -n "content-length: " \
 		&& ${STAT} -f %z ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz \
-		&& ${ECHO} -n "sha1: " \
+		&& ${ECHO_CMD} -n "sha1: " \
 		&& sha1 -q ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz \
-		&& ${ECHO} -n "sha256: " \
+		&& ${ECHO_CMD} -n "sha256: " \
 		&& sha256 -q ghc-${GHC_VERSION}-${GHC_ARCH}-portbld-freebsd.tar.xz
 
+.PHONY: create-hadrian-bootstrap
+create-hadrian-bootstrap:
+.if !empty(PORT_OPTIONS:MBOOT)
+	@${ECHO_CMD} "Generating Hadrian bootstrap without bootstrap GHC isn't supported"
+	${FALSE}
+.endif
+	${MAKE} -C ${.CURDIR} patch build-depends IGNORE_MISSING_HADRIAN=yes
+# We always would need to create our own plan.json file and put it into PATCHDIR:
+# Predefined plans use integer-gmp, while we build bootstraps with integer-simple
+# Predefined plans aren't pretty-printed, so we can't easily patch them
+	cd ${WRKSRC}/hadrian/bootstrap && \
+		./bootstrap.py -w ${BOOT_GHC} --deps ${PATCHDIR}/plan-bootstrap-${BOOT_GHC_VERSION:C/\./_/g}.json fetch -o /tmp/hadrian-${GHC_VERSION}-boot
+
+	@cd /tmp \
+		&& sha256 hadrian-${GHC_VERSION}-boot.tar.gz \
+		&& ${ECHO_CMD} -n "SIZE (hadrian-${GHC_VERSION}-boot.tar.gz) = " \
+		&& ${STAT} -f %z hadrian-${GHC_VERSION}-boot.tar.gz
+	@${ECHO_CMD}
+	@${ECHO_CMD} "Remember to check that hadrian bootstrap builds fine by running \"make check-hadrian-bootstrap\""
+
+.PHONY: check-hadrian-bootstrap
+check-hadrian-bootstrap:
+.if !empty(PORT_OPTIONS:MBOOT)
+	@${ECHO_CMD} "Generating Hadrian bootstrap without bootstrap GHC isn't supported"
+	${FALSE}
+.endif
+# Install bootstrap GHC
+	${MAKE} -C ${.CURDIR} pre-configure
+# Compile Hadrian
+	cd ${WRKSRC}/hadrian/bootstrap && \
+		./bootstrap.py -w ${BOOT_GHC} -s /tmp/hadrian-${GHC_VERSION}-boot.tar.gz
+
 .include <bsd.port.post.mk>
diff --git a/lang/ghc/distinfo b/lang/ghc/distinfo
index a27badaebedb..5d5bbe3f3ead 100644
--- a/lang/ghc/distinfo
+++ b/lang/ghc/distinfo
@@ -3,6 +3,10 @@ SHA256 (ghc-9.2.7-src.tar.xz) = a253567a17b734a4c0dd0ffa296d33c2a5b5a54a77df9888
 SIZE (ghc-9.2.7-src.tar.xz) = 24610432
 SHA256 (ghc-8.10.7-src.tar.xz) = e3eef6229ce9908dfe1ea41436befb0455fefb1932559e860ad4c606b0d03c9d
 SIZE (ghc-8.10.7-src.tar.xz) = 19932668
+SHA256 (hadrian-9.2.7-boot.tar.gz) = e332380ecf69fee189e6d9bc305435954c0b93427ad52bf0da0b9539b6461e54
+SIZE (hadrian-9.2.7-boot.tar.gz) = 1472978
+SHA256 (ghc-9.2.7-boot-amd64-freebsd.tar.xz) = 97a5e4b9974086db535e36da44d0dec5ddf5557983cf97d1d5ef7acc9e00cfbc
+SIZE (ghc-9.2.7-boot-amd64-freebsd.tar.xz) = 118525952
 SHA256 (ghc-8.10.7-boot-amd64-freebsd.tar.xz) = 5adfeceee2c3aa1208da174390cbb8e8c1d0a333b7c4a3a676a63f93beaf3126
 SIZE (ghc-8.10.7-boot-amd64-freebsd.tar.xz) = 70607916
 SHA256 (ghc-8.10.7-boot-i386-freebsd.tar.xz) = d841a6abf2b97e34feb9c71a85520a78dd667bfb6d6a7f401fa8a92b558928dc
diff --git a/lang/ghc/files/UserSettings.hs b/lang/ghc/files/UserSettings.hs
new file mode 100644
index 000000000000..9e622823d5d7
--- /dev/null
+++ b/lang/ghc/files/UserSettings.hs
@@ -0,0 +1,74 @@
+-- Ensure we don't expose any unfoldings to guarantee quick rebuilds
+{-# OPTIONS_GHC -O0 #-}
+
+-- If you want to customise your build you should copy this file from
+-- hadrian/src/UserSettings.hs to hadrian/UserSettings.hs and edit your copy.
+-- If you don't copy the file your changes will be tracked by git and you can
+-- accidentally commit them.
+--
+-- See doc/user-settings.md for instructions, and src/Flavour.hs for auxiliary
+-- functions for manipulating flavours.
+-- Please update doc/user-settings.md when committing changes to this file.
+module UserSettings (
+    userFlavours, userPackages, userDefaultFlavour,
+    verboseCommand, buildProgressColour, successColour, finalStage
+    ) where
+
+import Flavour
+import Expression
+import {-# SOURCE #-} Settings.Default
+
+-- See doc/user-settings.md for instructions.
+-- Please update doc/user-settings.md when committing changes to this file.
+
+-- | Name of the default flavour, i.e the one used when no --flavour=<name>
+--   argument is passed to Hadrian.
+userDefaultFlavour :: String
+userDefaultFlavour = "default"
+
+-- | User-defined build flavours. See 'userFlavour' as an example.
+userFlavours :: [Flavour]
+userFlavours = [userFlavour] -- Add more build flavours if need be.
+
+-- | This is an example user-defined build flavour. Feel free to modify it and
+-- use by passing @--flavour=user@ from the command line.
+userFlavour :: Flavour
+userFlavour = defaultFlavour {
+    name = "ports"
+  , libraryWays = remove ws defaultLibraryWays
+  , dynamicGhcPrograms = pure %%DYNAMIC%%
+--  , ghcProfiled = %%PROFILE%%
+  }
+  where
+    ws = concat [
+        if %%DYNAMIC%% then [] else [dynamic]
+      , if %%PROFILE%% then [] else [profiling]]
+
+-- | Add user-defined packages. Note, this only lets Hadrian know about the
+-- existence of a new package; to actually build it you need to create a new
+-- build flavour, modifying the list of packages that are built by default.
+userPackages :: [Package]
+userPackages = []
+
+-- | Set to 'True' to print full command lines during the build process. Note:
+-- this is a 'Predicate', hence you can enable verbose output only for certain
+-- targets, e.g.: @verboseCommand = package ghcPrim@.
+verboseCommand :: Predicate
+verboseCommand = do
+    verbosity <- expr getVerbosity
+    return $ verbosity >= Loud
+
+-- | Set colour for build progress messages (e.g. executing a build command).
+buildProgressColour :: BuildProgressColour
+buildProgressColour = mkBuildProgressColour (Dull Magenta)
+
+-- | Set colour for success messages (e.g. a package is built successfully).
+successColour :: SuccessColour
+successColour = mkSuccessColour (Dull Green)
+
+-- | Stop after building the StageN compiler.
+-- For example, setting the 'finalStage' to 'Stage1' will just build the
+-- 'Stage1' compiler. Setting it to 'Stage3' will build the 'Stage3'
+-- compiler. Setting it to 'Stage0' will mean nothing gets built at all.
+finalStage :: Stage
+finalStage = Stage2
diff --git a/lang/ghc/files/plan-bootstrap-8_10_7.json b/lang/ghc/files/plan-bootstrap-8_10_7.json
new file mode 100644
index 000000000000..0277c9532e84
--- /dev/null
+++ b/lang/ghc/files/plan-bootstrap-8_10_7.json
@@ -0,0 +1,255 @@
+{
+  "dependencies": [
+    {
+      "source": "hackage",
+      "cabal_sha256": "fc3aae74c467f4b608050bef53aec17904a618731df9407e655d8f3bf8c32d5c",
+      "revision": 0,
+      "src_sha256": "46009f4b000c9e6613377767b8718bf38476469f2a8e2162d98cc246882d5a35",
+      "flags": [
+        "-optimised-mixer"
+      ],
+      "package": "splitmix",
+      "version": "0.1.0.3"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "195506fedaa7c31c1fa2a747e9b49b4a5d1f0b09dd8f1291f23a771656faeec3",
+      "revision": 6,
+      "src_sha256": "e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de",
+      "flags": [],
+      "package": "random",
+      "version": "1.2.0"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "4ce29211223d5e6620ebceba34a3ca9ccf1c10c0cf387d48aea45599222ee5aa",
+      "revision": 0,
+      "src_sha256": "d87b6c85696b601175274361fa62217894401e401e150c3c5d4013ac53cd36f3",
+      "flags": [
+        "-old-random",
+        "+templatehaskell"
+      ],
+      "package": "QuickCheck",
+      "version": "2.14.2"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "473ffd59765cc67634bdc55b63c699a85addf3a024089073ec2a862881e83e2a",
+      "revision": 0,
+      "src_sha256": "0b5db110c703e68b251d5883253a934b012110b45393fc65df1b095eb9a4e461",
+      "flags": [
+        "-llvm"
+      ],
+      "package": "clock",
+      "version": "0.8.2"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0",
+      "revision": 0,
+      "src_sha256": "f66e26a63b216f0ca33665a75c08eada0a96af192ace83a18d87839d79afdf9d",
+      "flags": [],
+      "package": "extra",
+      "version": "1.7.9"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "aec816ff25418d1b03ba75189e568f490eb86efc47f586d43363fa338e422e81",
+      "revision": 0,
+      "src_sha256": "d92912ee0db0b8c50d6b2ffdc1ae91ee30e2704b47896aa325b42b58a2fcf65b",
+      "flags": [],
+      "package": "filepattern",
+      "version": "0.1.2"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "d965e098e06cc585b201da6137dcb31c40f35eb7a937b833903969447985c076",
+      "revision": 0,
+      "src_sha256": "8061823a4ac521b53912edcba36b956f3159cb885b07ec119af295a6568ca7c4",
+      "flags": [
+        "-integer-gmp"
+      ],
+      "package": "hashable",
+      "version": "1.3.1.0"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8",
+      "revision": 0,
+      "src_sha256": "89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd",
+      "flags": [],
+      "package": "heaps",
+      "version": "0.4"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4",
+      "revision": 0,
+      "src_sha256": "e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac",
+      "flags": [],
+      "package": "js-dgtable",
+      "version": "0.5.2"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d",
+      "revision": 0,
+      "src_sha256": "1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a",
+      "flags": [],
+      "package": "js-flot",
+      "version": "0.8.3"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5",
+      "revision": 0,
+      "src_sha256": "e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b",
+      "flags": [],
+      "package": "js-jquery",
+      "version": "3.3.1"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "29de6bfd0cf8ba023ceb806203dfbec0e51e3524e75ffe41056f70b4229c6f0f",
+      "revision": 3,
+      "src_sha256": "6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0",
+      "flags": [],
+      "package": "primitive",
+      "version": "0.7.1.0"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "6310c636f92ed4908fdd0de582b6be31c2851c7b5f2ec14e9f416eb94df7a078",
+      "revision": 0,
+      "src_sha256": "86b01369ab8eb311383a052d389337e2cd71a63088323f02932754df4aa37b55",
+      "flags": [
+        "-debug"
+      ],
+      "package": "unordered-containers",
+      "version": "0.2.13.0"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f",
+      "revision": 0,
+      "src_sha256": "ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a",
+      "flags": [],
+      "package": "utf8-string",
+      "version": "1.0.2"
+    },
+    {
+      "source": "hackage",
+      "cabal_sha256": "be81f7c69137e639812380047dfbbdd253ca536cc919504c3bc0f14517e80eb9",
+      "revision": 0,
+      "src_sha256": "5bae8873f628113604159f650802edb249dfbe5802c4612751f680ac987d73ee",
+      "flags": [
+        "-cloud",
+        "-embed-files",
+        "-portable"
+      ],
+      "package": "shake",
+      "version": "0.19.4"
+    },
+    {
+      "source": "local",
+      "cabal_sha256": null,
+      "revision": null,
+      "src_sha256": null,
+      "flags": [
+        "+threaded"
+      ],
+      "package": "hadrian",
+      "version": "0.1.0.0"
+    }
+  ],
+  "builtin": [
+    {
+      "package": "rts",
+      "version": "1.0.1"
+    },
+    {
+      "package": "ghc-prim",
+      "version": "0.6.1"
+    },
+    {
+      "package": "integer-simple",
+      "version": "0.1.2.0"
+    },
+    {
+      "package": "base",
+      "version": "4.14.3.0"
+    },
+    {
+      "package": "array",
+      "version": "0.5.4.0"
+    },
+    {
+      "package": "deepseq",
+      "version": "1.4.4.0"
+    },
+    {
+      "package": "bytestring",
+      "version": "0.10.12.0"
+    },
+    {
+      "package": "containers",
+      "version": "0.6.5.1"
+    },
+    {
+      "package": "binary",
+      "version": "0.8.8.0"
+    },
+    {
+      "package": "filepath",
+      "version": "1.4.2.1"
+    },
+    {
+      "package": "time",
+      "version": "1.9.3"
+    },
+    {
+      "package": "unix",
+      "version": "2.7.2.2"
+    },
+    {
+      "package": "directory",
+      "version": "1.3.6.0"
+    },
+    {
+      "package": "transformers",
+      "version": "0.5.6.2"
+    },
+    {
+      "package": "mtl",
+      "version": "2.2.2"
+    },
+    {
+      "package": "ghc-boot-th",
+      "version": "8.10.7"
+    },
+    {
+      "package": "pretty",
+      "version": "1.1.3.6"
+    },
+    {
+      "package": "template-haskell",
+      "version": "2.16.0.0"
+    },
+    {
+      "package": "text",
+      "version": "1.2.4.1"
+    },
+    {
+      "package": "parsec",
+      "version": "3.1.14.0"
+    },
+    {
+      "package": "process",
+      "version": "1.6.13.2"
+    },
+    {
+      "package": "Cabal",
+      "version": "3.2.1.0"
+    }
+  ]
+}
diff --git a/lang/ghc/pkg-plist.hadrian b/lang/ghc/pkg-plist.hadrian
new file mode 100644
index 000000000000..c57e2a9c7c17
--- /dev/null
+++ b/lang/ghc/pkg-plist.hadrian
@@ -0,0 +1,4990 @@
+bin/ghc
+bin/ghc-%%GHC_VERSION%%
+bin/ghc-pkg
+bin/ghc-pkg-%%GHC_VERSION%%
+bin/ghci
+bin/ghci-%%GHC_VERSION%%
+bin/haddock-ghc-%%GHC_VERSION%%
+bin/hp2ps
+bin/hp2ps-ghc-%%GHC_VERSION%%
+bin/hpc
+bin/hpc-ghc-%%GHC_VERSION%%
+bin/hsc2hs
+bin/hsc2hs-ghc-%%GHC_VERSION%%
+bin/runghc
+bin/runghc-%%GHC_VERSION%%
+bin/runhaskell
+bin/runhaskell-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/ghc
+lib/ghc-%%GHC_VERSION%%/bin/ghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv
+lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-dyn
+lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-dyn-ghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-ghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-prof
+lib/ghc-%%GHC_VERSION%%/bin/ghc-iserv-prof-ghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/ghc-pkg
+lib/ghc-%%GHC_VERSION%%/bin/ghc-pkg-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/haddock
+lib/ghc-%%GHC_VERSION%%/bin/haddock-ghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/hp2ps
+lib/ghc-%%GHC_VERSION%%/bin/hp2ps-ghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/hpc
+lib/ghc-%%GHC_VERSION%%/bin/hpc-ghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/hsc2hs
+lib/ghc-%%GHC_VERSION%%/bin/hsc2hs-ghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/runghc
+lib/ghc-%%GHC_VERSION%%/bin/runghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/runhaskell
+lib/ghc-%%GHC_VERSION%%/bin/runhaskell-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/bin/unlit
+lib/ghc-%%GHC_VERSION%%/bin/unlit-ghc-%%GHC_VERSION%%
+lib/ghc-%%GHC_VERSION%%/lib/DerivedConstants.h
+lib/ghc-%%GHC_VERSION%%/lib/bin/ghc-iserv
+lib/ghc-%%GHC_VERSION%%/lib/bin/ghc-iserv-dyn
+lib/ghc-%%GHC_VERSION%%/lib/bin/ghc-iserv-prof
+lib/ghc-%%GHC_VERSION%%/lib/bin/unlit
+lib/ghc-%%GHC_VERSION%%/lib/ghc-usage.txt
+lib/ghc-%%GHC_VERSION%%/lib/ghcautoconf.h
+lib/ghc-%%GHC_VERSION%%/lib/ghci-usage.txt
+lib/ghc-%%GHC_VERSION%%/lib/ghcplatform.h
+lib/ghc-%%GHC_VERSION%%/lib/ghcversion.h
+lib/ghc-%%GHC_VERSION%%/lib/html/Classic.theme/haskell_icon.gif
+lib/ghc-%%GHC_VERSION%%/lib/html/Classic.theme/minus.gif
+lib/ghc-%%GHC_VERSION%%/lib/html/Classic.theme/plus.gif
+lib/ghc-%%GHC_VERSION%%/lib/html/Classic.theme/xhaddock.css
+lib/ghc-%%GHC_VERSION%%/lib/html/Linuwial.std-theme/linuwial.css
+lib/ghc-%%GHC_VERSION%%/lib/html/Linuwial.std-theme/synopsis.png
+lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/hslogo-16.png
+lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/minus.gif
+lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/ocean.css
+lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/plus.gif
+lib/ghc-%%GHC_VERSION%%/lib/html/Ocean.theme/synopsis.png
+lib/ghc-%%GHC_VERSION%%/lib/html/README.md
+lib/ghc-%%GHC_VERSION%%/lib/html/gulpfile.js
+lib/ghc-%%GHC_VERSION%%/lib/html/haddock-bundle.min.js
+lib/ghc-%%GHC_VERSION%%/lib/html/highlight.js
+lib/ghc-%%GHC_VERSION%%/lib/html/js-src/cookies.ts
+lib/ghc-%%GHC_VERSION%%/lib/html/js-src/details-helper.tsx
+lib/ghc-%%GHC_VERSION%%/lib/html/js-src/init.ts
+lib/ghc-%%GHC_VERSION%%/lib/html/js-src/quick-jump.tsx
+lib/ghc-%%GHC_VERSION%%/lib/html/js-src/style-menu.tsx
+lib/ghc-%%GHC_VERSION%%/lib/html/package-lock.json
+lib/ghc-%%GHC_VERSION%%/lib/html/package.json
+lib/ghc-%%GHC_VERSION%%/lib/html/quick-jump.css
+lib/ghc-%%GHC_VERSION%%/lib/html/quick-jump.min.js
+lib/ghc-%%GHC_VERSION%%/lib/html/solarized.css
+lib/ghc-%%GHC_VERSION%%/lib/html/tsconfig.json
+lib/ghc-%%GHC_VERSION%%/lib/latex/haddock.sty
+lib/ghc-%%GHC_VERSION%%/lib/llvm-passes
+lib/ghc-%%GHC_VERSION%%/lib/llvm-targets
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/.stamp
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/Cabal-%%CABAL_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/Cabal-%%CABAL_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/array-%%ARRAY_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/array-%%ARRAY_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/base-%%BASE_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/base-%%BASE_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/binary-%%BINARY_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/binary-%%BINARY_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/bytestring-%%BYTESTRING_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/bytestring-%%BYTESTRING_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/containers-%%CONTAINERS_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/containers-%%CONTAINERS_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/deepseq-%%DEEPSEQ_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/deepseq-%%DEEPSEQ_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/directory-%%DIRECTORY_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/directory-%%DIRECTORY_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/exceptions-%%EXCEPTIONS_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/exceptions-%%EXCEPTIONS_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/filepath-%%FILEPATH_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/filepath-%%FILEPATH_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-%%GHC_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-%%GHC_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-bignum-%%GHC-BIGNUM_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-bignum-%%GHC-BIGNUM_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-boot-%%GHC_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-boot-%%GHC_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-boot-th-%%GHC_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-boot-th-%%GHC_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-compact-%%GHC-COMPACT_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-compact-%%GHC-COMPACT_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-heap-%%GHC_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-heap-%%GHC_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-prim-%%GHC-PRIM_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghc-prim-%%GHC-PRIM_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghci-%%GHC_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/ghci-%%GHC_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/haskeline-%%HASKELINE_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/haskeline-%%HASKELINE_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/hpc-%%HPC_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/hpc-%%HPC_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/integer-gmp-%%INTEGER-GMP_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/integer-gmp-%%INTEGER-GMP_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/libiserv-%%GHC_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/libiserv-%%GHC_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/mtl-%%MTL_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/mtl-%%MTL_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/package.cache
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/package.cache.lock
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/parsec-%%PARSEC_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/parsec-%%PARSEC_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/pretty-%%INTEGER-GMP_VERSION%%.3.6.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/pretty-%%INTEGER-GMP_VERSION%%.3.6.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/process-%%PROCESS_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/process-%%PROCESS_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/rts-1.0.2.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/rts-1.0.2.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/stm-%%STM_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/stm-%%STM_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/template-haskell-%%TEMPLATE-HASKELL_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/template-haskell-%%TEMPLATE-HASKELL_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/terminfo-%%TERMINFO_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/terminfo-%%TERMINFO_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/text-%%TEXT_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/text-%%TEXT_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/time-%%TIME_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/time-%%TIME_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/transformers-%%TRANSFORMERS_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/transformers-%%TRANSFORMERS_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/unix-%%UNIX_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/unix-%%UNIX_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/xhtml-%%XHTML_VERSION%%.conf
+lib/ghc-%%GHC_VERSION%%/lib/package.conf.d/xhtml-%%XHTML_VERSION%%.conf.copy
+lib/ghc-%%GHC_VERSION%%/lib/settings
+lib/ghc-%%GHC_VERSION%%/lib/template-hsc.h
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ComponentsGraph.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ComponentsGraph.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ComponentsGraph.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/Configure.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/Configure.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/Configure.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ConfiguredComponent.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ConfiguredComponent.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ConfiguredComponent.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/DescribeUnitId.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/DescribeUnitId.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/DescribeUnitId.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/FullUnitId.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/FullUnitId.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/FullUnitId.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/Id.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/Id.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/Id.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/LinkedComponent.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/LinkedComponent.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/LinkedComponent.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/MixLink.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/MixLink.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/MixLink.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ModSubst.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ModSubst.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ModSubst.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ModuleScope.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ModuleScope.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ModuleScope.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ModuleShape.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ModuleShape.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ModuleShape.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/PreExistingComponent.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/PreExistingComponent.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/PreExistingComponent.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/PreModuleShape.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/PreModuleShape.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/PreModuleShape.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ReadyComponent.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ReadyComponent.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/ReadyComponent.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/UnifyM.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/UnifyM.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Backpack/UnifyM.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/CabalSpecVersion.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/CabalSpecVersion.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/CabalSpecVersion.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Async.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Async.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Async.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Binary.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Binary.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Binary.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/CharParsing.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/CharParsing.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/CharParsing.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/CopyFile.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/CopyFile.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/CopyFile.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/CreatePipe.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/CreatePipe.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/CreatePipe.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/DList.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/DList.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/DList.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Directory.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Directory.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Directory.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Environment.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Environment.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Environment.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Exception.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Exception.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Exception.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/FilePath.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/FilePath.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/FilePath.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/GetShortPathName.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/GetShortPathName.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/GetShortPathName.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Graph.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Graph.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Graph.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Internal/TempFile.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Internal/TempFile.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Internal/TempFile.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Lens.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Lens.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Lens.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/MonadFail.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/MonadFail.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/MonadFail.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Newtype.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Newtype.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Newtype.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/NonEmptySet.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/NonEmptySet.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/NonEmptySet.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Parsing.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Parsing.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Parsing.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Prelude.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Prelude.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Prelude.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Prelude/Internal.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Prelude/Internal.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Prelude/Internal.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Process.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Process.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Process.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/ResponseFile.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/ResponseFile.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/ResponseFile.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Semigroup.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Semigroup.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Semigroup.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/SnocList.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/SnocList.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/SnocList.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Stack.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Stack.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Stack.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Time.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Time.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Time.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Typeable.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Typeable.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compat/Typeable.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compiler.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compiler.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Compiler.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Class.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Class.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Class.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/FieldDescrs.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/FieldDescrs.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/FieldDescrs.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Newtypes.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Newtypes.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Newtypes.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Parsec.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Parsec.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Parsec.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Pretty.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Pretty.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/FieldGrammar/Pretty.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/ConfVar.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/ConfVar.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/ConfVar.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Field.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Field.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Field.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Lexer.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Lexer.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Lexer.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/LexerMonad.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/LexerMonad.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/LexerMonad.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/ParseResult.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/ParseResult.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/ParseResult.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Parser.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Parser.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Parser.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Pretty.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Pretty.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Fields/Pretty.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/GetOpt.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/GetOpt.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/GetOpt.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/InstalledPackageInfo.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/InstalledPackageInfo.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/InstalledPackageInfo.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Lex.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Lex.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Lex.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/License.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/License.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/License.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Make.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Make.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Make.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/ModuleName.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/ModuleName.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/ModuleName.p_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Package.dyn_hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Package.hi
+lib/ghc-%%GHC_VERSION%%/lib/x86_64-freebsd-ghc-%%GHC_VERSION%%/Cabal-%%CABAL_VERSION%%/Distribution/Package.p_hi
*** 4647 LINES SKIPPED ***