diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..dbf76fb --- /dev/null +++ b/debian/changelog @@ -0,0 +1,15 @@ +rpcs3 (0.0.38-1-1rakuos4) unstable; urgency=medium + + * First build for RakuOS + * compile to use /usr/games for bin path + + -- Tohur Mon, 10 Nov 2025 21:19:11 -0700 + +rpcs3 (0.0.38+git20251106.3df0c8c-1~3rdp4r7yr3p0~1) unstable; urgency=medium + + * OBS home:3rdp4r7yr3p0 Rebuild/Re-Packaging. + * GIT commit 3df0c8c (https://github.com/RPCS3/rpcs3.git) + (Thu Nov 6 20:28:23 2025 +0100) + + -- 3rdp4r7yr3p0 <3rdp4r7yr3p0@gmail.com> Fri, 07 Nov 2025 14:33:03 +0000 + diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..fb4fd2a --- /dev/null +++ b/debian/control @@ -0,0 +1,22 @@ +Source: rpcs3 +Section: games +Priority: optional +Maintainer: Joshua Webb +Build-Depends: + debhelper-compat (= 13), + build-essential, clang-19, cmake, dh-exec, dpkg-dev, libasound2-dev, libavcodec-dev, libavformat-dev, libavutil-dev, libcurl4-openssl-dev, libedit-dev, libevdev-dev, libglew-dev, libglu1-mesa-dev, libjack-jackd2-dev, libopenal-dev, libpng-dev, libpulse-dev, libsdl3-dev, libswscale-dev, libudev-dev, libusb-1.0-0-dev, libvulkan-dev (>= 1.3.268), libx11-dev, libyaml-cpp-dev, lld-19, llvm-19-dev, lsb-release, pkgconf, qt6-base-dev (>= 6.8~), qt6-base-private-dev (>= 6.8~), qt6-multimedia-dev (>= 6.8~), qt6-svg-dev (>= 6.8~), zlib1g-dev, +Standards-Version: 4.6.2 +Rules-Requires-Root: no +Homepage: https://rpcs3.net +Vcs-Git: https://github.com/RPCS3/rpcs3.git +Vcs-Browser: https://github.com/RPCS3/rpcs3 + +Package: rpcs3 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, +Description: RPCS3 is a multi-platform open-source Sony PlayStation 3 emulator. + RPCS3 is a multi-platform open-source Sony PlayStation 3 emulator and + debugger written in C++ for Windows, Linux, macOS and FreeBSD. The + purpose of the project is to completely and accurately emulate the Sony + PlayStation 3 Computer Entertainment System in its entirety with the power + of open-source community and reverse engineering. diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..f0f644e --- /dev/null +++ b/debian/docs @@ -0,0 +1,2 @@ +LICENSE +README.md diff --git a/debian/git-version.h b/debian/git-version.h new file mode 100644 index 0000000..b934b5b --- /dev/null +++ b/debian/git-version.h @@ -0,0 +1,10 @@ +// This is a generated file. + +#define RPCS3_GIT_VERSION "git~20251106" +#define RPCS3_GIT_BRANCH "master" +#define RPCS3_GIT_FULL_BRANCH "RPCS3/rpcs3/master" + +// If you don't want this file to update/recompile, change to 1. + +#define RPCS3_GIT_VERSION_NO_UPDATE 1 + diff --git a/debian/intel-ittapi.tar.xz b/debian/intel-ittapi.tar.xz new file mode 100644 index 0000000..2954c0e Binary files /dev/null and b/debian/intel-ittapi.tar.xz differ diff --git a/debian/patches/fix-build-glew-egl.patch b/debian/patches/fix-build-glew-egl.patch new file mode 100644 index 0000000..77b4df8 --- /dev/null +++ b/debian/patches/fix-build-glew-egl.patch @@ -0,0 +1,48 @@ +diff --git a/rpcs3/Emu/RSX/GL/OpenGL.cpp b/rpcs3/Emu/RSX/GL/OpenGL.cpp +index 78241f557..252729104 100644 +--- a/rpcs3/Emu/RSX/GL/OpenGL.cpp ++++ b/rpcs3/Emu/RSX/GL/OpenGL.cpp +@@ -1,7 +1,7 @@ + #include "stdafx.h" + #include "OpenGL.h" + +-#if defined(HAVE_WAYLAND) ++#if defined(HAVE_X11) || defined(HAVE_WAYLAND) + #include + #endif + +@@ -38,9 +38,6 @@ void gl::init() + #ifdef __unix__ + glewExperimental = true; + glewInit(); +-#ifdef HAVE_X11 +- glxewInit(); +-#endif + #endif + } + +@@ -48,23 +45,12 @@ void gl::set_swapinterval(int interval) + { + #ifdef _WIN32 + wglSwapIntervalEXT(interval); +-#elif defined(HAVE_X11) +- if (glXSwapIntervalEXT) +- { +- if (auto window = glXGetCurrentDrawable()) +- { +- glXSwapIntervalEXT(glXGetCurrentDisplay(), window, interval); +- return; +- } +- } +- +-#ifdef HAVE_WAYLAND ++#elif defined(HAVE_X11) || defined(HAVE_WAYLAND) + if (auto egl_display = eglGetCurrentDisplay(); egl_display != EGL_NO_DISPLAY) + { + eglSwapInterval(egl_display, interval); + return; + } +-#endif + + //No existing drawable or missing swap extension, EGL? + rsx_log.error("Failed to set swap interval"); diff --git a/debian/patches/fix-test-files.patch b/debian/patches/fix-test-files.patch new file mode 100644 index 0000000..557a451 --- /dev/null +++ b/debian/patches/fix-test-files.patch @@ -0,0 +1,12 @@ +diff --git a/rpcs3/CMakeLists.txt b/rpcs3/CMakeLists.txt +index 727bee8..adb7f5c 100644 +--- a/rpcs3/CMakeLists.txt ++++ b/rpcs3/CMakeLists.txt +@@ -181,8 +181,6 @@ if (NOT ANDROID) + DESTINATION ${CMAKE_INSTALL_DATADIR}/rpcs3) + install(DIRECTORY ../bin/GuiConfigs + DESTINATION ${CMAKE_INSTALL_DATADIR}/rpcs3) +- install(DIRECTORY ../bin/test +- DESTINATION ${CMAKE_INSTALL_DATADIR}/rpcs3) + endif() + endif() diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..62ff1f6 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +fix-build-glew-egl.patch +fix-test-files.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..c6c740d --- /dev/null +++ b/debian/rules @@ -0,0 +1,43 @@ +#!/usr/bin/make -f +export DH_VERBOSE=1 +export DEB_BUILD_OPTIONS += noautodbgsym + +include /usr/share/dpkg/architecture.mk + +export CC=clang-19 +export CXX=clang++-19 + +%: + dh $@ + +override_dh_auto_clean: + rm -Rf intel-ittapi + rm -f rpcs3/git-version.h + dh_auto_clean + +override_dh_auto_configure: + tar xfJ debian/intel-ittapi.tar.xz + mv intel-ittapi ittapi && mkdir intel-ittapi && mv ittapi intel-ittapi/ + cp -f debian/git-version.h rpcs3/ + dh_auto_configure -- \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_BINDIR=/usr/games \ + -DCMAKE_LINKER=lld-19 \ + -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld-19" \ + -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld-19" \ + -DITTAPI_SOURCE_DIR=$(CURDIR)/intel-ittapi \ + -DUSE_SYSTEM_CURL=ON \ + -DUSE_SYSTEM_FFMPEG=ON \ + -DUSE_SYSTEM_LIBPNG=ON \ + -DUSE_SYSTEM_LIBUSB=ON \ + -DUSE_SDL=ON -DUSE_SYSTEM_SDL=ON \ + -DUSE_SYSTEM_ZLIB=ON \ + -DDISABLE_LTO=TRUE \ + -DUSE_NATIVE_INSTRUCTIONS=OFF \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + +override_dh_dwz: + +override_dh_strip: + dh_strip -Xdebian/rpcs3/usr/share/rpcs3/test/ diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/include-binaries b/debian/source/include-binaries new file mode 100644 index 0000000..0394c8a --- /dev/null +++ b/debian/source/include-binaries @@ -0,0 +1 @@ +debian/intel-ittapi.tar.xz diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000..e91c3d5 --- /dev/null +++ b/debian/source/options @@ -0,0 +1,2 @@ +compression = "xz" +compression-level = 7