MCPcopy Index your code
hub / github.com/pre-commit/pre-commit / install_environment

Function install_environment

pre_commit/languages/haskell.py:33–56  ·  view source on GitHub ↗
(
    prefix: Prefix,
    version: str,
    additional_dependencies: Sequence[str],
)

Source from the content-addressed store, hash-verified

31
32
33def 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 )

Callers

nothing calls this directly

Calls 2

FatalErrorClass · 0.90
starMethod · 0.80

Tested by

no test coverage detected