| 11 Dec 2023 |
@janik0:matrix.org | * What do I do if I have a package where the build just outputs something like dist/index.js and then expects to be run with yarn start, do I move that int $out/share/... and add a wrapper script in $out/bin for the yarn start? | 12:41:53 |
Lily Foster | In reply to @janik0:matrix.org What do I do if I have a package where the build just outputs something like dist/index.js and then expects to be run with yarn start, do I move that int $out/share/... and add a wrapper script in bin $out/bin for the yarn start? yarn start just runs the start script. can you share the package.json? | 12:42:01 |
@janik0:matrix.org | Redacted or Malformed Event | 12:44:06 |
@janik0:matrix.org | https://github.com/excalidraw/excalidraw-room/blob/master/package.json#L32 | 12:44:07 |
Lily Foster | In reply to @janik0:matrix.org https://github.com/excalidraw/excalidraw-room/blob/master/package.json#L32 ugh why are they like this. they could have just added a bin: { exename: "dist/index.js" } and then everything would have worked as the node gods intended. but no, they must make things more difficult for themselves.... | 12:45:52 |
@janik0:matrix.org | In reply to @lily:lily.flowers ugh why are they like this. they could have just added a bin: { exename: "dist/index.js" } and then everything would have worked as the node gods intended. but no, they must make things more difficult for themselves.... i can patch that in my derivation and upstream it if it's just that simple :D | 12:46:25 |
Lily Foster | In reply to @janik0:matrix.org i can patch that in my derivation and upstream it if it's just that simple :D they probably also want a files: [ "dist" "public" ]. but that will only help our npm tooling, not our yarn tooling | 12:47:46 |
@janik0:matrix.org | I also packaged the actual excalidraw (the one above is just the sync server so you can work with multiple people at the same time) and there they just dump everything into a build dir and then you have to bring your own http server, upstream in there docker they use nginx but It also works with python3 -m http.server and stuff. | 12:48:04 |
| 13 Dec 2023 |
hexa | zigbee2mqtt> npm ERR! code 1
zigbee2mqtt> npm ERR! path /build/source/node_modules/unix-dgram
zigbee2mqtt> npm ERR! command failed
zigbee2mqtt> npm ERR! command sh -c node-gyp rebuild
zigbee2mqtt> npm ERR! make: Entering directory '/build/source/node_modules/unix-dgram/build'
zigbee2mqtt> npm ERR! CXX(target) Release/obj.target/unix_dgram/src/unix_dgram.o
zigbee2mqtt> npm ERR! make: Leaving directory '/build/source/node_modules/unix-dgram/build'
zigbee2mqtt> npm ERR! gyp info it worked if it ends with ok
zigbee2mqtt> npm ERR! gyp info using node-gyp@10.0.1
zigbee2mqtt> npm ERR! gyp info using node@20.10.0 | linux | x64
zigbee2mqtt> npm ERR! gyp info find Python using Python version 3.11.6 found at "/nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/bin/python3"
zigbee2mqtt> npm ERR! gyp WARN read config.gypi ENOENT: no such file or directory, open '/nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source/include/node/config.gypi'
zigbee2mqtt> npm ERR! gyp info spawn /nix/store/5k91mg4qjylxbfvrv748smfh51ppjq0g-python3-3.11.6/bin/python3
zigbee2mqtt> npm ERR! gyp info spawn args [
zigbee2mqtt> npm ERR! gyp info spawn args '/nix/store/yc5bicc5zs5czjp5q5aygz79km84rmd4-nodejs-20.10.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
zigbee2mqtt> npm ERR! gyp info spawn args 'binding.gyp',
zigbee2mqtt> npm ERR! gyp info spawn args '-f',
zigbee2mqtt> npm ERR! gyp info spawn args 'make',
zigbee2mqtt> npm ERR! gyp info spawn args '-I',
zigbee2mqtt> npm ERR! gyp info spawn args '/build/source/node_modules/unix-dgram/build/config.gypi',
zigbee2mqtt> npm ERR! gyp info spawn args '-I',
zigbee2mqtt> npm ERR! gyp info spawn args '/nix/store/yc5bicc5zs5czjp5q5aygz79km84rmd4-nodejs-20.10.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
zigbee2mqtt> npm ERR! gyp info spawn args '-I',
zigbee2mqtt> npm ERR! gyp info spawn args '/nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source/common.gypi',
zigbee2mqtt> npm ERR! gyp info spawn args '-Dlibrary=shared_library',
zigbee2mqtt> npm ERR! gyp info spawn args '-Dvisibility=default',
zigbee2mqtt> npm ERR! gyp info spawn args '-Dnode_root_dir=/nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source',
zigbee2mqtt> npm ERR! gyp info spawn args '-Dnode_gyp_dir=/nix/store/yc5bicc5zs5czjp5q5aygz79km84rmd4-nodejs-20.10.0/lib/node_modules/npm/node_modules/node-gyp',
zigbee2mqtt> npm ERR! gyp info spawn args '-Dnode_lib_file=/nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source/$(Configuration)/node.lib',
zigbee2mqtt> npm ERR! gyp info spawn args '-Dmodule_root_dir=/build/source/node_modules/unix-dgram',
zigbee2mqtt> npm ERR! gyp info spawn args '-Dnode_engine=v8',
zigbee2mqtt> npm ERR! gyp info spawn args '--depth=.',
zigbee2mqtt> npm ERR! gyp info spawn args '--no-parallel',
zigbee2mqtt> npm ERR! gyp info spawn args '--generator-output',
zigbee2mqtt> npm ERR! gyp info spawn args 'build',
zigbee2mqtt> npm ERR! gyp info spawn args '-Goutput_dir=.'
zigbee2mqtt> npm ERR! gyp info spawn args ]
zigbee2mqtt> npm ERR! gyp info spawn make
zigbee2mqtt> npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
zigbee2mqtt> npm ERR! In file included from ../../nan/nan.h:180,
zigbee2mqtt> npm ERR! from ../src/unix_dgram.cc:5:
zigbee2mqtt> npm ERR! ../../nan/nan_callbacks.h:55:23: error: 'AccessorSignature' is not a member of 'v8'
zigbee2mqtt> npm ERR! 55 | typedef v8::Local<v8::AccessorSignature> Sig;
zigbee2mqtt> npm ERR! | ^~~~~~~~~~~~~~~~~
zigbee2mqtt> npm ERR! ../../nan/nan_callbacks.h:55:40: error: template argument 1 is invalid
zigbee2mqtt> npm ERR! 55 | typedef v8::Local<v8::AccessorSignature> Sig;
zigbee2mqtt> npm ERR! | ^
zigbee2mqtt> npm ERR! ../../nan/nan.h: In function 'bool Nan::IdleNotification(int)':
zigbee2mqtt> npm ERR! ../../nan/nan.h:686:63: warning: 'bool v8::Isolate::IdleNotificationDeadline(double)' is deprecated: Use MemoryPressureNotification() to influence the GC schedule. [-Wdeprecated-declarations]
zigbee2mqtt> npm ERR! 686 | return v8::Isolate::GetCurrent()->IdleNotificationDeadline(
zigbee2mqtt> npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
zigbee2mqtt> npm ERR! 687 | idle_time_in_ms * 0.001);
zigbee2mqtt> npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~
zigbee2mqtt> npm ERR! In file included from /nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source/deps/v8/include/v8-initialization.h:13,
zigbee2mqtt> npm ERR! from /nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source/deps/v8/include/v8.h:34,
zigbee2mqtt> npm ERR! from /nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source/src/node.h:73,
zigbee2mqtt> npm ERR! from ../../nan/nan.h:60:
zigbee2mqtt> npm ERR! /nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source/deps/v8/include/v8-isolate.h:1293:8: note: declared here
zigbee2mqtt> npm ERR! 1293 | bool IdleNotificationDeadline(double deadline_in_seconds);
zigbee2mqtt> npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~
zigbee2mqtt> npm ERR! ../src/unix_dgram.cc: At global scope:
zigbee2mqtt> npm ERR! /nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source/src/node.h:1172:7: warning: cast between incompatible function types from 'void (*)(v8::Local<v8::Object>)' to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
zigbee2mqtt> npm ERR! 1172 | (node::addon_register_func) (regfunc), \
zigbee2mqtt> npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zigbee2mqtt> npm ERR! /nix/store/kik2nnknanp1l131ch098cqv4xb4ahas-nodejs-20.10.0-source/src/node.h:1206:3: note: in expansion of macro 'NODE_MODULE_X'
zigbee2mqtt> npm ERR! 1206 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
zigbee2mqtt> npm ERR! | ^~~~~~~~~~~~~
zigbee2mqtt> npm ERR! ../src/unix_dgram.cc:404:1: note: in expansion of macro 'NODE_MODULE'
zigbee2mqtt> npm ERR! 404 | NODE_MODULE(unix_dgram, Initialize)
zigbee2mqtt> npm ERR! | ^~~~~~~~~~~
zigbee2mqtt> npm ERR! make: *** [unix_dgram.target.mk:109: Release/obj.target/unix_dgram/src/unix_dgram.o] Error 1
zigbee2mqtt> npm ERR! gyp ERR! build error
zigbee2mqtt> npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
zigbee2mqtt> npm ERR! gyp ERR! stack at ChildProcess.<anonymous> (/nix/store/yc5bicc5zs5czjp5q5aygz79km84rmd4-nodejs-20.10.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
zigbee2mqtt> npm ERR! gyp ERR! System Linux 6.1.20
zigbee2mqtt> npm ERR! gyp ERR! command "/nix/store/yc5bicc5zs5czjp5q5aygz79km84rmd4-nodejs-20.10.0/bin/node" "/nix/store/yc5bicc5zs5czjp5q5aygz79km84rmd4-nodejs-20.10.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
zigbee2mqtt> npm ERR! gyp ERR! cwd /build/source/node_modules/unix-dgram
zigbee2mqtt> npm ERR! gyp ERR! node -v v20.10.0
zigbee2mqtt> npm ERR! gyp ERR! node-gyp -v v10.0.1
zigbee2mqtt> npm ERR! gyp ERR! not ok
zigbee2mqtt>
zigbee2mqtt> npm ERR! Log files were not written due to an error writing to the directory: /nix/store/pdf6vcq0xf1hp7gfcfw5sixnnylsvxgl-zigbee2mqtt-1.34.0-npm-deps/_logs
zigbee2mqtt> npm ERR! You can rerun the command with `--loglevel=verbose` to see the logs in your terminal
zigbee2mqtt>
| 18:46:51 |
hexa | send help | 18:46:55 |
Lily Foster | In reply to @hexa:lossy.network send help help is being dispatched now | 18:53:16 |
Lily Foster | is it failing in nixpkgs now? looks like it's probably related to nodejs_20 bump? | 18:53:31 |
hexa | master | 18:54:39 |
hexa | quite likely, did that happen in the last staging cycle? | 18:54:54 |
Lily Foster | In reply to @hexa:lossy.network quite likely, did that happen in the last staging cycle? yep | 18:56:27 |
Lily Foster | open-stage-control is busted too, which i noticed yesterdaty | 18:56:37 |
Lily Foster | * open-stage-control is busted too, which i noticed yesterday | 18:56:40 |
Lily Foster | yeah this is enough to fix it hexa:
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index 6b655c63cd86..a215b7d771b8 100644
--- a/pkgs/servers/zigbee2mqtt/default.nix
+++ b/pkgs/servers/zigbee2mqtt/default.nix
@@ -1,7 +1,7 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
-, python3
+, nodejs_18
, nixosTests
, nix-update-script
}:
@@ -19,9 +19,7 @@ buildNpmPackage rec {
npmDepsHash = "sha256-MXTKZNERxryt7L42dHxKx7XfXByNQ67oU+4FKTd0u4U=";
- nativeBuildInputs = [
- python3
- ];
+ nodejs = nodejs_18;
passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt;
passthru.updateScript = nix-update-script { };
| 18:59:42 |
hexa | mentioning me with a patch makes the patch look bloody red | 19:02:03 |
hexa |  Download image.png | 19:02:25 |
hexa | send a PR? | 19:04:37 |
hexa | * send the PR? | 19:04:41 |
hexa | it's your change after all | 19:04:48 |
Lily Foster | In reply to @hexa:lossy.network it's your change after all i mean, sure. give me a bit and i'll send it when i'm back at my laptop. i got a few other nodejs_20 fallout things i was gonna PR when i got back to my desk too | 19:05:52 |
hexa | does the builder provide python by itself? | 19:05:55 |
Lily Foster | In reply to @hexa:lossy.network does the builder provide python by itself? it does now, yes | 19:06:01 |
hexa | ok, cool | 19:06:05 |
hexa | lgtm | 19:06:07 |
Lily Foster | and xcbuild on darwin | 19:06:09 |
Lily Foster | since those were both in build closure already anyway and like they're both needed for basically any node-gyp packages | 19:06:34 |