@@ -197,7 +197,8 @@ def _prepare_cabal_inputs(
197197 generate_paths_module ,
198198 is_library = False , # @unused
199199 dynamic_file = None ,
200- static_binary = True ):
200+ static_binary = True ,
201+ label = None ):
201202 """Compute Cabal wrapper, arguments, inputs."""
202203 with_profiling = is_profiling_enabled (hs )
203204
@@ -349,6 +350,10 @@ def _prepare_cabal_inputs(
349350 # Redundant with _binary_paths() above, but better be explicit when we can.
350351 path_args .extend ([_cabal_tool_flag (tool_flag ) for tool_flag in tool_inputs .to_list () if _cabal_tool_flag (tool_flag )])
351352
353+ repo_name = "_main"
354+ if generate_paths_module and label and label .repo_name :
355+ repo_name = label .repo_name
356+
352357 args = struct (
353358 component = component ,
354359 pkg_name = package_id ,
@@ -364,6 +369,7 @@ def _prepare_cabal_inputs(
364369 ghc_version = ghc_version ,
365370 cabal_basename = cabal .basename ,
366371 cabal_dirname = cabal .dirname ,
372+ repo_name = repo_name ,
367373 extra_ldflags_file = extra_ldflags_file .path if extra_ldflags_file else None ,
368374 package_databases = [p .path for p in package_databases .to_list ()],
369375 )
@@ -479,7 +485,7 @@ def _haskell_cabal_library_impl(ctx):
479485
480486 is_empty = False
481487 ignore_setup = False
482- with_haddock = hs .tools_config .supports_haddock
488+ with_haddock = hs .tools_config .supports_haddock and ctx . attr . haddock
483489 if ctx .attr .cabal_args :
484490 cabal_args = ctx .attr .cabal_args [HaskellCabalArgsInfo ]
485491
@@ -598,6 +604,7 @@ def _haskell_cabal_library_impl(ctx):
598604 generate_paths_module = ctx .attr .generate_paths_module ,
599605 dynamic_file = dynamic_library ,
600606 transitive_haddocks = _gather_transitive_haddocks (ctx .attr .deps ) if with_haddock else depset ([]),
607+ label = ctx .label ,
601608 )
602609 outputs = [
603610 package_database ,
@@ -933,6 +940,7 @@ def _haskell_cabal_binary_impl(ctx):
933940 dynamic_file = binary ,
934941 transitive_haddocks = _gather_transitive_haddocks (ctx .attr .deps ) if hs .tools_config .supports_haddock else depset ([]),
935942 static_binary = static_binary ,
943+ label = ctx .label ,
936944 )
937945 (_ , runghc_manifest ) = ctx .resolve_tools (tools = [ctx .attr ._runghc ])
938946 json_args = ctx .actions .declare_file ("{}_cabal_wrapper_args.json" .format (ctx .label .name ))
0 commit comments