summaryrefslogtreecommitdiff
path: root/www/zope/replace.mk
blob: f2e2568c00f96503dee510cfa0bcec8a70061371 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# $NetBSD: replace.mk,v 1.2 2011/05/14 02:47:21 taca Exp $
#

.if !defined(_ZOPE_REPLACE_MK)
_ZOPE_REPLACE_MK=	# defined

# fix shebang line.
#
# REPLACE_PYTHON_DIRS	replace shebang line of files under specified
#			directories.
# REPLACE_PYTHON_PAT	specify pattern to match target files under
#			REPLACE_PYTHON_DIRS directories.
#
.if defined(REPLACE_PYTHON_DIRS) && !empty(REPLACE_PYTHON_DIRS)

.for f in ${REPLACE_PYTHON_PAT}
_REPLACE_PYTHON_PAT+= -o -name "${f}"
.endfor
_REPLACE_PYTHON_FIND_ARGS=\( ${_REPLACE_PYTHON_PAT:S/-o//1} \)

pre-configure: replace-python-dirs

replace-python-dirs:
	${_PKG_SILENT}${_PKG_DEBUG}cd ${WRKSRC} ; \
	    ${FIND} ${REPLACE_PYTHON_DIRS} \
	        -type f ${_REPLACE_FILE_FIND_ARGS} -print | \
	    while read f; do \
		${SED}	-e '1s| *[a-z0-9_/\.-][a-z0-9_/\.-]*/env *||g' \
		    -e '1s| *[a-z0-9_/\.-]*python.*|${PYTHONBIN}|' $$f \
			> $$f.tmp; \
		if ${CMP} -s $$f $$f.tmp; then \
			${RM} $$f.tmp; \
		else \
			${MV} $$f.tmp $$f; \
		fi; \
	    done
.endif # defined(REPLACE_PYTHON_DIRS)

.include "../../lang/python/application.mk"
.endif