When installing itch from the AUR, build() fails with the following message:
Build log
┌─[arch@home] - [/tmp/trizen-arch/itch] - [Mon Jan 08, 09:19]
└─[$]> makepkg -scf
==> Making package: itch 23.6.0-1 (Mon Jan 8 09:19:42 EST 2018)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found v23.6.0.tar.gz
==> Validating source files with sha256sums...
v23.6.0.tar.gz ... Passed
==> Extracting sources...
-> Extracting v23.6.0.tar.gz with bsdtar
==> Starting prepare()...
> itch@23.6.0 install /tmp/trizen-arch/itch/src/itch-23.6.0
> electron-rebuild
✔ Rebuild Complete
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
==> Removing existing $pkgdir/ directory...
==> Starting build()...
♦ Compiling itch
★ npm 4.2.0
★ node v7.10.0
★ got grunt
· npm --no-progress --quiet install
> itch@23.6.0 install /tmp/trizen-arch/itch/src/itch-23.6.0
> electron-rebuild
✔ Rebuild Complete
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
♦ Compiling JavaScript
· grunt ts sass copy
............
Running "ts:default" (ts) task
Compiling...
Using tsc v2.6.2
appsrc/components/game-filters.tsx(98,10): error TS2604: JSX element type 'Select' does not have any construct or call signatures.
appsrc/components/gate-page.tsx(225,5): error TS2322: Type '{ stage: string; rememberedSessions: IRememberedSessionsState; halloween: boolean; picking: boole...' is not assignable to type 'Partial'.
Object literal may only specify known properties, and 'picking' does not exist in type 'Partial'.
appsrc/components/gate-page.tsx(227,5): error TS2322: Type '{ halloween: boolean; done: boolean; errors: string[]; blockingOperation: ISetupOperation; stage:...' is not assignable to type 'Partial'.
Object literal may only specify known properties, and 'done' does not exist in type 'Partial'.
appsrc/reactors/navigation.ts(79,9): error TS2345: Argument of type '{ password?: string; secret?: string; path?: string; fresh?: boolean; extras?: ITabData; }' is not assignable to parameter of type 'IGameLazilyOpts'.
Object literal may only specify known properties, and 'path' does not exist in type 'IGameLazilyOpts'.
appsrc/reactors/tasks/queue-game.ts(167,17): error TS2345: Argument of type '{ pickedUpload: number; password: string; secret: string; game: IGameRecord; extraOpts?: { passwo...' is not assignable to parameter of type 'IQueueGamePayload'.
Object literal may only specify known properties, and 'password' does not exist in type 'IQueueGamePayload'.
appsrc/reactors/tasks/start-task.ts(32,38): error TS2345: Argument of type '{ name: string; gameId: number; game?: IGameRecord; password?: string; secret?: string; reinstall...' is not assignable to parameter of type 'ITaskStartedPayload'.
Object literal may only specify known properties, and 'game' does not exist in type 'ITaskStartedPayload'.
appsrc/store/renderer-store.ts(42,3): error TS2322: Type 'Func0>' is not assignable to type 'GenericStoreEnhancer'.
Type 'StoreEnhancerStoreCreator<{}>' is not assignable to type 'StoreEnhancerStoreCreator'.
Types of parameters 'reducer' and 'reducer' are incompatible.
Types of parameters 'state' and 'state' are incompatible.
Type '{}' is not assignable to type 'S'.
appsrc/tasks/download/start.ts(63,58): error TS2345: Argument of type '{ heal: string; emitter: EventEmitter; onProgress: (e: any) => boolean; name: string; gameId: num...' is not assignable to parameter of type 'IVerifyOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IVerifyOpts'.
appsrc/tasks/download/start.ts(73,23): error TS2345: Argument of type '{ src: string; dest: string; resume: true; emitter: EventEmitter; onProgress: (e: any) => boolean...' is not assignable to parameter of type 'ICpOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'ICpOpts'.
appsrc/tasks/prepare/windows-prereqs.ts(224,7): error TS6133: 'pollState' is declared but its value is never read.
appsrc/tasks/prepare/windows-prereqs.ts(268,9): error TS2322: Type '{ tasks: { [x: string]: ITaskProgressState | { progress: number; bps: number; eta: number; prereq...' is not assignable to type 'IPrereqsState'.
Types of property 'tasks' are incompatible.
Type '{ [x: string]: ITaskProgressState | { progress: number; bps: number; eta: number; prereqsState?: ...' is not assignable to type '{ [key: string]: ITaskProgressState; }'.
Index signatures are incompatible.
Type 'ITaskProgressState | { progress: number; bps: number; eta: number; prereqsState?: IPrereqsState; ...' is not assignable to type 'ITaskProgressState'.
Type '{ progress: number; bps: number; eta: number; prereqsState?: IPrereqsState; name: string; order: ...' is not assignable to type 'ITaskProgressState'.
Object literal may only specify known properties, and 'prereqsState' does not exist in type 'ITaskProgressState'.
appsrc/util/api.ts(127,9): error TS2322: Type '{ recaptcha_response: string; username: string; password: string; source: string; v: number; }' is not assignable to type '{ username: string; password: string; source: string; v: number; }'.
Object literal may only specify known properties, and 'recaptcha_response' does not exist in type '{ username: string; password: string; source: string; v: number; }'.
appsrc/util/ibrew/formulas.ts(129,1): error TS2322: Type '{ format: string; osWhitelist: string[]; skipUpgradeWhen: (opts: ISkipUpgradeWhenOpts) => Promise...' is not assignable to type 'IFormulaSpec'.
Types of property 'skipUpgradeWhen' are incompatible.
Type '(opts: ISkipUpgradeWhenOpts) => Promise<{ reason: string; } | { resason: string; }>' is not assignable to type '(opts: ISkipUpgradeWhenOpts) => Promise'.
Type 'Promise<{ reason: string; } | { resason: string; }>' is not assignable to type 'Promise'.
Type '{ reason: string; } | { resason: string; }' is not assignable to type 'ISkipUpgradeResult'.
Type '{ resason: string; }' is not assignable to type 'ISkipUpgradeResult'.
Property 'reason' is missing in type '{ resason: string; }'.
appsrc/util/sf.ts(161,11): error TS2554: Expected 2 arguments, but got 1.
appsrc/tasks/install/archive.ts(78,11): error TS2322: Type '{ onProgress: IProgressListener; stagePath: string; destPath: string; name: string; gameId: numbe...' is not assignable to type 'IDeployOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IDeployOpts'.
appsrc/tasks/install/naked.ts(26,51): error TS2345: Argument of type '{ emitter: EventEmitter; name: string; gameId: number; game?: IGameRecord; password?: string; sec...' is not assignable to parameter of type 'IButlerOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IButlerOpts'.
appsrc/tasks/install/naked.ts(36,33): error TS2345: Argument of type '{ emitter: EventEmitter; name: string; gameId: number; game?: IGameRecord; password?: string; sec...' is not assignable to parameter of type 'IButlerOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IButlerOpts'.
appsrc/tasks/install/nsis.ts(34,50): error TS2345: Argument of type '{ emitter: EventEmitter; name: string; gameId: number; game?: IGameRecord; password?: string; sec...' is not assignable to parameter of type 'IButlerOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IButlerOpts'.
appsrc/tasks/install/nsis.ts(53,31): error TS2345: Argument of type '{ emitter: EventEmitter; name: string; gameId: number; game?: IGameRecord; password?: string; sec...' is not assignable to parameter of type 'IButlerOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IButlerOpts'.
typings/augmentations.d.ts(18,7): error TS2403: Subsequent variable declarations must have the same type. Variable '"webview"' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'WebViewProps'.
>> 20 non-emit-preventing type warnings
>> Error: tsc return code: 2
Warning: Task "ts:default" failed. Use --force to continue.
Aborted due to warnings.
☃ non-zero exit code: 3
/tmp/trizen-arch/itch/src/itch-23.6.0/release/node_modules/munyx/index.js:19
throw new Error('Exit code assertion failed, bailing out')
^
Error: Exit code assertion failed, bailing out
at $ (/tmp/trizen-arch/itch/src/itch-23.6.0/release/node_modules/munyx/index.js:19:11)
at Object. (/tmp/trizen-arch/itch/src/itch-23.6.0/release/ci-compile.js:16:1)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:427:7)
at startup (bootstrap_node.js:151:9)
==> ERROR: A failure occurred in build().
Aborting...
When installing
itch
from the AUR,build()
fails with the following message:Build log
┌─[arch@home] - [/tmp/trizen-arch/itch] - [Mon Jan 08, 09:19] └─[$]> makepkg -scf ==> Making package: itch 23.6.0-1 (Mon Jan 8 09:19:42 EST 2018) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... -> Found v23.6.0.tar.gz ==> Validating source files with sha256sums... v23.6.0.tar.gz ... Passed ==> Extracting sources... -> Extracting v23.6.0.tar.gz with bsdtar ==> Starting prepare()... > itch@23.6.0 install /tmp/trizen-arch/itch/src/itch-23.6.0 > electron-rebuild ✔ Rebuild Complete npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) ==> Removing existing $pkgdir/ directory... ==> Starting build()... ♦ Compiling itch ★ npm 4.2.0 ★ node v7.10.0 ★ got grunt · npm --no-progress --quiet install > itch@23.6.0 install /tmp/trizen-arch/itch/src/itch-23.6.0 > electron-rebuild ✔ Rebuild Complete npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) ♦ Compiling JavaScript · grunt ts sass copy ............ Running "ts:default" (ts) task Compiling... Using tsc v2.6.2 appsrc/components/game-filters.tsx(98,10): error TS2604: JSX element type 'Select' does not have any construct or call signatures. appsrc/components/gate-page.tsx(225,5): error TS2322: Type '{ stage: string; rememberedSessions: IRememberedSessionsState; halloween: boolean; picking: boole...' is not assignable to type 'Partial'. Types of parameters 'reducer' and 'reducer' are incompatible. Types of parameters 'state' and 'state' are incompatible. Type '{}' is not assignable to type 'S'. appsrc/tasks/download/start.ts(63,58): error TS2345: Argument of type '{ heal: string; emitter: EventEmitter; onProgress: (e: any) => boolean; name: string; gameId: num...' is not assignable to parameter of type 'IVerifyOpts'. Object literal may only specify known properties, and 'name' does not exist in type 'IVerifyOpts'. appsrc/tasks/download/start.ts(73,23): error TS2345: Argument of type '{ src: string; dest: string; resume: true; emitter: EventEmitter; onProgress: (e: any) => boolean...' is not assignable to parameter of type 'ICpOpts'. Object literal may only specify known properties, and 'name' does not exist in type 'ICpOpts'. appsrc/tasks/prepare/windows-prereqs.ts(224,7): error TS6133: 'pollState' is declared but its value is never read. appsrc/tasks/prepare/windows-prereqs.ts(268,9): error TS2322: Type '{ tasks: { [x: string]: ITaskProgressState | { progress: number; bps: number; eta: number; prereq...' is not assignable to type 'IPrereqsState'. Types of property 'tasks' are incompatible. Type '{ [x: string]: ITaskProgressState | { progress: number; bps: number; eta: number; prereqsState?: ...' is not assignable to type '{ [key: string]: ITaskProgressState; }'. Index signatures are incompatible. Type 'ITaskProgressState | { progress: number; bps: number; eta: number; prereqsState?: IPrereqsState; ...' is not assignable to type 'ITaskProgressState'. Type '{ progress: number; bps: number; eta: number; prereqsState?: IPrereqsState; name: string; order: ...' is not assignable to type 'ITaskProgressState'. Object literal may only specify known properties, and 'prereqsState' does not exist in type 'ITaskProgressState'. appsrc/util/api.ts(127,9): error TS2322: Type '{ recaptcha_response: string; username: string; password: string; source: string; v: number; }' is not assignable to type '{ username: string; password: string; source: string; v: number; }'. Object literal may only specify known properties, and 'recaptcha_response' does not exist in type '{ username: string; password: string; source: string; v: number; }'. appsrc/util/ibrew/formulas.ts(129,1): error TS2322: Type '{ format: string; osWhitelist: string[]; skipUpgradeWhen: (opts: ISkipUpgradeWhenOpts) => Promise...' is not assignable to type 'IFormulaSpec'. Types of property 'skipUpgradeWhen' are incompatible. Type '(opts: ISkipUpgradeWhenOpts) => Promise<{ reason: string; } | { resason: string; }>' is not assignable to type '(opts: ISkipUpgradeWhenOpts) => Promise'.
Type 'Promise<{ reason: string; } | { resason: string; }>' is not assignable to type 'Promise'.
Type '{ reason: string; } | { resason: string; }' is not assignable to type 'ISkipUpgradeResult'.
Type '{ resason: string; }' is not assignable to type 'ISkipUpgradeResult'.
Property 'reason' is missing in type '{ resason: string; }'.
appsrc/util/sf.ts(161,11): error TS2554: Expected 2 arguments, but got 1.
appsrc/tasks/install/archive.ts(78,11): error TS2322: Type '{ onProgress: IProgressListener; stagePath: string; destPath: string; name: string; gameId: numbe...' is not assignable to type 'IDeployOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IDeployOpts'.
appsrc/tasks/install/naked.ts(26,51): error TS2345: Argument of type '{ emitter: EventEmitter; name: string; gameId: number; game?: IGameRecord; password?: string; sec...' is not assignable to parameter of type 'IButlerOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IButlerOpts'.
appsrc/tasks/install/naked.ts(36,33): error TS2345: Argument of type '{ emitter: EventEmitter; name: string; gameId: number; game?: IGameRecord; password?: string; sec...' is not assignable to parameter of type 'IButlerOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IButlerOpts'.
appsrc/tasks/install/nsis.ts(34,50): error TS2345: Argument of type '{ emitter: EventEmitter; name: string; gameId: number; game?: IGameRecord; password?: string; sec...' is not assignable to parameter of type 'IButlerOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IButlerOpts'.
appsrc/tasks/install/nsis.ts(53,31): error TS2345: Argument of type '{ emitter: EventEmitter; name: string; gameId: number; game?: IGameRecord; password?: string; sec...' is not assignable to parameter of type 'IButlerOpts'.
Object literal may only specify known properties, and 'name' does not exist in type 'IButlerOpts'.
typings/augmentations.d.ts(18,7): error TS2403: Subsequent variable declarations must have the same type. Variable '"webview"' must be of type 'DetailedHTMLProps, HTMLElement>', but here has type 'WebViewProps'.
>> 20 non-emit-preventing type warnings
>> Error: tsc return code: 2
Warning: Task "ts:default" failed. Use --force to continue.
Aborted due to warnings.
☃ non-zero exit code: 3
/tmp/trizen-arch/itch/src/itch-23.6.0/release/node_modules/munyx/index.js:19
throw new Error('Exit code assertion failed, bailing out')
^
Error: Exit code assertion failed, bailing out
at $ (/tmp/trizen-arch/itch/src/itch-23.6.0/release/node_modules/munyx/index.js:19:11)
at Object. (/tmp/trizen-arch/itch/src/itch-23.6.0/release/ci-compile.js:16:1)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:427:7)
at startup (bootstrap_node.js:151:9)
==> ERROR: A failure occurred in build().
Aborting...
I was able to get the package to build by adding
--force
to line 16 inci-compile.js
https://github.com/itchio/itch/blob/57b602575eca6c9cabe1b9092027e4f1ef3aa22c/release/ci-compile.js#L16