U ex@sddlmZddlZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddl m Z dd lmZdd lmZd Ze jZe jZe jZd d dddZejdd ddddZdd dddddZdS)) annotationsN) Generator)Sequence) lang_base) envcontext)PatchesT)Var) FatalError)PrefixZhs_envstrr) target_dirreturncCs$tj|d}d|tjtdfffS)NbinPATH)ospathjoinpathsepr)r Zbin_pathrJ/opt/hc_python/lib/python3.8/site-packages/pre_commit/languages/haskell.py get_env_patchsrr zGenerator[(None, None, None)])prefixversionr c cs0t|t|}tt| dVW5QRXdS)N)renvironment_dirENVIRONMENT_DIRrr)rrenvdirrrrin_envsrz Sequence[str]None)rradditional_dependenciesr c Cs|td|t|t|}|d|}|s4tdtj|d}tj |ddt |dt |dd d d d |f|dS) Nhaskellz.cabalz0Expected .cabal files or additional_dependenciesrT)exist_ok)cabalupdater!installz--install-methodcopyz --installdir) rZassert_version_defaultrrstarr rrrmakedirsZ setup_cmd)rrrrpkgsZbindirrrrinstall_environment!s(  r() __future__r contextlibos.pathrtypingrrZ pre_commitrZpre_commit.envcontextrrrZpre_commit.errorsr Zpre_commit.prefixr rZbasic_get_default_versionZget_default_versionZbasic_health_checkZ health_checkZbasic_run_hookZrun_hookrcontextmanagerrr(rrrrs$