tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
heroic-unwrapped: Apply patch for upstream bugfix PR
Aidan Gauland
5 months ago
dae6e7c8
6bf60327
+73
2 changed files
expand all
collapse all
unified
split
pkgs
by-name
he
heroic-unwrapped
package.nix
pr-4885.patch
+2
pkgs/by-name/he/heroic-unwrapped/package.nix
···
50
50
patches = [
51
51
# Make Heroic create Steam shortcuts (to non-steam games) with the correct path to heroic.
52
52
./fix-non-steam-shortcuts.patch
53
53
+
# Fixes incorrect path to GalaxyCommunication.exe
54
54
+
./pr-4885.patch
53
55
];
54
56
55
57
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
+71
pkgs/by-name/he/heroic-unwrapped/pr-4885.patch
···
1
1
+
From a98cc23b288e13665c8698eec56e0653613946d7 Mon Sep 17 00:00:00 2001
2
2
+
From: Aidan Gauland <aidalgol@fastmail.net>
3
3
+
Date: Tue, 19 Aug 2025 09:45:55 +1200
4
4
+
Subject: [PATCH] [Fix] Run GalaxyComm executable path through fixAsarPath
5
5
+
6
6
+
---
7
7
+
src/backend/constants/paths.ts | 4 ++++
8
8
+
src/backend/launcher.ts | 15 +++++----------
9
9
+
2 files changed, 9 insertions(+), 10 deletions(-)
10
10
+
11
11
+
diff --git a/src/backend/constants/paths.ts b/src/backend/constants/paths.ts
12
12
+
index 1d05ce5b58..2e9cff1197 100644
13
13
+
--- a/src/backend/constants/paths.ts
14
14
+
+++ b/src/backend/constants/paths.ts
15
15
+
@@ -44,6 +44,10 @@ export const fakeEpicExePath = fixAsarPath(
16
16
+
join(publicDir, 'bin', 'x64', 'win32', 'EpicGamesLauncher.exe')
17
17
+
)
18
18
+
19
19
+
+export const galaxyCommunicationExePath = fixAsarPath(
20
20
+
+ join(publicDir, 'bin', 'x64', 'win32', 'GalaxyCommunication.exe')
21
21
+
+)
22
22
+
+
23
23
+
export const webviewPreloadPath = fixAsarPath(
24
24
+
join('file://', publicDir, 'webviewPreload.js')
25
25
+
)
26
26
+
diff --git a/src/backend/launcher.ts b/src/backend/launcher.ts
27
27
+
index a239cff927..2262dc35b2 100644
28
28
+
--- a/src/backend/launcher.ts
29
29
+
+++ b/src/backend/launcher.ts
30
30
+
@@ -80,7 +80,7 @@ import {
31
31
+
defaultWinePrefix,
32
32
+
fixesPath,
33
33
+
flatpakHome,
34
34
+
- publicDir,
35
35
+
+ galaxyCommunicationExePath,
36
36
+
runtimePath,
37
37
+
userHome
38
38
+
} from './constants/paths'
39
39
+
@@ -888,28 +888,23 @@ async function prepareWineLaunch(
40
40
+
41
41
+
try {
42
42
+
if (runner === 'gog' && experimentalFeatures?.cometSupport !== false) {
43
43
+
- const communicationSource = join(
44
44
+
- publicDir,
45
45
+
- 'bin/x64/win32/GalaxyCommunication.exe'
46
46
+
- )
47
47
+
-
48
48
+
- const galaxyCommPath =
49
49
+
+ const galaxyCommWinePath =
50
50
+
'C:\\ProgramData\\GOG.com\\Galaxy\\redists\\GalaxyCommunication.exe'
51
51
+
const communicationDest = await getWinePath({
52
52
+
- path: galaxyCommPath,
53
53
+
+ path: galaxyCommWinePath,
54
54
+
gameSettings,
55
55
+
variant: 'unix'
56
56
+
})
57
57
+
58
58
+
if (!existsSync(communicationDest)) {
59
59
+
mkdirSync(dirname(communicationDest), { recursive: true })
60
60
+
- await copyFile(communicationSource, communicationDest)
61
61
+
+ await copyFile(galaxyCommunicationExePath, communicationDest)
62
62
+
await runWineCommand({
63
63
+
commandParts: [
64
64
+
'sc',
65
65
+
'create',
66
66
+
'GalaxyCommunication',
67
67
+
- `binpath=${galaxyCommPath}`
68
68
+
+ `binpath=${galaxyCommWinePath}`
69
69
+
],
70
70
+
gameSettings,
71
71
+
protonVerb: 'runinprefix'