commit:     464d7d2c9ff5ba9e81a2b9cf5ba0b256c93e84ca
Author:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 17 21:56:44 2017 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 21:59:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=464d7d2c

games-action/supermariowar: new package.

Super Mario War is a fan-made multiplayer Super Mario Bros. style
deathmatch game.

See: http://supermariowar.supersanctuary.net
See: https://github.com/mmatyas/supermariowar

Package-Manager: Portage-2.3.6, Repoman-2.3.1

 games-action/supermariowar/Manifest                |   1 +
 games-action/supermariowar/files/smwd.initd        |  39 ++++++++
 .../supermariowar-2.0_beta1-yaml-cpp-config.cmake  |  21 ++++
 games-action/supermariowar/metadata.xml            |  14 +++
 .../supermariowar/supermariowar-2.0_beta1.ebuild   | 110 +++++++++++++++++++++
 5 files changed, 185 insertions(+)

diff --git a/games-action/supermariowar/Manifest 
b/games-action/supermariowar/Manifest
new file mode 100644
index 00000000000..5c4d64c56a3
--- /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 00000000000..6aa83cc3e1b
--- /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 00000000000..03fb190aad6
--- /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 00000000000..30f464f613a
--- /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>monsie...@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 00000000000..dd6d11b97dd
--- /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
+}

Reply via email to