From e1068724d85148a8d3f7f6b8d989de61b4f31eff Mon Sep 17 00:00:00 2001 From: Samuli Suominen Date: Tue, 20 Apr 2010 16:57:13 +0000 Subject: Port upstream patch for x86_64 wrt #315921 by tman. (Portage version: 2.2_rc67/cvs/Linux x86_64) --- games-strategy/wormux/ChangeLog | 6 +- .../wormux/files/wormux-0.9.2-x86_64.patch | 442 +++++++++++++++++++++ games-strategy/wormux/wormux-0.9.2.ebuild | 5 +- 3 files changed, 450 insertions(+), 3 deletions(-) create mode 100644 games-strategy/wormux/files/wormux-0.9.2-x86_64.patch (limited to 'games-strategy') 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 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 + struct fixed_point { +@@ -57,9 +63,11 @@ + /*explicit*/ fixed_point(int64_t i) : intValue(i << p) {} + /*explicit*/ fixed_point(float f) : intValue(float2fix

(f)) {} + /*explicit*/ fixed_point(double f) : intValue(float2fix

((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

operator / (unsigned int a, fixed_point

b) + { fixed_point

r(a); r /= b; return r; } + +-#ifdef __APPLE__ ++#ifdef SIZE_T_FIXEDPOINT_METHODS + template + inline fixed_point

operator + (size_t a, fixed_point

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 + #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 ++ * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794) ++ * ++ * THIS SOFTWARE IS NOT COPYRIGHTED ++ * ++ * Contributor: Danny Smith ++ * ++ * 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 ++ ++/* 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 : ++ "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 +- * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794) +- * +- * THIS SOFTWARE IS NOT COPYRIGHTED +- * +- * Contributor: Danny Smith +- * +- * 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 +- +-/* 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 : +- "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 } -- cgit v1.2.3-65-gdbad