Add working manifest and patches

This commit is contained in:
pancakes 2025-07-29 21:16:55 +10:00
commit 2160d38a18
Signed by: pancakes
SSH key fingerprint: SHA256:yrp4c4hhaPoPG07fb4QyQIgAdlbUdsJvUAydJEWnfTw
7 changed files with 30472 additions and 0 deletions

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
/.flatpak-builder/
/builddir/
/repo/
/yarn.lock

View file

@ -0,0 +1,12 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=r2modman
Comment=A simple and easy to use mod manager for several games using Thunderstore.
Categories=Game;
Icon=com.r2modman.r2modmanPlus
Exec=run.sh %U
MimeType=x-scheme-handler/ror2mm;
Terminal=false

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>com.r2modman.r2modmanPlus</id>
<name>r2modman</name>
<summary>A simple and easy to use mod manager for several games using Thunderstore.</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<supports>
<control>pointing</control>
<control>keyboard</control>
</supports>
<description>
<p>
R2ModMan is a game-changer for gaming enthusiasts, offering an intuitive and powerful mod management solution for Unity-based games. Designed with both players and mod developers in mind, this tool is a must-have for games like “Risk of Rain 2” and “Valheim,” which dont have native mod support via larger platforms. With its user-friendly interface, R2ModMan makes it a breeze to install, manage, and switch between mods. Its standout feature, the ability to create and switch between mod profiles, is a boon for gamers who love to experiment with different playstyles or mod configurations. This means you can have multiple mod setups for different playthroughs, switching effortlessly without the hassle of manual reconfigurations.
</p>
<p>
Safety and compatibility are key aspects of R2ModMan. It ensures your gaming experience is smooth by checking mod compatibility and flagging any potential issues. This level of attention helps maintain game stability and ensures a seamless modding experience. Community-driven updates keep R2ModMan in sync with the latest gaming trends and user needs, making it a reliable tool in your gaming arsenal.
</p>
<p>
For mod developers, R2ModMan is more than just a mod manager. It offers valuable tools and integrations, aiding in mod development and debugging. This feature-rich, easy-to-use mod manager is revolutionizing the way gamers and developers interact with Unity-based games, making it a cornerstone in the modding community. Whether youre a seasoned gamer or new to the world of modding, R2ModMan is your go-to tool for an enhanced gaming experience.
</p>
</description>
<launchable type="desktop-id">com.r2modman.r2modmanPlus.desktop</launchable>
<screenshots>
<screenshot type="default">
<image>https://r2modman.com/wp-content/uploads/2023/11/mmzY9xQ.png</image>
</screenshot>
</screenshots>
</component>

View file

