# inspired by https://github.com/NixOS/nixpkgs/blob/333bfb7c258fab089a834555ea1c435674c459b4/pkgs/by-name/ga/gatsby-cli/package.nix { lib, stdenv, fetchFromGitHub, fetchYarnDeps, yarnConfigHook, yarnBuildHook, nodejs, makeBinaryWrapper, }: stdenv.mkDerivation (finalAttrs: { pname = "did-method-plc"; version = "0.0.1"; src = fetchFromGitHub { owner = "did-method-plc"; repo = "did-method-plc"; rev = "158ba5535ac3da4fd4309954bde41deab0b45972"; sha256 = "sha256-O5smubbrnTDMCvL6iRyMXkddr5G7YHxkQRVMRULHanQ="; }; postPatch = '' # remove dd-trace dependency sed -i '3d' packages/server/service/index.js ''; yarnOfflineCache = fetchYarnDeps { yarnLock = finalAttrs.src + "/yarn.lock"; hash = "sha256-g8GzaAbWSnWwbQjJMV2DL5/ZlWCCX0sRkjjvX3tqU4Y="; }; nativeBuildInputs = [ yarnConfigHook yarnBuildHook nodejs makeBinaryWrapper ]; yarnBuildScript = "lerna"; yarnBuildFlags = [ "run" "build" "--scope" "@did-plc/server" "--include-dependencies" ]; installPhase = '' runHook preInstall mkdir -p $out/lib/node_modules/ mv packages/ $out/lib/packages/ mv node_modules/* $out/lib/node_modules/ makeWrapper ${lib.getExe nodejs} $out/bin/plc \ --add-flags $out/lib/packages/server/service/index.js \ --add-flags --enable-source-maps \ --set NODE_PATH $out/lib/node_modules runHook postInstall ''; meta = { mainProgram = "plc"; }; })