aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Sullivan <mksully22@gmail.com>2019-01-21 16:56:34 +0000
committerAndy Postnikov <apostnikov@gmail.com>2019-01-22 19:18:08 +0200
commit1592ab8fb49188b222ad50159efc6a3399aeb8a3 (patch)
treea764f7d534db76ac15d644df0faf0d7979af631b
parent70a222f1c53e8ad7e18a3174011f573636102cfb (diff)
downloadalpine_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/APKBUILD6
-rw-r--r--testing/mame/fix-ppc64le-float.patch115
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 @@
3pkgname=mame 3pkgname=mame
4pkgver=0.205 4pkgver=0.205
5_pkgver=${pkgver/.} 5_pkgver=${pkgver/.}
6pkgrel=0 6pkgrel=1
7pkgdesc="Multi Arcade Machine Emulator with GroovyMAME/Switchres/No-nag patchset." 7pkgdesc="Multi Arcade Machine Emulator with GroovyMAME/Switchres/No-nag patchset."
8url="https://mamedev.org" 8url="https://mamedev.org"
9arch="all !ppc64le" 9arch="all"
10license="GPL-2.0-or-later" 10license="GPL-2.0-or-later"
11depends="$pkgname-common" 11depends="$pkgname-common"
12makedepends=" 12makedepends="
@@ -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 "
59options="!check" # No test suite 60options="!check" # No test suite
@@ -222,4 +223,5 @@ dc008245cbea0b94f58d83e09bf5fd3fff04ac0e2f3a36b910a8b7633c5377419fc67a1fd366ef26
22275bba366aebb37de7758368fbf7418194a18d535e61c1768e6c2c5cf4b3b7a2f625ef687cb8278c03daa9e308951df4c0bdcc944dfcc4ce5305f5ac83e5e049b fix-musl.patch 22375bba366aebb37de7758368fbf7418194a18d535e61c1768e6c2c5cf4b3b7a2f625ef687cb8278c03daa9e308951df4c0bdcc944dfcc4ce5305f5ac83e5e049b fix-musl.patch
223a4d628d4648d28b9ae95f27ecba4a70b999ef11ffde31b31ca3ce2ed2fd4cfcab82ec78e2602309952518fac8c549d0b8b4294f6aa34c1acaa77f012ea13de9e m68000_archopts.patch 224a4d628d4648d28b9ae95f27ecba4a70b999ef11ffde31b31ca3ce2ed2fd4cfcab82ec78e2602309952518fac8c549d0b8b4294f6aa34c1acaa77f012ea13de9e m68000_archopts.patch
224864816a55f35f9d485ccd143a1e0acd76d47239a6d5344be2a76b50fd4efbdfb4f3e45318d7dfda67faa63c0a52022f2e8313f058965a1eba60e6ca4677a519b nonag.patch 225864816a55f35f9d485ccd143a1e0acd76d47239a6d5344be2a76b50fd4efbdfb4f3e45318d7dfda67faa63c0a52022f2e8313f058965a1eba60e6ca4677a519b nonag.patch
226daa915d08b61e3828b28144f1934fd1fa9fe04da00b3536f86b984035f1a1bc81da498e1bc8632bc5f9c8b86533b70814a91318627fcafc3f05ebda59e303cc4 fix-ppc64le-float.patch
2253796c725efb886f953c372b947a84dd6e09d59d0be9abc3c3c73625beeb7f3bdcc6e8c8057c3f59e297ed92fd5077b52a69a2de6dacb005b21cf552e4e641a4a SubtargetArcade_0200u0.diff" 2273796c725efb886f953c372b947a84dd6e09d59d0be9abc3c3c73625beeb7f3bdcc6e8c8057c3f59e297ed92fd5077b52a69a2de6dacb005b21cf552e4e641a4a 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