Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at python-updates 50 lines 1.2 kB view raw
1{ 2 buildNpmPackage, 3 fetchFromGitHub, 4 jq, 5 lib, 6 nixosTests, 7}: 8 9buildNpmPackage rec { 10 pname = "node-red"; 11 version = "4.1.0"; 12 13 src = fetchFromGitHub { 14 owner = "node-red"; 15 repo = "node-red"; 16 tag = version; 17 hash = "sha256-MBuWVrN5KNUSNRMZTrDwkQjf3E7BPpnYZL0LKSd6dvU="; 18 }; 19 20 npmDepsHash = "sha256-FV+41HMggMMadRQG/jVnTkp4ycAthp+a4QPrTRhuris="; 21 22 postPatch = 23 let 24 packageDir = "packages/node_modules/node-red"; 25 in 26 '' 27 ln -s ${./package-lock.json} package-lock.json 28 29 ${lib.getExe jq} '. += {"bin": {"node-red": "${packageDir}/red.js", "node-red-pi": "${packageDir}/bin/node-red-pi"}}' package.json > package.json.tmp 30 mv package.json.tmp package.json 31 ''; 32 33 makeCacheWritable = true; 34 35 passthru = { 36 tests = { 37 inherit (nixosTests) node-red; 38 }; 39 updateScript = ./update.sh; 40 }; 41 42 meta = { 43 changelog = "https://github.com/node-red/node-red/blob/${src.rev}/CHANGELOG.md"; 44 description = "Low-code programming for event-driven applications"; 45 homepage = "https://nodered.org/"; 46 license = lib.licenses.asl20; 47 mainProgram = "node-red"; 48 maintainers = with lib.maintainers; [ matthewcroughan ]; 49 }; 50}