Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,49 @@ bootstrap-jsons-nix-helper:
users-guide: ## Build the users guide.
$(MAKE) -C doc users-guide

# Haddock for one module of a library in this repository, typechecked against
# the built in-place library instead of re-haddocking the whole package. The
# library must already be built, with `cabal build $(PKG):lib:$(PKG)`. The
# language and extensions below must cover every library stanza in the
# repository; they all use GHC2021.
#
# The module may import its package's other-modules, which the registered
# library hides, so the recipe registers a copy of the package in a temporary
# package db with every module exposed.
#
# make haddock-module MODULE=Distribution.Client.Cmd.UI
# make haddock-module PKG=Cabal-syntax MODULE=Distribution.Types.Version
#
HADDOCK_MODULE_OUT ?= dist-newstyle/haddock-module
HADDOCK_MODULE_GHC = $(shell ghc --numeric-version)
HADDOCK_MODULE_EXTS := -XGHC2021 -XTypeOperators -XNoImportQualifiedPost
PKG ?= cabal-install

.PHONY: haddock-module
haddock-module: ## Haddock one module: MODULE=Distribution.Client.Cmd.UI [PKG=cabal-install]
@test -n "$(MODULE)" || { echo "usage: make haddock-module MODULE=Distribution.Client.Cmd.UI [PKG=cabal-install]"; exit 1; }
@pkgdb=dist-newstyle/packagedb/ghc-$(HADDOCK_MODULE_GHC) && \
conf=$$(ls $$pkgdb/$(PKG)-[0-9]*-inplace.conf) && \
deps=$$(awk '/^depends:/{f=1; sub(/^depends:/,"")} f && /^[a-z-]+:/ && !/^depends:/{f=0} f{print}' $$conf \
| tr ' ' '\n' | grep . | sed 's/^/--optghc=-package-id=/') && \
dbs=$$(for db in $$(cabal path -v0 --store-dir)/ghc-$(HADDOCK_MODULE_GHC)-*/package.db; do echo "--optghc=-package-db=$$db"; done) && \
macros=$$(ls dist-newstyle/build/*/ghc-$(HADDOCK_MODULE_GHC)/$(PKG)-[0-9]*/build/autogen/cabal_macros.h) && \
src=$$(ls $(PKG)/src*/$(subst .,/,$(MODULE)).hs) && \
tmpdb=$$(mktemp -d) && trap 'rm -rf "$$tmpdb"' EXIT && \
cp $$pkgdb/*.conf $$tmpdb && \
awk 'NR==FNR { if (/^hidden-modules:/) { h=1; sub(/^hidden-modules:/, "") } else if (h && /^[A-Za-z-]+:/) h=0; if (h) for (i=1; i<=NF; i++) hid = hid " " $$i ",\n"; next } \
/^hidden-modules:/ { skip=1; next } skip && /^[A-Za-z-]+:/ { skip=0 } skip { next } \
/^exposed-modules:/ { print; printf "%s", hid; next } { print }' $$conf $$conf > $$tmpdb/$$(basename $$conf) && \
ghc-pkg recache --package-db=$$tmpdb && \
haddock --html -o $(HADDOCK_MODULE_OUT) \
$(addprefix --optghc=,$(HADDOCK_MODULE_EXTS)) \
--optghc=-optP-include --optghc=-optP$$macros \
--optghc=-hide-all-packages $$dbs \
--optghc=-package-db=$$tmpdb \
$$deps --optghc=-package-id=$$(basename $$conf .conf) \
$$src
@echo "$(HADDOCK_MODULE_OUT)/$(subst .,-,$(MODULE)).html"

ifeq ($(shell uname), Darwin)
PROCS := $(shell sysctl -n hw.logicalcpu)
else
Expand Down
87 changes: 87 additions & 0 deletions bootstrap/linux-9.10.3.json
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,38 @@
"src_sha256": "d2a33bc281327d8f20afee18287c2e3f923f0cd86bac40dcba120ca3d2014f9b",
"version": "4000.5.0"
},
{
"cabal_sha256": "613dc8d5f6e51babe57398a742ab8d5c2964fa98b773f3bf6e6a72b7e87f1c6e",
"component": "lib:colour",
"flags": [],
"package": "colour",
"revision": 0,
"source": "hackage",
"src_sha256": "1f3b1055675abe4e3362800cc9bf7ab9b92dfdf21a1f6c82b252611270be9680",
"version": "2.3.7"
},
{
"cabal_sha256": "1d6061eceaf35a9ed269b81177dd4c8c60403a499526f7f68fdffa4ec7842e7f",
"component": "lib:ansi-terminal-types",
"flags": [],
"package": "ansi-terminal-types",
"revision": 0,
"source": "hackage",
"src_sha256": "9fc9ce2157f1889bd99a4d22c9f1c64589590be0f797c3efe71c8fa17a11a689",
"version": "1.1.3"
},
{
"cabal_sha256": "408d9232e5304efead718f96138d6d7eb2da608c6121c5c0dc6a71a833b14320",
"component": "lib:ansi-terminal",
"flags": [
"-example"
],
"package": "ansi-terminal",
"revision": 0,
"source": "hackage",
"src_sha256": "9cf083cef2e2ba88a425f132c8a82bfa931eb4b0c38232b2017f8fcea2e23073",
"version": "1.1.5"
},
{
"cabal_sha256": "140fc5adad166f7b527567cbd26ff481e8da4a66bdfc84be3ddf28dbeb66f275",
"component": "lib:hashable",
Expand Down Expand Up @@ -459,6 +491,61 @@
"src_sha256": "1066e286615e39ef43f7e7437a4644775246e264c33b4d259b4858cff0985f0b",
"version": "0.5.1.0"
},
{
"cabal_sha256": "e3a802ea939d465b2e37b9fa09d8e5bb88b5775d6d62dd2ec6ca32b63416656d",
"component": "lib:prettyprinter",
"flags": [
"-buildreadme",
"+text"
],
"package": "prettyprinter",
"revision": 0,
"source": "hackage",
"src_sha256": "f04eb6fd865512ad8672da1e8bfcea1c384509fc2f662c41b7ac39d7898706ee",
"version": "1.7.2"
},
{
"cabal_sha256": "5184ba6002a650de3307547347eaba19bdc9b82eb68e943f406818caa215ce4f",
"component": "lib:prettyprinter-ansi-terminal",
"flags": [
"+text"
],
"package": "prettyprinter-ansi-terminal",
"revision": 0,
"source": "hackage",
"src_sha256": "912cd340d5c2583111e2eaeb9aa03b87551ca2e3dd78bbfd346756b9f1e6c9fe",
"version": "1.1.4"
},
{
"cabal_sha256": "044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643",
"component": "lib:transformers-compat",
"flags": [
"-five",
"+five-three",
"-four",
"+generic-deriving",
"+mtl",
"-three",
"-two"
],
"package": "transformers-compat",
"revision": 0,
"source": "hackage",
"src_sha256": "b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a",
"version": "0.7.2"
},
{
"cabal_sha256": "f30973861ac7e7ebff05ff8c7c3d1e4d283a1f3850e1cc14106b0693ec1b6d82",
"component": "lib:optparse-applicative",
"flags": [
"+process"
],
"package": "optparse-applicative",
"revision": 1,
"source": "hackage",
"src_sha256": "63811ab4fd26e829b8868364325a88be3acc79819f5bb5005b2dd3b961ecc491",
"version": "0.18.1.0"
},
{
"cabal_sha256": "d6c0c6d1136f5046207a331114ff4130e70640452096de7719bf03e3fceb7c7b",
"component": "lib:regex-base",
Expand Down
87 changes: 87 additions & 0 deletions bootstrap/linux-9.12.4.json
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,38 @@
"src_sha256": "d2a33bc281327d8f20afee18287c2e3f923f0cd86bac40dcba120ca3d2014f9b",
"version": "4000.5.0"
},
{
"cabal_sha256": "613dc8d5f6e51babe57398a742ab8d5c2964fa98b773f3bf6e6a72b7e87f1c6e",
"component": "lib:colour",
"flags": [],
"package": "colour",
"revision": 0,
"source": "hackage",
"src_sha256": "1f3b1055675abe4e3362800cc9bf7ab9b92dfdf21a1f6c82b252611270be9680",
"version": "2.3.7"
},
{
"cabal_sha256": "1d6061eceaf35a9ed269b81177dd4c8c60403a499526f7f68fdffa4ec7842e7f",
"component": "lib:ansi-terminal-types",
"flags": [],
"package": "ansi-terminal-types",
"revision": 0,
"source": "hackage",
"src_sha256": "9fc9ce2157f1889bd99a4d22c9f1c64589590be0f797c3efe71c8fa17a11a689",
"version": "1.1.3"
},
{
"cabal_sha256": "408d9232e5304efead718f96138d6d7eb2da608c6121c5c0dc6a71a833b14320",
"component": "lib:ansi-terminal",
"flags": [
"-example"
],
"package": "ansi-terminal",
"revision": 0,
"source": "hackage",
"src_sha256": "9cf083cef2e2ba88a425f132c8a82bfa931eb4b0c38232b2017f8fcea2e23073",
"version": "1.1.5"
},
{
"cabal_sha256": "140fc5adad166f7b527567cbd26ff481e8da4a66bdfc84be3ddf28dbeb66f275",
"component": "lib:hashable",
Expand Down Expand Up @@ -450,6 +482,61 @@
"src_sha256": "1066e286615e39ef43f7e7437a4644775246e264c33b4d259b4858cff0985f0b",
"version": "0.5.1.0"
},
{
"cabal_sha256": "e3a802ea939d465b2e37b9fa09d8e5bb88b5775d6d62dd2ec6ca32b63416656d",
"component": "lib:prettyprinter",
"flags": [
"-buildreadme",
"+text"
],
"package": "prettyprinter",
"revision": 0,
"source": "hackage",
"src_sha256": "f04eb6fd865512ad8672da1e8bfcea1c384509fc2f662c41b7ac39d7898706ee",
"version": "1.7.2"
},
{
"cabal_sha256": "5184ba6002a650de3307547347eaba19bdc9b82eb68e943f406818caa215ce4f",
"component": "lib:prettyprinter-ansi-terminal",
"flags": [
"+text"
],
"package": "prettyprinter-ansi-terminal",
"revision": 0,
"source": "hackage",
"src_sha256": "912cd340d5c2583111e2eaeb9aa03b87551ca2e3dd78bbfd346756b9f1e6c9fe",
"version": "1.1.4"
},
{
"cabal_sha256": "044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643",
"component": "lib:transformers-compat",
"flags": [
"-five",
"+five-three",
"-four",
"+generic-deriving",
"+mtl",
"-three",
"-two"
],
"package": "transformers-compat",
"revision": 0,
"source": "hackage",
"src_sha256": "b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a",
"version": "0.7.2"
},
{
"cabal_sha256": "f30973861ac7e7ebff05ff8c7c3d1e4d283a1f3850e1cc14106b0693ec1b6d82",
"component": "lib:optparse-applicative",
"flags": [
"+process"
],
"package": "optparse-applicative",
"revision": 1,
"source": "hackage",
"src_sha256": "63811ab4fd26e829b8868364325a88be3acc79819f5bb5005b2dd3b961ecc491",
"version": "0.18.1.0"
},
{
"cabal_sha256": "d6c0c6d1136f5046207a331114ff4130e70640452096de7719bf03e3fceb7c7b",
"component": "lib:regex-base",
Expand Down
87 changes: 87 additions & 0 deletions bootstrap/linux-9.6.7.json
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,38 @@
"src_sha256": "d2a33bc281327d8f20afee18287c2e3f923f0cd86bac40dcba120ca3d2014f9b",
"version": "4000.5.0"
},
{
"cabal_sha256": "613dc8d5f6e51babe57398a742ab8d5c2964fa98b773f3bf6e6a72b7e87f1c6e",
"component": "lib:colour",
"flags": [],
"package": "colour",
"revision": 0,
"source": "hackage",
"src_sha256": "1f3b1055675abe4e3362800cc9bf7ab9b92dfdf21a1f6c82b252611270be9680",
"version": "2.3.7"
},
{
"cabal_sha256": "1d6061eceaf35a9ed269b81177dd4c8c60403a499526f7f68fdffa4ec7842e7f",
"component": "lib:ansi-terminal-types",
"flags": [],
"package": "ansi-terminal-types",
"revision": 0,
"source": "hackage",
"src_sha256": "9fc9ce2157f1889bd99a4d22c9f1c64589590be0f797c3efe71c8fa17a11a689",
"version": "1.1.3"
},
{
"cabal_sha256": "408d9232e5304efead718f96138d6d7eb2da608c6121c5c0dc6a71a833b14320",
"component": "lib:ansi-terminal",
"flags": [
"-example"
],
"package": "ansi-terminal",
"revision": 0,
"source": "hackage",
"src_sha256": "9cf083cef2e2ba88a425f132c8a82bfa931eb4b0c38232b2017f8fcea2e23073",
"version": "1.1.5"
},
{
"cabal_sha256": "c0663f5f428108680f4aae0f67b7b357c1bb5954281c7fbe941c50c58cd79f18",
"component": "lib:os-string",
Expand Down Expand Up @@ -461,6 +493,61 @@
"src_sha256": "1066e286615e39ef43f7e7437a4644775246e264c33b4d259b4858cff0985f0b",
"version": "0.5.1.0"
},
{
"cabal_sha256": "e3a802ea939d465b2e37b9fa09d8e5bb88b5775d6d62dd2ec6ca32b63416656d",
"component": "lib:prettyprinter",
"flags": [
"-buildreadme",
"+text"
],
"package": "prettyprinter",
"revision": 0,
"source": "hackage",
"src_sha256": "f04eb6fd865512ad8672da1e8bfcea1c384509fc2f662c41b7ac39d7898706ee",
"version": "1.7.2"
},
{
"cabal_sha256": "5184ba6002a650de3307547347eaba19bdc9b82eb68e943f406818caa215ce4f",
"component": "lib:prettyprinter-ansi-terminal",
"flags": [
"+text"
],
"package": "prettyprinter-ansi-terminal",
"revision": 0,
"source": "hackage",
"src_sha256": "912cd340d5c2583111e2eaeb9aa03b87551ca2e3dd78bbfd346756b9f1e6c9fe",
"version": "1.1.4"
},
{
"cabal_sha256": "044fb9955f63ee138fcebedfdcbe54afe741f2d5892a2d0bdf3a8052bd342643",
"component": "lib:transformers-compat",
"flags": [
"-five",
"+five-three",
"-four",
"+generic-deriving",
"+mtl",
"-three",
"-two"
],
"package": "transformers-compat",
"revision": 0,
"source": "hackage",
"src_sha256": "b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a",
"version": "0.7.2"
},
{
"cabal_sha256": "f30973861ac7e7ebff05ff8c7c3d1e4d283a1f3850e1cc14106b0693ec1b6d82",
"component": "lib:optparse-applicative",
"flags": [
"+process"
],
"package": "optparse-applicative",
"revision": 1,
"source": "hackage",
"src_sha256": "63811ab4fd26e829b8868364325a88be3acc79819f5bb5005b2dd3b961ecc491",
"version": "0.18.1.0"
},
{
"cabal_sha256": "d6c0c6d1136f5046207a331114ff4130e70640452096de7719bf03e3fceb7c7b",
"component": "lib:regex-base",
Expand Down
Loading
Loading