diff --git a/_servicedata b/_servicedata
index 2ab7396..e6f906e 100644
--- a/_servicedata
+++ b/_servicedata
@@ -1,4 +1,4 @@
https://github.com/RPCS3/rpcs3.git
- c58738807e205fdbeb1a8b988f76d72f1da9e5eb
\ No newline at end of file
+ 0b3fbf1d4cc793d25819d642ac00084088fd0016
\ No newline at end of file
diff --git a/rpcs3-0.0.4~git20171118.tar.xz b/rpcs3-0.0.4~git20171118.tar.xz
deleted file mode 100644
index 9a0ba79..0000000
--- a/rpcs3-0.0.4~git20171118.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8ddac9b1e04482b015901d36c51fe8418c01e58cf96cc318cb3d34d2d71e5442
-size 150031960
diff --git a/rpcs3-0.0.4~git20171206.tar.xz b/rpcs3-0.0.4~git20171206.tar.xz
new file mode 100644
index 0000000..e0020fc
--- /dev/null
+++ b/rpcs3-0.0.4~git20171206.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6aa3663e93e1e1d4e44bb74f14162efb125b1411c7a30fb1dcefb9ec2fa020a3
+size 150406100
diff --git a/rpcs3-unbreak_build.patch b/rpcs3-unbreak_build.patch
deleted file mode 100644
index b95db14..0000000
--- a/rpcs3-unbreak_build.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 2a16b469dc1a5fea3cf2a0d52bcbaf7328d648d3 Mon Sep 17 00:00:00 2001
-From: v-fox
-Date: Tue, 24 Oct 2017 07:08:29 +0500
-Subject: [PATCH] unbreak build by removing dependency on non-existing static
- libraries and linking with shared ones, as everyone should
-
----
- CMakeLists.txt | 2 ++
- rpcs3/CMakeLists.txt | 12 +++++++++---
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 89bc070..273e85a 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.0.2)
-
- option(WITH_GDB "WITH_GDB" OFF)
- option(WITHOUT_LLVM "WITHOUT_LLVM" OFF)
-+option(USE_SHARED_LLVM_LIBS "Link against shared LLVM libs, instead of statically.
-+Only recommended on Gentoo. May interfere with mesa driver and make RPCS3 non-functional." OFF)
-
- if (WITH_GDB)
- add_definitions(-DWITH_GDB_DEBUGGER)
-diff --git a/rpcs3/CMakeLists.txt b/rpcs3/CMakeLists.txt
-index 641be7d..976c320 100644
---- a/rpcs3/CMakeLists.txt
-+++ b/rpcs3/CMakeLists.txt
-@@ -296,10 +296,16 @@ if(NOT LLVM_FOUND)
- else()
- add_definitions(${LLVM_DEFINITIONS})
- add_definitions(-DLLVM_AVAILABLE)
-- if (CMAKE_BUILD_TYPE STREQUAL "Release")
-- llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler)
-+
-+ if (USE_SHARED_LLVM_LIBS)
-+ Message("WARNING! Linking against shared LLVM libs may conflict with your system's mesa, rendering RPCS3 non-functional!")
-+ set(LLVM_LIBS LLVM)
- else()
-- llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler mcdisassembler)
-+ if (CMAKE_BUILD_TYPE STREQUAL "Release")
-+ llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler)
-+ else()
-+ llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler mcdisassembler)
-+ endif()
- endif()
-
- if (NOT MSVC)
---
-2.14.2
-
diff --git a/rpcs3.changes b/rpcs3.changes
index 8159c47..13e33aa 100644
--- a/rpcs3.changes
+++ b/rpcs3.changes
@@ -1,3 +1,164 @@
+-------------------------------------------------------------------
+Thu Dec 7 13:22:16 UTC 2017 - pousaduarte@gmail.com
+
+- Replace rpcs3-unbreak_build.patch with more flexible sed regex
+
+-------------------------------------------------------------------
+Wed Dec 06 13:44:18 UTC 2017 - opensuse-packaging@opensuse.org
+
+- Update to version 0.0.4~git20171206:
+ * rsx: Narrow the race condition window further - Needs aliased paging to be implemented to fix properly or a re-entrant global IO lock
+ * rsx: Framebuffer setup fix - Stencil flag is meaningless if surface does not support stencil
+ * rsx: Reimplement invalidate_range_base_impl - Avoid unprotecting memory until just before we have to write the data - Avoids race conditions where the caller thread takes too long to enter the second phase and another thread accesses the "bad" memory
+
+-------------------------------------------------------------------
+Tue Dec 05 18:23:44 UTC 2017 - pousaduarte@gmail.com
+
+- Update to version 0.0.4~git20171205:
+ * savedata: avoid passing vm memory to fs::file
+ * Qt: implement compatibility column
+
+-------------------------------------------------------------------
+Mon Dec 04 16:08:50 UTC 2017 - opensuse-packaging@opensuse.org
+
+- Update to version 0.0.4~git20171204:
+ * rsx: Properly fix DATA3F_M register alignment
+ * rsx/vp: Decide default return values in case of undefined attributes based on location ID - Different default values should be returned for different attributes
+ * rsx: Program cache fixes - Reorganize storage hash vs ucode hash - Scan for actual fragment program start in case leading NOPed code precedes the actual instructions -- e.g FEAR2 Demo has over 32k of padding before actual program code that messes up hashes
+ * d3d12: Fix fragment shader compile
+ * rsx:: fixes for framebuffer setup - provide a DSV if depth and/or stencil testing is enabled
+ * rsx/fp: Explicitly insert global functions. - Functions such as pack/unpack ops must exist before the shared gather functions are declared
+
+-------------------------------------------------------------------
+Mon Dec 04 12:19:18 UTC 2017 - opensuse-packaging@opensuse.org
+
+- Update to version 0.0.4~git20171202:
+ * sys_net: Force AF_INET
+ * Input: handle MMJOY reconnection (pad still needs to be online on start)
+ * Input: improve evdev and mmjoy stick input
+ * Qt: Fix SettingsDialog crash introduced by removal of groupboxes
+ * Input: Fix filter button for evdev and DS4
+ * Input/MMJOY: handle Axis and POV capabilities
+ * gl/vk: Better handling of inter-format data copies - RGBA8->RG16 does not require special instructions so the overlay pass is disabled for OGL
+ * rsx/fp: Properly implement PK/UP instructions based on NV_fragment_program documentation
+ * gl: Implement rgba8 -> fp16 casting pass -- Is this actually necessary? The two format are binary compatible
+ * rsx/fp: Implement register gather (only for UP(X) instructions) - Workaround for temp register aliasing between H and R variants - TODO: Implement temp regs as 128 bit-blocks with r/w as pack/unpack
+ * vulkan: Do not clear non-existent surfaces
+ * rsx/fp: Reimplement PK(X) and UP(X) opcodes. The read back values are obviously in normalized range - Confirmed with a GOW shader which writes result of UP8 to BGRA8 output
+ * rsx: wcb scaling fixes
+ * gl: Minor wcb tweaks
+ * rsx: Fix texture cache memory usage statistics
+ * rsx: method register fixes - Fix VERTEX_DATA_3F_M element alignment (its 16 bytes per attribute) - Fix DATA_2S_X interpretation type. Its signed 16-bit unnormalized (s32k) and not signed normalized (s1)
+ * rsx: Discard queue if RET is found without CALL
+ * rsx: Changes to surface pitch handling - Zeta pitch is ignored by real HW for some reason - Monitor ptch value changes as well since they may affect disabled surfaces - TODO: Verify if MRT pitch is really taken into consideration
+ * vk: Compliance fixes; vkCmd state affects currently bound descriptor set!
+ * rsx: Fixes for framebuffer setup code
+ * rsx: Fixes - Discard intentionally invalidated framebuffer resources. These are created after a flush has happened, forcing reupload since contents cannot be guaranteed (strict mode only) - Fix for blits using vulkan; dont use the copy method if formats do not match, use generic blit instead
+ * rsx: Texture cache hotfixes
+ * gl: Avoid null deref
+ * rsx/fp: Do not apply input mods to all types of inputs - Temp registers are confirmed to be affected - Const registers are confirmed to be unaffected - Varying inputs are not confirmed yet
+ * rsx: More tuning for depth/color buffer selection
+ * rsx: improve depth/color contested memory allocation heuristics - Needs more tests to prove correct behaviour
+ * gl: Fix face winding - Face winding is always calculated based off the top left corner
+ * rsx: Reimplement depth <-> RGBA reinterpretation code - Implements proper channel order for fp24-ARGB8 conversion - Takes swizzle remap into account when reconstructing source bytes
+ * fp32 precision on GPUs is embarassing - Division seems to suffer from drift easily on GPUs due to limited precision
+ * vulkan: Implement overlay shader passes - Implements vk::overlay_pass and vk::depth_convert_pass - Also added a sanity check in RSX core for depth replace shaders
+ * rsx: Zcull refactoring and vulkan implementation
+ * vk: Dont always assume framebuffers exist - TODO: Use temporary renderbuffers for these outputs
+ * rsx/gl: Use strict method of gathering the depth buffer bits - Performance difference on modern GPUs is negligible
+ * rsx: Try to take the context for the surface creation into account
+ * rsx: Improve framebuffer check heuristics for contested memory buffers
+ * rsx: Major fixes - Handle aliased depth + color target by disabling depth writes. This looks to be the correct way - Add support for generic passes that cannot be done using general imaging operations. Lays the framework for tons of features and effects - Implement RGBA->D24D8 casting. Sometimes games will split depth texture into RGBA8 then use the new RGBA8 as a depth texture directly -- This happens alot in ps3 games and I'm not sure why. Its likely the ps3 did not sample fp values with linear filtering so this is a workaround -- Only implemented for openGL at the moment -- Requires a workaround for an AMD driver bug
+ * rsx: Add more validation to framebuffer setups. Game devs sometimes do crazy things
+ * rsx: Minor improvements
+ * rsx: Invalidate both depth and color surfaces when binding a new surface
+ * spu: Fix interrupt jump check - also change interrupt variable to atomic bool for ease of setting/checking
+ * mfc: Fix support for list transfer stall bit with partial support for out of order execution - Also give Sync commands a size so they are properly detected by queue checks
+ * spu: Recompiler Interrupt optimizations - Pigeonhole optimize for branching pattern that is used to enable and disable interrupts used in code, this should lower amount of blocks that are compiled and avoid falling out of a block - Recompiled interupt check in some cases to stay in block instead of falling out to dispatcher
+ * spu: Implement DFCMGT for interpreter and recompiler
+ * sys_memory: Lower maximum size for memory block to fake OS size - Report available memory minus another fake block that can be used for the OS
+
+-------------------------------------------------------------------
+Fri Dec 01 09:48:19 UTC 2017 - pousaduarte@gmail.com
+
+- Update to version 0.0.4~git20171130:
+ * Silence warnings in misc files (gui, psp2, mfc, mouse)
+ * silence warnings in RSX stuff
+ * Silence warnings in lv2/Modules
+ * Silence some warnings in some files in Utilities
+ * Qt/Input: implement blacklist to Filter Noise in pad dialog
+ * Input/MMJOY: use provided min and max. Move info and caps to MMJOYDevice
+ * Qt/Input: Remove unsupported groupboxes from pad dialog and shorten text
+ * Qt/Input: disable config button when device combobox is empty
+
+-------------------------------------------------------------------
+Thu Nov 30 12:33:12 UTC 2017 - pousaduarte@gmail.com
+
+- Update to version 0.0.4~git20171130:
+ * Quick fix to prevent Qt download timeout (#3809)
+ * SPU MFC: Clamp tag and size (#3803)
+ * Qt/Input: Implement GetModifierCode to improve keyevents
+ * Qt/Input: disable TabFocus while mapping buttons in order to map Tab key
+ * Input: MMJOY prioritize button presses due to constant axis events
+ * Input: Fallback in FindKeyCode to prevent crashes on incompatible config
+ * Added installation for additional packages to game boot
+ * Update Qt to 5.9.3
+ * Input: fix MMJOY a bit
+ * Input: fix currentText of device combobox
+ * Input: Fix Default XInput LB
+ * [Qt/Input] Improve pad_settings_dialog a bit (#3611)
+ * Change sys_usbd_receive_event
+ * RSX: fix fix (406E semaphore release)
+ * Fix log limit
+ * Qt: implement progress_dialog
+ * Qt: remove some warnings
+ * Avoid recreating SwsContext every frame
+ * CMake minor improvements (#3783)
+ * Qt: change settingsdialog to horizontal layout
+
+-------------------------------------------------------------------
+Sun Nov 26 20:17:26 UTC 2017 - pousaduarte@gmail.com
+
+- Update to version 0.0.4~git20171126:
+ * RSX: improve nv406e::semaphore_release
+ * Fix exitspawn (autoexit option)
+ * Clamp utime range (Wnd)
+ * Update Fedora packages in the README file
+ * cmake: remove unused link to ffmpeg libswresample
+ * cmake: check if ffmpeg libswscale is present
+ * Use Qt for error reports
+ * Fix free space check (Wnd)
+ * PKG installer update for DLC
+ * Add libpulse-dev to README.md
+ * Log: minor improvements
+ * Log sys_fs_utime values
+ * Revert ERROR_INVALID_PARAMETERS
+ * Restore log compression
+ * New logging strategy
+ * Log: improve messages for multiple RPCS3 instances
+ * Implement fs::unshare (linux)
+ * Fix cellGameBootCheck for disc games (#3771)
+ * Check sys_spu_thread_group_create's nsize (#3742)
+ * Trophy: Save dialog state (#3729)
+ * Fix "Exit RPCS3 when process finishes" command line crash
+ * Fixes from FreeBSD package (#3765)
+ * Handle Win32 error 87 ERROR_INVALID_PARAMETER with fs::error::inval
+ * Fix regressions caused by network code. (#3702)
+ * vk: Reset renderer status whenever a window geometry event is processed
+ * rsx/fp: Give abs higher prio as it invalidates any precision checks
+ * rsx/fp: improve SRC modifier order - Neg modifier is applied after clamping. Abs has not been tested/proven so precision clamp goes first now, not last
+ * rsx/fp: RE work on precision modifier bits - Testing DS2 has revealed clamping bits in SRC1 that were not respected and left negative values reaching the framebuffer
+ * rsx: Abort all drawing commands if no swapchain exists - Should keep nvidia from consuming all device memory when minimized
+ * rsx: Enable hw blit engine for local->main memory blit operations as well
+ * rsx: research native texel byte order on cpu readback (WCB) [WIP]
+ * Qt: move "Disable Vertex Cache" option back to gpu tab
+ * Updates ReadMe for Windows (#3713)
+ * Qt: Use global Appicon instead of setting it in every Dialog
+ * Fix set thread affinity on OS X (#3757)
+ * Initial work on sys_usbd syscalls
+ * AppVeyor Qt fix
+ * Use zeux/pugixml instead of RPCS3/pugixml
+
-------------------------------------------------------------------
Sat Nov 18 21:45:03 UTC 2017 - pousaduarte@gmail.com
diff --git a/rpcs3.spec b/rpcs3.spec
index 8e7cc1a..b3836f1 100644
--- a/rpcs3.spec
+++ b/rpcs3.spec
@@ -17,13 +17,12 @@
Name: rpcs3
-Version: 0.0.4~git20171118
+Version: 0.0.4~git20171206
Release: 0
Summary: PS3 emulator/debugger
License: GPL-2.0
Url: https://rpcs3.net/
Source0: %{name}-%{version}.tar.xz
-Patch0: rpcs3-unbreak_build.patch
ExclusiveArch: x86_64
#BuildRequires: gcc-c++
@@ -51,6 +50,7 @@ BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5DBus)
+BuildRequires: pkgconfig(Qt5Network)
#LLVM deps
BuildRequires: llvm-devel
@@ -67,8 +67,10 @@ An open-source PlayStation 3 emulator/debugger written in C++.
%prep
%setup -q
-%patch0 -p1
+#Force Link with shared LLVM libs
+sed -i 's|llvm_map_components_to_libnames(LLVM_LIBS .*)|set(LLVM_LIBS LLVM)|g' rpcs3/CMakeLists.txt
+#Generate Version Strings
GIT_VERSION=$(echo %{version} | sed 's|.*git|git~|g')
echo "// This is a generated file.
@@ -94,7 +96,7 @@ cmake . \
-DCMAKE_BUILD_TYPE="RelWithDebInfo" \
-DCMAKE_SKIP_RPATH="YES" \
-DUSE_SHARED_LLVM_LIBS=ON \
- -DCMAKE_EXE_LINKER_FLAGS="$(llvm-config --libs mcjit vectorize ipo x86codegen x86disassembler)"
+ -DCMAKE_EXE_LINKER_FLAGS="$(llvm-config --libs llvm)"
%make_jobs