id: "net.rpcs3.RPCS3" runtime: "org.kde.Platform" runtime-version: "5.14" sdk: "org.kde.Sdk" command: "rpcs3" rename-desktop-file: "rpcs3.desktop" rename-appdata-file: "rpcs3.appdata.xml" rename-icon: "rpcs3" finish-args: - "--share=ipc" - "--socket=wayland" - "--socket=fallback-x11" - "--socket=pulseaudio" - "--share=network" - "--device=all" - "--filesystem=host:ro" - "--talk-name=org.a11y.Bus" modules: - "shared-modules/glu/glu-9.json" - "shared-modules/glew/glew.json" - name: "lynx" config-opts: - "--disable-addrlist-page" - "--disable-alt-bindings" - "--disable-bibp-urls" - "--disable-config-info" - "--disable-dired" - "--disable-file-upload" - "--disable-finger" - "--disable-forms-options" - "--disable-ftp" - "--disable-gopher" - "--disable-idna" - "--disable-locale-charset" - "--disable-long-list" - "--disable-menu-options" - "--disable-news" - "--disable-parent-dir-refs" - "--disable-partial" - "--disable-persistent-cookies" - "--disable-prettysrc" - "--disable-progressbar" - "--disable-read-eta" - "--disable-rpath-hack" - "--disable-scrollbar" - "--disable-session-cache" - "--disable-sessions" - "--disable-source-cache" - "--disable-trace" cleanup: - "*" sources: - type: "archive" url: "https://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.9rel.1.tar.bz2" sha256: "387f193d7792f9cfada14c60b0e5c0bff18f227d9257a39483e14fa1aaf79595" - name: "xmlto" cleanup: - "*" sources: - type: "archive" url: "https://releases.pagure.org/xmlto/xmlto-0.0.28.tar.bz2" sha256: "1130df3a7957eb9f6f0d29e4aa1c75732a7dfb6d639be013859b5c7ec5421276" - name: "xdg-utils" config-opts: - "--prefix=/app" cleanup: - "/bin/xdg-desktop-menu" - "/bin/xdg-desktop-icon" - "/bin/xdg-icon-resource" - "/bin/xdg-open" - "/bin/xdg-email" - "/bin/xdg-screensaver" - "/bin/xdg-settings" - "/share" sources: - type: "git" url: "https://gitlab.freedesktop.org/xdg/xdg-utils.git" tag: "v1.1.3" commit: "159fc37075db2decf446f453fe1a796da6921aad" - name: "libevdev" buildsystem: "meson" config-opts: - "-Dtests=disabled" - "-Ddocumentation=disabled" cleanup: - "/bin" - "/include" - "/lib/pkgconfig" - "/share" sources: - type: "git" url: "https://gitlab.freedesktop.org/libevdev/libevdev.git" tag: "libevdev-1.9.0" commit: "468760ba11438734912f793b1de00cb0f243497f" - name: "ffmpeg" config-opts: - "--disable-debug" - "--disable-doc" - "--disable-static" - "--enable-optimizations" - "--enable-shared" - "--disable-ffplay" - "--disable-ffprobe" - "--disable-everything" - "--enable-gnutls" - "--enable-libaom" - "--enable-libdav1d" - "--enable-libfdk-aac" - "--enable-libmp3lame" - "--enable-libfontconfig" - "--enable-libfreetype" - "--enable-libopus" - "--enable-libpulse" - "--enable-libspeex" - "--enable-libtheora" - "--enable-libvorbis" - "--enable-libvpx" - "--enable-libwebp" - "--enable-openal" - "--enable-opengl" - "--enable-sdl2" - "--enable-vulkan" # audio-encoders - "--enable-encoder= ac3,alac,flac,libfdk_aac,g723_1,mp2,libmp3lame,libopus,pcm_alaw,pcm_mulaw,\ pcm_f32le,pcm_s16be,pcm_s24be,pcm_s16le,pcm_s24le,pcm_s32le,\ pcm_u8,tta,libvorbis,wavpack,\ wmav1,wmav2" # audio-decoders - "--enable-decoder=\ ac3,alac,flac,g723_1,g729,libfdk_aac,libopus,mp2,mp3,m4a,pcm_alaw,pcm_mulaw,\ pcm_f32le,pcm_s16be,pcm_s24be,pcm_s16le,pcm_s24le,pcm_s32le,\ pcm_u8,tta,vorbis,wavpack,ape,dca,eac3,mlp,tak,truehd,wmav1,wmav2,wmapro" # video-encoders - "--enable-encoder=\ ass,ffv1,libaom_av1,libvpx_vp8,libvpx_vp9,rawvideo,theora,\ h263,h264,wmv1,wmv2" # video-decoders - "--enable-decoder=\ ass,ffv1,libaom_av1,libdav1d,libvpx_vp8,libvpx_vp9,rawvideo,theora,vp8,vp9,\ cinepak,flv,hevc,h263,h264,indeo2,indeo3,indeo4,indeo5,mpeg2video,mpeg4,msmpeg4,msmpeg4v1,msmpeg4v2,msmpeg4v3,vp6,vp6a,vp6f,wmv1,wmv2,wmv3,wmv3image" # image-formats - "--enable-encoder=gif,png,tiff,webp" - "--enable-decoder=gif,png,tiff,webp" # hwaccels - "--enable-hwaccel=h264_vaapi,h264_vdpau,hevc_vaapi,hevc_vdpau" # muxers - "--enable-muxer=ac3,ass,flac,gif,matroska,mp3,mpegvideo,ogg,opus,wav" # demuxers - "--enable-demuxer=\ aac,ac3,ass,flac,gif,matroska,mov,mp3,mpegvideo,ogg,wav,\ avi,h264,m4v,ape" # parsers - "--enable-parser=\ aac,ac3,flac,mpegaudio,mpeg4video,opus,vp3,vp8,vorbis,\ hevc,h264,dca" # filters - "--enable-filter=crop,scale" - "--enable-protocol=file" cleanup: - "/lib/*.so" - "/include" - "/lib/pkgconfig" - "/share/ffmpeg" sources: - type: "git" url: "https://git.ffmpeg.org/ffmpeg.git" tag: "n4.3.1" commit: "6b6b9e593dd4d3aaf75f48d40a13ef03bdef9fdb" - name: "rpcs3-llvm" buildsystem: "cmake-ninja" builddir: true build-options: cxxflags: "-msse -msse2" env: CC: "clang" CXX: "clang++" config-opts: - "-DCMAKE_BUILD_TYPE=Release" - "-DBUILD_SHARED_LIBS=OFF" - "-DLLVM_CCACHE_BUILD=ON" - "-DLLVM_TARGETS_TO_BUILD='X86'" - "-DLLVM_BUILD_RUNTIME=OFF" - "-DLLVM_BUILD_TOOLS=OFF" - "-DLLVM_INCLUDE_DOCS=OFF" - "-DLLVM_INCLUDE_EXAMPLES=OFF" - "-DLLVM_INCLUDE_TESTS=OFF" - "-DLLVM_INCLUDE_TOOLS=OFF" - "-DLLVM_INCLUDE_UTILS=OFF" - "-DLLVM_USE_INTEL_JITEVENTS=ON" - "-DLLVM_ENABLE_Z3_SOLVER=OFF" - "-DCMAKE_CXX_STANDARD=20" cleanup: - "/bin" - "/include" - "/lib/cmake" sources: - type: "git" url: "https://github.com/RPCS3/llvm-mirror.git" commit: "bb9faf3c8b4e0de05d07cbe623a1bf45874b5174" - name: "rpcs3" buildsystem: "cmake-ninja" build-options: cflags: "-fuse-linker-plugin -fuse-ld=gold" cxxflags: "-fuse-linker-plugin -fuse-ld=gold" config-opts: - "-DCMAKE_BUILD_TYPE=RelWithDebInfo" - "-DBUILD_LLVM_SUBMODULE=OFF" - "-DUSE_NATIVE_INSTRUCTIONS=OFF" - "-DUSE_PRECOMPILED_HEADERS=OFF" - "-DUSE_SYSTEM_FFMPEG=ON" - "-DUSE_SYSTEM_LIBPNG=ON" - "-DUSE_SYSTEM_ZLIB=ON" - "-DUSE_SYSTEM_CURL=ON" post-install: - | set -eux; sed -i 's|RPCS3|net.rpcs3.RPCS3|' ${FLATPAK_DEST}/share/metainfo/rpcs3.appdata.xml; COMM_TAG="$(grep 'version{.*}' rpcs3/rpcs3_version.cpp | awk -F[\{,] '{printf "%d.%d.%d", $2, $3, $4}')"; COMM_COUNT="$(git rev-list --count HEAD)"; COMM_HASH="$(git rev-parse --short=8 HEAD)"; sed -i 's|||' ${FLATPAK_DEST}/share/metainfo/rpcs3.appdata.xml; sources: - type: "git" url: "https://github.com/RPCS3/rpcs3.git" commit: "182b20c33dd5aae53bb946044a6b80f6bcd7e91e"