diff options
5 files changed, 180 insertions, 7 deletions
diff --git a/games-engines/openmw/Manifest b/games-engines/openmw/Manifest index 571bf3a..a6d2cd4 100644 --- a/games-engines/openmw/Manifest +++ b/games-engines/openmw/Manifest @@ -1,10 +1,13 @@ AUX 0001-fix-BINDIR.patch 1045 SHA256 bc9562d84c8416fe09891cb003294db465d89efef470e7ff6afb9c50e41738e7 SHA512 ddeb17d1f7270858b61cafa20fe9e51f967d0a4c6868e1f7fdb30043460c5ec0ac31b668a81e8b88e8ad4081953eb06db35be074f4331501a62ca41094453eab WHIRLPOOL 05d162a57e7e7234cb75bbc721f21de776064e9ff3478c6440a6b47aaf354c0e5a0c57592c340ca6490d1073eaea8c45ddc6ede5d60b8887149dd6fb0c1dc0ce AUX 0002-libc-fixes.patch 1980 SHA256 4d54203f5b3eff5dec6bc9dc27d04de8c482482b2658614740e3926bc1b7be18 SHA512 fb7d68b1ac0a837617ad6e38bdab5f3a4bdd0fb4cfa224bae45eeb5006b97671a836d5cc5cd0ae1131f57c4f145d575555bd1146dfb9eb489daebe414a961fdc WHIRLPOOL 55096b0e222b42ad52f5a87054f433214795b104d9060fcdded0ffee76ce773f82df552919545e35e3b961fb0620133ddaf922e00329d7a2a223829db1144842 +AUX openmw-0.24.0-0001-libc-fixes-avcodec-avformat-workaround.patch 1189 SHA256 7e7dac19da901a0a04e2f4c2f8581cc9ea22bb7dccf5e80281254428d279ad99 SHA512 40d4402e936034234359fec58bcfefe0855cfb8f512050d66e145c284d26d2ebe138daba8bb232d83b83de8a57d0e2927c31e1b16bb3e433e2a76f7e627c52c2 WHIRLPOOL 852309b59a57b88dd08df6a8a09ff1b0647b6d9ddbe14935f9e093142c19e464ff1c180b923ab7af5e60d29f9374bd32c5c9cdec63ff3f084b2db7759a02907e +AUX openmw-0.24.0-0002-libc-fixes-don-t-rely-on-tr1.patch 2085 SHA256 95c5c243e1f086bda089516806d395d861dce137bdb5358209b357dd5b1cd828 SHA512 6831e66c45f58e96ddb70033a2fe409938c582cb3e1d61164c173f31571c2e2a9f3d299935d77c2c7979687bcddc0e748b5de2d21c180a643d947ccc975ed4a1 WHIRLPOOL 038ec6c5d8c524c62f09b5780c10ce3444ea3f8f66e9bfbb2a950782f65fe0a873f7ef001c86c2277592e11215324425335dad1ff5473b42b377f127a1330cf0 DIST openmw-0.21.0.zip 2542370 SHA256 f34ff40a7ced5e294c01597fbdaf8860a108a104d1627f79d14cfe2f70f6882f SHA512 3404b8924315f244410baf2ed7abe246ae76e4a71a60f143d9a33131ad8f66ec80f1e2ad5d7cb9fd8b22c13e855635effeaca69e9d9b2e186c977c9d4cc741ec WHIRLPOOL f4e24384c0961013f5df76ace5fddb203b75f156b24c8b44838cbd4630911a39e8366b80b64dc7aba6a10d5c14691950dd82f0e5fef15376c7d9120b20f9151e DIST openmw-0.23.0.tar.gz 2426880 SHA256 681de5de62e7deec5a72fa91d2f7ab2d7a01aad020641f9704e5b4fc1620efbd SHA512 17899bff01cae182c76acc1b4b61255af2ffdc997776716bec8e4a2c652451e35d4a366c3386fc153a3b85500c4969947c597c3d223c6f08127d3fecb2841508 WHIRLPOOL 5c5f89a87127f501e616daf536b57bc835bc20c67083d91281258c435b9804a833fa668e84580694be7214193bd29dbb235dffc92fa583296e51138920022f50 DIST openmw_0.20.0.orig.tar.bz2 1757358 SHA256 6fb88901920d6c28a974885065303639ee6227e9c21fd615334bcdc16d7909eb SHA512 e3180ed3efbc7fcb92339d88ea1dbc0987f81cc006f56926a7862ac1ee5ca4f2119cfa9baa286aa6c98f2d3a4ef0938ebdfecc842877f08e6a229ac66b913e2d WHIRLPOOL 2f5489f1108b8b3ce8aaa092f3c3effb382b859822e0ce2dd057e5552a2f5579ae304aa402a0dd798794a6ff7032b029bb993f37d76b5c32c30de2eb9eefc026 EBUILD openmw-0.20.0.ebuild 1625 SHA256 9d7f87bb4b0ca560c12f8675b809a491bcd882ae11c659651eb93a8584a088a8 SHA512 116ce2eb55705a7eb0b9f403b2548c30e1010dad5308d2d91e1bc9e3fcf0f89063161a2f095da570f7b3febdb0067eca17823265ed37e376c241f1303f31b0b5 WHIRLPOOL 4a620f47965ab00754b61ade748ea68818d3bd93512554344791d8481983cb2cfd59ce63abc82d175cb210365c132ee77b9bd50beee443d046f2b864b53c2345 EBUILD openmw-0.21.0.ebuild 1636 SHA256 cc6ce30804a55794041b0d0460fc1d0d60b1f43f0b21c2ebe3e23fa6e4d8d578 SHA512 a4594120ff820ae7b1e583caa9b5bdaaf6e71d5b15f9cb71c38a61337d67e03e823a5f70378c0f4bf2bfe4684d8fde92aa652f43c73978e30f5850c81d263018 WHIRLPOOL 99df5c25c4700d057d55d0004fa2c410cf0b7fb08575f12a46e2c7b61485868a176d202f56aa2e1523726803855d0b42b651d6de4d509bc2f94ff3ba922f5e5c EBUILD openmw-0.23.0.ebuild 1598 SHA256 85a0e719d3d6fd84c51b8849d3ea5dd4885119da66b4f6263d9f7f5e520422cd SHA512 f030f181567e8408524d88df1b371eda20877f308cbcbc220656a8e4cd3af8c0a4a040bd4b0903229ca2431647fab800c34cdc47d8a999d50155594e9685b314 WHIRLPOOL 674b5a96af4fcf0354458cdc92bd34559529f3e72cf848bd8c25c5845de1f8ab6d0bb00c4c60d7f580675439af27ac92173f0980738e368f8579776d11f518c9 -EBUILD openmw-9999.ebuild 1614 SHA256 564c7059fd0a4a800ee61b51e7b1eba04f348d8f658c1171b0d0547a44810034 SHA512 4e9ce02dc746f3e857e9cac57b6ffe745d35c1a2c6b77e034eae771a7b3bad1b328d4b611f41a90d849fe9c5416d0b9a7c4dbd699d32bc9ff59ffd4e49e416bc WHIRLPOOL bdf844b558897b2251b428f9df5b0abb84d10a2c37ea68d3bd6521297a25cb407bfba3db84d2a05494bff68ee7de9b4347bd65166ac17ffe1e74c47e40830483 +EBUILD openmw-0.24.0_pre9999.ebuild 1936 SHA256 55a2bceab8254e1f92c6d90241a61f0bfd55576a739a3b77012eeffc5d7f7884 SHA512 bbc499c93640b7cbc7b1e6bb6dded3b0886c5bbd975e2874517706f482b9aac6e7bafc9dc5b3461d27a2297e84dbdb38d1f1e2a5fdc664e9f42feba5573a04e0 WHIRLPOOL 740bf8bf4d5a3c0767cc543fe197b1a91c38e81561b7ed1f17d971ea89df2094c7e512c98041d2f90a286c6a64ead047583c0fb2677bfcfbda30c15f89997480 +EBUILD openmw-9999.ebuild 1776 SHA256 e6e1b40225e4c395eddbbbdc8cb03ab3b39954dd79a7782726cf344e5517f1a0 SHA512 c0e2efd4cf3eb1173f236ce50d63f75658b39eecc14e04106cdbb54581aed73aeaf01e6b44ca79871519cfeedb6f79e1cca33c16a8386bed20231783b9e2019d WHIRLPOOL 4d2ac05596c59ad62ad02d251f64e0a816ca3c4ad76357f8e518fa0f16d1e45839730ab6f0939bd051e3cf8d0f994ecb8dd0702ff06f8367ab0c9a38f6b3e05f MISC metadata.xml 378 SHA256 cf1d0adba9aded901ebdac00befbdaa6665e37c8a4f43bce402ddfbcfdb58ff1 SHA512 3a8bc1effedb29ee006beee99f63d0b3a8f70ec4f67a0524456c685f46cee0c8f60e29c6facc613a4484744a119a7529defa515856eb85e6df8023058e9ea3b6 WHIRLPOOL 73215f7b1130b50b3c4876c1e0a6c293f7c7ca215e71686c1dfb0895168051162c5d4e78b83a12dada163b4b6124efddbee4282aa4d7d8fe633ebdd709c5aa1d diff --git a/games-engines/openmw/files/openmw-0.24.0-0001-libc-fixes-avcodec-avformat-workaround.patch b/games-engines/openmw/files/openmw-0.24.0-0001-libc-fixes-avcodec-avformat-workaround.patch new file mode 100644 index 0000000..c0e0050 --- /dev/null +++ b/games-engines/openmw/files/openmw-0.24.0-0001-libc-fixes-avcodec-avformat-workaround.patch @@ -0,0 +1,39 @@ +From 2850032d9e442f77cec9e6ebac90ac09bd645db8 Mon Sep 17 00:00:00 2001 +From: eroen <eroen@occam.eroen.eu> +Date: Sun, 26 May 2013 10:36:17 +0200 +Subject: [PATCH 1/2] libc++ fixes: avcodec/avformat workaround + +With libc++, string includes stdint.h, which breaks the fragile avformat.h +workaround, which depends on __STDC_CONSTANT_MACROS being defined before +stdint.h is included. + +Moving the string inclusion after that eyesore shouldn't break anything. +--- + apps/openmw/mwsound/ffmpeg_decoder.hpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/apps/openmw/mwsound/ffmpeg_decoder.hpp b/apps/openmw/mwsound/ffmpeg_decoder.hpp +index 32b2797..a5e5b50 100644 +--- a/apps/openmw/mwsound/ffmpeg_decoder.hpp ++++ b/apps/openmw/mwsound/ffmpeg_decoder.hpp +@@ -1,8 +1,6 @@ + #ifndef GAME_SOUND_FFMPEG_DECODER_H + #define GAME_SOUND_FFMPEG_DECODER_H + +-#include <string> +- + // FIXME: This can't be right? The headers refuse to build without UINT64_C, + // which only gets defined in stdint.h in either C99 mode or with this macro + // defined... +@@ -14,6 +12,8 @@ extern "C" + #include <libavformat/avformat.h> + } + ++#include <string> ++ + #include "sound_decoder.hpp" + + +-- +1.8.2.1 + diff --git a/games-engines/openmw/files/openmw-0.24.0-0002-libc-fixes-don-t-rely-on-tr1.patch b/games-engines/openmw/files/openmw-0.24.0-0002-libc-fixes-don-t-rely-on-tr1.patch new file mode 100644 index 0000000..d5c81b1 --- /dev/null +++ b/games-engines/openmw/files/openmw-0.24.0-0002-libc-fixes-don-t-rely-on-tr1.patch @@ -0,0 +1,60 @@ +From 886bc7e2f6563aaa6bd01608991dfec54a95a488 Mon Sep 17 00:00:00 2001 +From: eroen <eroen@occam.eroen.eu> +Date: Sun, 26 May 2013 12:44:10 +0200 +Subject: [PATCH 2/2] libc++ fixes: don't rely on tr1 + +libc++ doesn't ship tr1, but ships unordered_map as it is part of c++11. + +Since this is the only tr1 header used in openmw, add a check for c++11 +unordered_map and fallback to tr1 unordered_map if it's not found. +--- + CMakeLists.txt | 6 ++++++ + components/files/configurationmanager.hpp | 8 +++++++- + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b989297..43415c9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -181,6 +181,12 @@ if (UNIX AND NOT APPLE) + find_package (Threads) + endif() + ++include (CheckIncludeFileCXX) ++check_include_file_cxx(unordered_map HAVE_UNORDERED_MAP) ++if (HAVE_UNORDERED_MAP) ++ add_definitions(-DHAVE_UNORDERED_MAP) ++endif () ++ + + set(BOOST_COMPONENTS system filesystem program_options thread date_time wave) + +diff --git a/components/files/configurationmanager.hpp b/components/files/configurationmanager.hpp +index 9056e79..765f1ce 100644 +--- a/components/files/configurationmanager.hpp ++++ b/components/files/configurationmanager.hpp +@@ -3,6 +3,8 @@ + + #ifdef _WIN32 + #include <boost/tr1/tr1/unordered_map> ++#elif defined HAVE_UNORDERED_MAP ++#include <unordered_map> + #else + #include <tr1/unordered_map> + #endif +@@ -48,7 +50,11 @@ struct ConfigurationManager + typedef Files::FixedPath<> FixedPathType; + + typedef const boost::filesystem::path& (FixedPathType::*path_type_f)() const; +- typedef std::tr1::unordered_map<std::string, path_type_f> TokensMappingContainer; ++ #if defined HAVE_UNORDERED_MAP ++ typedef std::unordered_map<std::string, path_type_f> TokensMappingContainer; ++ #else ++ typedef std::tr1::unordered_map<std::string, path_type_f> TokensMappingContainer; ++ #endif + + void loadConfig(const boost::filesystem::path& path, + boost::program_options::variables_map& variables, +-- +1.8.2.1 + diff --git a/games-engines/openmw/openmw-0.24.0_pre9999.ebuild b/games-engines/openmw/openmw-0.24.0_pre9999.ebuild new file mode 100644 index 0000000..7437a68 --- /dev/null +++ b/games-engines/openmw/openmw-0.24.0_pre9999.ebuild @@ -0,0 +1,68 @@ +# By Eroen, 2013 +# Distributed under the terms of the ISC license +# $Header: $ + +EAPI=5 + +inherit eutils versionator games cmake-utils +[[ $(get_version_component_range $(get_version_component_count)) == *999? ]] && inherit git-2 + +DESCRIPTION="Unofficial open source engine reimplementation of the game Morrowind" +HOMEPAGE="https://openmw.org/" +LICENSE="GPL-3 BitstreamVera DaedricFont OFL-1.1" +SLOT="0" +KEYWORDS="" +IUSE="test" + +if [[ $(get_version_component_range $(get_version_component_count)) == *999? ]]; then + S="${WORKDIR}"/${PN} + EGIT_REPO_URI="git://github.com/zinnschlag/openmw.git" + if [[ $(get_version_component_count) -ge 4 ]]; then + EGIT_BRANCH=openmw$(get_version_component_range 2) + fi +else + SRC_URI="https://openmw.googlecode.com/files/${P}.tar.gz" + S="${WORKDIR}"/${PN}-${P} +fi + +HDEPEND=">=dev-util/cmake-2.8" +LIBDEPEND="dev-games/ogre[boost,cg,freeimage,ois,opengl,threads,zip] + dev-games/mygui + dev-libs/boost[threads] + media-libs/openal + sci-physics/bullet + virtual/ffmpeg + dev-qt/qtcore + dev-qt/qtgui + dev-qt/qtxmlpatterns" +DEPEND="${LIBDEPEND} + test? ( dev-cpp/gmock + dev-cpp/gtest )" +[[ ${EAPI} == *-hdepend ]] || DEPEND+=" ${HDEPEND}" +RDEPEND="${LIBDEPEND}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.24.0-0001-libc-fixes-avcodec-avformat-workaround.patch + epatch "${FILESDIR}"/${PN}-0.24.0-0002-libc-fixes-don-t-rely-on-tr1.patch + epatch_user +} + +src_configure() { + mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${GAMES_PREFIX}" + -DDATAROOTDIR="${GAMES_DATADIR}" + -DDATADIR="${GAMES_DATADIR}/${PN}" + -DSYSCONFDIR="${GAMES_SYSCONFDIR}"/${PN} + $(cmake-utils_use_build test UNITTESTS) + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + sed -e "s:resources=resources:resources=${GAMES_DATADIR}/${PN}/resources:" \ + -i "${D}/${GAMES_SYSCONFDIR}"/${PN}/openmw.cfg || die + prepgamesdirs + mv -t "${D}"/etc "${D}/${GAMES_SYSCONFDIR}"/${PN} || die + rmdir "${D}/${GAMES_SYSCONFDIR}" || die +} diff --git a/games-engines/openmw/openmw-9999.ebuild b/games-engines/openmw/openmw-9999.ebuild index 5eee2a0..368bbf8 100644 --- a/games-engines/openmw/openmw-9999.ebuild +++ b/games-engines/openmw/openmw-9999.ebuild @@ -4,8 +4,8 @@ EAPI=5 -inherit eutils games cmake-utils -[ ${PV:0:3} == 999 ] && inherit git-2 +inherit eutils versionator games cmake-utils +[[ $(get_version_component_range $(get_version_component_count)) == *999? ]] && inherit git-2 DESCRIPTION="Unofficial open source engine reimplementation of the game Morrowind" HOMEPAGE="https://openmw.org/" @@ -14,9 +14,12 @@ SLOT="0" KEYWORDS="" IUSE="test" -if [ ${PV:0:3} == 999 ]; then +if [[ $(get_version_component_range $(get_version_component_count)) == *999? ]]; then S="${WORKDIR}"/${PN} EGIT_REPO_URI="git://github.com/zinnschlag/openmw.git" + if [[ $(get_version_component_count) -ge 4 ]]; then + EGIT_BRANCH=openmw$(get_version_component_range 2) + fi else SRC_URI="https://openmw.googlecode.com/files/${P}.tar.gz" S="${WORKDIR}"/${PN}-${P} @@ -56,8 +59,8 @@ src_configure() { src_install() { cmake-utils_src_install sed -e "s:resources=resources:resources=${GAMES_DATADIR}/${PN}/resources:" \ - -i "${D}/${GAMES_SYSCONFDIR}"/${PN}/openmw.cfg || die "sed failed" + -i "${D}/${GAMES_SYSCONFDIR}"/${PN}/openmw.cfg || die prepgamesdirs - mv -t "${D}"/etc "${D}/${GAMES_SYSCONFDIR}"/${PN} || die "mv conf from gamedir failed" - rmdir "${D}/${GAMES_SYSCONFDIR}" || die "rmdir games confdir failed" + mv -t "${D}"/etc "${D}/${GAMES_SYSCONFDIR}"/${PN} || die + rmdir "${D}/${GAMES_SYSCONFDIR}" || die } |