forked from hasufell/hasufell-repository
		
	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