%define debug_package %{nil} %bcond_with vendored Name: gemini-cli Version: 0.40.1 Release: 3%{?dist} Summary: AI agent that brings Gemini into your terminal License: Apache-2.0 URL: https://github.com/google-gemini/gemini-cli Source0: https://github.com/google-gemini/gemini-cli/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz %if %{with vendored} Source1: %{name}-%{version}-vendor.tar.zst %endif BuildRequires: nodejs >= 20 BuildRequires: npm BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: make Requires: nodejs >= 20 %description gemini-cli is an open-source AI agent that brings the power of Gemini directly into your terminal. It provides an interactive CLI for code generation, explanation, refactoring, and more. %prep %autosetup -n %{name}-%{version} %if %{with vendored} # Source1 contains pre-built node_modules/ (with workspace symlinks preserved) tar -xaf %{SOURCE1} test -d node_modules %endif %build %if %{with vendored} # node_modules from Source1 — no npm install needed %else npm ci %endif npm run generate || true npm run build --workspaces %install mkdir -p %{buildroot}%{_datadir}/gemini-cli cp -ar . %{buildroot}%{_datadir}/gemini-cli/ mkdir -p %{buildroot}%{_bindir} cat > %{buildroot}%{_bindir}/gemini << 'GEMINI_WRAPPER' #!/bin/bash exec /usr/bin/node /usr/share/gemini-cli/packages/cli/dist/index.js "$@" GEMINI_WRAPPER chmod +x %{buildroot}%{_bindir}/gemini %check %{buildroot}%{_bindir}/gemini --version %files %license LICENSE %doc README.md %{_bindir}/gemini %{_datadir}/gemini-cli/ %changelog * Tue May 05 2026 sachesi - 0.40.1-3 - Fix non-vendored build: remove --ignore-scripts so esbuild binary installs * Tue May 05 2026 sachesi - 0.40.1-2 - Default to online build (--without vendored). Set enable_net=True in Copr. * Tue May 05 2026 sachesi - 0.40.1-1 - Initial import for COPR - Vendored node_modules for offline COPR builds (Source1) - npm ci + npm run build --workspaces for build