forked from hasufell/hasufell-repository
gog.exlib: initial implementation
This commit is contained in:
parent
a49dfb90fc
commit
d38a0069c4
79
exlibs/gog.exlib
Normal file
79
exlibs/gog.exlib
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
# Copyright 2019 Julian Ospald <hasufell@posteo.de>
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
# Purpose: an exlib dealing with installation of GOG games
|
||||||
|
# Maintainer: Julian Ospald <hasufell@posteo.de>
|
||||||
|
# Exports: pkg_nofetch, pkg_setup, src_unpack
|
||||||
|
# Side-effects: - adds build dependencies
|
||||||
|
# - sets $WORK, $DOWNLOADS, $LICENSES, $RESTRICT and $HOMEPAGE
|
||||||
|
#
|
||||||
|
# Usage
|
||||||
|
# exparams: - installer: the shell script installer (required)
|
||||||
|
# - unzip: whether to unzip and add unzip dependency (default: true)
|
||||||
|
# - install_dir: installation dir (default: /opt/${PN})
|
||||||
|
|
||||||
|
|
||||||
|
myexparam installer=
|
||||||
|
myexparam -b unzip=true
|
||||||
|
myexparam install_dir=/opt/${PN}
|
||||||
|
|
||||||
|
exparam -v GOG_SH installer
|
||||||
|
exparam -v GOG_INSTALL_DIR install_dir
|
||||||
|
|
||||||
|
if [[ -z $(exparam installer) ]]; then
|
||||||
|
die "installer needs to be set!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$GOG_INSTALL_DIR" != /* ]]; then
|
||||||
|
die "${GOG_INSTALL_DIR} must be absolute!"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export_exlib_phases pkg_nofetch pkg_setup src_unpack
|
||||||
|
|
||||||
|
|
||||||
|
HOMEPAGE="https://www.gog.com"
|
||||||
|
DOWNLOADS="manual: ${GOG_SH}"
|
||||||
|
|
||||||
|
LICENCES="all-rights-reserved GOG-EULA"
|
||||||
|
RESTRICT="fetch"
|
||||||
|
|
||||||
|
if exparam -b unzip ; then
|
||||||
|
DEPENDENCIES+="
|
||||||
|
build:
|
||||||
|
virtual/unzip
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
WORK="${WORKBASE}/data/noarch"
|
||||||
|
|
||||||
|
# Exported 'pkg_nofetch'.
|
||||||
|
#
|
||||||
|
# Arguments: none
|
||||||
|
# Side-effects: prints einfo
|
||||||
|
gog_pkg_nofetch() {
|
||||||
|
einfo
|
||||||
|
einfo "Please buy & download \"${GOG_SH}\""
|
||||||
|
einfo "from:"
|
||||||
|
einfo " ${HOMEPAGE}"
|
||||||
|
einfo "and move/link it to \"${FETCHEDDIR}\""
|
||||||
|
einfo
|
||||||
|
}
|
||||||
|
|
||||||
|
# Exported 'pkg_setup'.
|
||||||
|
#
|
||||||
|
# Arguments: none
|
||||||
|
# Side-effects: makes sure /opt is allowed to be installed into
|
||||||
|
gog_pkg_setup() {
|
||||||
|
exdirectory --allow "$(dirname "${GOG_INSTALL_DIR}")"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Exported 'src_unpack'.
|
||||||
|
#
|
||||||
|
# Arguments: none
|
||||||
|
# Side-effects: unpacks the data
|
||||||
|
gog_src_unpack() {
|
||||||
|
if exparam -b unzip ; then
|
||||||
|
unzip -qo "${FETCHEDDIR}/${GOG_SH}"
|
||||||
|
[[ $? -le 1 ]] || die "unpacking ${GOG_SH} failed!"
|
||||||
|
fi
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user