games-engines/renpy: exlibify and use alternatives
This commit is contained in:
parent
732f4f91d4
commit
dceb725f8c
@ -1,83 +1,8 @@
|
|||||||
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
|
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
require setup-py [ import=distutils multibuild=false blacklist=3 ]
|
require renpy
|
||||||
require gtk-icon-cache
|
|
||||||
|
|
||||||
SUMMARY="Visual novel engine written in python"
|
SLOT="6.99"
|
||||||
DESCRIPTION="
|
|
||||||
Ren'Py is a free and cross-platform visual novel engine that
|
|
||||||
helps you use words,
|
|
||||||
pictures, and sounds to tell stories with the computer.
|
|
||||||
It's easy and efficient script language makes it possible for
|
|
||||||
non-programmers to make visual novels,
|
|
||||||
while its Python support allows for complex simulation games.
|
|
||||||
"
|
|
||||||
HOMEPAGE="http://www.renpy.org"
|
|
||||||
DOWNLOADS="http://www.renpy.org/dl/${PV}/${PNV}-source.tar.bz2"
|
|
||||||
|
|
||||||
LICENCES="MIT"
|
|
||||||
SLOT="0"
|
|
||||||
PLATFORMS="~amd64 ~x86"
|
PLATFORMS="~amd64 ~x86"
|
||||||
MYOPTIONS=""
|
|
||||||
|
|
||||||
DEPENDENCIES="
|
|
||||||
build:
|
|
||||||
dev-python/Cython[python_abis:*(-)?]
|
|
||||||
virtual/pkg-config
|
|
||||||
build+run:
|
|
||||||
dev-libs/fribidi
|
|
||||||
dev-python/pygame_sdl2[~${PV}][python_abis:*(-)?]
|
|
||||||
media-libs/SDL:2[X]
|
|
||||||
media-libs/freetype:2
|
|
||||||
media-libs/glew
|
|
||||||
media-libs/libpng:=
|
|
||||||
media/ffmpeg
|
|
||||||
sys-libs/zlib
|
|
||||||
"
|
|
||||||
|
|
||||||
WORK=${WORKBASE}/${PNV}-source/module
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
export CFLAGS="${CFLAGS} $(${PKG_CONFIG} --cflags fribidi)"
|
|
||||||
|
|
||||||
edo find "${WORK}" -name '*.py[co]' -print -delete
|
|
||||||
edo sed -i -e 's:usr/bin/env python$:usr/bin/env python2:' \
|
|
||||||
"${WORKBASE}"/${PNV}-source/renpy.py \
|
|
||||||
"${WORKBASE}"/${PNV}-source/launcher/game/tkaskdir.py
|
|
||||||
|
|
||||||
setup-py_src_prepare
|
|
||||||
}
|
|
||||||
|
|
||||||
src_install() {
|
|
||||||
edo cd "${WORKBASE}"/${PNV}-source
|
|
||||||
insinto /usr/share/icons/hicolor/32x32/apps
|
|
||||||
newins launcher/game/images/logo32.png ${PN}.png
|
|
||||||
|
|
||||||
# slightly weird directory structure
|
|
||||||
insinto "$(python_get_sitedir)"/renpy
|
|
||||||
doins -r launcher templates the_question tutorial
|
|
||||||
doins -r renpy renpy.py
|
|
||||||
|
|
||||||
herebin ${PN} << EOF
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
exec python2 $(python_get_sitedir)/renpy/renpy.py "\$@"
|
|
||||||
EOF
|
|
||||||
|
|
||||||
insinto /usr/share/applications
|
|
||||||
hereins ${PN}.desktop <<EOF
|
|
||||||
[Desktop Entry]
|
|
||||||
Name=Ren'Py
|
|
||||||
Type=Application
|
|
||||||
Comment=${SUMMARY}
|
|
||||||
Exec=${PN}
|
|
||||||
TryExec=${PN}
|
|
||||||
Icon=${PN}
|
|
||||||
Categories=Game;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
edo cd "${WORK}"
|
|
||||||
setup-py_src_install
|
|
||||||
}
|
|
||||||
|
|
||||||
|
110
packages/games-engines/renpy/renpy.exlib
Normal file
110
packages/games-engines/renpy/renpy.exlib
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
# Copyright 2016 Julian Ospald <hasufell@posteo.de>
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
require alternatives
|
||||||
|
require setup-py [ import=distutils multibuild=false blacklist=3 ]
|
||||||
|
require gtk-icon-cache
|
||||||
|
|
||||||
|
export_exlib_phases src_prepare src_install pkg_postinst
|
||||||
|
|
||||||
|
SUMMARY="Visual novel engine written in python"
|
||||||
|
DESCRIPTION="
|
||||||
|
Ren'Py is a free and cross-platform visual novel engine that
|
||||||
|
helps you use words,
|
||||||
|
pictures, and sounds to tell stories with the computer.
|
||||||
|
It's easy and efficient script language makes it possible for
|
||||||
|
non-programmers to make visual novels,
|
||||||
|
while its Python support allows for complex simulation games.
|
||||||
|
"
|
||||||
|
HOMEPAGE="http://www.renpy.org"
|
||||||
|
DOWNLOADS="http://www.renpy.org/dl/${PV}/${PNV}-source.tar.bz2"
|
||||||
|
|
||||||
|
LICENCES="MIT"
|
||||||
|
MYOPTIONS=""
|
||||||
|
|
||||||
|
DEPENDENCIES="
|
||||||
|
build:
|
||||||
|
dev-python/Cython[python_abis:*(-)?]
|
||||||
|
virtual/pkg-config
|
||||||
|
build+run:
|
||||||
|
dev-libs/fribidi
|
||||||
|
media-libs/freetype:2
|
||||||
|
media-libs/glew
|
||||||
|
media-libs/libpng:=
|
||||||
|
media/ffmpeg
|
||||||
|
sys-libs/zlib
|
||||||
|
"
|
||||||
|
|
||||||
|
if ever at_least 6.99.0; then
|
||||||
|
DEPENDENCIES+="
|
||||||
|
build+run:
|
||||||
|
dev-python/pygame_sdl2[~${PV}][python_abis:*(-)?]
|
||||||
|
media-libs/SDL:2[X]
|
||||||
|
"
|
||||||
|
else
|
||||||
|
DEPENDENCIES+="
|
||||||
|
build+run:
|
||||||
|
media-libs/SDL:0[X]
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
WORK=${WORKBASE}/${PNV}-source/module
|
||||||
|
|
||||||
|
renpy_src_prepare() {
|
||||||
|
export CFLAGS="${CFLAGS} $(${PKG_CONFIG} --cflags fribidi)"
|
||||||
|
|
||||||
|
edo find "${WORK}" -name '*.py[co]' -print -delete
|
||||||
|
edo sed -i -e 's:usr/bin/env python$:usr/bin/env python2:' \
|
||||||
|
"${WORKBASE}"/${PNV}-source/renpy.py \
|
||||||
|
"${WORKBASE}"/${PNV}-source/launcher/game/tkaskdir.py
|
||||||
|
|
||||||
|
setup-py_src_prepare
|
||||||
|
}
|
||||||
|
|
||||||
|
renpy_src_install() {
|
||||||
|
local renpydir="$(python_get_sitedir)/renpy-${SLOT}"
|
||||||
|
|
||||||
|
edo cd "${WORKBASE}"/${PNV}-source
|
||||||
|
insinto /usr/share/icons/hicolor/32x32/apps
|
||||||
|
newins launcher/game/images/logo32.png ${PN}-${SLOT}.png
|
||||||
|
|
||||||
|
# slightly weird directory structure
|
||||||
|
insinto "${renpydir}"
|
||||||
|
doins -r launcher templates the_question tutorial
|
||||||
|
doins -r renpy renpy.py
|
||||||
|
|
||||||
|
herebin ${PN}-${SLOT} << EOF
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
exec python2 ${renpydir}/renpy.py "\$@"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
insinto /usr/share/applications
|
||||||
|
hereins ${PN}-${SLOT}.desktop <<EOF
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=Ren'Py (${SLOT})
|
||||||
|
Type=Application
|
||||||
|
Comment=${SUMMARY}
|
||||||
|
Exec=${PN}-${SLOT}
|
||||||
|
TryExec=${PN}-${SLOT}
|
||||||
|
Icon=${PN}-${SLOT}
|
||||||
|
Categories=Game;
|
||||||
|
EOF
|
||||||
|
|
||||||
|
edo cd "${WORK}"
|
||||||
|
SETUP_PY_SRC_INSTALL_PARAMS=( --install-lib="${renpydir}" )
|
||||||
|
setup-py_src_install
|
||||||
|
|
||||||
|
local host=$(exhost --target)
|
||||||
|
local binaries=( renpy renpy-${SLOT} )
|
||||||
|
|
||||||
|
for (( i = 0; i < ${#binaries[@]}; i++ )); do
|
||||||
|
alternatives_for _${host}_renpy ${SLOT} ${SLOT} /usr/${host}/bin/${binaries[i]} /usr/${host}/bin/${binaries[++i]}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
renpy_pkg_postinst() {
|
||||||
|
alternatives_pkg_postinst
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user