1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-19 03:52:17 +00:00
freebsd-ports/lang/python-tools/Makefile
Dmitry Marakasov 67971bd0fb Improve shebangfix framework
- 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
2015-10-19 14:50:52 +00:00

57 lines
1.4 KiB
Makefile

# $FreeBSD$
PORTNAME= python-tools
PORTVERSION= ${PYTHON_PORTVERSION}
CATEGORIES= lang python devel
MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= Python-${PORTVERSION}
MAINTAINER= python@FreeBSD.org
COMMENT= Supplementary tools for the Python language
LICENSE= PSFL
PORTSCOUT= ignore:1
USES= python shebangfix tar:xz uniquefiles
NO_BUILD= yes
DIST_SUBDIR= python
DISTINFO_FILE= ${PORTSDIR}/lang/python${PYTHON_SUFFIX}/distinfo
WRKSRC= ${WRKDIR}/Python-${PORTVERSION}/Tools/scripts
SCRIPT_FILES= byteyears checkpyc copytime crlf dutree \
lfcr ptags untabify
PYLIB_FILES= tabnanny timeit
PLIST_FILES= ${SCRIPT_FILES:C/^.*/bin\/&/g} ${PYLIB_FILES:C/^.*/bin\/&/g}
SHEBANG_FILES= ${SCRIPT_FILES:C/^.*/&\.py/g} \
../../Lib/tabnanny.py ../../Lib/timeit.py
UNIQUE_SUFFIX= -${PYTHON_VER}
UNIQUE_SUFFIX_FILES= ${SCRIPT_FILES:C/^.*/bin\/&/g} \
${PYLIB_FILES:C/^.*/bin\/&/g}
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 3200
SCRIPT_FILES+= logmerge
.endif
.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION}
UNIQUE_DEFAULT_LINKS= yes
.endif
do-install:
.for fname in ${SCRIPT_FILES}
${INSTALL_SCRIPT} ${INSTALL_WRKSRC}/${fname}.py \
${STAGEDIR}${PREFIX}/bin/${fname}
.endfor
.for fname in ${PYLIB_FILES}
${INSTALL_SCRIPT} ${INSTALL_WRKSRC}/../../Lib/${fname}.py \
${STAGEDIR}${PREFIX}/bin/${fname}
.endfor
.include <bsd.port.post.mk>