summaryrefslogtreecommitdiff
path: root/games/crimsonfields
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2012-11-07 15:24:39 +0000
committerjoerg <joerg@pkgsrc.org>2012-11-07 15:24:39 +0000
commita129108b5eb337bbadf592f783bdf99ce27f3ff8 (patch)
tree1e64ea187bcae663c3927bf99809da593cf18afb /games/crimsonfields
parentd0895794918064639e53adf5ef4fafec824ed322 (diff)
downloadpkgsrc-a129108b5eb337bbadf592f783bdf99ce27f3ff8.tar.gz
Fix ODR violation that results in clang not emitting the vtable for
Path, if the inline function isn't emitted separately due to optimisations.
Diffstat (limited to 'games/crimsonfields')
-rw-r--r--games/crimsonfields/distinfo3
-rw-r--r--games/crimsonfields/patches/patch-src_cf_path.cpp15
2 files changed, 17 insertions, 1 deletions
diff --git a/games/crimsonfields/distinfo b/games/crimsonfields/distinfo
index 258070d7723..26c26a0a513 100644
--- a/games/crimsonfields/distinfo
+++ b/games/crimsonfields/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.17 2008/04/24 21:26:49 wiz Exp $
+$NetBSD: distinfo,v 1.18 2012/11/07 15:24:39 joerg Exp $
SHA1 (crimson-0.5.2.tar.bz2) = c772f9c0bb34ac47251c7aaf8f4e55a49df463f0
RMD160 (crimson-0.5.2.tar.bz2) = a78df45718a76476b063a46e3d7a3d623d4cf07b
Size (crimson-0.5.2.tar.bz2) = 858371 bytes
+SHA1 (patch-src_cf_path.cpp) = c4f8efb3c7e6f70af94b5bfd468a070003914322
diff --git a/games/crimsonfields/patches/patch-src_cf_path.cpp b/games/crimsonfields/patches/patch-src_cf_path.cpp
new file mode 100644
index 00000000000..a4909735d59
--- /dev/null
+++ b/games/crimsonfields/patches/patch-src_cf_path.cpp
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_cf_path.cpp,v 1.1 2012/11/07 15:24:39 joerg Exp $
+
+The inline violates the ODR rule for Path.
+
+--- src/cf/path.cpp.orig 2012-11-05 17:03:05.000000000 +0000
++++ src/cf/path.cpp
+@@ -212,7 +212,7 @@ short Path::Find( const Unit *u, const P
+ // RETURNS : estimated cost to destination
+ ////////////////////////////////////////////////////////////////////////
+
+-inline unsigned short Path::ETA( const Point &p ) const {
++unsigned short Path::ETA( const Point &p ) const {
+ return Distance( p, end ) * quality;
+ }
+