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>