summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2010-04-20 16:57:13 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2010-04-20 16:57:13 +0000
commite1068724d85148a8d3f7f6b8d989de61b4f31eff (patch)
tree682fea6462cfe55066a85a5f8185572633a83674 /games-strategy
parentCompatibility fix for mode line format of Emacs 23, bug 311259. (diff)
downloadgentoo-2-e1068724d85148a8d3f7f6b8d989de61b4f31eff.tar.gz
gentoo-2-e1068724d85148a8d3f7f6b8d989de61b4f31eff.tar.bz2
gentoo-2-e1068724d85148a8d3f7f6b8d989de61b4f31eff.zip
Port upstream patch for x86_64 wrt #315921 by tman.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'games-strategy')
-rw-r--r--games-strategy/wormux/ChangeLog6
-rw-r--r--games-strategy/wormux/files/wormux-0.9.2-x86_64.patch442
-rw-r--r--games-strategy/wormux/wormux-0.9.2.ebuild5
3 files changed, 450 insertions, 3 deletions
diff --git a/games-strategy/wormux/ChangeLog b/games-strategy/wormux/ChangeLog
index 91cf496396d5..eec5f2ffce60 100644
--- a/games-strategy/wormux/ChangeLog
+++ b/games-strategy/wormux/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for games-strategy/wormux
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-strategy/wormux/ChangeLog,v 1.41 2010/04/18 05:19:27 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-strategy/wormux/ChangeLog,v 1.42 2010/04/20 16:57:13 ssuominen Exp $
+
+ 20 Apr 2010; Samuli Suominen <ssuominen@gentoo.org> wormux-0.9.2.ebuild,
+ +files/wormux-0.9.2-x86_64.patch:
+ Port upstream patch for x86_64 wrt #315921 by tman.
*wormux-0.9.2 (18 Apr 2010)
diff --git a/games-strategy/wormux/files/wormux-0.9.2-x86_64.patch b/games-strategy/wormux/files/wormux-0.9.2-x86_64.patch
new file mode 100644
index 000000000000..b3820797860e
--- /dev/null
+++ b/games-strategy/wormux/files/wormux-0.9.2-x86_64.patch
@@ -0,0 +1,442 @@
+http://bugs.gentoo.org/show_bug.cgi?id=315921
+
+diff -ruN lib/fixedpoint.orig/fixed_class.h lib/fixedpoint/fixed_class.h
+--- lib/fixedpoint.orig/fixed_class.h 2010-04-05 18:09:44.000000000 +0300
++++ lib/fixedpoint/fixed_class.h 2010-04-19 17:41:58.000000000 +0300
+@@ -47,6 +47,12 @@
+
+ // The template argument p in all of the following functions refers to the
+ // fixed point precision (e.g. p = 8 gives 24.8 fixed point functions).
++#ifdef __APPLE__
++ #define SIZE_T_FIXEDPOINT_METHODS
++#endif
++#if __WORDSIZE == 64
++ #define SIZE_T_FIXEDPOINT_METHODS
++#endif
+
+ template <int p>
+ struct fixed_point {
+@@ -57,9 +63,11 @@
+ /*explicit*/ fixed_point(int64_t i) : intValue(i << p) {}
+ /*explicit*/ fixed_point(float f) : intValue(float2fix<p>(f)) {}
+ /*explicit*/ fixed_point(double f) : intValue(float2fix<p>((float)f)) {}
++#if __WORDSIZE != 64
+ /*explicit*/ fixed_point(long int l) : intValue(((int64_t)l) << p) {}
++#endif
+ /*explicit*/ fixed_point(unsigned int l) : intValue(((int64_t)l) << p) {}
+-#ifdef __APPLE__
++#ifdef SIZE_T_FIXEDPOINT_METHODS
+ /*explicit*/ fixed_point(size_t i) : intValue(((int64_t)i) << p) {}
+ #endif
+
+@@ -141,7 +149,7 @@
+ inline fixed_point<p> operator / (unsigned int a, fixed_point<p> b)
+ { fixed_point<p> r(a); r /= b; return r; }
+
+-#ifdef __APPLE__
++#ifdef SIZE_T_FIXEDPOINT_METHODS
+ template <int p>
+ inline fixed_point<p> operator + (size_t a, fixed_point<p> b)
+ { return b + a; }
+diff -ruN lib/fixedpoint.orig/fixed_func.h lib/fixedpoint/fixed_func.h
+--- lib/fixedpoint.orig/fixed_func.h 2010-04-05 18:09:44.000000000 +0300
++++ lib/fixedpoint/fixed_func.h 2010-04-19 17:41:58.000000000 +0300
+@@ -46,7 +46,7 @@
+ #ifndef _MSC_VER
+ #include <stdint.h>
+ #else
+-#include "stdint.h"
++#include "stdint_fallback.h"
+ #endif
+
+ namespace fixedpoint {
+diff -ruN lib/fixedpoint.orig/Makefile.am lib/fixedpoint/Makefile.am
+--- lib/fixedpoint.orig/Makefile.am 2010-04-05 18:09:44.000000000 +0300
++++ lib/fixedpoint/Makefile.am 2010-04-19 17:41:58.000000000 +0300
+@@ -9,7 +9,7 @@
+ fixed_func.cpp \
+ fixed_func.h \
+ fixsintab.h \
+- stdint.h
++ stdint_fallback.h
+
+
+ AM_CXXFLAGS = -I$(top_srcdir)/lib/fixedpoint \
+diff -ruN lib/fixedpoint.orig/stdint_fallback.h lib/fixedpoint/stdint_fallback.h
+--- lib/fixedpoint.orig/stdint_fallback.h 1970-01-01 02:00:00.000000000 +0200
++++ lib/fixedpoint/stdint_fallback.h 2010-04-19 17:41:58.000000000 +0300
+@@ -0,0 +1,184 @@
++/* ISO C9x 7.18 Integer types <stdint.h>
++ * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
++ *
++ * THIS SOFTWARE IS NOT COPYRIGHTED
++ *
++ * Contributor: Danny Smith <danny_r_smith_2001@yahoo.co.nz>
++ *
++ * This source code is offered for use in the public domain. You may
++ * use, modify or distribute it freely.
++ *
++ * This code is distributed in the hope that it will be useful but
++ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
++ * DISCLAIMED. This includes but is not limited to warranties of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
++ *
++ * Date: 2000-12-02
++ */
++
++
++#ifndef _STDINT_H
++#define _STDINT_H
++#define __need_wint_t
++#define __need_wchar_t
++#include <stddef.h>
++
++/* 7.18.1.1 Exact-width integer types */
++typedef signed char int8_t;
++typedef unsigned char uint8_t;
++typedef short int16_t;
++typedef unsigned short uint16_t;
++typedef int int32_t;
++typedef unsigned uint32_t;
++typedef long long int64_t;
++typedef unsigned long long uint64_t;
++
++/* 7.18.1.2 Minimum-width integer types */
++typedef signed char int_least8_t;
++typedef unsigned char uint_least8_t;
++typedef short int_least16_t;
++typedef unsigned short uint_least16_t;
++typedef int int_least32_t;
++typedef unsigned uint_least32_t;
++typedef long long int_least64_t;
++typedef unsigned long long uint_least64_t;
++
++/* 7.18.1.3 Fastest minimum-width integer types
++ * Not actually guaranteed to be fastest for all purposes
++ * Here we use the exact-width types for 8 and 16-bit ints.
++ */
++typedef char int_fast8_t;
++typedef unsigned char uint_fast8_t;
++typedef short int_fast16_t;
++typedef unsigned short uint_fast16_t;
++typedef int int_fast32_t;
++typedef unsigned int uint_fast32_t;
++typedef long long int_fast64_t;
++typedef unsigned long long uint_fast64_t;
++
++/* 7.18.1.4 Integer types capable of holding object pointers */
++typedef int intptr_t;
++typedef unsigned uintptr_t;
++
++/* 7.18.1.5 Greatest-width integer types */
++typedef long long intmax_t;
++typedef unsigned long long uintmax_t;
++
++/* 7.18.2 Limits of specified-width integer types */
++#if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS)
++
++/* 7.18.2.1 Limits of exact-width integer types */
++#define INT8_MIN (-128)
++#define INT16_MIN (-32768)
++#define INT32_MIN (-2147483647 - 1)
++#define INT64_MIN (-9223372036854775807LL - 1)
++
++#define INT8_MAX 127
++#define INT16_MAX 32767
++#define INT32_MAX 2147483647
++#define INT64_MAX 9223372036854775807LL
++
++#define UINT8_MAX 0xff /* 255U */
++#define UINT16_MAX 0xffff /* 65535U */
++#define UINT32_MAX 0xffffffff /* 4294967295U */
++#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
++
++/* 7.18.2.2 Limits of minimum-width integer types */
++#define INT_LEAST8_MIN INT8_MIN
++#define INT_LEAST16_MIN INT16_MIN
++#define INT_LEAST32_MIN INT32_MIN
++#define INT_LEAST64_MIN INT64_MIN
++
++#define INT_LEAST8_MAX INT8_MAX
++#define INT_LEAST16_MAX INT16_MAX
++#define INT_LEAST32_MAX INT32_MAX
++#define INT_LEAST64_MAX INT64_MAX
++
++#define UINT_LEAST8_MAX UINT8_MAX
++#define UINT_LEAST16_MAX UINT16_MAX
++#define UINT_LEAST32_MAX UINT32_MAX
++#define UINT_LEAST64_MAX UINT64_MAX
++
++/* 7.18.2.3 Limits of fastest minimum-width integer types */
++#define INT_FAST8_MIN INT8_MIN
++#define INT_FAST16_MIN INT16_MIN
++#define INT_FAST32_MIN INT32_MIN
++#define INT_FAST64_MIN INT64_MIN
++
++#define INT_FAST8_MAX INT8_MAX
++#define INT_FAST16_MAX INT16_MAX
++#define INT_FAST32_MAX INT32_MAX
++#define INT_FAST64_MAX INT64_MAX
++
++#define UINT_FAST8_MAX UINT8_MAX
++#define UINT_FAST16_MAX UINT16_MAX
++#define UINT_FAST32_MAX UINT32_MAX
++#define UINT_FAST64_MAX UINT64_MAX
++
++/* 7.18.2.4 Limits of integer types capable of holding
++ object pointers */
++#define INTPTR_MIN INT32_MIN
++#define INTPTR_MAX INT32_MAX
++#define UINTPTR_MAX UINT32_MAX
++
++/* 7.18.2.5 Limits of greatest-width integer types */
++#define INTMAX_MIN INT64_MIN
++#define INTMAX_MAX INT64_MAX
++#define UINTMAX_MAX UINT64_MAX
++
++/* 7.18.3 Limits of other integer types */
++#define PTRDIFF_MIN INT32_MIN
++#define PTRDIFF_MAX INT32_MAX
++
++#define SIG_ATOMIC_MIN INT32_MIN
++#define SIG_ATOMIC_MAX INT32_MAX
++
++#define SIZE_MAX UINT32_MAX
++
++#ifndef WCHAR_MIN /* also in wchar.h */
++#define WCHAR_MIN 0
++#define WCHAR_MAX 0xffff /* UINT16_MAX */
++#endif
++
++/*
++ * wint_t is unsigned short for compatibility with MS runtime
++ */
++#define WINT_MIN 0
++#define WINT_MAX 0xffff /* UINT16_MAX */
++
++#endif /* !defined ( __cplusplus) || defined __STDC_LIMIT_MACROS */
++
++
++/* 7.18.4 Macros for integer constants */
++#if !defined ( __cplusplus) || defined (__STDC_CONSTANT_MACROS)
++
++/* 7.18.4.1 Macros for minimum-width integer constants
++
++ Accoding to Douglas Gwyn <gwyn@arl.mil>:
++ "This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC
++ 9899:1999 as initially published, the expansion was required
++ to be an integer constant of precisely matching type, which
++ is impossible to accomplish for the shorter types on most
++ platforms, because C99 provides no standard way to designate
++ an integer constant with width less than that of type int.
++ TC1 changed this to require just an integer constant
++ *expression* with *promoted* type."
++*/
++
++#define INT8_C(val) ((int8_t) + (val))
++#define UINT8_C(val) ((uint8_t) + (val##U))
++#define INT16_C(val) ((int16_t) + (val))
++#define UINT16_C(val) ((uint16_t) + (val##U))
++
++#define INT32_C(val) val##L
++#define UINT32_C(val) val##UL
++#define INT64_C(val) val##LL
++#define UINT64_C(val) val##ULL
++
++/* 7.18.4.2 Macros for greatest-width integer constants */
++#define INTMAX_C(val) INT64_C(val)
++#define UINTMAX_C(val) UINT64_C(val)
++
++#endif /* !defined ( __cplusplus) || defined __STDC_CONSTANT_MACROS */
++
++#endif
+diff -ruN lib/fixedpoint.orig/stdint.h lib/fixedpoint/stdint.h
+--- lib/fixedpoint.orig/stdint.h 2010-04-05 18:09:44.000000000 +0300
++++ lib/fixedpoint/stdint.h 1970-01-01 02:00:00.000000000 +0200
+@@ -1,186 +0,0 @@
+-/* ISO C9x 7.18 Integer types <stdint.h>
+- * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
+- *
+- * THIS SOFTWARE IS NOT COPYRIGHTED
+- *
+- * Contributor: Danny Smith <danny_r_smith_2001@yahoo.co.nz>
+- *
+- * This source code is offered for use in the public domain. You may
+- * use, modify or distribute it freely.
+- *
+- * This code is distributed in the hope that it will be useful but
+- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+- * DISCLAIMED. This includes but is not limited to warranties of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+- *
+- * Date: 2000-12-02
+- */
+-
+-
+-#ifndef _STDINT_H
+-#define _STDINT_H
+-#define __need_wint_t
+-#define __need_wchar_t
+-#include <stddef.h>
+-
+-/* 7.18.1.1 Exact-width integer types */
+-typedef signed char int8_t;
+-typedef unsigned char uint8_t;
+-typedef short int16_t;
+-typedef unsigned short uint16_t;
+-typedef int int32_t;
+-typedef unsigned uint32_t;
+-typedef long long int64_t;
+-typedef unsigned long long uint64_t;
+-
+-/* 7.18.1.2 Minimum-width integer types */
+-typedef signed char int_least8_t;
+-typedef unsigned char uint_least8_t;
+-typedef short int_least16_t;
+-typedef unsigned short uint_least16_t;
+-typedef int int_least32_t;
+-typedef unsigned uint_least32_t;
+-typedef long long int_least64_t;
+-typedef unsigned long long uint_least64_t;
+-
+-/* 7.18.1.3 Fastest minimum-width integer types
+- * Not actually guaranteed to be fastest for all purposes
+- * Here we use the exact-width types for 8 and 16-bit ints.
+- */
+-typedef char int_fast8_t;
+-typedef unsigned char uint_fast8_t;
+-typedef short int_fast16_t;
+-typedef unsigned short uint_fast16_t;
+-typedef int int_fast32_t;
+-typedef unsigned int uint_fast32_t;
+-typedef long long int_fast64_t;
+-typedef unsigned long long uint_fast64_t;
+-
+-#ifndef __APPLE__
+-/* 7.18.1.4 Integer types capable of holding object pointers */
+-typedef int intptr_t;
+-typedef unsigned uintptr_t;
+-#endif
+-
+-/* 7.18.1.5 Greatest-width integer types */
+-typedef long long intmax_t;
+-typedef unsigned long long uintmax_t;
+-
+-/* 7.18.2 Limits of specified-width integer types */
+-#if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS)
+-
+-/* 7.18.2.1 Limits of exact-width integer types */
+-#define INT8_MIN (-128)
+-#define INT16_MIN (-32768)
+-#define INT32_MIN (-2147483647 - 1)
+-#define INT64_MIN (-9223372036854775807LL - 1)
+-
+-#define INT8_MAX 127
+-#define INT16_MAX 32767
+-#define INT32_MAX 2147483647
+-#define INT64_MAX 9223372036854775807LL
+-
+-#define UINT8_MAX 0xff /* 255U */
+-#define UINT16_MAX 0xffff /* 65535U */
+-#define UINT32_MAX 0xffffffff /* 4294967295U */
+-#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
+-
+-/* 7.18.2.2 Limits of minimum-width integer types */
+-#define INT_LEAST8_MIN INT8_MIN
+-#define INT_LEAST16_MIN INT16_MIN
+-#define INT_LEAST32_MIN INT32_MIN
+-#define INT_LEAST64_MIN INT64_MIN
+-
+-#define INT_LEAST8_MAX INT8_MAX
+-#define INT_LEAST16_MAX INT16_MAX
+-#define INT_LEAST32_MAX INT32_MAX
+-#define INT_LEAST64_MAX INT64_MAX
+-
+-#define UINT_LEAST8_MAX UINT8_MAX
+-#define UINT_LEAST16_MAX UINT16_MAX
+-#define UINT_LEAST32_MAX UINT32_MAX
+-#define UINT_LEAST64_MAX UINT64_MAX
+-
+-/* 7.18.2.3 Limits of fastest minimum-width integer types */
+-#define INT_FAST8_MIN INT8_MIN
+-#define INT_FAST16_MIN INT16_MIN
+-#define INT_FAST32_MIN INT32_MIN
+-#define INT_FAST64_MIN INT64_MIN
+-
+-#define INT_FAST8_MAX INT8_MAX
+-#define INT_FAST16_MAX INT16_MAX
+-#define INT_FAST32_MAX INT32_MAX
+-#define INT_FAST64_MAX INT64_MAX
+-
+-#define UINT_FAST8_MAX UINT8_MAX
+-#define UINT_FAST16_MAX UINT16_MAX
+-#define UINT_FAST32_MAX UINT32_MAX
+-#define UINT_FAST64_MAX UINT64_MAX
+-
+-/* 7.18.2.4 Limits of integer types capable of holding
+- object pointers */
+-#define INTPTR_MIN INT32_MIN
+-#define INTPTR_MAX INT32_MAX
+-#define UINTPTR_MAX UINT32_MAX
+-
+-/* 7.18.2.5 Limits of greatest-width integer types */
+-#define INTMAX_MIN INT64_MIN
+-#define INTMAX_MAX INT64_MAX
+-#define UINTMAX_MAX UINT64_MAX
+-
+-/* 7.18.3 Limits of other integer types */
+-#define PTRDIFF_MIN INT32_MIN
+-#define PTRDIFF_MAX INT32_MAX
+-
+-#define SIG_ATOMIC_MIN INT32_MIN
+-#define SIG_ATOMIC_MAX INT32_MAX
+-
+-#define SIZE_MAX UINT32_MAX
+-
+-#ifndef WCHAR_MIN /* also in wchar.h */
+-#define WCHAR_MIN 0
+-#define WCHAR_MAX 0xffff /* UINT16_MAX */
+-#endif
+-
+-/*
+- * wint_t is unsigned short for compatibility with MS runtime
+- */
+-#define WINT_MIN 0
+-#define WINT_MAX 0xffff /* UINT16_MAX */
+-
+-#endif /* !defined ( __cplusplus) || defined __STDC_LIMIT_MACROS */
+-
+-
+-/* 7.18.4 Macros for integer constants */
+-#if !defined ( __cplusplus) || defined (__STDC_CONSTANT_MACROS)
+-
+-/* 7.18.4.1 Macros for minimum-width integer constants
+-
+- Accoding to Douglas Gwyn <gwyn@arl.mil>:
+- "This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC
+- 9899:1999 as initially published, the expansion was required
+- to be an integer constant of precisely matching type, which
+- is impossible to accomplish for the shorter types on most
+- platforms, because C99 provides no standard way to designate
+- an integer constant with width less than that of type int.
+- TC1 changed this to require just an integer constant
+- *expression* with *promoted* type."
+-*/
+-
+-#define INT8_C(val) ((int8_t) + (val))
+-#define UINT8_C(val) ((uint8_t) + (val##U))
+-#define INT16_C(val) ((int16_t) + (val))
+-#define UINT16_C(val) ((uint16_t) + (val##U))
+-
+-#define INT32_C(val) val##L
+-#define UINT32_C(val) val##UL
+-#define INT64_C(val) val##LL
+-#define UINT64_C(val) val##ULL
+-
+-/* 7.18.4.2 Macros for greatest-width integer constants */
+-#define INTMAX_C(val) INT64_C(val)
+-#define UINTMAX_C(val) UINT64_C(val)
+-
+-#endif /* !defined ( __cplusplus) || defined __STDC_CONSTANT_MACROS */
+-
+-#endif
diff --git a/games-strategy/wormux/wormux-0.9.2.ebuild b/games-strategy/wormux/wormux-0.9.2.ebuild
index 581d8069e840..080d8d51a821 100644
--- a/games-strategy/wormux/wormux-0.9.2.ebuild
+++ b/games-strategy/wormux/wormux-0.9.2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/games-strategy/wormux/wormux-0.9.2.ebuild,v 1.1 2010/04/18 05:19:27 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-strategy/wormux/wormux-0.9.2.ebuild,v 1.2 2010/04/20 16:57:13 ssuominen Exp $
EAPI=2
inherit autotools eutils games
@@ -31,7 +31,8 @@ DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )"
src_prepare() {
- epatch "${FILESDIR}"/${P}-gentoo.patch
+ epatch "${FILESDIR}"/${P}-gentoo.patch \
+ "${FILESDIR}"/${P}-x86_64.patch
eautoreconf
}