Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 06 Nov 2021 00:53:04 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 259669] comms/xastir update from 2.1.6 to 2.1.8
Message-ID:  <bug-259669-7788-I8ycsqiJwP@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-259669-7788@https.bugs.freebsd.org/bugzilla/>
References:  <bug-259669-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D259669

--- Comment #3 from russo@bogodyn.org ---
Alas, while my patch does work on my system, that's because I have autoconf=
 and
automake installed, both of which are needed by "bootstrap.sh".  Unfortunat=
ely,
as I have done it that introduces a problem.

Bootstrap.sh must be run *after* extraction and *before* patching, because =
two
of the patches are to files that automake creates (Makefile.in and
src/Makefile.in) and which do not exist in the tarball anymore.  That's why=
 I
put the replace_cmd and bootstrap.sh in post-extract.

But because bootstrap.sh runs them, autoconf and autoconf are build
dependencies.  I have tried to add them to BUILD_DEPENDS as:

BUILD_DEPENDS=3D xfontsel:x11-fonts/xfontsel \
               autoconf>=3D2.60:devel/autoconf \
               automake>=3D0:devel/automake

But apparently build dependencies don't even get checked until after patchi=
ng.
Thus, a user trying to build the package without having autoconf and automa=
ke
installed already would have the port fail during post-extraction, and not
cleanly.

I am not sure the best way to proceed, because this package must have
bootstrap.sh run before the patches can work, and bootstrap.sh requires
autoconf and automake.

It is possible that the patches to Makefile.in and src/Makefile.in could be
better handled by patching Makefile.am and src/Makefile.am, the inputs to
automake, and if so "bootstrap.sh" could be run as a pre-configure step ---
that would solve the dependency problem, because build dependencies are che=
cked
before pre-configure.

Unfortunately, I don't immediately see how to make both of those changes wo=
rk
in the pre-autotools files.

The Makefile.in patch is easy and could just be done earlier by removing one
line of Makefile.am (the line that unnecessarily sets
mandir=3D${prefix}/share/man).  I don't even know why that line is there.

But I don't understand the sparc64-specific src/Makefile.in patch or how to
place it correctly in Makefile.am so it is inserted properly when automake
generates Makefile.am.  From what I can tell, it's trying to change
optimization options on the compile line for exactly one source file, but o=
nly
on sparc64.

If the two Makefile.in patches could be recrafted so that they could apply =
to
Makefile.am instead, then running bootstrap.sh could be deferred until
pre-configure.

Note that simply doing "USES =3D autoreconf" is not good enough, because Xa=
stir's
bootstrap.sh does more than just run all the autotools, it also generates a=
 few
other files outside of the autoconf system (mostly goofy language files that
some developer thought were hilarious for some reason).

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-259669-7788-I8ycsqiJwP>