${PERL5} points to a specific version of perl, say, perl5.22.1, it is
fine to use it in a ports Makefile to do Perly things, but ports using
it must use ${PERL}, that points to /usr/local/bin/perl so that if the
minor version is updated, the shebang keep working.
While there, make some ports use shebangfix, regen a few patches, and
bump PORTREVISION where a shebang went from PERL5 to PERL.
PR: 205367
With hat: portmgr
Sponsored by: Absolight
In preparation for landing PyQt5 ports, generalize devel/py-qt4's
bsd.pyqt.mk and make it a proper file in Uses/.
Ports wishing to depend on PyQt4 ports can now do the following:
USES= pyqt:4
USE_PYQT= foo bar_build baz_run
Other changes include the renaming of the PYQT4_DIST variable to PYQT_DIST
and the introduction of the PYQT_SIPDIR plist substitution variable. The
rest of the contents of Uses/pyqt.mk are pretty much identical to what we
had in bsd.pyqt.mk with additional processing of USE_PYQT.
Even though this patch touches files in many different ports, the goal is
for it to be a no-op from an end-user perspective (so that the basic
infrastructure is landed before the other, riskier changes): no dependencies
have been changed, PyQt/SIP/QScintilla have not been upgraded and the plists
should remain exactly the same, since PYQT_SIPDIR currently contains the
same value that used to be hardcoded in the plists.
Huge thanks to Guido Falsi (madpilot@) for spearheading most of the work: he
took the initiative to work on PyQt5 and sent D2910 to Phabricator with the
original version of this patch. Tobias Berner (tcberner@gmail.com) later
applied it to kde@'s experimental area51 repositories and did some more work
on it.
- move to devel/py-pyasn1 to match PyPI name
- update *_DEPENDS and bump PORTREVISION in dependent ports
- reset PORTEPOCH
PR: 204567
Submitted by: John W. O'Brien <john@saltant.com>
Approved by: mhjacks@swbell.net (maintainer of devel/py-asn1)
- Support multiple values in *_OLD_CMD, i.e. we can now fix both "/usr/bin/python" and "/usr/bin/env python" at the same time
- Default *_OLD_CMD values are now always appended, so you don't need to specify them in individual ports
- Add lua support (depends on USES=lua)
- Add more default values, such as "/usr/bin/env foo" for python, perl, bash, ruby and lua
- Shebangfix now matches whole words, e.g. we will no longer (erroneously) replace "/usr/bin/perl5.005" with "${perl_CMD}5.005" (but "/usr/bin/perl -tt" is still (correctly) replaced with "${perl_CMD} -tt")
Note that *_OLD_CMD items containing spaces must now be quoted (e.g. perl_OLD_CMD=/bin/perl /usr/bin/perl "/usr/bin/env perl")
Update shebangfix usage according to new rules in many ports:
- Remove *_OLD_CMD for patterns now replaced by default
- Quote custom *_OLD_CMD which contain spaces
Fix shebangfix usage in many ports (irrelevant to infrastructure change):
- Remove redundant SHEBANG_LANG (no need to duplicate default langs)
- Remove redundant *_CMD (such as python_CMD=${LOCALBASE}/bin/python${PYTHON_VER} when USES=python is present)
- Never use *_OLD_CMD in REINPLACE_CMD matchers, these should always look for exact string
Approved by: portmgr (bapt)
Differential Revision: D3756