summaryrefslogtreecommitdiff
path: root/games-arcade/opensonic
diff options
context:
space:
mode:
Diffstat (limited to 'games-arcade/opensonic')
-rw-r--r--games-arcade/opensonic/Manifest4
-rw-r--r--games-arcade/opensonic/files/opensonic-0.1.4-r1-cmake.patch107
-rw-r--r--games-arcade/opensonic/metadata.xml11
-rw-r--r--games-arcade/opensonic/opensonic-0.1.4-r2.ebuild50
4 files changed, 172 insertions, 0 deletions
diff --git a/games-arcade/opensonic/Manifest b/games-arcade/opensonic/Manifest
new file mode 100644
index 000000000000..dc6e1b85b156
--- /dev/null
+++ b/games-arcade/opensonic/Manifest
@@ -0,0 +1,4 @@
+AUX opensonic-0.1.4-r1-cmake.patch 4658 BLAKE2B 029d9d971a86ca7692aecef178de3ef35b29c409cf047e453a4e085d094b274abe07e606449174fbc40dfe7da5bad0dce519f7058020e0f1aece2f6bec34a96f SHA512 4764d967664c2c775696a4ccbfb17cf8d3051b1b96cc1f2c6314b8054059334374fca5d39153ec565f22b5716f34c4d0ff45f4c7b00500e2590437025f10fd06
+DIST opensnc-src-0.1.4.tar.gz 10525059 BLAKE2B d5cb825512dfeb614d146e6e7ec45cc3eb56dae0f2cf6c2582e022a1e8ac54e6c87f7bee8795b0e520fa6c24433cb7a748889892cd288f122d7b885e6e91c790 SHA512 239c7b4c7f9663e4d46c54d8bdaefed8d12274b71feaf9c637feb04f3567465f265c50bf3419f4c881ae3fa48a62ab339fe8a0b005c2b080b53d54ebf1e2f29d
+EBUILD opensonic-0.1.4-r2.ebuild 1219 BLAKE2B 705624d47ac5464a2de067b4e113cd2dbb5a6aa5c73b5d22700b643b2566f4214f182ec464726fa49fc0430a62e1f320847ff98737788471c817f0d710de010a SHA512 50c39b104eb0fc2cee336263ceb8ae8c7ff8029b19e4660afde6f6dfc2f1b50c0e14b4ff5882040a4a8ce7271892149a53565f0c207f7a16c168036a66a3247c
+MISC metadata.xml 330 BLAKE2B b93fe5bb5919cb60eb4e5f2179880bdd9848b9a5b33c368815feea1ee36d36494e169cd8839bedc2db9d15dea8d819d2ad6398769fa69ae7d61a2b142228caf2 SHA512 5ac408fe48351e3db869e0cf5af951fd441690505d16d826c4010d2d575fde0b7de6f9f9ef2594cd2006692e0682b2e62f8cb5726db5c80bc7974f942b7cd79c
diff --git a/games-arcade/opensonic/files/opensonic-0.1.4-r1-cmake.patch b/games-arcade/opensonic/files/opensonic-0.1.4-r1-cmake.patch
new file mode 100644
index 000000000000..53d76faafae2
--- /dev/null
+++ b/games-arcade/opensonic/files/opensonic-0.1.4-r1-cmake.patch
@@ -0,0 +1,107 @@
+From: hasufell <julian.ospald@googlemail.com>
+Date: Sat Apr 28 16:38:56 UTC 2012
+Subject: build system
+
+use allegro-config
+remove "-O2" from pre-defined CFLAGS
+make paths modifiable
+add rules for icon, desktop-file and game-wrapper
+fix compilation for as-needed
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -35,16 +35,14 @@
+ MESSAGE("Using CFLAGS='${CFLAGS}'")
+
+ IF(UNIX)
+- SET(ALLEGRO_UNIX_LIBS "$ENV{_ALLEGRO_LIBS}")
++ exec_program(allegro-config ARGS --libs OUTPUT_VARIABLE ALLEGRO_LIBRARY)
++ SET(ALLEGRO_UNIX_LIBS "${ALLEGRO_LIBRARY}")
+ IF(NOT ALLEGRO_UNIX_LIBS)
+- MESSAGE(FATAL_ERROR "Please do not invoke CMake directly. Run ./configure instead.")
++ MESSAGE(FATAL_ERROR "Allegro libs not found!")
+ ENDIF(NOT ALLEGRO_UNIX_LIBS)
+ ENDIF(UNIX)
+
+
+-
+-
+-
+ # Finding the required libraries:
+
+ # Allegro: liballeg
+@@ -53,7 +51,8 @@
+ MESSAGE(FATAL_ERROR "Fatal error: couldn't find the Allegro game programming library (liballeg)! ${RTFM}")
+ ELSE(NOT LALLEG)
+ IF(UNIX)
+- SET(ALLEGRO_UNIX_VERSION "$ENV{_ALLEGRO_VERSION}")
++ exec_program(allegro-config ARGS --version OUTPUT_VARIABLE ALLEGRO_VERSION)
++ SET(ALLEGRO_UNIX_VERSION "${ALLEGRO_VERSION}")
+ IF(NOT ALLEGRO_UNIX_VERSION STREQUAL ALLEGRO_RECOMMENDED_VERSION)
+ MESSAGE("\nWARNING: your Allegro version is ${ALLEGRO_UNIX_VERSION}. The recommended version is ${ALLEGRO_RECOMMENDED_VERSION}.\n ${GAME_NAME} may not compile properly!.\n")
+ ENDIF(NOT ALLEGRO_UNIX_VERSION STREQUAL ALLEGRO_RECOMMENDED_VERSION)
+@@ -249,9 +248,8 @@
+ IF(UNIX)
+ SET(GAME_SRCS ${GAME_SRCS} src/misc/iconlin.c)
+ ADD_EXECUTABLE(${GAME_UNIXNAME} ${GAME_SRCS})
+- SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES LINK_FLAGS ${ALLEGRO_UNIX_LIBS})
+- TARGET_LINK_LIBRARIES(${GAME_UNIXNAME} m logg vorbisfile vorbis ogg jpgalleg z png loadpng)
+- SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES COMPILE_FLAGS "-Wall -O2 ${CFLAGS} ${CFLAGS_EXTRA}")
++ TARGET_LINK_LIBRARIES(${GAME_UNIXNAME} m logg vorbisfile vorbis ogg jpgalleg z png loadpng ${ALLEGRO_UNIX_LIBS})
++ SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES COMPILE_FLAGS "-Wall")
+ ENDIF(UNIX)
+
+
+@@ -407,19 +405,43 @@
+ SET_TARGET_PROPERTIES(${GAME_UNIXNAME} PROPERTIES PROJECT_NAME "${GAME_NAME}")
+
+
+-
+ # Installing on *nix
+ IF(UNIX)
+- SET(GAME_INSTALL_DIR "/usr/share/${GAME_UNIXNAME}")
+- SET(GAME_FINAL_DIR "/usr/bin")
++ SET(GAME_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/${GAME_UNIXNAME}" CACHE PATH "")
++ SET(GAME_FINAL_DIR "bin" CACHE PATH "")
++ SET(GAME_LIBDIR "games/lib" CACHE PATH "")
++ SET(GAME_DOCDIR "share/doc/${GAME_UNIXNAME}-${GAME_VERSION}" CACHE PATH "")
++ SET(GAME_HTMLDIR "share/doc/${GAME_UNIXNAME}-${GAME_VERSION}/html" CACHE PATH "")
++ SET(GAME_ICONDIR "share/pixmaps" CACHE PATH "")
++ SET(GAME_DESKTOPDIR "share/applications" CACHE PATH "")
++
++ FILE(WRITE ${GAME_UNIXNAME}.sh
++"#!/bin/sh
++cd ${GAME_LIBDIR}
++exec ./${GAME_UNIXNAME} \"$@\"
++"
++)
+
+- INSTALL(CODE "MESSAGE(\"Installing ${GAME_NAME} ${GAME_VERSION}... Make sure you have root privileges.\")")
+- INSTALL(TARGETS ${GAME_UNIXNAME} RUNTIME DESTINATION ${GAME_INSTALL_DIR})
+- INSTALL(FILES license.txt readme.html DESTINATION ${GAME_INSTALL_DIR})
+- INSTALL(DIRECTORY objects sprites config images levels licenses musics quests samples screenshots themes languages DESTINATION ${GAME_INSTALL_DIR} PATTERN ".svn" EXCLUDE)
++ FILE(WRITE ${GAME_UNIXNAME}.desktop
++"[Desktop Entry]
++Name=${GAME_NAME}
++Type=Application
++Comment=A free open-source clone of the Sonic the Hedgehog universe
++Exec=${GAME_UNIXNAME}
++TryExec=${GAME_UNIXNAME}
++Icon=${GAME_UNIXNAME}
++Categories=Game;ArcadeGame;
++"
++)
+
+- INSTALL(CODE "MESSAGE(\"Creating files at ${GAME_FINAL_DIR}...\")")
+- INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"cmake\" \"-E\" \"copy\" \"${GAME_INSTALL_DIR}/${GAME_UNIXNAME}\" \"${GAME_FINAL_DIR}/${GAME_UNIXNAME}\")")
++ INSTALL(CODE "MESSAGE(\"Installing ${GAME_NAME} ${GAME_VERSION}... Make sure you have root privileges.\")")
++ INSTALL(TARGETS ${GAME_UNIXNAME} RUNTIME DESTINATION ${GAME_LIBDIR})
++# INSTALL(FILES license.txt DESTINATION ${GAME_DOCDIR})
++ INSTALL(FILES readme.html DESTINATION ${GAME_HTMLDIR})
++ INSTALL(FILES icon.png DESTINATION ${GAME_ICONDIR} RENAME ${GAME_UNIXNAME}.png)
++ INSTALL(FILES ${GAME_UNIXNAME}.desktop DESTINATION ${GAME_DESKTOPDIR})
++ INSTALL(DIRECTORY objects sprites config images levels musics quests samples themes languages DESTINATION ${GAME_INSTALL_DIR} PATTERN ".svn" EXCLUDE)
++ INSTALL(PROGRAMS ${GAME_UNIXNAME}.sh DESTINATION ${GAME_FINAL_DIR} RENAME ${GAME_UNIXNAME})
+
+ INSTALL(CODE "MESSAGE(\"Done! Please run ${GAME_UNIXNAME} to start ${GAME_NAME}.\")")
+ ENDIF(UNIX)
diff --git a/games-arcade/opensonic/metadata.xml b/games-arcade/opensonic/metadata.xml
new file mode 100644
index 000000000000..f62cdf642eee
--- /dev/null
+++ b/games-arcade/opensonic/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">opensnc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-arcade/opensonic/opensonic-0.1.4-r2.ebuild b/games-arcade/opensonic/opensonic-0.1.4-r2.ebuild
new file mode 100644
index 000000000000..3e0e1b0c35a2
--- /dev/null
+++ b/games-arcade/opensonic/opensonic-0.1.4-r2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+MY_PN=opensnc
+MY_P=${MY_PN}-src-${PV}
+
+DESCRIPTION="A free open-source game based on the Sonic the Hedgehog universe"
+HOMEPAGE="http://opensnc.sourceforge.net/"
+SRC_URI="https://sourceforge.net/projects/opensnc/files/Open%20Sonic/${PV}/opensnc-src-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RESTRICT="mirror" # unsure about legality of graphics
+
+DEPEND="
+ media-libs/allegro:0=[X,jpeg,png,vorbis]
+ media-libs/libogg:=
+ media-libs/libpng:0=
+ media-libs/libvorbis:=
+ sys-libs/zlib:=
+ virtual/jpeg:0"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/${MY_P}
+PATCHES=( "${FILESDIR}"/${PN}-0.1.4-r1-cmake.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DGAME_INSTALL_DIR="${EPREFIX}"/usr/share/${PN}
+ -DGAME_FINAL_DIR="${EPREFIX}"/usr/bin
+ -DGAME_LIBDIR="${EPREFIX}"/usr/$(get_libdir)/${PN}
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ local f
+ while IFS="" read -d $'\0' -r f; do
+ dosym ../../share/${PN}/${f##*/} \
+ /usr/$(get_libdir)/${PN}/${f##*/}
+ done < <(find "${ED%/}"/usr/share/${PN}/ -mindepth 1 -maxdepth 1 -type d -print0)
+}