ports/misc/codex/Makefile

102 lines
3.4 KiB
Makefile

PORTNAME= codex
DISTVERSIONPREFIX= rust-v
DISTVERSION= 0.73.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
LIB_DEPENDS= 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 ssl
USE_GITHUB= yes
GH_ACCOUNT= openai
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/environment_context.rs \
${BUILD_WRKSRC}/core/src/exec.rs \
${BUILD_WRKSRC}/core/src/parse_command.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/src/tools/spec.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}/tui/src/exec_command.rs \
${BUILD_WRKSRC}/tui2/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_safety/is_safe_command.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}/mcp-server/tests/suite/codex_tool.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>