forked from hasufell/hasufell-repository
exlibs: add love-app.exlib
This commit is contained in:
parent
c817bba2b8
commit
9c10f13d65
96
exlibs/love-app.exlib
Normal file
96
exlibs/love-app.exlib
Normal file
@ -0,0 +1,96 @@
|
||||
# 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 love applications
|
||||
# Maintainer: Julian Ospald <hasufell@posteo.de>
|
||||
# Exports: src_install
|
||||
# Side-effects: - adds build and runtime dependencies
|
||||
# - sets $WORK
|
||||
# - imports desktop-utils
|
||||
#
|
||||
# Usage
|
||||
# exparams: - loveslot: SLOT of games-engines/love to use
|
||||
# - lovepn: name of the '.love' file to install without the extension
|
||||
# - lovezip (boolean): whether a zip file needs to be unpacked
|
||||
|
||||
require desktop-utils
|
||||
|
||||
myexparam loveslot=
|
||||
myexparam lovepn=${PN}
|
||||
myexparam -b lovezip=false
|
||||
|
||||
exparam -v LOVE_SLOT loveslot
|
||||
exparam -v LOVE_PN lovepn
|
||||
|
||||
if [[ -z $(exparam loveslot) ]]; then
|
||||
die "loveslot exparam needs to be set!"
|
||||
fi
|
||||
|
||||
export_exlib_phases src_install
|
||||
|
||||
|
||||
DEPENDENCIES+="
|
||||
run:
|
||||
games-engines/love:$(exparam loveslot)
|
||||
"
|
||||
|
||||
if exparam -b lovezip ; then
|
||||
DEPENDENCIES+="
|
||||
build:
|
||||
virtual/unzip
|
||||
"
|
||||
fi
|
||||
|
||||
WORK=${WORKBASE}
|
||||
|
||||
# Outputs the common base directory used for installing love applications.
|
||||
#
|
||||
# Arguments: none
|
||||
# Side-effects: outputs to stdout
|
||||
# Inspection: none
|
||||
# Errors: none
|
||||
share_love() {
|
||||
echo -n "/usr/share/love"
|
||||
}
|
||||
|
||||
# Outputs the directory used for installing the given love application.
|
||||
#
|
||||
# Arguments: none
|
||||
# Side-effects: outputs to stdout
|
||||
# Inspection: none
|
||||
# Errors: none
|
||||
share_love_with_me() {
|
||||
echo -n "$(share_love)/${PN}"
|
||||
}
|
||||
|
||||
# Exported 'src_install'.
|
||||
#
|
||||
# Arguments: none
|
||||
# Side-effects: carries out installation
|
||||
# Inspection: $WORK, $PN{,V}, $FETCHEDDIR
|
||||
# Errors: if exparam lovepn is not set properly and main '.love' file cannot be
|
||||
# found
|
||||
love-app_src_install() {
|
||||
local ldir=$(share_love_with_me)
|
||||
|
||||
exeinto "${ldir}"
|
||||
|
||||
if [[ -e "${WORK}"/${LOVE_PN}.love ]] ; then
|
||||
newexe "${WORK}"/${LOVE_PN}.love ${PN}.love
|
||||
elif [[ -e "${FETCHEDDIR}"/${PNV}.love ]] ; then
|
||||
newexe "${FETCHEDDIR}"/${LOVE_PN}.love ${PN}.love
|
||||
else
|
||||
die "Could not find ${LOVE_PN}.love for installation!"
|
||||
fi
|
||||
|
||||
emagicdocs
|
||||
|
||||
herebin ${PN} << EOF
|
||||
#!/bin/sh
|
||||
cd "${ldir}"
|
||||
exec love-${LOVE_SLOT} ${PN}.love "\$@"
|
||||
EOF
|
||||
|
||||
install_desktop_entry
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user