ghc-boot-th can't be uploaded to hackage
It refers to source files outside its directory, even though it is guarded by a cabal flag.
Uploading ghc-boot-th-9.12.1.tar.gz...
Error uploading ghc-boot-th-9.12.1.tar.gz: http code 400
Error: Invalid package
Invalid unix file name in tar archive:
"ghc-boot-th-9.12.1/../ghc-internal/src/GHC/Internal/". For portability,
hackage requires that file names be valid on both Unix and Windows systems,
and not refer outside of the tarball.
if flag(bootstrap)
cpp-options: -DBOOTSTRAP_TH
hs-source-dirs: . ../ghc-internal/src
exposed-modules:
GHC.Internal.TH.Lib
GHC.Internal.TH.Syntax
other-modules:
GHC.Internal.ForeignSrcLang
GHC.Internal.LanguageExtensions
GHC.Internal.Lexeme
else
hs-source-dirs: .
build-depends:
ghc-internal
reexported-modules:
GHC.Internal.TH.Lib,
GHC.Internal.TH.Lift,
GHC.Internal.TH.Quote,
GHC.Internal.TH.Syntax