summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-action/supermariowar')
-rw-r--r--games-action/supermariowar/files/smwd.initd8
-rw-r--r--games-action/supermariowar/supermariowar-2.0_beta1-r1.ebuild110
2 files changed, 114 insertions, 4 deletions
diff --git a/games-action/supermariowar/files/smwd.initd b/games-action/supermariowar/files/smwd.initd
index 6aa83cc3e1b2..da4fa9a87ee4 100644
--- a/games-action/supermariowar/files/smwd.initd
+++ b/games-action/supermariowar/files/smwd.initd
@@ -7,7 +7,7 @@ command_background="true"
pidfile="/var/run/${RC_SVCNAME}.pid"
name="Super Mario War server"
description="The Super Mario War server process is in charge of hosting Super Mario War games"
-smw_server_dir="/usr/share/supermariowar-2.0_beta1/server"
+smw_serverdir="@SMW_SERVERDIR@"
depend() {
use net
@@ -15,11 +15,11 @@ depend() {
}
start() {
- if [[ ! -d "${smw_server_dir}" ]]; then
- eerror "Cannot cd into ${smw_server_dir}"
+ if [[ ! -d "${smw_serverdir}" ]]; then
+ eerror "Cannot cd into ${smw_serverdir}"
return 1
fi
- cd "${smw_server_dir}" || return 1
+ cd "${smw_serverdir}" || return 1
ebegin "Starting ${name}"
start-stop-daemon \
--start \
diff --git a/games-action/supermariowar/supermariowar-2.0_beta1-r1.ebuild b/games-action/supermariowar/supermariowar-2.0_beta1-r1.ebuild
new file mode 100644
index 000000000000..c42de90ce2a0
--- /dev/null
+++ b/games-action/supermariowar/supermariowar-2.0_beta1-r1.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils cmake-utils versionator
+
+MY_PV=$(replace_version_separator 2 '-')
+MY_PV="${MY_PV/beta1/beta.1}"
+MY_PN="smw"
+
+DESCRIPTION="Fan-made multiplayer Super Mario Bros. style deathmatch game"
+HOMEPAGE="https://github.com/mmatyas/supermariowar"
+SRC_URI="https://github.com/mmatyas/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="+server"
+
+RDEPEND="
+ sys-libs/zlib
+ dev-cpp/yaml-cpp
+ net-libs/enet:1.3=
+ media-libs/sdl-mixer[vorbis]
+ media-libs/sdl-image[png,jpeg]"
+
+DEPEND="
+ ${RDEPEND}
+ app-arch/unzip
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}" || die
+ unpack ./data.zip
+}
+
+src_prepare() {
+ default
+ einfo "Copying Findyaml-cpp.cmake"
+ cp "${FILESDIR}/${P}-yaml-cpp-config.cmake" cmake/Findyaml-cpp.cmake || die
+ eend $?
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_STATIC_LIBS=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr"
+ -DSMW_BINDIR="${EPREFIX%/}/usr/bin"
+ -DSMW_DATADIR="${EPREFIX%/}/usr/share/${PF}"
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ local bin
+ for bin in "${ED}/usr/bin"/*; do
+ chmod 0755 "${bin}" || die
+ done
+
+ local smw_datadir="usr/share/${PF}"
+ local smw_bindir="${smw_datadir}/bin"
+ mkdir -p "${ED}/${smw_bindir}" || die
+
+ einfo "Moving ${PN} binary files to /${smw_bindir}"
+ mv "${ED}/usr/bin"/* "${ED}/${smw_bindir}" || die
+ eend $?
+
+ local base_bin
+ for bin in "${ED}/${smw_bindir}"/*; do
+ base_bin=$(basename "${bin}")
+ einfo "Creating ${base_bin} launcher in /usr/bin"
+ cat << EOF > "${base_bin}" || die
+#!/usr/bin/env bash
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# ${PF} launcher: ${base_bin}
+exec /${smw_bindir}/${base_bin} /${smw_datadir}
+EOF
+ dobin "${base_bin}"
+ eend $?
+ done
+
+ if use server; then
+ local smw_server="${BUILD_DIR}/Binaries/Release/${MY_PN}-server"
+ local smw_serverdir="/${smw_datadir}/server"
+
+ einfo "Installing ${MY_PN}-server files"
+ dosbin "${smw_server}"
+
+ dodir "${smw_serverdir}"
+ insinto "${smw_serverdir}"
+ doins "${S}/src/server/serverconfig"
+
+ dosym "${smw_serverdir}/serverconfig" "/etc/${MY_PN}d.conf"
+
+ newinitd "${FILESDIR}/smwd.initd" "${MY_PN}d"
+ sed -i -e \
+ "s#@SMW_SERVERDIR@#${smw_serverdir}#g;" \
+ "${ED}/etc/init.d/${MY_PN}d" || die
+ eend $?
+ fi
+}