Initial Setup

This commit is contained in:
Sonic Dreamcaster
2025-10-22 21:04:47 -03:00
parent 7e0f928de0
commit b0e5376ba7
236 changed files with 46212 additions and 7 deletions
+4
View File
@@ -0,0 +1,4 @@
.flatpak-builder
builddir
repo
*.flatpak
+15
View File
@@ -0,0 +1,15 @@
Before building the Flatpak, you must build the patches on the root directory first. **The LLVM Extension for freedesktop does not include the MIPS compiler and will fail to build the patches inside the flatpak**.
```sh
make -C patches CC=clang LD=ld.lld
```
Build
```sh
flatpak-builder --force-clean --user --install-deps-from=flathub --repo=repo --install builddir io.github.mariokart64recomp.mariokart64recomp.json
```
Bundle
```sh
flatpak build-bundle repo io.github.mariokart64recomp.mariokart64recomp.flatpak io.github.mariokart64recomp.mariokart64recomp --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
```
@@ -0,0 +1,8 @@
[Desktop Entry]
Name=MarioKart 64: Recompiled
Exec=/app/bin/MarioKart64Recompiled
Type=Application
Icon=io.github.mariokart64recomp.mariokart64recomp
Categories=Game;
Comment=Static recompilation of Mario Kart 64 for PC.
MimeType=x-scheme-handler/mariokart64recomp
@@ -0,0 +1,62 @@
{
"id": "io.github.mariokart64recomp.mariokart64recomp",
"runtime": "org.freedesktop.Platform",
"runtime-version": "23.08",
"sdk": "org.freedesktop.Sdk",
"sdk-extensions" : [ "org.freedesktop.Sdk.Extension.llvm18" ],
"finish-args": [
"--share=network",
"--socket=wayland",
"--socket=fallback-x11",
"--socket=pulseaudio",
"--device=all",
"--filesystem=host",
"--filesystem=/media",
"--filesystem=/run/media",
"--filesystem=/mnt"
],
"modules": [
{
"name": "MarioKart64Recompiled",
"buildsystem": "simple",
"build-commands": [
"cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_MAKE_PROGRAM=ninja -G Ninja -S lib/N64Recomp -B lib/N64Recomp/cmake-build",
"cmake --build lib/N64Recomp/cmake-build --config Release --target N64Recomp --parallel",
"cmake --build lib/N64Recomp/cmake-build --config Release --target RSPRecomp --parallel",
"cp lib/N64Recomp/cmake-build/N64Recomp N64Recomp",
"cp lib/N64Recomp/cmake-build/RSPRecomp RSPRecomp",
"./N64Recomp us.toml",
"./RSPRecomp aspMain.us.toml",
"cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_MAKE_PROGRAM=ninja -DPATCHES_C_COMPILER=clang -DPATCHES_LD=ld.lld -DRECOMP_FLATPAK=ON -G Ninja -S . -B cmake-build",
"cmake --build cmake-build --config Release --target MarioKart64Recompiled --parallel",
"rm -rf assets/scss",
"mkdir -p /app/bin",
"cp cmake-build/MarioKart64Recompiled /app/bin/MarioKart64Recompiled",
"cp recompcontrollerdb.txt /app/bin/recompcontrollerdb.txt",
"cp -R assets /app/bin/assets",
"install -Dm644 icons/512.png /app/share/icons/hicolor/512x512/apps/${FLATPAK_ID}.png",
"install -Dm644 flatpak/io.github.mariokart64recomp.mariokart64recomp.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml",
"install -Dm644 flatpak/io.github.mariokart64recomp.mariokart64recomp.desktop /app/share/applications/${FLATPAK_ID}.desktop"
],
"sources": [
{
"type": "git",
"url": "https://github.com/N64Recomp/N64Recomp.git",
"commit": "989a86b36912403cd323de884bf834f2605ea770",
"dest": "lib/N64Recomp"
},
{
"type": "dir",
"path": "../"
}
],
"build-options": {
"append-path": "/usr/lib/sdk/llvm18/bin",
"prepend-ld-library-path": "/usr/lib/sdk/llvm18/lib",
"build-args": [
"--share=network"
]
}
}
]
}
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.github.mariokart64recomp.mariokart64recomp</id>
<name>MarioKart 64: Recompiled</name>
<summary>Static recompilation of MarioKart 64 for PC.</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0+</project_license>
<supports>
<control>pointing</control>
<control>keyboard</control>
<control>touch</control>
<control>gamepad</control>
</supports>
<description>
<p>
MarioKart 64: Recompiled is a project that uses N64: Recompiled to statically recompile MarioKart 64 into a native port with many new features and enhancements. This project uses RT64 as the rendering engine to provide some of these enhancements.
The original game is required to run this project.
https://github.com/sonicdcer/MarioKart64Recomp
</p>
</description>
<launchable type="desktop-id">io.github.mariokart64recomp.mariokart64recomp.desktop</launchable>
</component>