diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 22705705..dbac1e3a 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -2,8 +2,8 @@ app-id: net.retrodeck.retrodeck runtime: org.kde.Platform runtime-version: "6.7" sdk: org.kde.Sdk -sdk-extensions: - - org.freedesktop.Sdk.Extension.llvm18 # Needed for RPCS3 +# sdk-extensions: +# - org.freedesktop.Sdk.Extension.llvm18 # Needed for RPCS3 command: retrodeck.sh finish-args: @@ -110,56 +110,56 @@ modules: post-install: - ln -s "xml" "${FLATPAK_DEST}/bin/xmlstarlet" ||: - # mesa repo got a double certificate issue and gnutils cannot handle that so GLU download fails, - # this affects even the shared-modules's libglu so I have to replace it temporarly - # more info there: https://gitlab.com/gnutls/gnutls/-/issues/1335 - # dependency of: RETROARCH, CEMU, RPCS3, XEMU, PPSSPP - - name: libglu - buildsystem: meson - cleanup: - - /include - - /lib/debug - - /lib/pkgconfig - - /lib/*.a - sources: - - type: archive - url: https://ftp.osuosl.org/pub/blfs/conglomeration/glu/glu-9.0.3.tar.xz - sha256: bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f - # - type: archive - # url: https://mesa.freedesktop.org/archive/glu/glu-9.0.3.tar.xz - # sha256: bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f - # x-checker-data: - # type: anitya - # project-id: 13518 - # stable-only: true - # url-template: https://mesa.freedesktop.org/archive/glu/glu-$version.tar.xz + # # mesa repo got a double certificate issue and gnutils cannot handle that so GLU download fails, + # # this affects even the shared-modules's libglu so I have to replace it temporarly + # # more info there: https://gitlab.com/gnutls/gnutls/-/issues/1335 + # # dependency of: RETROARCH, CEMU, RPCS3, XEMU, PPSSPP + # - name: libglu + # buildsystem: meson + # cleanup: + # - /include + # - /lib/debug + # - /lib/pkgconfig + # - /lib/*.a + # sources: + # - type: archive + # url: https://ftp.osuosl.org/pub/blfs/conglomeration/glu/glu-9.0.3.tar.xz + # sha256: bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f + # # - type: archive + # # url: https://mesa.freedesktop.org/archive/glu/glu-9.0.3.tar.xz + # # sha256: bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f + # # x-checker-data: + # # type: anitya + # # project-id: 13518 + # # stable-only: true + # # url-template: https://mesa.freedesktop.org/archive/glu/glu-$version.tar.xz - - name: libgudev - buildsystem: meson - config-opts: - - -Dtests=disabled - - -Dvapi=disabled - - -Dintrospection=disabled - - -Dgtk_doc=false - cleanup: - - /include - - /etc - - /libexec - - /sbin - - /lib/pkgconfig - - /lib/systemd - - /man - - /share/aclocal - - /share/doc - - /share/gtk-doc - - /share/man - - /share/pkgconfig - - '*.la' - - '*.a' - sources: - - type: archive - url: https://ftp.osuosl.org/pub/blfs/conglomeration/libgudev/libgudev-237.tar.xz - sha256: 0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa + # - name: libgudev + # buildsystem: meson + # config-opts: + # - -Dtests=disabled + # - -Dvapi=disabled + # - -Dintrospection=disabled + # - -Dgtk_doc=false + # cleanup: + # - /include + # - /etc + # - /libexec + # - /sbin + # - /lib/pkgconfig + # - /lib/systemd + # - /man + # - /share/aclocal + # - /share/doc + # - /share/gtk-doc + # - /share/man + # - /share/pkgconfig + # - '*.la' + # - '*.a' + # sources: + # - type: archive + # url: https://ftp.osuosl.org/pub/blfs/conglomeration/libgudev/libgudev-237.tar.xz + # sha256: 0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa - name: rclone buildsystem: simple @@ -210,122 +210,122 @@ modules: sha256: 4ee662847c588c3ef2fec8bfb304e8739e3dbaba87ccb9a608d691c88f5b64dc # dependency of: CEMU - - name: glslang - buildsystem: cmake-ninja - config-opts: - - -DCMAKE_BUILD_TYPE=Release - - -DENABLE_CTEST=OFF - # TODO: Does Cemu benefit from SPIRV-Tools-opt - - -DENABLE_OPT=OFF - cleanup: - - /include - - /lib/cmake - sources: - - type: archive - url: https://github.com/KhronosGroup/glslang/archive/14.2.0.tar.gz - sha256: 14a2edbb509cb3e51a9a53e3f5e435dbf5971604b4b833e63e6076e8c0a997b5 - x-checker-data: - type: anitya - stable-only: true - project-id: 205796 - url-template: https://github.com/KhronosGroup/glslang/archive/$version.tar.gz + # - name: glslang + # buildsystem: cmake-ninja + # config-opts: + # - -DCMAKE_BUILD_TYPE=Release + # - -DENABLE_CTEST=OFF + # # TODO: Does Cemu benefit from SPIRV-Tools-opt + # - -DENABLE_OPT=OFF + # cleanup: + # - /include + # - /lib/cmake + # sources: + # - type: archive + # url: https://github.com/KhronosGroup/glslang/archive/14.2.0.tar.gz + # sha256: 14a2edbb509cb3e51a9a53e3f5e435dbf5971604b4b833e63e6076e8c0a997b5 + # x-checker-data: + # type: anitya + # stable-only: true + # project-id: 205796 + # url-template: https://github.com/KhronosGroup/glslang/archive/$version.tar.gz - # enables motion controls on non-wii controllers (switch, ps4, etc) - # dependency of: DOLPHIN, RPCS3 - # TODO: requires a udev rule enabling Motion Sensors access - - name: libevdev - buildsystem: meson - config-opts: - - -Dtests=disabled - - -Ddocumentation=disabled - cleanup: - - /bin - - /include - - /lib/pkgconfig - - /share - sources: - - type: archive - url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.2.tar.xz - sha256: 3eca86a6ce55b81d5bce910637fc451c8bbe373b1f9698f375c7f1ad0de3ac48 - x-checker-data: - type: anitya - project-id: 20540 - stable-only: true - url-template: https://www.freedesktop.org/software/libevdev/libevdev-$version.tar.xz - # dependency of: CEMU - - name: rapidjson - buildsystem: cmake-ninja - config-opts: - - -DRAPIDJSON_BUILD_DOC=OFF - - -DRAPIDJSON_BUILD_EXAMPLES=OFF - - -DRAPIDJSON_BUILD_TESTS=OFF - - -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF - cleanup: - - /include - - /lib/cmake - - /lib/pkgconfig - - /share/doc - sources: - - type: archive - url: https://github.com/Tencent/rapidjson/archive/refs/tags/v1.1.0.tar.gz - sha256: bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e - x-checker-data: - type: anitya - project-id: 7422 - stable-only: true - url-template: https://github.com/Tencent/rapidjson/archive/refs/tags/v$version.tar.gz + # # enables motion controls on non-wii controllers (switch, ps4, etc) + # # dependency of: DOLPHIN, RPCS3 + # # TODO: requires a udev rule enabling Motion Sensors access + # - name: libevdev + # buildsystem: meson + # config-opts: + # - -Dtests=disabled + # - -Ddocumentation=disabled + # cleanup: + # - /bin + # - /include + # - /lib/pkgconfig + # - /share + # sources: + # - type: archive + # url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.2.tar.xz + # sha256: 3eca86a6ce55b81d5bce910637fc451c8bbe373b1f9698f375c7f1ad0de3ac48 + # x-checker-data: + # type: anitya + # project-id: 20540 + # stable-only: true + # url-template: https://www.freedesktop.org/software/libevdev/libevdev-$version.tar.xz + # # dependency of: CEMU + # - name: rapidjson + # buildsystem: cmake-ninja + # config-opts: + # - -DRAPIDJSON_BUILD_DOC=OFF + # - -DRAPIDJSON_BUILD_EXAMPLES=OFF + # - -DRAPIDJSON_BUILD_TESTS=OFF + # - -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF + # cleanup: + # - /include + # - /lib/cmake + # - /lib/pkgconfig + # - /share/doc + # sources: + # - type: archive + # url: https://github.com/Tencent/rapidjson/archive/refs/tags/v1.1.0.tar.gz + # sha256: bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e + # x-checker-data: + # type: anitya + # project-id: 7422 + # stable-only: true + # url-template: https://github.com/Tencent/rapidjson/archive/refs/tags/v$version.tar.gz - # dependency of: CEMU, SOLARUS - - name: glm - buildsystem: cmake-ninja - cleanup: ['*'] - no-make-install: true - post-install: - - install -d ${FLATPAK_DEST}/include - - cp -R glm ${FLATPAK_DEST}/include - - cp -R cmake/glm ${FLATPAK_DEST}/lib/cmake - sources: - - type: archive - url: https://github.com/g-truc/glm/releases/download/0.9.9.8/glm-0.9.9.8.zip - sha256: 37e2a3d62ea3322e43593c34bae29f57e3e251ea89f4067506c94043769ade4c + # # dependency of: CEMU, SOLARUS + # - name: glm + # buildsystem: cmake-ninja + # cleanup: ['*'] + # no-make-install: true + # post-install: + # - install -d ${FLATPAK_DEST}/include + # - cp -R glm ${FLATPAK_DEST}/include + # - cp -R cmake/glm ${FLATPAK_DEST}/lib/cmake + # sources: + # - type: archive + # url: https://github.com/g-truc/glm/releases/download/0.9.9.8/glm-0.9.9.8.zip + # sha256: 37e2a3d62ea3322e43593c34bae29f57e3e251ea89f4067506c94043769ade4c - # dependency of: CEMU, ES-DE - - name: pugixml - buildsystem: cmake-ninja - config-opts: - - -DBUILD_SHARED_LIBS=ON - cleanup: - - /include - - /lib/cmake - - /lib/pkgconfig - sources: - - type: archive - url: https://github.com/zeux/pugixml/releases/download/v1.14/pugixml-1.14.tar.gz - sha256: 2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015 - x-checker-data: - type: anitya - project-id: 3728 - url-template: https://github.com/zeux/pugixml/releases/download/v$version/pugixml-$version.tar.gz + # # dependency of: CEMU, ES-DE + # - name: pugixml + # buildsystem: cmake-ninja + # config-opts: + # - -DBUILD_SHARED_LIBS=ON + # cleanup: + # - /include + # - /lib/cmake + # - /lib/pkgconfig + # sources: + # - type: archive + # url: https://github.com/zeux/pugixml/releases/download/v1.14/pugixml-1.14.tar.gz + # sha256: 2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015 + # x-checker-data: + # type: anitya + # project-id: 3728 + # url-template: https://github.com/zeux/pugixml/releases/download/v$version/pugixml-$version.tar.gz - # dependency of: CEMU, RPCS3, PPSSPP - - rd-submodules/shared-modules/glew/glew.json + # # dependency of: CEMU, RPCS3, PPSSPP + # - rd-submodules/shared-modules/glew/glew.json - # Dependency of: ES-DE, PPSSPP, RPCS3 - - name: ffmpeg - config-opts: - - --disable-static - - --disable-programs - - --disable-doc - - --enable-gpl - - --enable-shared - - --enable-libvorbis - - --enable-libopus - - --enable-libvpx - - --enable-postproc - sources: - - type: git - url: https://github.com/FFmpeg/FFmpeg.git - tag: n5.1.4 + # # Dependency of: ES-DE, PPSSPP, RPCS3 + # - name: ffmpeg + # config-opts: + # - --disable-static + # - --disable-programs + # - --disable-doc + # - --enable-gpl + # - --enable-shared + # - --enable-libvorbis + # - --enable-libopus + # - --enable-libvpx + # - --enable-postproc + # sources: + # - type: git + # url: https://github.com/FFmpeg/FFmpeg.git + # tag: n5.1.4 # ES-DE - Start @@ -353,7 +353,7 @@ modules: - cp -r ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/* "${FLATPAK_DEST}/share/libretro/" - chmod +x ./*.AppImage - ./*.AppImage --appimage-extract - - cp -r squashfs-root/usr/* "${FLATPAK_DEST}" + - cp -r squashfs-root/usr/** "${FLATPAK_DEST}" sources: - type: archive url: https://buildbot.libretro.com/nightly/linux/x86_64/RetroArch.7z @@ -451,7 +451,7 @@ modules: - chmod +x *.AppImage - ./*.AppImage --appimage-extract - rm -f /app/lib/libselinux.so.1 # TODO this rfile is breaking the build, we need it? Error: cp: /app/lib/libselinux.so.1: no version information available (required by cp) - - cp -r squashfs-root/usr/* "${FLATPAK_DEST}" + - cp -r squashfs-root/usr/** "${FLATPAK_DEST}" sources: - type: file url: https://github.com/PCSX2/pcsx2/releases/download/v2.0.3/pcsx2-v2.0.3-linux-appimage-x64-Qt.AppImage @@ -472,6 +472,7 @@ modules: - type: archive url: RETRODECKDOLPHINURLPLACEHOLDER sha256: RETRODECKDOLPHINPLACEHOLDER + # Dolphin - END # XEMU - START @@ -482,7 +483,7 @@ modules: build-commands: - chmod +x *.AppImage - ./*.AppImage --appimage-extract - - cp -r squashfs-root/usr/* "${FLATPAK_DEST}" + - cp -r squashfs-root/usr/** "${FLATPAK_DEST}" sources: - type: file url: https://github.com/xemu-project/xemu/releases/download/v0.7.129/xemu-v0.7.129-x86_64.AppImage @@ -507,7 +508,7 @@ modules: buildsystem: simple commands: - chmod +x melonDS - - cp -r melonDS "${FLATPAK_DEST}" + - cp -r melonDS "${FLATPAK_DEST}/bin" sources: - type: archive url: https://github.com/melonDS-emu/melonDS/releases/download/0.9.5/melonDS_0.9.5_linux_x64.zip @@ -526,8 +527,8 @@ modules: - cp -r squashfs-root/usr/bin* "${FLATPAK_DEST}/bin" - cp -r squashfs-root/usr/lib* "${FLATPAK_DEST}/lib" - cp -r squashfs-root/usr/share* "${FLATPAK_DEST}/share" - #TODO: - cp -r squashfs-root/usr/optional* # maybe aloready included in flatpak runtime - #TODO: - cp -r squashfs-root/usr/plugins* # maybe aloready included in qt + #TODO: - cp -r squashfs-root/usr/optional* # maybe already included in flatpak runtime + #TODO: - cp -r squashfs-root/usr/plugins* # maybe already included in qt #TODO: Do we need this wrapper? squashfs-root/apprun-hooks/linuxdeploy-plugin-qt-hook.sh sources: - type: file @@ -537,41 +538,17 @@ modules: # RPCS3 - END # PRIMEHACK - START - # https://github.com/flathub/io.github.shiiion.primehack + # https://github.com/RetroDECK/io.github.shiiion.primehack - - name: primehack - buildsystem: cmake-ninja - config-opts: - - -DCMAKE_BUILD_TYPE=Release - - -DENABLE_ALSA=OFF - - -DENABLE_SDL=ON - - -DENABLE_EVDEV=ON - - -DDISTRIBUTOR=Flathub - cleanup: - - /share/man - post-install: - - install -D primehack-wrapper /app/bin/primehack-wrapper + - name: retrodeck-primehack + buildsystem: simple + build-commands: + - cp -r files/** "${FLATPAK_DEST}" + - chmod +x "${FLATPAK_DEST}/bin/"* sources: - - type: git - url: https://github.com/shiiion/dolphin.git - commit: 81bfb9686afd2d190134b44dd72d3cee876fe2ab # This commit refers to the PR 166: https://github.com/shiiion/dolphin/pull/166, please change it when it's approved - # detects whether dolphin is running in a flatpak sandbox - # and makes it use xdg directories if it is. - # prevents dolphin from attempting to write conf files - # in non-writable paths, typically happens when a user - # has leftover files from a previous non-flatpak install - - type: patch - path: rd-submodules/primehack/detectflatpak.patch - # version strings must match exactly for online multiplayer - - type: patch - path: rd-submodules/primehack/nodirtyversion.patch - - type: script - commands: - - for i in {0..9}; do - - test -S $XDG_RUNTIME_DIR/discord-ipc-$i || ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i; - - done - - primehack "$@" - dest-filename: primehack-wrapper + - type: archive + url: RETRODECKPRIMEHACKURLPLACEHOLDER + sha256: RETRODECKPRIMEHACKPLACEHOLDER # PRIMEHACK - END @@ -583,7 +560,7 @@ modules: build-commands: - chmod +x *.AppImage - ./*.AppImage --appimage-extract - - cp -r squashfs-root/usr/* "${FLATPAK_DEST}/duckstation" + - cp -r squashfs-root/usr/** "${FLATPAK_DEST}/duckstation" sources: - type: file url: https://github.com/stenzek/duckstation/releases/download/v0.1-6937/DuckStation-x64.AppImage @@ -599,7 +576,7 @@ modules: build-commands: - chmod +x *.AppImage - ./*.AppImage --appimage-extract - - cp -r squashfs-root/usr/* "${FLATPAK_DEST}" + - cp -r squashfs-root/usr/** "${FLATPAK_DEST}" #TODO: do we need this wrapper? squashfs-root/apprun-hooks/linuxdeploy-plugin-gtk.sh sources: - type: file