Monorepo for Tangled tangled.org
1# inspired by https://github.com/NixOS/nixpkgs/blob/333bfb7c258fab089a834555ea1c435674c459b4/pkgs/by-name/ga/gatsby-cli/package.nix 2{ 3 lib, 4 stdenv, 5 fetchFromGitHub, 6 fetchYarnDeps, 7 yarnConfigHook, 8 yarnBuildHook, 9 nodejs, 10 makeBinaryWrapper, 11}: 12stdenv.mkDerivation (finalAttrs: { 13 pname = "did-method-plc"; 14 version = "0.0.1"; 15 16 src = fetchFromGitHub { 17 owner = "did-method-plc"; 18 repo = "did-method-plc"; 19 rev = "158ba5535ac3da4fd4309954bde41deab0b45972"; 20 sha256 = "sha256-O5smubbrnTDMCvL6iRyMXkddr5G7YHxkQRVMRULHanQ="; 21 }; 22 postPatch = '' 23 # remove dd-trace dependency 24 sed -i '3d' packages/server/service/index.js 25 ''; 26 27 yarnOfflineCache = fetchYarnDeps { 28 yarnLock = finalAttrs.src + "/yarn.lock"; 29 hash = "sha256-g8GzaAbWSnWwbQjJMV2DL5/ZlWCCX0sRkjjvX3tqU4Y="; 30 }; 31 32 nativeBuildInputs = [ 33 yarnConfigHook 34 yarnBuildHook 35 nodejs 36 makeBinaryWrapper 37 ]; 38 yarnBuildScript = "lerna"; 39 yarnBuildFlags = [ 40 "run" 41 "build" 42 "--scope" 43 "@did-plc/server" 44 "--include-dependencies" 45 ]; 46 47 installPhase = '' 48 runHook preInstall 49 50 mkdir -p $out/lib/node_modules/ 51 mv packages/ $out/lib/packages/ 52 mv node_modules/* $out/lib/node_modules/ 53 54 makeWrapper ${lib.getExe nodejs} $out/bin/plc \ 55 --add-flags $out/lib/packages/server/service/index.js \ 56 --add-flags --enable-source-maps \ 57 --set NODE_PATH $out/lib/node_modules 58 59 runHook postInstall 60 ''; 61 62 meta = { 63 mainProgram = "plc"; 64 }; 65})