@@ -43,31 +43,50 @@ let default_build_command =
4343]
4444| }))
4545 and from_2_9 =
46- lazy
47- (Opam_file. parse_value
48- ( Lexbuf. from_string ~fname: " <internal> "
49- { |
50- [
51- [ " dune " " subst " ] {dev}
52- [ " dune" " build" " -p" name " -j" jobs " --promote-install-files " " false "
46+ let fname = " <internal> " in
47+ let parse s = lazy (Opam_file. parse_value ( Lexbuf. from_string ~fname s)) in
48+ let subst = parse { | [ " dune " " subst " ] {dev} | } in
49+ let build =
50+ parse
51+ { |
52+ [ " dune" " build" " -p" name " -j" jobs
5353 " @install"
5454 " @runtest" {with - test}
5555 " @doc" {with - doc}
5656 ]
57- [ " dune" " install" " -p" name " --create-install-files" name ]
58- ]
59- | }))
57+ | }
58+ in
59+ let install =
60+ parse {| [ " dune" " install" " -p" name " --create-install-files" name ] | }
61+ in
62+ fun ~with_sites ->
63+ let dumb_pos = (fname, 0 , 0 ) in
64+ if with_sites then
65+ let build =
66+ match Lazy. force build with
67+ | OpamParserTypes. List (op , l ) ->
68+ OpamParserTypes. List
69+ (op, l @ [ String (op, " --promote-install-files=false" ) ])
70+ | _ -> assert false
71+ in
72+ OpamParserTypes. List
73+ (dumb_pos, [ Lazy. force subst; build; Lazy. force install ])
74+ else
75+ OpamParserTypes. List (dumb_pos, [ Lazy. force subst; Lazy. force build ])
6076 in
6177 fun project ->
62- Lazy. force
63- (if Dune_project. dune_version project < (1 , 11 ) then
64- before_1_11
65- else if Dune_project. dune_version project < (2 , 7 ) then
66- from_1_11_before_2_7
67- else if Dune_project. dune_version project < (2 , 9 ) then
68- from_2_7
69- else
70- from_2_9)
78+ if Dune_project. dune_version project < (1 , 11 ) then
79+ Lazy. force before_1_11
80+ else if Dune_project. dune_version project < (2 , 7 ) then
81+ Lazy. force from_1_11_before_2_7
82+ else if Dune_project. dune_version project < (2 , 9 ) then
83+ Lazy. force from_2_7
84+ else
85+ from_2_9
86+ ~with_sites:
87+ (Option. is_some
88+ (Dune_project. find_extension_args project
89+ Dune_project. dune_site_extension))
7190
7291let package_fields
7392 { Package. synopsis
0 commit comments