# $OpenBSD$
#

COMMENT =	OpenAI terminal-based coding agent

V =		0.82.0

GH_ACCOUNT =	openai
GH_PROJECT =	codex
GH_TAGNAME =	rust-v${V}

DISTNAME =	${GH_PROJECT}-${GH_TAGNAME}
PKGNAME =	${GH_PROJECT}-${V}

# distfiles for git-based crossterm, ratatui
CROSSTERM_COMMIT =	87db8bfa6dc99427fd3b071681b07fc31c6ce995
RATATUI_COMMIT =	9b2ad1298408c45918ee9f8241a6f95498cdbed2
DISTFILES =		${DISTNAME}.tar.gz

SITES.crossterm =	https://github.com/nornagon/crossterm/archive/
DISTFILES.crossterm =	crossterm-${CROSSTERM_COMMIT}{${CROSSTERM_COMMIT}}${EXTRACT_SUFX}

SITES.ratatui =		https://github.com/nornagon/ratatui/archive/
DISTFILES.ratatui =	ratatui-${RATATUI_COMMIT}{${RATATUI_COMMIT}}${EXTRACT_SUFX}

CATEGORIES =	devel

HOMEPAGE =	https://github.com/openai/codex

# Apache 2.0
PERMIT_PACKAGE =	Yes

# only build the Rust workspace (the repo also contains JS tooling).
WRKSRC =		${WRKDIST}/codex-rs

MODULES =		devel/cargo
CONFIGURE_STYLE =	cargo

# install the CLI crate ('codex')
MODCARGO_INSTALL_TARGET_PATHS = cli

FLAVORS =	openssl3
FLAVOR ?=

WANTLIB +=	${MODCARGO_WANTLIB}
WANTLIB +=	crypto ssl

.if ${FLAVOR:Mopenssl3}
LIB_DEPENDS +=	security/openssl/3.2
MAKE_ENV +=	OPENSSL_DIR=${LOCALBASE}
MAKE_ENV +=	OPENSSL_LIB_DIR=${LOCALBASE}/lib
MAKE_ENV +=	OPENSSL_INCLUDE_DIR=${LOCALBASE}/include
.endif

# test suite expects network access and a configured OpenAI account
NO_TEST =	Yes

.include "crates.inc"

.include <bsd.port.mk>
