diff options
author | Mike Sullivan <mksully22@gmail.com> | 2019-01-21 16:56:34 +0000 |
---|---|---|
committer | Andy Postnikov <apostnikov@gmail.com> | 2019-01-22 19:18:08 +0200 |
commit | 1592ab8fb49188b222ad50159efc6a3399aeb8a3 (patch) | |
tree | a764f7d534db76ac15d644df0faf0d7979af631b | |
parent | 70a222f1c53e8ad7e18a3174011f573636102cfb (diff) | |
download | alpine_aports-1592ab8fb49188b222ad50159efc6a3399aeb8a3.tar.bz2 alpine_aports-1592ab8fb49188b222ad50159efc6a3399aeb8a3.tar.xz alpine_aports-1592ab8fb49188b222ad50159efc6a3399aeb8a3.zip |
testing/mame: fix ppc64le build break for float handling
-rw-r--r-- | testing/mame/APKBUILD | 6 | ||||
-rw-r--r-- | testing/mame/fix-ppc64le-float.patch | 115 |
2 files changed, 119 insertions, 2 deletions
diff --git a/testing/mame/APKBUILD b/testing/mame/APKBUILD index 2ad477975a..6f35146991 100644 --- a/testing/mame/APKBUILD +++ b/testing/mame/APKBUILD | |||
@@ -3,10 +3,10 @@ | |||
3 | pkgname=mame | 3 | pkgname=mame |
4 | pkgver=0.205 | 4 | pkgver=0.205 |
5 | _pkgver=${pkgver/.} | 5 | _pkgver=${pkgver/.} |
6 | pkgrel=0 | 6 | pkgrel=1 |
7 | pkgdesc="Multi Arcade Machine Emulator with GroovyMAME/Switchres/No-nag patchset." | 7 | pkgdesc="Multi Arcade Machine Emulator with GroovyMAME/Switchres/No-nag patchset." |
8 | url="https://mamedev.org" | 8 | url="https://mamedev.org" |
9 | arch="all !ppc64le" | 9 | arch="all" |
10 | license="GPL-2.0-or-later" | 10 | license="GPL-2.0-or-later" |
11 | depends="$pkgname-common" | 11 | depends="$pkgname-common" |
12 | makedepends=" | 12 | makedepends=" |
@@ -54,6 +54,7 @@ source=" | |||
54 | fix-musl.patch | 54 | fix-musl.patch |
55 | m68000_archopts.patch | 55 | m68000_archopts.patch |
56 | nonag.patch | 56 | nonag.patch |
57 | fix-ppc64le-float.patch | ||
57 | SubtargetArcade_0200u0.diff | 58 | SubtargetArcade_0200u0.diff |
58 | " | 59 | " |
59 | options="!check" # No test suite | 60 | options="!check" # No test suite |
@@ -222,4 +223,5 @@ dc008245cbea0b94f58d83e09bf5fd3fff04ac0e2f3a36b910a8b7633c5377419fc67a1fd366ef26 | |||
222 | 75bba366aebb37de7758368fbf7418194a18d535e61c1768e6c2c5cf4b3b7a2f625ef687cb8278c03daa9e308951df4c0bdcc944dfcc4ce5305f5ac83e5e049b fix-musl.patch | 223 | 75bba366aebb37de7758368fbf7418194a18d535e61c1768e6c2c5cf4b3b7a2f625ef687cb8278c03daa9e308951df4c0bdcc944dfcc4ce5305f5ac83e5e049b fix-musl.patch |
223 | a4d628d4648d28b9ae95f27ecba4a70b999ef11ffde31b31ca3ce2ed2fd4cfcab82ec78e2602309952518fac8c549d0b8b4294f6aa34c1acaa77f012ea13de9e m68000_archopts.patch | 224 | a4d628d4648d28b9ae95f27ecba4a70b999ef11ffde31b31ca3ce2ed2fd4cfcab82ec78e2602309952518fac8c549d0b8b4294f6aa34c1acaa77f012ea13de9e m68000_archopts.patch |
224 | 864816a55f35f9d485ccd143a1e0acd76d47239a6d5344be2a76b50fd4efbdfb4f3e45318d7dfda67faa63c0a52022f2e8313f058965a1eba60e6ca4677a519b nonag.patch | 225 | 864816a55f35f9d485ccd143a1e0acd76d47239a6d5344be2a76b50fd4efbdfb4f3e45318d7dfda67faa63c0a52022f2e8313f058965a1eba60e6ca4677a519b nonag.patch |
226 | daa915d08b61e3828b28144f1934fd1fa9fe04da00b3536f86b984035f1a1bc81da498e1bc8632bc5f9c8b86533b70814a91318627fcafc3f05ebda59e303cc4 fix-ppc64le-float.patch | ||
225 | 3796c725efb886f953c372b947a84dd6e09d59d0be9abc3c3c73625beeb7f3bdcc6e8c8057c3f59e297ed92fd5077b52a69a2de6dacb005b21cf552e4e641a4a SubtargetArcade_0200u0.diff" | 227 | 3796c725efb886f953c372b947a84dd6e09d59d0be9abc3c3c73625beeb7f3bdcc6e8c8057c3f59e297ed92fd5077b52a69a2de6dacb005b21cf552e4e641a4a SubtargetArcade_0200u0.diff" |
diff --git a/testing/mame/fix-ppc64le-float.patch b/testing/mame/fix-ppc64le-float.patch new file mode 100644 index 0000000000..99a31eda2c --- /dev/null +++ b/testing/mame/fix-ppc64le-float.patch | |||
@@ -0,0 +1,115 @@ | |||
1 | --- a/3rdparty/bx/include/bx/inline/endian.inl | ||
2 | +++ b/3rdparty/bx/include/bx/inline/endian.inl | ||
3 | @@ -46,7 +46,7 @@ | ||
4 | } | ||
5 | |||
6 | template <typename Ty> | ||
7 | - inline Ty toLittleEndian(const Ty _in) | ||
8 | + inline Ty toLittleEndian(Ty _in) | ||
9 | { | ||
10 | #if BX_CPU_ENDIAN_BIG | ||
11 | return endianSwap(_in); | ||
12 | @@ -56,7 +56,7 @@ | ||
13 | } | ||
14 | |||
15 | template <typename Ty> | ||
16 | - inline Ty toBigEndian(const Ty _in) | ||
17 | + inline Ty toBigEndian(Ty _in) | ||
18 | { | ||
19 | #if BX_CPU_ENDIAN_LITTLE | ||
20 | return endianSwap(_in); | ||
21 | @@ -66,7 +66,7 @@ | ||
22 | } | ||
23 | |||
24 | template <typename Ty> | ||
25 | - inline Ty toHostEndian(const Ty _in, bool _fromLittleEndian) | ||
26 | + inline Ty toHostEndian(Ty _in, bool _fromLittleEndian) | ||
27 | { | ||
28 | #if BX_CPU_ENDIAN_LITTLE | ||
29 | return _fromLittleEndian ? _in : endianSwap(_in); | ||
30 | --- a/3rdparty/bx/include/bx/inline/readerwriter.inl | ||
31 | +++ b/3rdparty/bx/include/bx/inline/readerwriter.inl | ||
32 | @@ -273,7 +273,7 @@ | ||
33 | } | ||
34 | |||
35 | template<typename Ty> | ||
36 | - int32_t read(ReaderI* _reader, Ty& _value, Error* _err) | ||
37 | + inline int32_t read(ReaderI* _reader, Ty& _value, Error* _err) | ||
38 | { | ||
39 | BX_ERROR_SCOPE(_err); | ||
40 | BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() ); | ||
41 | @@ -281,7 +281,7 @@ | ||
42 | } | ||
43 | |||
44 | template<typename Ty> | ||
45 | - int32_t readHE(ReaderI* _reader, Ty& _value, bool _fromLittleEndian, Error* _err) | ||
46 | + inline int32_t readHE(ReaderI* _reader, Ty& _value, bool _fromLittleEndian, Error* _err) | ||
47 | { | ||
48 | BX_ERROR_SCOPE(_err); | ||
49 | BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() ); | ||
50 | @@ -329,7 +329,7 @@ | ||
51 | } | ||
52 | |||
53 | template<typename Ty> | ||
54 | - int32_t write(WriterI* _writer, const Ty& _value, Error* _err) | ||
55 | + inline int32_t write(WriterI* _writer, const Ty& _value, Error* _err) | ||
56 | { | ||
57 | BX_ERROR_SCOPE(_err); | ||
58 | BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() ); | ||
59 | @@ -337,7 +337,7 @@ | ||
60 | } | ||
61 | |||
62 | template<typename Ty> | ||
63 | - int32_t writeLE(WriterI* _writer, const Ty& _value, Error* _err) | ||
64 | + inline int32_t writeLE(WriterI* _writer, const Ty& _value, Error* _err) | ||
65 | { | ||
66 | BX_ERROR_SCOPE(_err); | ||
67 | BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() ); | ||
68 | @@ -346,8 +346,14 @@ | ||
69 | return result; | ||
70 | } | ||
71 | |||
72 | + template<> | ||
73 | + inline int32_t writeLE(WriterI* _writer, const float& _value, Error* _err) | ||
74 | + { | ||
75 | + return writeLE(_writer, floatToBits(_value), _err); | ||
76 | + } | ||
77 | + | ||
78 | template<typename Ty> | ||
79 | - int32_t writeBE(WriterI* _writer, const Ty& _value, Error* _err) | ||
80 | + inline int32_t writeBE(WriterI* _writer, const Ty& _value, Error* _err) | ||
81 | { | ||
82 | BX_ERROR_SCOPE(_err); | ||
83 | BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() ); | ||
84 | @@ -356,6 +362,12 @@ | ||
85 | return result; | ||
86 | } | ||
87 | |||
88 | + template<> | ||
89 | + inline int32_t writeBE(WriterI* _writer, const float& _value, Error* _err) | ||
90 | + { | ||
91 | + return writeBE(_writer, floatToBits(_value), _err); | ||
92 | + } | ||
93 | + | ||
94 | inline int64_t skip(SeekerI* _seeker, int64_t _offset) | ||
95 | { | ||
96 | return _seeker->seek(_offset, Whence::Current); | ||
97 | @@ -392,7 +404,7 @@ | ||
98 | } | ||
99 | |||
100 | template<typename Ty> | ||
101 | - int32_t peek(ReaderSeekerI* _reader, Ty& _value, Error* _err) | ||
102 | + inline int32_t peek(ReaderSeekerI* _reader, Ty& _value, Error* _err) | ||
103 | { | ||
104 | BX_ERROR_SCOPE(_err); | ||
105 | BX_STATIC_ASSERT(isTriviallyCopyable<Ty>() ); | ||
106 | --- a/3rdparty/bx/include/bx/readerwriter.h | ||
107 | +++ b/3rdparty/bx/include/bx/readerwriter.h | ||
108 | @@ -10,6 +10,7 @@ | ||
109 | #include "endian.h" | ||
110 | #include "error.h" | ||
111 | #include "filepath.h" | ||
112 | +#include "math.h" | ||
113 | #include "string.h" | ||
114 | #include "uint32_t.h" | ||
115 | |||