diff options
Diffstat (limited to 'use-system-7za-and-disable-updater.patch')
-rw-r--r-- | use-system-7za-and-disable-updater.patch | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/use-system-7za-and-disable-updater.patch b/use-system-7za-and-disable-updater.patch new file mode 100644 index 000000000000..a07637c91352 --- /dev/null +++ b/use-system-7za-and-disable-updater.patch @@ -0,0 +1,164 @@ +diff --git i/src/app/desktop/utils/index.js w/src/app/desktop/utils/index.js +index 343d5ad8..45d5a927 100644 +--- i/src/app/desktop/utils/index.js ++++ w/src/app/desktop/utils/index.js +@@ -5,7 +5,6 @@ import { extractFull } from 'node-7z'; + import jimp from 'jimp/es'; + import makeDir from 'make-dir'; + import { promisify } from 'util'; +-import { ipcRenderer } from 'electron'; + import path from 'path'; + import crypto from 'crypto'; + import { exec, spawn } from 'child_process'; +@@ -301,14 +300,7 @@ export const isLatestJavaDownloaded = async (meta, userData, retry) => { + return isValid; + }; + +-export const get7zPath = async () => { +- // Get userData from ipc because we can't always get this from redux +- const baseDir = await ipcRenderer.invoke('getUserData'); +- if (process.platform === 'darwin' || process.platform === 'linux') { +- return path.join(baseDir, '7za'); +- } +- return path.join(baseDir, '7za.exe'); +-}; ++export const get7zPath = async () => '/usr/bin/7za'; + + export const extractNatives = async (libraries, instancePath) => { + const extractLocation = path.join(instancePath, 'natives'); +diff --git i/public/electron.js w/public/electron.js +index 800a66f8..58bfb998 100644 +--- i/public/electron.js ++++ w/public/electron.js +@@ -12,7 +12,6 @@ const { + } = require('electron'); + const path = require('path'); + const { spawn, exec } = require('child_process'); +-const { autoUpdater } = require('electron-updater'); + const log = require('electron-log'); + const fss = require('fs'); + const { promisify } = require('util'); +@@ -179,43 +178,6 @@ log.log(process.env.REACT_APP_RELEASE_TYPE, app.getVersion()); + + const isDev = process.env.NODE_ENV === 'development'; + +-async function extract7z() { +- const baseDir = path.join(app.getAppPath(), 'node_modules', '7zip-bin'); +- +- let zipLocationAsar = path.join(baseDir, 'linux', 'x64', '7za'); +- if (process.platform === 'darwin') { +- zipLocationAsar = path.join(baseDir, 'mac', 'x64', '7za'); +- } +- if (process.platform === 'win32') { +- zipLocationAsar = path.join(baseDir, 'win', 'x64', '7za.exe'); +- } +- try { +- await fs.copyFile( +- zipLocationAsar, +- path.join(app.getPath('userData'), path.basename(zipLocationAsar)) +- ); +- +- if (process.platform === 'linux' || process.platform === 'darwin') { +- await promisify(exec)( +- `chmod +x "${path.join( +- app.getPath('userData'), +- path.basename(zipLocationAsar) +- )}"` +- ); +- await promisify(exec)( +- `chmod 755 "${path.join( +- app.getPath('userData'), +- path.basename(zipLocationAsar) +- )}"` +- ); +- } +- } catch (e) { +- log.error(e); +- } +-} +- +-extract7z(); +- + function createWindow() { + mainWindow = new BrowserWindow({ + width: 1100, +@@ -609,79 +571,3 @@ ipcMain.handle('calculateMurmur2FromPath', (e, filePath) => { + }); + }); + }); +- +-// AutoUpdater +- +-if (process.env.REACT_APP_RELEASE_TYPE === 'setup') { +- autoUpdater.autoDownload = false; +- autoUpdater.allowDowngrade = +- !allowUnstableReleases && app.getVersion().includes('beta'); +- autoUpdater.allowPrerelease = allowUnstableReleases; +- autoUpdater.setFeedURL({ +- owner: 'gorilla-devs', +- repo: 'GDLauncher', +- provider: 'github' +- }); +- +- autoUpdater.on('update-available', () => { +- autoUpdater.downloadUpdate(); +- }); +- +- autoUpdater.on('update-downloaded', () => { +- mainWindow.webContents.send('updateAvailable'); +- }); +- +- ipcMain.handle('checkForUpdates', () => { +- autoUpdater.checkForUpdates(); +- }); +-} +- +-ipcMain.handle('installUpdateAndQuitOrRestart', async (e, quitAfterInstall) => { +- const tempFolder = path.join( +- path.dirname(app.getPath('exe')), +- 'data', +- 'temp' +- ); +- if (process.env.REACT_APP_RELEASE_TYPE === 'setup') { +- autoUpdater.quitAndInstall(true, !quitAfterInstall); +- } else { +- const updaterVbs = 'updater.vbs'; +- const updaterBat = 'updateLauncher.bat'; +- await fs.writeFile( +- path.join(tempFolder, updaterBat), +- `ping 127.0.0.1 -n 1 > nul & robocopy "${path.join( +- tempFolder, +- 'update' +- )}" "." /MOV /E${ +- quitAfterInstall ? '' : ` & start "" "${app.getPath('exe')}"` +- } +- DEL "${path.join(tempFolder, updaterVbs)}" +- DEL "%~f0" +- ` +- ); +- +- await fs.writeFile( +- path.join(tempFolder, updaterVbs), +- `Set WshShell = CreateObject("WScript.Shell") +- WshShell.Run chr(34) & "${path.join( +- tempFolder, +- updaterBat +- )}" & Chr(34), 0 +- Set WshShell = Nothing +- ` +- ); +- +- const updateSpawn = spawn(path.join(tempFolder, updaterVbs), { +- cwd: path.dirname(app.getPath('exe')), +- detached: true, +- shell: true, +- stdio: [ +- 'ignore' /* stdin */, +- 'ignore' /* stdout */, +- 'ignore' /* stderr */ +- ] +- }); +- updateSpawn.unref(); +- mainWindow.close(); +- } +-}); |