Skip to content

Commit

Permalink
bootstrap: generate missing Setup.hs in dependencies
Browse files Browse the repository at this point in the history
This allows bootstrapping against zlib 0.6.3.0, which ships
without Setup.hs.

I hope this should generally be a more robust approach than
asking maintainers of dependencies to keep Setup.hs.
  • Loading branch information
robx authored and mergify[bot] committed Jun 7, 2022
1 parent 5b64eae commit 5afa86b
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions bootstrap/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,12 @@ def install_dep(dep: BootstrapDep, ghc: Compiler) -> None:
if dep.revision is not None:
shutil.copyfile(cabal_file, sdist_dir / f'{dep.package}.cabal')

# We rely on the presence of Setup.hs
if len(list(sdist_dir.glob('Setup.*hs'))) == 0:
with open(sdist_dir / 'Setup.hs', 'w') as f:
f.write('import Distribution.Simple\n')
f.write('main = defaultMain\n')

elif dep.source == PackageSource.LOCAL:
if dep.package == 'Cabal':
sdist_dir = Path('Cabal').resolve()
Expand Down

0 comments on commit 5afa86b

Please sign in to comment.