aboutsummaryrefslogtreecommitdiff
path: root/games/renpy
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2018-09-03 00:21:45 +0000
committerJan Beich <jbeich@FreeBSD.org>2018-09-03 00:21:45 +0000
commit5e498e96a22616ea2a9f3d8e373ab54369533d03 (patch)
tree6daef9ed5efb7ede0efd26c8e8dbcdfa9d747933 /games/renpy
parenta688a5c0b174985f37c860cf1afe2865412afe53 (diff)
downloadports-5e498e96a22616ea2a9f3d8e373ab54369533d03.tar.gz
ports-5e498e96a22616ea2a9f3d8e373ab54369533d03.zip
Reorganize some my ports for better discoverability
devel/onscripter{,-1byte} -> games/onscripter{,-1byte} devel/ponscripter-sekai -> games/ponscripter-sekai devel/renpy{,6} -> games/renpy{,6} devel/rlvm -> games/rlvm dns/openmdns -> net/openmdns (where Bonjour and Avahi are)
Notes
Notes: svn path=/head/; revision=478837
Diffstat (limited to 'games/renpy')
-rw-r--r--games/renpy/Makefile114
-rw-r--r--games/renpy/distinfo3
-rw-r--r--games/renpy/files/patch-issue86911
-rw-r--r--games/renpy/pkg-descr7
4 files changed, 135 insertions, 0 deletions
diff --git a/games/renpy/Makefile b/games/renpy/Makefile
new file mode 100644
index 000000000000..fb4adefd07b6
--- /dev/null
+++ b/games/renpy/Makefile
@@ -0,0 +1,114 @@
+# $FreeBSD$
+
+PORTNAME= renpy
+PORTVERSION?= 7.0.0
+DISTVERSIONSUFFIX=-sdk
+PORTREVISION?= 0
+CATEGORIES= games devel
+MASTER_SITES= https://www.renpy.org/dl/${PORTVERSION}/
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Framework for developing visual-novel type games
+
+LICENSE= APACHE20 BSD3CLAUSE DejaVu LGPL21+ MIT OFL11 ZLIB
+LICENSE_COMB= multi
+LICENSE_NAME_DejaVu= Bitstream Vera and Arev fonts license
+LICENSE_FILE_DejaVu= ${WRKSRC}/renpy/common/DejaVuSans.txt
+LICENSE_PERMS_DejaVu= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+BUILD_DEPENDS?= ${PYTHON_PKGNAMEPREFIX}game_sdl2>0:devel/py-game_sdl2@${PY_FLAVOR}
+LIB_DEPENDS= libfribidi.so:converters/fribidi \
+ libpng.so:graphics/png \
+ libavcodec.so:multimedia/ffmpeg \
+ libfreetype.so:print/freetype2
+RUN_DEPENDS?= ${PYTHON_PKGNAMEPREFIX}game_sdl2>=${PORTVERSION}:devel/py-game_sdl2@${PY_FLAVOR}
+
+CONFLICTS_INSTALL?= ${PORTNAME}6-*
+
+# Upstream tends to reroll distfiles before moving under /release/
+PORTSCOUT?= site:http://www.renpy.org/dl/release/
+
+USES= python:2.7 shebangfix tar:bz2
+USE_GL= glew
+USE_PYTHON= autoplist distutils cython
+USE_SDL?= sdl2
+EXCLUDE= gen 'module/*.py[co]' 'renpy/*.py[co]'
+EXTRACT_AFTER_ARGS=${EXCLUDE:S,^,--exclude ,}
+SHEBANG_FILES= renpy.py launcher/game/tkaskdir.py
+TARGET_ORDER_OVERRIDE=610:fix-shebang
+BUILD_WRKSRC= ${WRKSRC}/module
+INSTALL_WRKSRC= ${BUILD_WRKSRC}
+MAKE_ENV+= RENPY_DEPS_INSTALL="${LOCALBASE}" \
+ RENPY_CYTHON=cython-${PYTHON_VER}
+PORTDATA?= gui
+PORTDATA+= launcher renpy renpy.py
+PORTDOCS= *
+PLIST_FILES= bin/${PORTNAME}
+
+DESKTOP_ENTRIES="Ren'Py" \
+ "" \
+ "${DATADIR}/launcher/game/images/logo32.png" \
+ "${PORTNAME} %f" \
+ "Development;Game;AdventureGame;" \
+ ""
+
+OPTIONS_DEFAULT=TKINTER DIST
+OPTIONS_DEFINE= DOCS DIST EXAMPLES TKINTER
+
+DIST_DESC= Distribution runtimes for Windows, OS X, Linux
+DIST_VARS= LICENSE+="ART20 PSFL" \
+ PORTDATA+="lib renpy.app renpy.exe renpy.sh"
+EXAMPLES_VARS= PORTDATA+="the_question tutorial"
+TKINTER_DESC= Install Tkinter to allow choosing Projects Directory
+TKINTER_RUN_DEPENDS=${PYTHON_PKGNAMEPREFIX}tkinter>0:x11-toolkits/py-tkinter@${PY_FLAVOR}
+
+. for lic in FREETYPE LIBJPEG LIBPNG MSVCR90
+DIST_VARS+= LICENSE+=${lic}
+LICENSE_NAME_${lic}= ${lic} license
+LICENSE_FILE_${lic}= ${WRKSRC}/LICENSE.txt
+LICENSE_PERMS_${lic}= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+. endfor
+
+post-extract:
+ @${FIND} ${WRKSRC}/lib ${WRKSRC}/renpy.app -type d -empty -delete
+
+.if !target(post-patch)
+post-patch:
+ @${REINPLACE_CMD} -e 's,/usr/bin/python,${PYTHON_CMD},' \
+ ${WRKSRC}/launcher/game/choose_directory.rpy
+.endif
+
+post-patch: common-post-patch
+common-post-patch:
+# Avoid having to add -I/usr/include -L/usr/lib
+ @${REINPLACE_CMD} '/library("z")/d' ${BUILD_WRKSRC}/${PYSETUP}
+
+post-build:
+ @${PYTHON_CMD} -m compileall -d ${DATADIR} ${WRKSRC}
+ @${PYTHON_CMD} -O -m compileall -d ${DATADIR} ${WRKSRC}
+
+add-plist-post: add-empty-dirs
+add-empty-dirs:
+# Keep images directory in gui and templates, see renpy@d81ea29
+ ${FIND} ${WRKSRC} -type d -empty \
+ ! \( -name "saves" -or -name "pysdlsound" \) | \
+ ${SED} 's,^${WRKSRC},@dir ${DATADIR},' >>${TMPPLIST}
+
+post-install: common-post-install
+common-post-install:
+ ${FIND} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} -name \*.so \
+ -exec ${STRIP_CMD} {} +
+ ${LN} -fs ../${DATADIR_REL}/renpy.py \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} \
+ "${PORTDATA}" ${STAGEDIR}${DATADIR} \
+ "! -name *.orig ! -name *.bak \
+ ! -name saves ! -name log.txt")
+ ${CHMOD} +x ${STAGEDIR}${DATADIR}/renpy.py
+
+post-install-DOCS-on:
+ (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} \
+ . ${STAGEDIR}${DOCSDIR} \
+ "! -name *.orig ! -name *.bak")
+
+.include <bsd.port.mk>
diff --git a/games/renpy/distinfo b/games/renpy/distinfo
new file mode 100644
index 000000000000..348e2a709d4c
--- /dev/null
+++ b/games/renpy/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1527821217
+SHA256 (renpy-7.0.0-sdk.tar.bz2) = 548561684b4e800c5aa349f9fae0371789c462dc3ede4ffd60ef45d3df1cc384
+SIZE (renpy-7.0.0-sdk.tar.bz2) = 92106485
diff --git a/games/renpy/files/patch-issue869 b/games/renpy/files/patch-issue869
new file mode 100644
index 000000000000..4a4d0c4b7c53
--- /dev/null
+++ b/games/renpy/files/patch-issue869
@@ -0,0 +1,11 @@
+Restore shebang before ecd36ec.
+
+--- renpy.py.orig 2016-01-27 03:31:10 UTC
++++ renpy.py
+@@ -1,4 +1,5 @@
+-#!/usr/bin/env python #@PydevCodeAnalysisIgnore
++#!/usr/bin/env python
++#@PydevCodeAnalysisIgnore
+
+ # This file is part of Ren'Py. The license below applies to Ren'Py only.
+ # Games and other projects that use Ren'Py may use a different license.
diff --git a/games/renpy/pkg-descr b/games/renpy/pkg-descr
new file mode 100644
index 000000000000..b1b1d3525a90
--- /dev/null
+++ b/games/renpy/pkg-descr
@@ -0,0 +1,7 @@
+Ren'Py is a visual novel engine that helps you use words, images, and
+sounds to tell stories with the computer. These can be both visual
+novels and life simulation games. The easy to learn script language
+allows you to efficiently write large visual novels, while its Python
+scripting is enough for complex simulation games.
+
+WWW: https://www.renpy.org/