Created attachment 256942 [details] Rearrange gettext-tools build dependency to always be included The build fails to find autopoint during configure stage since gettext-tools-0.22 is not installed for building if NLS is disabled. Porter's handbook states that gettext is deprecated and to use the gettext-* variants that it calls on its own. I implemented those accordingly to fix the build on my side. I have only build tested it and not sure how best to check NLS is working as expected when on/off. This was found on amd64 with git branches stable/14=18790167dcac and ports main=37b63b66d301. Testing was done under poudriere with OPTIONS_UNSET+=NLS in its make.conf but build also failed with the more isolated sysutils_vobcopy_UNSET+=NLS . I thought I had it failing as a result of just modifying NLS on dependencies but I may have messed up configuration attempts as it hasn't been reproducible. devel/gmake, devel/m4, devel/p5-Locale-libintl, misc/help2man, print/texinfo were ones I noted were being rebuilt by poudriere with a global NLS change. I think I replaced several spaces as indentation with a tab on a line in my patch but it wasn't a functional change. I tried to make lines I modified comply with portfmt. I didn't apply other changes but Running `portfmt -D` recommended increasing indentation on several lines, rearranging contents of USES and OPTIONS_DEFINE while -t also modified a command in the install area. portclippy recommended moving MAKE_ARGS above CFLAGS and doesn't seem to know about the GNU_CONFIGURE_MANPREFIX variable. I didn't bump the port REVISION; these modifications make a previous failure build now but shouldn't modify the working builds otherwise. If REVISION is not increased, it could be removed from the port; presume it was just there for convenience if needed later. The failure part of the output is below. Let me know if I can provide other information or help. =======================<phase: configure >============================ ===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0 ===> vobcopy-1.2.1 depends on package: autoconf>=2.72 - found ===> vobcopy-1.2.1 depends on package: automake>=1.17 - found ===> vobcopy-1.2.1 depends on shared library: libdvdread.so - found (/usr/local/lib/libdvdread.so) ===> Configuring for vobcopy-1.2.1 Can't exec "autopoint": No such file or directory at /usr/local/share/autoconf2.72/Autom4te/FileUtils.pm line 318. autoreconf2.72: error: autopoint failed with exit status: 2 ===> Mk/Uses/autoreconf.mk: Error running /usr/local/bin/autoreconf2.72 *** Error code 1 Stop. make: stopped in /usr/ports/sysutils/vobcopy
I can reproduce the problem.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=1282dc91232ffc9005b50ad643d21e9fb368c02b commit 1282dc91232ffc9005b50ad643d21e9fb368c02b Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2025-01-26 17:33:05 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2025-01-26 17:33:05 +0000 sysutils/vobcopy: Fix build without option NLS PR: 284300 sysutils/vobcopy/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
I was not able to find a deprecation note in the Porter's handbook for "gettext"
(In reply to Dirk Meyer from comment #3) https://docs.freebsd.org/en/books/porters-handbook/uses/#uses-gettext Not sure if it really is deprecated or not but that is the section saying it is. Its use elsewhere in documentation implies either it is not deprecated or there is a lot more documentation that needs to catch up. Deprecated or not, this patch fixed this build issue which I think I had noticed quite a while ago but never looked into properly to report or patch.