summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kescher2022-11-17 23:26:45 +0100
committerJeremy Kescher2022-11-17 23:27:47 +0100
commitdddfd525e62dd86c9384760336c50851dd89e0d1 (patch)
tree758aa3e0277390247b48452894d0e54aff57845d
parent0cc9c710ed9b8ca787f2e89e8dd60330ac0cf802 (diff)
downloadaur-dddfd525e62dd86c9384760336c50851dd89e0d1.tar.gz
Actually update to 2.0-16, add number range check patch
I'm now tracking the tag instead of the commit. Intended to only do that once 2.1 is out, but oh well
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD9
-rw-r--r--fix-range-check.diff22
3 files changed, 32 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0e4b786272db..9a9c3d8f0670 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = cemu
pkgdesc = Software to emulate Wii U games and applications on PC (with cutting edge Linux patches)
- pkgver = 2.0.234
+ pkgver = 2.0.236
pkgrel = 1
url = https://cemu.info
install = cemu.install
@@ -25,12 +25,13 @@ pkgbase = cemu
optdepends = alsa-lib: Audio output
optdepends = vulkan-driver: Vulkan graphics
options = !strip
- source = git+https://github.com/cemu-project/Cemu#commit=e9d10a95810d1c5f21f976000c93d37238d5b4da
+ source = git+https://github.com/cemu-project/Cemu#tag=v2.0-16
source = git+https://github.com/mozilla/cubeb#commit=dc511c6b3597b6384d28949285b9289e009830ea
source = git+https://github.com/ocornut/imgui#commit=8a44c31c95c8e0217f6e1fc814cbbbcca4981f14
source = git+https://github.com/Exzap/ZArchive#commit=d2c717730092c7bf8cbb033b12fd4001b7c4d932
source = git+https://github.com/arsenm/sanitizers-cmake#commit=aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a
source = git+https://github.com/google/googletest#commit=800f5422ac9d9e0ad59cd860a2ef3a679588acb4
+ source = fix-range-check.diff
source = overlay.diff
sha256sums = SKIP
sha256sums = SKIP
@@ -38,6 +39,7 @@ pkgbase = cemu
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
+ sha256sums = 0887677b0e06999e516e7e3dddb4a7cb4230d2beb2f884592558811bf2ff11a2
sha256sums = a4272ac6b31216e7226d25abeff8ee89a5551fddf791e2eb811ee2ff492fbfee
pkgname = cemu
diff --git a/PKGBUILD b/PKGBUILD
index e4b15014e23a..3c0c752765b5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Jeremy Kescher <jeremy@kescher.at>
pkgname=cemu
-pkgver=2.0.234
+pkgver=2.0.236
pkgrel=1
pkgdesc='Software to emulate Wii U games and applications on PC (with cutting edge Linux patches)'
arch=(x86_64)
@@ -31,7 +31,7 @@ optdepends=(
)
install=cemu.install
source=(
- git+https://github.com/cemu-project/Cemu#commit=e9d10a95810d1c5f21f976000c93d37238d5b4da # v2.0-15
+ git+https://github.com/cemu-project/Cemu#tag=v2.0-16
# submodules
git+https://github.com/mozilla/cubeb#commit=dc511c6b3597b6384d28949285b9289e009830ea
git+https://github.com/ocornut/imgui#commit=8a44c31c95c8e0217f6e1fc814cbbbcca4981f14
@@ -39,6 +39,8 @@ source=(
# cubeb submodules
git+https://github.com/arsenm/sanitizers-cmake#commit=aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a
git+https://github.com/google/googletest#commit=800f5422ac9d9e0ad59cd860a2ef3a679588acb4
+ # backported patches from main
+ fix-range-check.diff # https://github.com/cemu-project/Cemu/commit/57c8dec33589ff46b57041ea1c2cd9b4342e30eb
# upstream proposed patches
overlay.diff # 402b24ef19f401aef27c37ba580c4efe6e3d0bba (https://github.com/cemu-project/Cemu/pull/480)
)
@@ -48,6 +50,7 @@ sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
+ '0887677b0e06999e516e7e3dddb4a7cb4230d2beb2f884592558811bf2ff11a2'
'a4272ac6b31216e7226d25abeff8ee89a5551fddf791e2eb811ee2ff492fbfee')
pkgver() {
@@ -91,7 +94,7 @@ prepare() {
sed -i '/InsertColumn/s/kListIconWidth/&+8/;/SetColumnWidth/s/last_col_width/&-1/' src/gui/components/wxGameList.cpp
rm -rf src/util/SystemInfo
- git apply --whitespace=nowarn "$srcdir/overlay.diff"
+ git apply --whitespace=nowarn "$srcdir/fix-range-check.diff" "$srcdir/overlay.diff"
}
build() {
diff --git a/fix-range-check.diff b/fix-range-check.diff
new file mode 100644
index 000000000000..49d9e72341f8
--- /dev/null
+++ b/fix-range-check.diff
@@ -0,0 +1,22 @@
+--- a/src/Cafe/HW/Espresso/Interpreter/PPCInterpreterALU.hpp
++++ b/src/Cafe/HW/Espresso/Interpreter/PPCInterpreterALU.hpp
+@@ -421,7 +421,7 @@ static void PPCInterpreter_MULLWO(PPCInterpreter_t* hCPU, uint32 opcode)
+ PPC_OPC_TEMPL3_XO();
+ sint64 result = (sint64)hCPU->gpr[rA] * (sint64)hCPU->gpr[rB];
+ hCPU->gpr[rD] = (uint32)result;
+- if (result < -0x80000000ll && result > 0x7FFFFFFFLL)
++ if (result < -0x80000000ll || result > 0x7FFFFFFFLL)
+ {
+ hCPU->spr.XER |= XER_SO;
+ hCPU->spr.XER |= XER_OV;
+--- a/src/Cemu/PPCAssembler/ppcAssembler.cpp
++++ b/src/Cemu/PPCAssembler/ppcAssembler.cpp
+@@ -653,7 +653,7 @@ class EncodedOperand_MemLoc
+ {
+ immD = ep.Evaluate(svExpressionPart);
+ sint32 imm = (sint32)immD;
+- if (imm < -32768 && imm > 32767)
++ if (imm < -32768 || imm > 32767)
+ {
+ std::string msg = fmt::format("\"{}\" evaluates to offset out of range (Valid range is -32768 to 32767)", svExpressionPart);
+ ppcAssembler_setError(assemblerCtx->ctx, msg);