ports/misc/codex/Makefile

119 lines
4.4 KiB
Makefile

PORTNAME= codex
DISTVERSIONPREFIX= rust-v
DISTVERSION= 0.101.0
CATEGORIES= misc devel
MAINTAINER= tagattie@FreeBSD.org
COMMENT= Lightweight coding agent that runs in your terminal
WWW= https://openai.com/codex \
https://github.com/openai/codex
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_i386= fails to build: rustc-LLVM ERROR: out of memory
LIB_DEPENDS= libzstd.so:archivers/zstd \
libdbus-1.so:devel/dbus \
libonig.so:devel/oniguruma
RUN_DEPENDS= bash:shells/bash \
rg:textproc/ripgrep
TEST_DEPENDS= bash:shells/bash
USES= cargo python:test shebangfix ssl
USE_GITHUB= yes
GH_ACCOUNT= openai
SHEBANG_FILES= codex-rs/core/src/skills/assets/samples/skill-creator/scripts/generate_openai_yaml.py \
codex-rs/core/src/skills/assets/samples/skill-creator/scripts/init_skill.py \
codex-rs/core/src/skills/assets/samples/skill-creator/scripts/quick_validate.py \
codex-rs/core/src/skills/assets/samples/skill-installer/scripts/github_utils.py \
codex-rs/core/src/skills/assets/samples/skill-installer/scripts/install-skill-from-github.py \
codex-rs/core/src/skills/assets/samples/skill-installer/scripts/list-skills.py \
codex-rs/vendor/bubblewrap/demos/userns-block-fd.py \
codex-rs/vendor/bubblewrap/tests/test-seccomp.py \
codex-rs/vendor/bubblewrap/tests/use-as-subproject/assert-correct-rpath.py
CARGO_CARGOTOML= ${BUILD_WRKSRC}/Cargo.toml
CARGO_CARGOLOCK= ${BUILD_WRKSRC}/Cargo.lock
CARGO_BUILD_ARGS= --bin ${PORTNAME}
CARGO_INSTALL_PATH= codex-rs
CARGO_TEST_ARGS= --all-features --no-fail-fast
CARGO_ENV= OPENSSL_NO_VENDOR=1
BUILD_WRKSRC= ${WRKSRC}/codex-rs
PLIST_FILES= bin/${PORTNAME}
PORTDOCS= README.md config.md
OPTIONS_DEFINE= COMPLETIONS DOCS
OPTIONS_DEFAULT= COMPLETIONS
COMPLETIONS_DESC= Build and/or install shell completions
COMPLETIONS_PLIST_FILES=etc/bash_completion.d/${PORTNAME} \
share/fish/completions/${PORTNAME}.fish \
share/zsh/site-functions/_${PORTNAME}
post-patch:
@${REINPLACE_CMD} -e 's|0\.0\.0|${DISTVERSION}|' \
${BUILD_WRKSRC}/app-server/tests/suite/user_agent.rs
@${REINPLACE_CMD} -e 's|/bin/bash|${LOCALBASE}&|' \
${BUILD_WRKSRC}/cli/src/debug_sandbox/pid_tracker.rs \
${BUILD_WRKSRC}/core/src/command_canonicalization.rs \
${BUILD_WRKSRC}/core/src/environment_context.rs \
${BUILD_WRKSRC}/core/src/exec.rs \
${BUILD_WRKSRC}/core/src/shell.rs \
${BUILD_WRKSRC}/core/src/shell_snapshot.rs \
${BUILD_WRKSRC}/core/src/tools/handlers/shell.rs \
${BUILD_WRKSRC}/core/src/tools/handlers/unified_exec.rs \
${BUILD_WRKSRC}/core/tests/suite/exec.rs \
${BUILD_WRKSRC}/core/tests/suite/unified_exec.rs \
${BUILD_WRKSRC}/core/tests/suite/user_notification.rs \
${BUILD_WRKSRC}/shell-command/src/parse_command.rs \
${BUILD_WRKSRC}/tui/src/exec_command.rs
@${REINPLACE_CMD} -e 's|python3|${PYTHON_VERSION}|' \
${BUILD_WRKSRC}/app-server/tests/suite/codex_message_processor_flow.rs \
${BUILD_WRKSRC}/app-server/tests/suite/v2/turn_start.rs \
${BUILD_WRKSRC}/core/src/command_canonicalization.rs \
${BUILD_WRKSRC}/core/src/exec_policy.rs \
${BUILD_WRKSRC}/core/tests/suite/approvals.rs \
${BUILD_WRKSRC}/core/tests/suite/seatbelt.rs \
${BUILD_WRKSRC}/core/tests/suite/tools.rs \
${BUILD_WRKSRC}/core/tests/suite/unified_exec.rs \
${BUILD_WRKSRC}/exec/tests/suite/sandbox.rs \
${BUILD_WRKSRC}/execpolicy/tests/basic.rs \
${BUILD_WRKSRC}/mcp-server/tests/suite/codex_tool.rs \
${BUILD_WRKSRC}/shell-command/src/bash.rs \
${BUILD_WRKSRC}/shell-command/src/command_safety/is_safe_command.rs \
${BUILD_WRKSRC}/utils/pty/src/tests.rs
post-build-COMPLETIONS-on:
@${MKDIR} ${WRKSRC}/completions
.for sh in bash fish zsh
${CARGO_TARGET_DIR}/*/${PORTNAME} completion ${sh} > \
${WRKSRC}/completions/${PORTNAME}.${sh}
.endfor
do-install:
${INSTALL_PROGRAM} ${CARGO_TARGET_DIR}/*/${PORTNAME} \
${STAGEDIR}${PREFIX}/bin
do-install-COMPLETIONS-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d \
${STAGEDIR}${PREFIX}/share/fish/completions \
${STAGEDIR}${PREFIX}/share/zsh/site-functions
${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.bash \
${STAGEDIR}${PREFIX}/etc/bash_completion.d/${PORTNAME}
${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.fish \
${STAGEDIR}${PREFIX}/share/fish/completions/${PORTNAME}.fish
${INSTALL_DATA} ${WRKSRC}/completions/${PORTNAME}.zsh \
${STAGEDIR}${PREFIX}/share/zsh/site-functions/_${PORTNAME}
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_MAN} ${PORTDOCS:S|^|${BUILD_WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>