diff options
author | amdmi3 <amdmi3@FreeBSD.org> | 2015-10-19 22:50:52 +0800 |
---|---|---|
committer | amdmi3 <amdmi3@FreeBSD.org> | 2015-10-19 22:50:52 +0800 |
commit | 6a98fceb0a6004a4c5a1fd86d54347f6a29f74c4 (patch) | |
tree | 72fd93ae39b43490b34dc8479465e07b453d126e /lang | |
parent | e18413661fadcae47bb20ec0de548623410227ad (diff) | |
download | freebsd-ports-gnome-6a98fceb0a6004a4c5a1fd86d54347f6a29f74c4.tar.gz freebsd-ports-gnome-6a98fceb0a6004a4c5a1fd86d54347f6a29f74c4.tar.zst freebsd-ports-gnome-6a98fceb0a6004a4c5a1fd86d54347f6a29f74c4.zip |
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
Diffstat (limited to 'lang')
-rw-r--r-- | lang/cjs/Makefile | 1 | ||||
-rw-r--r-- | lang/go/Makefile | 2 | ||||
-rw-r--r-- | lang/go14/Makefile | 2 | ||||
-rw-r--r-- | lang/python-tools/Makefile | 5 | ||||
-rw-r--r-- | lang/v8/Makefile | 1 |
5 files changed, 2 insertions, 9 deletions
diff --git a/lang/cjs/Makefile b/lang/cjs/Makefile index 122cb5ab2654..136471f0ad01 100644 --- a/lang/cjs/Makefile +++ b/lang/cjs/Makefile @@ -29,6 +29,5 @@ LDFLAGS+= -L${LOCALBASE}/lib INSTALL_TARGET= install-strip CONFIGURE_ARGS+=--enable-compile-warnings=no -python_OLD_CMD= /usr/bin/env python .include <bsd.port.mk> diff --git a/lang/go/Makefile b/lang/go/Makefile index 56a3430ccdad..4d951cc7a2bb 100644 --- a/lang/go/Makefile +++ b/lang/go/Makefile @@ -21,7 +21,7 @@ SHEBANG_FILES= ${WRKSRC}/src/*.bash \ ${WRKSRC}/doc/articles/wiki/*.bash \ ${WRKSRC}/test/bench/shootout/timing.sh -sh_OLD_CMD= ${SETENV} bash +sh_OLD_CMD= "/usr/bin/env bash" sh_CMD= ${SH} WRKSRC= ${WRKDIR}/go diff --git a/lang/go14/Makefile b/lang/go14/Makefile index 6508b9f9ef2b..9017782f0cea 100644 --- a/lang/go14/Makefile +++ b/lang/go14/Makefile @@ -18,7 +18,7 @@ SHEBANG_FILES= ${WRKSRC}/src/*.bash \ ${WRKSRC}/doc/articles/wiki/*.bash \ ${WRKSRC}/test/bench/shootout/timing.sh -sh_OLD_CMD= ${SETENV} bash +sh_OLD_CMD= "/usr/bin/env bash" sh_CMD= ${SH} WRKSRC= ${WRKDIR}/go diff --git a/lang/python-tools/Makefile b/lang/python-tools/Makefile index 79490306050f..027af2887b12 100644 --- a/lang/python-tools/Makefile +++ b/lang/python-tools/Makefile @@ -26,7 +26,6 @@ SCRIPT_FILES= byteyears checkpyc copytime crlf dutree \ PYLIB_FILES= tabnanny timeit PLIST_FILES= ${SCRIPT_FILES:C/^.*/bin\/&/g} ${PYLIB_FILES:C/^.*/bin\/&/g} -SHEBANG_LANG= python SHEBANG_FILES= ${SCRIPT_FILES:C/^.*/&\.py/g} \ ../../Lib/tabnanny.py ../../Lib/timeit.py @@ -38,10 +37,6 @@ UNIQUE_SUFFIX_FILES= ${SCRIPT_FILES:C/^.*/bin\/&/g} \ .if ${PYTHON_REL} < 3200 SCRIPT_FILES+= logmerge -python_OLD_CMD= /usr/bin/env python -.else -# Python 3+ uses python3 as shebang line, python2 just python -python_OLD_CMD= /usr/bin/env python3 .endif .if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION} diff --git a/lang/v8/Makefile b/lang/v8/Makefile index 7362c2147335..f5c782da8fde 100644 --- a/lang/v8/Makefile +++ b/lang/v8/Makefile @@ -27,7 +27,6 @@ USES= alias compiler cpe execinfo gmake python:2 shebangfix tar:xz CPE_VENDOR= google SHEBANG_FILES= build/gyp/gyp -python_OLD_CMD= /usr/bin/env python .include <bsd.port.pre.mk> |