main @ 52 LINES
[ HISTORY ] [ UP ]
┌─ NIX ──────────────────────────────────────────────────────────────────────┐
│ { │
│ lib, │
│ buildNpmPackage, │
│ fetchFromGitHub, │
│ python3, │
│ node-gyp, │
│ }: │
│ buildNpmPackage rec { │
│ pname = "node-pty"; │
│ version = "1.1.0"; │
│ │
│ src = fetchFromGitHub { │
│ owner = "microsoft"; │
│ repo = "node-pty"; │
│ rev = "v${version}"; │
│ hash = "sha256-R0QxTw3tNJvW4aEi+GOF0iZhGgI42HTYJih90CdF18I="; │
│ }; │
│ │
│ npmDepsHash = "sha256-HRv/4NO7CHkPs7ld8lx61n2cty0EhmWVrpH/1Vqh+Nk="; │
│ │
│ # node-gyp needs python3 for native compilation │
│ nativeBuildInputs = [python3 node-gyp]; │
│ │
│ # chokidar (dev dep) has an optional dep on fsevents (macOS-only). │
│ # The Nix npm deps fetcher excludes it, so npm ci sees a lock/json │
│ # mismatch. Strip the reference from the lock file to fix the sync. │
│ postPatch = '' │
│ sed -i '/"fsevents"/d' package-lock.json │
│ ''; │
│ │
│ # Default npmBuildHook only runs "npm run build" (tsc), but we also │
│ # need the native addon. Run both explicitly. │
│ buildPhase = '' │
│ runHook preBuild │
│ npm run build │
│ node-gyp rebuild │
│ runHook postBuild │
│ ''; │
│ │
│ # npmInstallHook doesn't copy the native addon - do it ourselves │
│ postInstall = '' │
│ cp -r build $out/lib/node_modules/node-pty/ │
│ ''; │
│ │
│ meta = with lib; { │
│ description = "Fork pseudoterminals in Node.JS"; │
│ homepage = "https://github.com/microsoft/node-pty"; │
│ license = licenses.mit; │
│ platforms = platforms.linux; │
│ }; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ NIX ────────────────────────────────┐
│ { │
│ lib, │
│ buildNpmPackage, │
│ fetchFromGitHub, │
│ python3, │
│ node-gyp, │
│ }: │
│ buildNpmPackage rec { │
│ pname = "node-pty"; │
│ version = "1.1.0"; │
│ │
│ src = fetchFromGitHub { │
│ owner = "microsoft"; │
│ repo = "node-pty"; │
│ rev = "v${version}"; │
│ hash = "sha256-R0QxTw3tNJvW4aEi+GOF0iZhG │
│ gI42HTYJih90CdF18I="; │
│ }; │
│ │
│ npmDepsHash = "sha256-HRv/4NO7CHkPs7ld8lx6 │
│ 1n2cty0EhmWVrpH/1Vqh+Nk="; │
│ │
│ # node-gyp needs python3 for native compil │
│ ation │
│ nativeBuildInputs = [python3 node-gyp]; │
│ │
│ # chokidar (dev dep) has an optional dep o │
│ n fsevents (macOS-only). │
│ # The Nix npm deps fetcher excludes it, so │
│ npm ci sees a lock/json │
│ # mismatch. Strip the reference from the l │
│ ock file to fix the sync. │
│ postPatch = '' │
│ sed -i '/"fsevents"/d' package-lock.json │
│ ''; │
│ │
│ # Default npmBuildHook only runs "npm run │
│ build" (tsc), but we also │
│ # need the native addon. Run both explicit │
│ ly. │
│ buildPhase = '' │
│ runHook preBuild │
│ npm run build │
│ node-gyp rebuild │
│ runHook postBuild │
│ ''; │
│ │
│ # npmInstallHook doesn't copy the native a │
│ ddon - do it ourselves │
│ postInstall = '' │
│ cp -r build $out/lib/node_modules/node-p │
│ ty/ │
│ ''; │
│ │
│ meta = with lib; { │
│ description = "Fork pseudoterminals in N │
│ ode.JS"; │
│ homepage = "https://github.com/microsoft │
│ /node-pty"; │
│ license = licenses.mit; │
│ platforms = platforms.linux; │
│ }; │
│ } │
└──────────────────────────────────────────────┘
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET