summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzamat H. Hackimov <azamat.hackimov@gmail.com>2013-05-12 20:14:09 +0600
committerAzamat H. Hackimov <azamat.hackimov@gmail.com>2013-05-12 20:24:42 +0600
commitcd1b59e8e79607262d7755145259b85cf63265f5 (patch)
tree795a9736a8ed29c549362e907e9cb500e8baf0a9 /games-strategy
parent[games-emulation/ps2emu-zerospu] no longer supported upstream -> removed (diff)
downloadgamerlay-cd1b59e8e79607262d7755145259b85cf63265f5.tar.gz
gamerlay-cd1b59e8e79607262d7755145259b85cf63265f5.tar.bz2
gamerlay-cd1b59e8e79607262d7755145259b85cf63265f5.zip
[games-strategy/openxcom] OpenXcom, reinplementation of classic Microprose game UFO: Enemy Unknown.
Package-Manager: portage-2.1.11.62 Manifest-Sign-Key: A018DE8C
Diffstat (limited to 'games-strategy')
-rw-r--r--games-strategy/openxcom/Manifest11
-rw-r--r--games-strategy/openxcom/files/openxcom-0.9_data-install-dir.patch74
-rw-r--r--games-strategy/openxcom/metadata.xml15
-rw-r--r--games-strategy/openxcom/openxcom-0.9.ebuild55
4 files changed, 155 insertions, 0 deletions
diff --git a/games-strategy/openxcom/Manifest b/games-strategy/openxcom/Manifest
new file mode 100644
index 0000000..a1d07be
--- /dev/null
+++ b/games-strategy/openxcom/Manifest
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+DIST openxcom-0.9.tar.gz 1540071 SHA256 f19c033c5e6b22ceca23742069f60a2c398c6f7d38a70ea564bfcc431fa722da SHA512 0bfae68b05aab2e896caa3fc89f9c2c126b36a9f5cc6ffa3d9d216f64184d0e49489f15a9a33a11781fa0f336e517bc706b7ff9c67961c95d7655cad317397eb WHIRLPOOL 78b0b22ffb6763536968cc118669254c2f3ab797f293c4bbed3e0664c50fe53a5219144d2a3af44d1834808aee4b1e00c41cf1b0a29c8eeaea6b9706e9fcd341
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.19 (GNU/Linux)
+
+iF4EAREIAAYFAlGPo7EACgkQz+A7F6AY3ox1cQEAmPLMmvC92nckrRn92wyIMUEg
+cGweBCZrwvhJWuJBJywBALmqWjDWyQj4MrLFeRBQ/PpcnkfAJuWwi9xXJHDvaoKR
+=FfFm
+-----END PGP SIGNATURE-----
diff --git a/games-strategy/openxcom/files/openxcom-0.9_data-install-dir.patch b/games-strategy/openxcom/files/openxcom-0.9_data-install-dir.patch
new file mode 100644
index 0000000..8e4d16a
--- /dev/null
+++ b/games-strategy/openxcom/files/openxcom-0.9_data-install-dir.patch
@@ -0,0 +1,74 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ed68a96..0422b09 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -9,6 +9,7 @@ option ( ENABLE_WARNING "Always show warnings (even for release builds)" OFF )
+ option ( FATAL_WARNING "Treat warnings as errors" OFF )
+ set ( MSVC_WARNING_LEVEL 3 CACHE STRING "Visual Studio warning levels" )
+ option ( FORCE_INSTALL_DATA_TO_BIN "Force installation of data to binary directory" OFF )
++set ( DATADIR "" CACHE STRING "Where to place datafiles" )
+
+ if ( WIN32 )
+ set ( default_deps_dir "${CMAKE_SOURCE_DIR}/deps" )
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 81247c6..3099f7e 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -591,7 +591,12 @@ set ( install_dest RUNTIME )
+ set ( set_exec_path ON )
+ set ( install_dest_dir bin )
+ if ( UNIX AND NOT APPLE )
+- set ( data_install_dir ${CMAKE_INSTALL_PREFIX}/share/openxcom )
++ if ( DEFINED DATADIR )
++ set ( data_install_dir ${DATADIR} )
++ add_definitions( -DDATADIR="${data_install_dir}/" )
++ else()
++ set ( data_install_dir "share/openxcom" )
++ endif()
+ endif ()
+ if ( APPLE )
+ set ( openxcom_src ${openxcom_src} ${MACOS_SDLMAIN_M_PATH} )
+@@ -603,7 +608,12 @@ if ( APPLE )
+ set ( install_dest_dir "" )
+ set ( data_install_dir bin )
+ else ()
+- set ( data_install_dir ${CMAKE_INSTALL_PREFIX}/share/openxcom )
++ if ( DEFINED DATADIR )
++ set ( data_install_dir ${DATADIR} )
++ add_definitions( -DDATADIR="${data_install_dir}/" )
++ else()
++ set ( data_install_dir "share/openxcom" )
++ endif()
+ endif ()
+ endif ()
+ if ( set_exec_path )
+diff --git a/src/Engine/CrossPlatform.cpp b/src/Engine/CrossPlatform.cpp
+index 9ac27ba..6571938 100644
+--- a/src/Engine/CrossPlatform.cpp
++++ b/src/Engine/CrossPlatform.cpp
+@@ -153,16 +153,18 @@ std::vector<std::string> findDataFolders()
+ dir = strtok(0, ":");
+ }
+ }
+- else
+- {
+ #ifdef __APPLE__
+- snprintf(path, MAXPATHLEN, "%s/Users/Shared/OpenXcom/data/", home);
+- list.push_back(path);
++ snprintf(path, MAXPATHLEN, "%s/Users/Shared/OpenXcom/data/", home);
++ list.push_back(path);
+ #else
+- list.push_back("/usr/local/share/openxcom/data/");
+- list.push_back("/usr/share/openxcom/data/");
++ list.push_back("/usr/local/share/openxcom/data/");
++ list.push_back("/usr/share/openxcom/data/");
++#ifdef DATADIR
++ snprintf(path, MAXPATHLEN, "%s/data/", DATADIR);
++ list.push_back(path);
++#endif
++
+ #endif
+- }
+
+ // Get working directory
+ list.push_back("./data/");
diff --git a/games-strategy/openxcom/metadata.xml b/games-strategy/openxcom/metadata.xml
new file mode 100644
index 0000000..0bbbca9
--- /dev/null
+++ b/games-strategy/openxcom/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>azamat.hackimov@gmail.com</email>
+<name>Azamat H. Hackimov</name>
+</maintainer>
+<longdescription lang="en">
+An open-source reimplementation of the popular UFO: Enemy Unknown.
+</longdescription>
+<longdescription lang="ru">
+Открытая реализация популярной тактической стратегии 1994 года UFO: Enemy Unknown.
+</longdescription>
+</pkgmetadata>
+
diff --git a/games-strategy/openxcom/openxcom-0.9.ebuild b/games-strategy/openxcom/openxcom-0.9.ebuild
new file mode 100644
index 0000000..e7d7bdd
--- /dev/null
+++ b/games-strategy/openxcom/openxcom-0.9.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit cmake-utils games
+
+DESCRIPTION="An open-source reimplementation of the popular UFO: Enemy Unknown"
+HOMEPAGE="http://openxcom.org/"
+SRC_URI="https://github.com/SupSuper/OpenXcom/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="~dev-cpp/yaml-cpp-0.3.0
+ media-libs/libsdl:0
+ media-libs/sdl-gfx
+ media-libs/sdl-image:0
+ media-libs/sdl-mixer
+ media-sound/timidity++"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/OpenXcom-${PV}"
+
+DOCS=( README.txt )
+src_prepare() {
+ epatch "${FILESDIR}/${P}_data-install-dir.patch"
+}
+
+src_configure() {
+ mycmakeargs=(
+ "-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}"
+ "-DDATADIR=${GAMES_DATADIR}/${PN}"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+#src_install() {
+# cmake-utils_src_install
+# prepgamesdirs
+#}
+
+pkg_postinst() {
+ games_pkg_postinst
+ elog "In order to play you need copy GEODATA, GEOGRAPH, MAPS, SOUND, TERRAIN"
+ elog "UFOGRAPH, UFOINTRO, UNITS folders from original X-COM game to"
+ elog "${GAMES_DATADIR}/${PN}/data"
+}