83d1a44362
Changelog: - https://github.com/openai/codex/releases/tag/rust-v0.137.0 - https://github.com/openai/codex/releases/tag/rust-v0.138.0 - https://github.com/openai/codex/releases/tag/rust-v0.139.0 Reported by: GitHub (watch releases)
192 lines
7.9 KiB
Makefile
192 lines
7.9 KiB
Makefile
PORTNAME= codex
|
|
DISTVERSIONPREFIX= rust-v
|
|
DISTVERSION= 0.139.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
|
|
|
|
BUILD_DEPENDS= gn:devel/gn \
|
|
icu>0:devel/icu
|
|
LIB_DEPENDS= libzstd.so:archivers/zstd \
|
|
libasound.so:audio/alsa-lib \
|
|
libdbus-1.so:devel/dbus \
|
|
libonig.so:devel/oniguruma
|
|
RUN_DEPENDS= bash:shells/bash \
|
|
rg:textproc/ripgrep
|
|
TEST_DEPENDS= bash:shells/bash
|
|
|
|
USES= cargo gnome llvm:min=21 ninja:build python:test \
|
|
shebangfix ssl
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= openai
|
|
|
|
USE_GNOME= glib20
|
|
|
|
SHEBANG_FILES= codex-rs/skills/src/assets/samples/imagegen/scripts/image_gen.py \
|
|
codex-rs/skills/src/assets/samples/imagegen/scripts/remove_chroma_key.py \
|
|
codex-rs/skills/src/assets/samples/plugin-creator/scripts/create_basic_plugin.py \
|
|
codex-rs/skills/src/assets/samples/plugin-creator/scripts/read_marketplace_name.py \
|
|
codex-rs/skills/src/assets/samples/plugin-creator/scripts/update_plugin_cachebuster.py \
|
|
codex-rs/skills/src/assets/samples/plugin-creator/scripts/validate_plugin.py \
|
|
codex-rs/skills/src/assets/samples/skill-creator/scripts/generate_openai_yaml.py \
|
|
codex-rs/skills/src/assets/samples/skill-creator/scripts/init_skill.py \
|
|
codex-rs/skills/src/assets/samples/skill-creator/scripts/quick_validate.py \
|
|
codex-rs/skills/src/assets/samples/skill-installer/scripts/github_utils.py \
|
|
codex-rs/skills/src/assets/samples/skill-installer/scripts/install-skill-from-github.py \
|
|
codex-rs/skills/src/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 \
|
|
V8_FROM_SOURCE=1 \
|
|
GN=${LOCALBASE}/bin/gn \
|
|
NINJA=${NINJA_CMD} \
|
|
CLANG_BASE_PATH=${LLVM_PREFIX}
|
|
|
|
BINARY_ALIAS= python3=${PYTHON_CMD} \
|
|
cpp=${LOCALBASE}/bin/clang-cpp${LLVM_VERSION} \
|
|
cc=${LOCALBASE}/bin/clang${LLVM_VERSION} \
|
|
c++=${LOCALBASE}/bin/clang++${LLVM_VERSION} \
|
|
ar=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \
|
|
nm=${LOCALBASE}/bin/llvm-nm${LLVM_VERSION} \
|
|
ld=${LOCALBASE}/bin/ld.lld${LLVM_VERSION}
|
|
|
|
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-configure:
|
|
@${MKDIR} ${WRKSRC_crate_v8}/third_party/icu/common
|
|
.for suffix in l b
|
|
@if [ -r ${LOCALBASE}/share/icu/*/icudt*${suffix}.dat ]; then \
|
|
${CP} ${LOCALBASE}/share/icu/*/icudt*${suffix}.dat \
|
|
${WRKSRC_crate_v8}/third_party/icu/common/icudt${suffix}.dat; \
|
|
fi
|
|
.endfor
|
|
|
|
post-patch:
|
|
@${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/command_canonicalization_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/context/environment_context_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/exec_policy.rs \
|
|
${BUILD_WRKSRC}/core/src/exec_policy_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/exec_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/shell_snapshot_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/shell_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/tools/handlers/shell_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/tools/handlers/unified_exec_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/tools/runtimes/mod.rs \
|
|
${BUILD_WRKSRC}/core/src/tools/runtimes/mod_tests.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/exec.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/guardian_review.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/unified_exec.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/user_notification.rs \
|
|
${BUILD_WRKSRC}/exec-server/tests/file_system.rs \
|
|
${BUILD_WRKSRC}/shell-command/src/parse_command.rs \
|
|
${BUILD_WRKSRC}/shell-command/src/shell_detect.rs \
|
|
${BUILD_WRKSRC}/shell-escalation/src/unix/escalate_server.rs \
|
|
${BUILD_WRKSRC}/tui/src/exec_command.rs
|
|
@${REINPLACE_CMD} -e 's|python3|${PYTHON_VERSION}|' \
|
|
${BUILD_WRKSRC}/app-server/tests/suite/v2/command_exec.rs \
|
|
${BUILD_WRKSRC}/app-server/tests/suite/v2/hooks_list.rs \
|
|
${BUILD_WRKSRC}/app-server/tests/suite/v2/thread_resume.rs \
|
|
${BUILD_WRKSRC}/app-server/tests/suite/v2/thread_shell_command.rs \
|
|
${BUILD_WRKSRC}/app-server/tests/suite/v2/turn_interrupt.rs \
|
|
${BUILD_WRKSRC}/app-server/tests/suite/v2/turn_start.rs \
|
|
${BUILD_WRKSRC}/app-server/tests/suite/v2/turn_start_zsh_fork.rs \
|
|
${BUILD_WRKSRC}/config/src/config_requirements.rs \
|
|
${BUILD_WRKSRC}/config/src/hooks_tests.rs \
|
|
${BUILD_WRKSRC}/core-skills/src/invocation_utils.rs \
|
|
${BUILD_WRKSRC}/core-skills/src/invocation_utils_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/command_canonicalization_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/config/config_loader_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/exec_policy.rs \
|
|
${BUILD_WRKSRC}/core/src/exec_policy_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/mcp_tool_call_tests.rs \
|
|
${BUILD_WRKSRC}/core/src/session/tests.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/approvals.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/code_mode.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/compact.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/compact_remote_parity.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/exec.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/hooks.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/hooks_mcp.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/openai_file_mcp.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/subagent_notifications.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/tools.rs \
|
|
${BUILD_WRKSRC}/core/tests/suite/unified_exec.rs \
|
|
${BUILD_WRKSRC}/exec-server/tests/exec_process.rs \
|
|
${BUILD_WRKSRC}/exec/tests/suite/sandbox.rs \
|
|
${BUILD_WRKSRC}/execpolicy/tests/basic.rs \
|
|
${BUILD_WRKSRC}/external-agent-migration/src/lib.rs \
|
|
${BUILD_WRKSRC}/hooks/src/engine/mod_tests.rs \
|
|
${BUILD_WRKSRC}/hooks/src/events/compact.rs \
|
|
${BUILD_WRKSRC}/hooks/src/events/post_tool_use.rs \
|
|
${BUILD_WRKSRC}/linux-sandbox/tests/suite/landlock.rs \
|
|
${BUILD_WRKSRC}/linux-sandbox/tests/suite/managed_proxy.rs \
|
|
${BUILD_WRKSRC}/shell-command/src/bash.rs \
|
|
${BUILD_WRKSRC}/shell-command/src/command_safety/is_safe_command.rs \
|
|
${BUILD_WRKSRC}/tui/src/app/tests.rs \
|
|
${BUILD_WRKSRC}/tui/src/chatwidget/tests/app_server.rs \
|
|
${BUILD_WRKSRC}/tui/src/chatwidget/tests/approval_requests.rs \
|
|
${BUILD_WRKSRC}/tui/src/chatwidget/tests/exec_flow.rs \
|
|
${BUILD_WRKSRC}/tui/src/debug_config.rs \
|
|
${BUILD_WRKSRC}/tui/src/exec_command.rs \
|
|
${BUILD_WRKSRC}/tui/src/render/highlight.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>
|