@ -0,0 +1,72 @@
app-id: com.r2modman.r2modmanPlus
runtime: org.freedesktop.Platform
runtime-version: &runtime-version "24.08"
sdk: org.freedesktop.Sdk
base: org.electronjs.Electron2.BaseApp
base-version: *runtime-version
sdk-extensions:
- org.freedesktop.Sdk.Extension.node20
command: run.sh
finish-args:
- --share=ipc
- --device=dri
- --socket=x11
- --socket=pulseaudio
- --socket=system-bus
- --share=network
- --talk-name=org.freedesktop.Flatpak
- --env=ELECTRON_TRASH=gio
- --env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons
- --filesystem=~/.local/share/Steam
- --filesystem=~/.var/app/com.valvesoftware.Steam/data/Steam
modules:
- name: r2modman
buildsystem: simple
build-options:
append-path: /usr/lib/sdk/node20/bin
cflags: -O2 -g
cxxflags: -O2 -g
env:
NPM_CONFIG_NODEDIR: /usr/lib/sdk/node20
XDG_CACHE_HOME: /run/build/r2modman/flatpak-node/cache
build-commands:
- HOME=$PWD yarn config --offline set yarn-offline-mirror $FLATPAK_BUILDER_BUILDDIR/flatpak-node/yarn-mirror
- yarn install --offline
- "echo '--install.offline true' > .yarnrc"
- . ../flatpak-node/electron-builder-arch-args.sh; yarn run --offline build-linux
- cp -a dist/electron/Packaged/linux-unpacked/ /app/main
- install -Dm644 src/assets/icon/16x16.png ${FLATPAK_DEST}/share/icons/hicolor/16x16/apps/${FLATPAK_ID}.png
- install -Dm644 src/assets/icon/24x24.png ${FLATPAK_DEST}/share/icons/hicolor/24x24/apps/${FLATPAK_ID}.png
- install -Dm644 src/assets/icon/32x32.png ${FLATPAK_DEST}/share/icons/hicolor/32x32/apps/${FLATPAK_ID}.png
- install -Dm644 src/assets/icon/48x48.png ${FLATPAK_DEST}/share/icons/hicolor/48x48/apps/${FLATPAK_ID}.png
- install -Dm644 src/assets/icon/64x64.png ${FLATPAK_DEST}/share/icons/hicolor/64x64/apps/${FLATPAK_ID}.png
- install -Dm644 src/assets/icon/96x96.png ${FLATPAK_DEST}/share/icons/hicolor/96x96/apps/${FLATPAK_ID}.png
- install -Dm644 src/assets/icon/128x128.png ${FLATPAK_DEST}/share/icons/hicolor/128x128/apps/${FLATPAK_ID}.png
- install -Dm644 src/assets/icon/192x192.png ${FLATPAK_DEST}/share/icons/hicolor/192x192/apps/${FLATPAK_ID}.png
- install -Dm644 src/assets/icon/256x256.png ${FLATPAK_DEST}/share/icons/hicolor/256x256/apps/${FLATPAK_ID}.png
- install -Dm644 ../com.r2modman.r2modmanPlus.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
- install -Dm644 ../com.r2modman.r2modmanPlus.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
- install -Dm755 ../run.sh /app/bin/
subdir: main
sources:
- type: git
url: https://github.com/ebkr/r2modmanPlus.git
tag: release-3.2.2
commit: cb93751fae7fc321c0bfc518a40d9f897b7d301a
dest: main
- type: patch
paths:
- patches/build-linux.patch
- patches/SteamGameRunner_Linux.patch
options:
- -d
- main
- type: file
path: com.r2modman.r2modmanPlus.desktop
- type: file
path: com.r2modman.r2modmanPlus.metainfo.xml
- generated-sources.json
- type: script
dest-filename: run.sh
commands:
- zypak-wrapper /app/main/r2modman "$@"

30329
generated-sources.json Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,13 @@
diff --git a/src/r2mm/launching/runners/linux/SteamGameRunner_Linux.ts b/src/r2mm/launching/runners/linux/SteamGameRunner_Linux.ts
index e1a470b5..6affd2b1 100644
--- a/src/r2mm/launching/runners/linux/SteamGameRunner_Linux.ts
+++ b/src/r2mm/launching/runners/linux/SteamGameRunner_Linux.ts
@@ -73,7 +73,7 @@ export default class SteamGameRunner_Linux extends GameRunnerProvider {
LoggerProvider.instance.Log(LogSeverity.INFO, `Steam folder is: ${steamDir}`);
try {
- const cmd = `"${steamDir}/steam.sh" -applaunch ${game.activePlatform.storeIdentifier} ${args} ${settings.getContext().gameSpecific.launchParameters}`;
+ const cmd = `flatpak-spawn --host "${steamDir}/steam.sh" -applaunch ${game.activePlatform.storeIdentifier} ${args} ${settings.getContext().gameSpecific.launchParameters}`;
LoggerProvider.instance.Log(LogSeverity.INFO, `Running command: ${cmd}`);
await exec(cmd);
} catch(err) {

13
patches/build-linux.patch Normal file
View file

@ -0,0 +1,13 @@
diff --git a/quasar.conf.js b/quasar.conf.js
index fa547017..15276d65 100644
--- a/quasar.conf.js
+++ b/quasar.conf.js
@@ -208,7 +209,7 @@ module.exports = configure(function(/* ctx */) {
include: 'build/installer.nsh'
},
linux: {
- target: ['AppImage', 'tar.gz', 'deb', 'rpm', 'pacman'],
+ target: ['dir'],
icon: 'src/assets/icon',
maintainer: 'ebkr',
vendor: 'ebkr',