codex: 0.1.2504161510 -> 0.1.2504251709; use pnpm (#403137)

This commit is contained in:
Pol Dellaiera
2025-05-01 08:54:25 +02:00
committed by GitHub
+55 -8
View File
@@ -1,24 +1,71 @@
{
lib,
buildNpmPackage,
stdenv,
fetchFromGitHub,
nodejs_22, # Node ≥22 is required by codex-cli
pnpm_10,
makeBinaryWrapper,
installShellFiles,
versionCheckHook,
}:
buildNpmPackage rec {
stdenv.mkDerivation (finalAttrs: {
pname = "codex";
version = "0.1.2504161510"; # from codex-cli/package.json
version = "0.1.2504251709"; # from codex-cli/package.json
src = fetchFromGitHub {
owner = "openai";
repo = "codex";
rev = "b0ccca555685b1534a0028cb7bfdcad8fe2e477a";
hash = "sha256-WTnP6HZfrMjUoUZL635cngpfvvjrA2Zvm74T2627GwA=";
rev = "103093f79324482020490cb658cc1a696aece3bc";
hash = "sha256-GmMQi67HRanGKhiTKX8wgnpUbA1UwkPVe3siU4qC02Y=";
};
sourceRoot = "${src.name}/codex-cli";
pnpmWorkspaces = [ "@openai/codex" ];
npmDepsHash = "sha256-riVXC7T9zgUBUazH5Wq7+MjU1FepLkp9kHLSq+ZVqbs=";
nativeBuildInputs = [
nodejs_22
pnpm_10.configHook
makeBinaryWrapper
installShellFiles
];
pnpmDeps = pnpm_10.fetchDeps {
inherit (finalAttrs)
pname
version
src
pnpmWorkspaces
;
hash = "sha256-pPwHjtqqaG+Zqmq6x5o+WCT1H9XuXAqFNKMzevp7wTc=";
};
buildPhase = ''
runHook preBuild
pnpm --filter @openai/codex run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
dest=$out/lib/node_modules/@openai/codex
mkdir -p "$dest"
cp -r codex-cli/dist codex-cli/bin codex-cli/package.json "$dest"
cp LICENSE README.md "$dest"
mkdir -p $out/bin
makeBinaryWrapper ${nodejs_22}/bin/node $out/bin/codex --add-flags "$dest/bin/codex.js"
# Install shell completions
${lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
$out/bin/codex completion bash > codex.bash
$out/bin/codex completion zsh > codex.zsh
$out/bin/codex completion fish > codex.fish
installShellCompletion codex.{bash,zsh,fish}
''}
runHook postInstall
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
@@ -30,4 +77,4 @@ buildNpmPackage rec {
maintainers = [ lib.maintainers.malo ];
mainProgram = "codex";
};
}
})