tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: m4 and after (was: Yacc Shaving)



On Mon, 11 Mar 2024 at 18:41, Amitai Schleier <schmonz%schmonz.com@localhost> wrote:
>
> On 11 Mar 2024, at 10:22, Amitai Schleier wrote:
>
> > For CLT 15.3.0.0.1.1708646388 users, I expect this to fix much of the
> > fallout, but not all. For instance, packages with configure scripts
> > that invoke "m4" or "yacc" (or "byacc") directly and haven't declared
> > them in USE_TOOLS will pop up a macOS dialog prompting you to install
> > the CLT.
>
> Observing pkg_rr, I'm seeing that there's at least one widespread class
> of packages that are largely missing "gm4" in USE_TOOLS: packages that
> specify autoconf/automake/autoreconf in USE_TOOLS.
>
> Two options for fixing this class of errors:
>
> 1. "Explicit": edit each Makefile, commit en masse. Hope that future
> developers remember to include "gm4" when they're supposed to.
>
> 2. "Implicit": codify in mk/tools/autoconf.mk that anything using
> autoconfery also effectively TOOL_DEPENDS on devel/m4. Hope that this
> magic action at a distance saves more trouble/confusion than it causes.

I think there's something I'm missing here.  When adding
TOOL_DEPENDS+=autoconf I'm assuming it pulls in enough for "autoconf"
to run (i.e., runtime dependencies) during the build process - and
that means having m4 on hand.  And when autoconf is rewritten in Rust,
the implied dependency will go away :-^

This way:

  pkgin install autoconf
  build my package
  pkgin remove autoconf
  run my package

works.

Confused


Home | Main Index | Thread Index | Old Index