I’m trying to write a derivation for Sabaki but i’am stuck and can’t find the solution.
~/nixpkgs/pkgs/games/sabaki/default.nix :
{ pkgs ? import <nixpkgs> {} }:
pkgs.callPackage ./derivation.nix {}
~/nixpkgs/pkgs/games/sabaki/derivation.nix :
{
pkgs,
buildNpmPackage,
fetchFromGitHub
}:
buildNpmPackage rec {
name = "sabaki";
version = "0.52.2";
npmDepsHash = "sha256-yloYb6mj1xUccJjZcbD0S45XaqoknzLYmuSgtGbPEJE=";
buildInputs = [
pkgs.nodejs
];
src = fetchFromGitHub {
owner = "SabakiHQ";
repo = name;
rev = "v${version}";
hash = "sha256-FJsZ4N6TJXOGREjgphRrV4DzDSijgTNqtSxng5R/kI0=";
};
buildPhase = ''
npm install
npm run build
'';
installPhase = ''
mkdir -p $out/bin
cp dist/linux-unpacked/sabaki $out/bin/
'';
}
After running nix-build
this error gets print:
this derivation will be built:
/nix/store/jnf41qdr5i76h0ixcxjzrr871irdc4hh-sabaki.drv
building '/nix/store/jnf41qdr5i76h0ixcxjzrr871irdc4hh-sabaki.drv'...
Running phase: unpackPhase
unpacking source archive /nix/store/imnvlk2k32simfjfams5n33j80xn3bi7-source
source root is source
Running phase: patchPhase
Executing npmConfigHook
Configuring npm
Validating consistency between /build/source/package-lock.json and /nix/store/2v96q0dddna6gpbwyczxq6smnjhgfqmm-sabaki-npm-deps/package-lock.json
Fixing lockfile
Installing dependencies
npm WARN deprecated debug@3.2.6: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated electron-osx-sign@0.6.0: Please use @electron/osx-sign moving forward. Be aware the API is slightly different
added 751 packages, and audited 752 packages in 58s
131 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
patching script interpreter paths in node_modules
node_modules/webpack-cli/bin/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/electron-builder/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/electron-builder/install-app-deps.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/jake/bin/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/jake/bin/bash_completion.sh: interpreter directive changed from "#!/bin/bash" to "/nix/store/5l50g7kzj7v0rdhshld1vx46rf2k5lf9-bash-5.2p26/bin/bash"
node_modules/which/bin/node-which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/@electron/get/node_modules/semver/bin/semver.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/semver-diff/node_modules/semver/bin/semver.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/extract-zip/node_modules/mkdirp/bin/cmd.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/extract-zip/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/7zip-bin/7x.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/5l50g7kzj7v0rdhshld1vx46rf2k5lf9-bash-5.2p26/bin/bash"
node_modules/7zip-bin/linux/x64/do-build.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/5l50g7kzj7v0rdhshld1vx46rf2k5lf9-bash-5.2p26/bin/bash"
node_modules/7zip-bin/linux/x64/build.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/5l50g7kzj7v0rdhshld1vx46rf2k5lf9-bash-5.2p26/bin/bash"
node_modules/dir-compare/src/cli/dircompare.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/prettier/bin-prettier.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/semver/bin/semver: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/dolm/tools/cli/main.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/execa/node_modules/which/bin/which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/import-local/fixtures/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/rimraf/bin.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/asar/bin/asar.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/electron/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/@babel/parser/bin/babel-parser.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/he/bin/he: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/terser/bin/uglifyjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/terser/bin/terser: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/terser/bin/terser.mjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/update-browserslist-db/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/mkdirp/bin/cmd.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/tree-kill/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/envinfo/dist/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/uvu/bin.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/webpack/bin/webpack.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/rc/cli.js: interpreter directive changed from "#! /usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/ejs/bin/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/mocha/node_modules/which/bin/which: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/mocha/node_modules/mkdirp/bin/cmd.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/mocha/node_modules/js-yaml/bin/js-yaml.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/mocha/lib/cli/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/mocha/bin/_mocha: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/mocha/bin/mocha: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/resolve/bin/resolve: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/concurrently/dist/bin/concurrently.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/browserslist/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/is-ci/bin.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/make-dir/node_modules/semver/bin/semver.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/uuid/dist/bin/uuid: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/acorn/bin/acorn: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/esprima/bin/esvalidate.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/esprima/bin/esparse.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/electron-osx-sign/bin/electron-osx-flat.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/electron-osx-sign/bin/electron-osx-sign.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/json5/lib/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/js-yaml/bin/js-yaml.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/flat/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/app-builder-lib/node_modules/semver/bin/semver.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/jsesc/bin/jsesc: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/onchange/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/loose-envify/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/mime/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/package-json/node_modules/semver/bin/semver.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/global-agent/node_modules/semver/bin/semver.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/update-notifier/node_modules/semver/bin/semver.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
node_modules/update-notifier/node_modules/is-ci/bin.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/q5akp9kqri454q5d2bcp6fphj3k0xsdf-nodejs-20.11.0/bin/node"
npm ERR! code 1
npm ERR! path /build/source/node_modules/electron
npm ERR! command failed
npm ERR! command sh -c node install.js
npm ERR! RequestError: getaddrinfo EAI_AGAIN github.com
npm ERR! at ClientRequest.<anonymous> (/build/source/node_modules/got/source/request-as-event-emitter.js:178:14)
npm ERR! at Object.onceWrapper (node:events:633:26)
npm ERR! at ClientRequest.emit (node:events:530:35)
npm ERR! at origin.emit (/build/source/node_modules/@szmarczak/http-timer/source/index.js:37:11)
npm ERR! at TLSSocket.socketErrorListener (node:_http_client:495:9)
npm ERR! at TLSSocket.emit (node:events:518:28)
npm ERR! at emitErrorNT (node:internal/streams/destroy:169:8)
npm ERR! at emitErrorCloseNT (node:internal/streams/destroy:128:3)
npm ERR! at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
npm ERR! Log files were not written due to an error writing to the directory: /nix/store/2v96q0dddna6gpbwyczxq6smnjhgfqmm-sabaki-npm-deps/_logs
npm ERR! You can rerun the command with `--loglevel=verbose` to see the logs in your terminal
error: builder for '/nix/store/jnf41qdr5i76h0ixcxjzrr871irdc4hh-sabaki.drv' failed with exit code 1;
last 10 log lines:
> npm ERR! at origin.emit (/build/source/node_modules/@szmarczak/http-timer/source/index.js:37:11)
> npm ERR! at TLSSocket.socketErrorListener (node:_http_client:495:9)
> npm ERR! at TLSSocket.emit (node:events:518:28)
> npm ERR! at emitErrorNT (node:internal/streams/destroy:169:8)
> npm ERR! at emitErrorCloseNT (node:internal/streams/destroy:128:3)
> npm ERR! at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
>
> npm ERR! Log files were not written due to an error writing to the directory: /nix/store/2v96q0dddna6gpbwyczxq6smnjhgfqmm-sabaki-npm-deps/_logs
> npm ERR! You can rerun the command with `--loglevel=verbose` to see the logs in your terminal
>
For full logs, run 'nix-store -l /nix/store/jnf41qdr5i76h0ixcxjzrr871irdc4hh-sabaki.drv'.
It seems to me that electron
can’t be downloaded, i tried to manually install it with npm install -g electron
inside the buildPhase
but didn’t work out.
Thanks for the help