[MacPorts] #72455: mercurial 7.0.2 is badly broken

MacPorts noreply at macports.org
Thu May 8 20:49:13 UTC 2025


#72455: mercurial 7.0.2 is badly broken
---------------------------+--------------------
  Reporter:  barracuda156  |      Owner:  (none)
      Type:  defect        |     Status:  new
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.10.7
Resolution:                |   Keywords:
      Port:  mercurial     |
---------------------------+--------------------

Comment (by ryandesign):

 Replying to [ticket:72455 barracuda156]:
 > compiler is forced to `cc` when the build goes into docs directory.

 Yeah, that's caused by the `post-build` block just calling `make`
 manually, which doesn't use any of the MacPorts environment variables.

 Instead of:

 {{{#!tcl
 post-build {
     system -W "${worksrcpath}/contrib/chg" make
     system -W "${worksrcpath}/doc" make

     if {[variant_isset rust]} {
         system -W "${worksrcpath}" "make build-rhg"
     }
 }
 }}}

 Maybe something like this (untested) would be better:

 {{{#!tcl
 post-build {
     build.dir ${worksrcpath}/contrib/chg
     command_exec build
     build.dir ${worksrcpath}/doc
     command_exec build

     if {[variant_isset rust]} {
         build.dir ${worksrcpath}
         build.target build-rhg
         command_exec build
     }
 }
 }}}

 That's assuming the build system still requires you to invoke all of those
 manually in different directories, which seems odd. I'd've assume their
 top-level Makefile would have targets for anything one might want to use,
 which could be added as needed. For example, why are we running `make`
 separately for the rust variant, rather than just adding `build-rhg` to
 `build.target` when the rust variant is selected?

-- 
Ticket URL: <https://trac.macports.org/ticket/72455#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list