devel/git: Fix build with PERL option disabled configure.ac defines a macro (GIT_ARG_SET_PATH), which takes an optional 'allow-without' parameter, which if not specified (in configure.ac), causes --without-foo/--with-foo=no not to be checked/allowed. allow-without is set for python, but not for perl in configure.ac: # Define PYTHON_PATH to provide path to Python. # GIT_ARG_SET_PATH(python, allow-without) # GIT_ARG_SET_PATH(perl) The non-presence of the optional second macro argument results in the following error when --without-perl is specified by PERL_CONFIGURE_WITH=perl=${PERL} configure:4065: error: You cannot use git without perl This change adds: * allow-without to allow --without-perl to work. * USES=autoreconf to regenerate configure PR: 215038 Reviewed_by: garga (maintainer) Approved_by: garga (maintainer) DiffRev: DXXXX
Details
Details
- Reviewers
garga ehaupt - Commits
- rP427879: devel/git: Fix build with PERL option disabled
- portlint: OK (no change pre/post patch)
- testport: OK (poudriere: 103amd64 PERL option disabled)
Diff Detail
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
@garga Ahh, I missed the accepted review here, so missed adding your login to reviewed/approved by. Sorry! I was super engrossed in making sure the commit and the log message was perfect :D
Comment Actions
I had not, and only added a Comment/TODO in the patch header for the following reasons:
- I'm not sure whether it was upstreams intent to make perl compulsory or whether this was an oversight or an actual bug.
- There are other issues with conditional dependencies associated with the port and the upstream configure. Other issues may be related to, or due to the same underlying bugs (macro use for multiple configure options) as that which was fixed here.
- I did not exhaustively confirm/check all of the above issues, but they should all be checked/validated in both the --with and --without cases. In particular iconv/gettext/expat/other 3rd-party-libs
- A full/complete upstream patch may include further changes/improvements. See Also my comment on Issue #215038 [1]
Personally, I would strongly recommend/request upstream removal of this extra secret knob to allow disabling of options/dependencies. Compulsory dependencies are compulsory, and shouldn't have options to disable them, and configure should explicitly fail if the dependency is not met.
[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215038