UNPKG

6.17 kBSource Map (JSON)View Raw
1{"version":3,"file":"wine.js","sourceRoot":"","sources":["../src/wine.ts"],"names":[],"mappings":"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","sourcesContent":["import { Lazy } from \"lazy-val\"\nimport * as path from \"path\"\nimport { lt as isVersionLessThan } from \"semver\"\nimport { getBinFromGithub } from \"./binDownload\"\nimport { computeEnv, EXEC_TIMEOUT, ToolInfo } from \"./bundledTool\"\nimport { isMacOsSierra } from \"./macosVersion\"\nimport { debug, exec, ExecOptions, isEnvTrue } from \"./util\"\n\nconst wineExecutable = new Lazy<ToolInfo>(async () => {\n debug(`USE_SYSTEM_WINE: ${process.env.USE_SYSTEM_WINE}`)\n if (!isEnvTrue(process.env.USE_SYSTEM_WINE) && await isMacOsSierra()) {\n // noinspection SpellCheckingInspection\n const wineDir = await getBinFromGithub(\"wine\", \"2.0.1-mac-10.12\", \"IvKwDml/Ob0vKfYVxcu92wxUzHu8lTQSjjb8OlCTQ6bdNpVkqw17OM14TPpzGMIgSxfVIrQZhZdCwpkxLyG3mg==\")\n return {\n path: path.join(wineDir, \"bin/wine\"),\n env: {\n ...process.env,\n WINEDEBUG: \"-all,err+all\",\n WINEDLLOVERRIDES: \"winemenubuilder.exe=d\",\n WINEPREFIX: path.join(wineDir, \"wine-home\"),\n DYLD_FALLBACK_LIBRARY_PATH: computeEnv(process.env.DYLD_FALLBACK_LIBRARY_PATH, [path.join(wineDir, \"lib\")])\n }\n }\n }\n\n await checkWineVersion(exec(\"wine\", [\"--version\"]))\n return {path: \"wine\"}\n})\n\n/** @private */\nexport function execWine(file: string, args: Array<string>, options: ExecOptions = EXEC_TIMEOUT): Promise<string> {\n if (process.platform === \"win32\") {\n return exec(file, args, options)\n }\n else {\n return wineExecutable.value\n .then(wine => exec(wine.path, [file].concat(args), wine.env == null ? options : {env: wine.env, ...options}))\n }\n}\n\n/** @private */\nexport function prepareWindowsExecutableArgs(args: Array<string>, exePath: string) {\n if (process.platform !== \"win32\") {\n args.unshift(exePath)\n }\n return args\n}\n\n/** @private */\nexport async function checkWineVersion(checkPromise: Promise<string>) {\n function wineError(prefix: string): string {\n return `${prefix}, please see https://github.com/electron-userland/electron-builder/wiki/Multi-Platform-Build#${(process.platform === \"linux\" ? \"linux\" : \"macos\")}`\n }\n\n let wineVersion: string\n try {\n wineVersion = (await checkPromise).trim()\n }\n catch (e) {\n if (e.code === \"ENOENT\") {\n throw new Error(wineError(\"wine is required\"))\n }\n else {\n throw new Error(`Cannot check wine version: ${e}`)\n }\n }\n\n if (wineVersion.startsWith(\"wine-\")) {\n wineVersion = wineVersion.substring(\"wine-\".length)\n }\n\n const spaceIndex = wineVersion.indexOf(\" \")\n if (spaceIndex > 0) {\n wineVersion = wineVersion.substring(0, spaceIndex)\n }\n\n const suffixIndex = wineVersion.indexOf(\"-\")\n if (suffixIndex > 0) {\n wineVersion = wineVersion.substring(0, suffixIndex)\n }\n\n if (wineVersion.split(\".\").length === 2) {\n wineVersion += \".0\"\n }\n\n if (isVersionLessThan(wineVersion, \"1.8.0\")) {\n throw new Error(wineError(`wine 1.8+ is required, but your version is ${wineVersion}`))\n }\n}"]}