summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-action')
-rw-r--r--games-action/supermariowar/Manifest1
-rw-r--r--games-action/supermariowar/files/smwd.initd39
-rw-r--r--games-action/supermariowar/files/supermariowar-2.0_beta1-yaml-cpp-config.cmake21
-rw-r--r--games-action/supermariowar/metadata.xml14
-rw-r--r--games-action/supermariowar/supermariowar-2.0_beta1.ebuild110
5 files changed, 185 insertions, 0 deletions
diff --git a/games-action/supermariowar/Manifest b/games-action/supermariowar/Manifest
new file mode 100644
index 000000000000..5c4d64c56a36
--- /dev/null
+++ b/games-action/supermariowar/Manifest
@@ -0,0 +1 @@
+DIST supermariowar-2.0_beta1.tar.gz 13545366 SHA256 7b1197cd9dd99f1470c9118f7fe78489cd6ade3ecbb444e336e86fc87c0c8a08 SHA512 0849d23ea613d69f32c184dd5f470815a4c68b15836e46e40c30c5a3a6ea2216d4d3305f356e8fdd5b42f4008d9b07f0b9fac84b9f801a4b9f888ba188c56e0b WHIRLPOOL eadca1a65bca8280a8b10f8a5da3c47217fe67c375a3aca3730b7e81e8f6b4fc2fe1d8530ad30912263febea89eb517a6f59018c0e68273b94a6b3dcf261a308
diff --git a/games-action/supermariowar/files/smwd.initd b/games-action/supermariowar/files/smwd.initd
new file mode 100644
index 000000000000..6aa83cc3e1b2
--- /dev/null
+++ b/games-action/supermariowar/files/smwd.initd
@@ -0,0 +1,39 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/sbin/smw-server"
+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"
+
+depend() {
+ use net
+ before logger
+}
+
+start() {
+ if [[ ! -d "${smw_server_dir}" ]]; then
+ eerror "Cannot cd into ${smw_server_dir}"
+ return 1
+ fi
+ cd "${smw_server_dir}" || return 1
+ ebegin "Starting ${name}"
+ start-stop-daemon \
+ --start \
+ --background \
+ --pidfile ${pidfile} \
+ --make-pidfile \
+ --exec ${command}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${name}"
+ start-stop-daemon \
+ --stop \
+ --pidfile ${pidfile}
+ eend $?
+}
diff --git a/games-action/supermariowar/files/supermariowar-2.0_beta1-yaml-cpp-config.cmake b/games-action/supermariowar/files/supermariowar-2.0_beta1-yaml-cpp-config.cmake
new file mode 100644
index 000000000000..03fb190aad65
--- /dev/null
+++ b/games-action/supermariowar/files/supermariowar-2.0_beta1-yaml-cpp-config.cmake
@@ -0,0 +1,21 @@
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(YAML-CPP REQUIRED yaml-cpp)
+find_path(YAML-CPP_INCLUDE_DIRECTORY
+ NAMES yaml.h
+ PATHS ${YAML-CPP_INCLUDE_DIRS} /usr/include/yaml-cpp
+)
+find_library(YAML-CPP_LIBRARY
+ NAMES yaml-cpp
+ PATHS ${YAML-CPP_LIBRARY_DIRS})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(yaml-cpp
+ FOUND_VAR yaml-cpp_FOUND
+ REQUIRED_VARS YAML-CPP_LIBRARY YAML-CPP_INCLUDE_DIRECTORY
+)
+
+if (yaml-cpp_FOUND)
+ set(yaml-cpp_INCLUDE_DIRS ${YAML-CPP_INCLUDE_DIRECTORY})
+ set(yaml-cpp_LIBRARIES ${YAML-CPP_LIBRARY})
+endif ()
+mark_as_advanced(YAML-CPP_INCLUDE_DIRECTORY YAML-CPP_LIBRARY)
diff --git a/games-action/supermariowar/metadata.xml b/games-action/supermariowar/metadata.xml
new file mode 100644
index 000000000000..30f464f613ab
--- /dev/null
+++ b/games-action/supermariowar/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>monsieurp@gentoo.org</email>
+ <name>Patrice Clement</name>
+ </maintainer>
+ <use>
+ <flag name="server">Compile and install Super Mario War server files</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mmatyas/supermariowar</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/supermariowar/supermariowar-2.0_beta1.ebuild b/games-action/supermariowar/supermariowar-2.0_beta1.ebuild
new file mode 100644
index 000000000000..dd6d11b97ddb
--- /dev/null
+++ b/games-action/supermariowar/supermariowar-2.0_beta1.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
+ media-libs/sdl-image"
+
+DEPEND="
+ ${RDEPEND}
+ 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_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ local bin base_bin
+ for bin in "${ED}/usr/bin"/*; do
+ base_bin=$(basename "${bin}")
+ 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 $?
+
+ for bin in "${ED}/${smw_bindir}"/*; do
+ base_bin=$(basename "${bin}")
+ einfo "Creating launcher in /usr/bin for ${base_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}.conf"
+
+ newinitd "${FILESDIR}/smwd.initd" "${MY_PN}d"
+ eend $?
+ fi
+}