freebsd-ports/games/super_mario_bros_python/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

64 lines
1.7 KiB
Makefile

# Created by: Rusmir Dusko <nemysis@FreeBSD.org>
# $FreeBSD$
PORTNAME= super_mario_bros_python
PORTVERSION= 0.1
PORTREVISION= 2
CATEGORIES= games python
MASTER_SITES= SF/supermariobrosp/ \
SF/nemysisfreebsdp/games/:icons
DISTFILES= Super-Mario-Bros-Python-v${DISTVERSION}release${EXTRACT_SUFX} \
${PORTNAME}.png:icons
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= Super-Mario-Bros-Python-v${DISTVERSION}release${EXTRACT_SUFX}
MAINTAINER= ports@FreeBSD.org
COMMENT= Clone of the original Super Mario Bros
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/license.txt
RUN_DEPENDS= ${PYGAME}
WRKSRC= ${WRKDIR}/Super-Mario-Bros-Python-v${DISTVERSION}release
USES= shebangfix python:2 zip
SHEBANG_FILES= gamelib/*.py start.py
PORTDOCS= changelog.txt readme.txt
OPTIONS_DEFINE= DOCS
SUB_FILES= ${PORTNAME}
DESKTOP_ENTRIES="Super Mario Bros. Python" "" ${PORTNAME} \
"${PORTNAME}" "Game;ArcadeGame;" ""
post-patch:
@${REINPLACE_CMD} -i '' -e '1d' \
-e 's|#! /usr/bin/env python|#!${python_CMD}|' \
${WRKSRC}/start.py
@${FIND} ${WRKSRC} -name "*.py~" -delete -or -name "*.sav~" -delete
do-build:
@${PYTHON_CMD} -m compileall ${WRKSRC}
@${PYTHON_CMD} -O -m compileall ${WRKSRC}
do-install:
@${REINPLACE_CMD} -e 's|%%PYTHON_CMD%%|${python_CMD}|' \
${WRKDIR}/${PORTNAME}
${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/
.for d in data gamelib
@(cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DATADIR})
.endfor
.for f in *.py *.pyc *.pyo
${INSTALL_SCRIPT} ${WRKSRC}/${f} ${STAGEDIR}${DATADIR}
.endfor
${INSTALL_DATA} ${_DISTDIR}/${PORTNAME}.png \
${STAGEDIR}${PREFIX}/share/pixmaps/
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>