aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authoramdmi3 <amdmi3@FreeBSD.org>2015-10-19 22:50:52 +0800
committeramdmi3 <amdmi3@FreeBSD.org>2015-10-19 22:50:52 +0800
commit6a98fceb0a6004a4c5a1fd86d54347f6a29f74c4 (patch)
tree72fd93ae39b43490b34dc8479465e07b453d126e /lang
parente18413661fadcae47bb20ec0de548623410227ad (diff)
downloadfreebsd-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/Makefile1
-rw-r--r--lang/go/Makefile2
-rw-r--r--lang/go14/Makefile2
-rw-r--r--lang/python-tools/Makefile5
-rw-r--r--lang/v8/Makefile1
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>