tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
cemu: 2.0-92 -> 2.2
William
1 year ago
bbc04afa
4dd746fc
+48
-22
3 changed files
expand all
collapse all
unified
split
pkgs
by-name
ce
cemu
0000-spirv-tools-opt-cmakelists.patch
0001-glslang-cmake-target.patch
package.nix
+2
-2
pkgs/by-name/ce/cemu/0000-spirv-tools-opt-cmakelists.patch
···
1
diff --git a/CMakeLists.txt b/CMakeLists.txt
2
-
index 4b2b789..48d9be0 100644
3
--- a/CMakeLists.txt
4
+++ b/CMakeLists.txt
5
-
@@ -92,6 +92,7 @@ find_package(pugixml REQUIRED)
6
find_package(RapidJSON REQUIRED)
7
find_package(Boost COMPONENTS program_options filesystem nowide REQUIRED)
8
find_package(libzip REQUIRED)
···
1
diff --git a/CMakeLists.txt b/CMakeLists.txt
2
+
index 54e2012..a9b6b0e 100644
3
--- a/CMakeLists.txt
4
+++ b/CMakeLists.txt
5
+
@@ -149,6 +149,7 @@ find_package(pugixml REQUIRED)
6
find_package(RapidJSON REQUIRED)
7
find_package(Boost COMPONENTS program_options filesystem nowide REQUIRED)
8
find_package(libzip REQUIRED)
+13
pkgs/by-name/ce/cemu/0001-glslang-cmake-target.patch
···
0
0
0
0
0
0
0
0
0
0
0
0
0
···
1
+
diff --git a/src/Cafe/CMakeLists.txt.orig b/src/Cafe/CMakeLists.txt
2
+
index 91d257b..cff779a 100644
3
+
--- a/src/Cafe/CMakeLists.txt
4
+
+++ b/src/Cafe/CMakeLists.txt
5
+
@@ -545,7 +545,7 @@ target_link_libraries(CemuCafe PRIVATE
6
+
Boost::nowide
7
+
CURL::libcurl
8
+
fmt::fmt
9
+
- glslang::SPIRV
10
+
+ glslang::glslang
11
+
ih264d
12
+
OpenSSL::Crypto
13
+
OpenSSL::SSL
+33
-20
pkgs/by-name/ce/cemu/package.nix
···
47
hash = "sha256-gf47uLeNiXQic43buB5ZnMqiotlUfIyAsP+3H7yJuFg=";
48
};
49
};
50
-
in stdenv.mkDerivation (finalAttrs: {
0
51
pname = "cemu";
52
-
version = "2.0-92";
53
54
src = fetchFromGitHub {
55
owner = "cemu-project";
56
repo = "Cemu";
57
rev = "v${finalAttrs.version}";
58
-
hash = "sha256-bjt+2RzmG8iKcdyka4HsHM5NEzCwGah4s9eiywSHXbw=";
59
};
60
61
patches = [
···
63
# > The following imported targets are referenced, but are missing:
64
# > SPIRV-Tools-opt
65
./0000-spirv-tools-opt-cmakelists.patch
0
66
];
67
68
nativeBuildInputs = [
···
113
114
strictDeps = true;
115
116
-
preConfigure = let
117
-
tag = lib.last (lib.splitString "-" finalAttrs.version);
118
-
in ''
119
-
rm -rf dependencies/imgui
120
-
# cemu expects imgui source code, not just header files
121
-
ln -s ${imgui'.src} dependencies/imgui
122
-
substituteInPlace src/Common/version.h --replace-fail " (experimental)" "-${tag} (experimental)"
123
-
substituteInPlace dependencies/gamemode/lib/gamemode_client.h --replace-fail "libgamemode.so.0" "${gamemode.lib}/lib/libgamemode.so.0"
124
-
'';
0
0
0
0
0
125
126
installPhase = ''
127
runHook preInstall
···
139
runHook postInstall
140
'';
141
142
-
preFixup = let
143
-
libs = [ vulkan-loader ] ++ cubeb.passthru.backendLibs;
144
-
in ''
145
-
gappsWrapperArgs+=(
146
-
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libs}"
147
-
)
148
-
'';
0
0
149
150
passthru = {
151
updateScript = nix-update-script { };
···
161
homepage = "https://cemu.info";
162
license = lib.licenses.mpl20;
163
mainProgram = "cemu";
164
-
maintainers = with lib.maintainers; [ zhaofengli baduhai AndersonTorres ];
0
0
0
0
165
platforms = [ "x86_64-linux" ];
166
};
167
})
···
47
hash = "sha256-gf47uLeNiXQic43buB5ZnMqiotlUfIyAsP+3H7yJuFg=";
48
};
49
};
50
+
in
51
+
stdenv.mkDerivation (finalAttrs: {
52
pname = "cemu";
53
+
version = "2.2";
54
55
src = fetchFromGitHub {
56
owner = "cemu-project";
57
repo = "Cemu";
58
rev = "v${finalAttrs.version}";
59
+
hash = "sha256-d4FMAj99SPj5S1p5nAUFNo386ZJvWxOKD9iGxHJYVBI=";
60
};
61
62
patches = [
···
64
# > The following imported targets are referenced, but are missing:
65
# > SPIRV-Tools-opt
66
./0000-spirv-tools-opt-cmakelists.patch
67
+
./0001-glslang-cmake-target.patch
68
];
69
70
nativeBuildInputs = [
···
115
116
strictDeps = true;
117
118
+
preConfigure =
119
+
let
120
+
tag = lib.splitString "." (lib.last (lib.splitString "-" finalAttrs.version));
121
+
majorv = builtins.elemAt tag 0;
122
+
minorv = builtins.elemAt tag 1;
123
+
in
124
+
''
125
+
rm -rf dependencies/imgui
126
+
# cemu expects imgui source code, not just header files
127
+
ln -s ${imgui'.src} dependencies/imgui
128
+
substituteInPlace CMakeLists.txt --replace-fail "EMULATOR_VERSION_MAJOR \"0\"" "EMULATOR_VERSION_MAJOR \"${majorv}\""
129
+
substituteInPlace CMakeLists.txt --replace-fail "EMULATOR_VERSION_MINOR \"0\"" "EMULATOR_VERSION_MINOR \"${minorv}\""
130
+
substituteInPlace dependencies/gamemode/lib/gamemode_client.h --replace-fail "libgamemode.so.0" "${gamemode.lib}/lib/libgamemode.so.0"
131
+
'';
132
133
installPhase = ''
134
runHook preInstall
···
146
runHook postInstall
147
'';
148
149
+
preFixup =
150
+
let
151
+
libs = [ vulkan-loader ] ++ cubeb.passthru.backendLibs;
152
+
in
153
+
''
154
+
gappsWrapperArgs+=(
155
+
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath libs}"
156
+
)
157
+
'';
158
159
passthru = {
160
updateScript = nix-update-script { };
···
170
homepage = "https://cemu.info";
171
license = lib.licenses.mpl20;
172
mainProgram = "cemu";
173
+
maintainers = with lib.maintainers; [
174
+
zhaofengli
175
+
baduhai
176
+
AndersonTorres
177
+
];
178
platforms = [ "x86_64-linux" ];
179
};
180
})