(
prefix: Prefix,
version: str,
additional_dependencies: Sequence[str],
)
| 31 | |
| 32 | |
| 33 | def install_environment( |
| 34 | prefix: Prefix, |
| 35 | version: str, |
| 36 | additional_dependencies: Sequence[str], |
| 37 | ) -> None: |
| 38 | lang_base.assert_version_default('haskell', version) |
| 39 | envdir = lang_base.environment_dir(prefix, ENVIRONMENT_DIR, version) |
| 40 | |
| 41 | pkgs = [*prefix.star('.cabal'), *additional_dependencies] |
| 42 | if not pkgs: |
| 43 | raise FatalError('Expected .cabal files or additional_dependencies') |
| 44 | |
| 45 | bindir = os.path.join(envdir, 'bin') |
| 46 | os.makedirs(bindir, exist_ok=True) |
| 47 | lang_base.setup_cmd(prefix, ('cabal', 'update')) |
| 48 | lang_base.setup_cmd( |
| 49 | prefix, |
| 50 | ( |
| 51 | 'cabal', 'install', |
| 52 | '--install-method', 'copy', |
| 53 | '--installdir', bindir, |
| 54 | *pkgs, |
| 55 | ), |
| 56 | ) |
nothing calls this directly
no test coverage detected