summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreroen <eroen@occam.eroen.eu>2013-05-27 16:33:22 +0200
committereroen <eroen@occam.eroen.eu>2013-05-27 16:33:22 +0200
commitbdadbc02b603ad2b91f71ccfad1046d43778f417 (patch)
tree1e22131d4f2c41f9a5dea26c44b0a75041615cd0 /games-engines
parentopenmw-9999: libc++ patches in upstream (diff)
downloaderoen-bdadbc02b603ad2b91f71ccfad1046d43778f417.tar.gz
eroen-bdadbc02b603ad2b91f71ccfad1046d43778f417.tar.bz2
eroen-bdadbc02b603ad2b91f71ccfad1046d43778f417.zip
openmw-0.24.0_pre9999
Diffstat (limited to 'games-engines')
-rw-r--r--games-engines/openmw/Manifest5
-rw-r--r--games-engines/openmw/files/openmw-0.24.0-0001-libc-fixes-avcodec-avformat-workaround.patch39
-rw-r--r--games-engines/openmw/files/openmw-0.24.0-0002-libc-fixes-don-t-rely-on-tr1.patch60
-rw-r--r--games-engines/openmw/openmw-0.24.0_pre9999.ebuild68
-rw-r--r--games-engines/openmw/openmw-9999.ebuild15
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
}