hasufell-repository/packages/games-engines/love/love.exlib

90 lines
2.4 KiB
Bash

# Copyright 2016 Julian Ospald <hasufell@posteo.de>
# Distributed under the terms of the GNU General Public License v2
# Purpose: an exlib dealing with installation of the love engine
# Maintainer: Julian Ospald <hasufell@posteo.de>
# Exports: src_prepare src_install pkg_postinst
# Side-effects: - adds build and runtime dependencies
# - sets $SUMMARY, $HOMEPAGE, $DOWNLOADS, $LICENCES,
# $DEFAULT_SRC_CONFIGURE_PARAMS,
# $DEFAULT_SRC_INSTALL_EXTRA_DOCS,
# - imports alternatives, lua, bitbucket
# autotools depending on $LOVE_AUTOCONF
#
# Usage
# Set LOVE_AUTOCONF before 'require' to force autoreconf
require alternatives
require lua [ whitelist="5.1" multibuild="false" ]
require bitbucket [ user=rude pn=love download=love-${PV}-linux-src ]
if [[ -n ${LOVE_AUTOCONF} ]]; then
require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ]
fi
export_exlib_phases src_prepare src_install pkg_postinst
SUMMARY="A framework for 2D games in Lua"
HOMEPAGE="http://love2d.org/"
LICENCES="ZLIB"
DEPENDENCIES="
build:
virtual/pkg-config
build+run:
dev-games/physfs
dev-lang/lua:5.1
media-libs/DevIL[mng][tiff]
media-libs/SDL:2[X]
media-libs/freetype:2
media-libs/libmodplug
media-libs/libtheora
media-libs/libvorbis
media-libs/openal
media-sound/mpg123
x11-dri/mesa
"
DEFAULT_SRC_CONFIGURE_PARAMS=(
--disable-shared
--enable-static
)
if ever at_least 0.9.0; then
DEFAULT_SRC_CONFIGURE_PARAMS+=( --with-lua=lua )
fi
DEFAULT_SRC_INSTALL_EXTRA_DOCS=( "readme.md" "changes.txt" )
# Exported 'src_prepare'.
love_src_prepare() {
if [[ -n ${LOVE_AUTOCONF} ]]; then
edo cp platform/unix/{configure.ac,Makefile.am} .
edo bash platform/unix/genmodules
eautoreconf
else
default
fi
}
# Exported 'src_install'.
love_src_install() {
newbin src/${PN} ${PN}-${SLOT}
emagicdocs
# set up alternatives based on SLOT
local host=$(exhost --target)
local binaries=( love love-${SLOT} )
for (( i = 0; i < ${#binaries[@]}; i++ )); do
alternatives_for _${host}_love ${SLOT} ${SLOT} /usr/${host}/bin/${binaries[i]} /usr/${host}/bin/${binaries[++i]}
done
}
# Exported 'pkg_postinst'.
love_pkg_postinst() {
alternatives_pkg_postinst
}