From f613dc6b22695ca831e833ba0e9e2bf9b96cc3a4 Mon Sep 17 00:00:00 2001 From: fooly Date: Wed, 15 Jul 2026 20:12:07 +0900 Subject: [PATCH] build: Add libcemuextend dependency --- .gitmodules | 3 +++ CMakeLists.txt | 2 ++ dependencies/libcemuextend | 1 + flake.lock | 18 ++++++++++++++++++ flake.nix | 14 +++++++++++++- 5 files changed, 37 insertions(+), 1 deletion(-) create mode 160000 dependencies/libcemuextend diff --git a/.gitmodules b/.gitmodules index 82e53209..645045dc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -25,3 +25,6 @@ [submodule "dependencies/xbyak_aarch64"] path = dependencies/xbyak_aarch64 url = https://github.com/fujitsu/xbyak_aarch64 +[submodule "dependencies/libcemuextend"] + path = dependencies/libcemuextend + url = ../libcemuextend.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 644032ce..ff9dc5da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -268,4 +268,6 @@ if (NOT ZArchive_FOUND) add_subdirectory("dependencies/ZArchive" EXCLUDE_FROM_ALL) endif() +add_subdirectory("dependencies/libcemuextend" EXCLUDE_FROM_ALL) + add_subdirectory(src) diff --git a/dependencies/libcemuextend b/dependencies/libcemuextend new file mode 160000 index 00000000..83729235 --- /dev/null +++ b/dependencies/libcemuextend @@ -0,0 +1 @@ +Subproject commit 83729235e892ae93d7780eff2d46cfd55114dbe2 diff --git a/flake.lock b/flake.lock index 07f6bef8..a478b85e 100644 --- a/flake.lock +++ b/flake.lock @@ -17,6 +17,23 @@ "type": "github" } }, + "libcemuextend-src": { + "flake": false, + "locked": { + "lastModified": 1784098240, + "narHash": "sha256-fvXW5/AQDctX/20x4xDfYzsW5wnzNPlqT8sheP0vORI=", + "ref": "refs/heads/main", + "rev": "83729235e892ae93d7780eff2d46cfd55114dbe2", + "revCount": 6, + "type": "git", + "url": "https://github.com/fooly9858/libcemuextend.git" + }, + "original": { + "rev": "83729235e892ae93d7780eff2d46cfd55114dbe2", + "type": "git", + "url": "https://github.com/fooly9858/libcemuextend.git" + } + }, "nixpkgs": { "locked": { "lastModified": 1783856661, @@ -36,6 +53,7 @@ "root": { "inputs": { "imgui-src": "imgui-src", + "libcemuextend-src": "libcemuextend-src", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index 8835ec9b..c7323b5b 100644 --- a/flake.nix +++ b/flake.nix @@ -11,6 +11,14 @@ url = "github:ocornut/imgui/v1.91.3"; flake = false; }; + + # Git flakes do not copy an initialized submodule worktree into the Nix + # source automatically. Fetch the public repository at the same immutable + # revision as the submodule so standalone/clean CemuExtend clones work. + libcemuextend-src = { + url = "git+https://github.com/fooly9858/libcemuextend.git?rev=83729235e892ae93d7780eff2d46cfd55114dbe2"; + flake = false; + }; }; outputs = @@ -18,6 +26,7 @@ self, nixpkgs, imgui-src, + libcemuextend-src, ... }: let @@ -38,6 +47,7 @@ ./dependencies/DirectX_2010 ./dependencies/gamemode ./dependencies/ih264d + (lib.fileset.maybeMissing ./dependencies/libcemuextend) ./dist ./src ]; @@ -126,9 +136,11 @@ ''; preConfigure = '' - rm -rf dependencies/imgui dependencies/Vulkan-Headers + rm -rf dependencies/imgui dependencies/Vulkan-Headers dependencies/libcemuextend ln -s ${imgui-src} dependencies/imgui ln -s ${pkgs.vulkan-headers} dependencies/Vulkan-Headers + cp -r ${libcemuextend-src} dependencies/libcemuextend + chmod -R u+w dependencies/libcemuextend substituteInPlace dependencies/gamemode/lib/gamemode_client.h \ --replace-fail "libgamemode.so.0" \