diff --git a/misc/github-copilot-cli/Makefile b/misc/github-copilot-cli/Makefile index ff62b77a9431..918d3842363b 100644 --- a/misc/github-copilot-cli/Makefile +++ b/misc/github-copilot-cli/Makefile @@ -1,143 +1,143 @@ PORTNAME= github-copilot-cli -DISTVERSION= 0.0.366 +DISTVERSION= 0.0.373 CATEGORIES= misc # machine-learning DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} \ ${NODE_HEADERS}${EXTRACT_SUFX} DIST_SUBDIR= ${PORTNAME} MAINTAINER= yuri@FreeBSD.org COMMENT= GitHub Copilot CLI brings the power of the coding agent to terminal WWW= https://github.com/github/copilot-cli ONLY_FOR_ARCHS= aarch64 amd64 ONLY_FOR_ARCHS_REASON= binaries are installed in folders with architecture encoded in them, patches are welcome to fix this limitation FETCH_DEPENDS= npm:www/npm \ jq:textproc/jq BUILD_DEPENDS= npm:www/npm \ libsecret>0:security/libsecret \ vips>=8.17.2:graphics/vips RUN_DEPENDS= libsecret>0:security/libsecret \ vips>=8.17.2:graphics/vips USES= nodejs:run pkgconfig python:build WRKSRC= ${WRKDIR}/copilot-${DISTVERSION} PACKAGE_NAME= @github/copilot NODE_HEADERS= node-v22.19.0-headers JS_ARCH= ${ARCH:S/amd64/x64/:S/aarch64/arm64/} PLIST_SUB= JS_ARCH=${JS_ARCH} DD= ${DISTDIR}/${DIST_SUBDIR} FETCH_SCRIPT= ${PORTSDIR}/Tools/scripts/npmjs-fetch-with-dependencies.sh DEP_MODULES= pty sharp keytar node_addon_api dep_pty_npm_name= @devm33/node-pty dep_pty_version= 1.0.9 dep_sharp_npm_name= sharp dep_sharp_version= 0.34.4 dep_keytar_npm_name= keytar dep_keytar_version= 7.9.0 dep_node_addon_api_npm_name= node-addon-api dep_node_addon_api_version= 8.5.0 .for dep in ${DEP_MODULES} DISTFILES+= ${dep:S/_/-/g}-${dep_${dep}_version}${EXTRACT_SUFX} .endfor do-fetch: @if ! [ -f ${DD}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} ] || \ ! [ -f ${DD}/${NODE_HEADERS}${EXTRACT_SUFX} ] || \ ! [ -f ${DD}/pty-${dep_pty_version}${EXTRACT_SUFX} ] || \ ! [ -f ${DD}/sharp-${dep_sharp_version}${EXTRACT_SUFX} ] || \ ! [ -f ${DD}/keytar-${dep_keytar_version}${EXTRACT_SUFX} ] || \ ! [ -f ${DD}/node-addon-api-${dep_node_addon_api_version}${EXTRACT_SUFX} ]; then \ ${MKDIR} ${DD} && \ ${ECHO} "====> Fetching ${NODE_HEADERS}${EXTRACT_SUFX}" && \ ${FETCH_CMD} -q https://nodejs.org/download/release/v22.19.0/${NODE_HEADERS}${EXTRACT_SUFX} -o ${DD}/${NODE_HEADERS}${EXTRACT_SUFX} && \ ${ECHO} "====> Fetching dependency pty" && \ ${SETENV} TMPDIR=${WRKDIR} ${FETCH_SCRIPT} \ ${dep_pty_npm_name} ${dep_pty_version} \ ${FILESDIR}/package-lock-pty.json \ ${DD}/pty-${dep_pty_version}${EXTRACT_SUFX} && \ ${ECHO} "====> Fetching dependency sharp" && \ ${SETENV} TMPDIR=${WRKDIR} ${FETCH_SCRIPT} \ ${dep_sharp_npm_name} ${dep_sharp_version} \ ${FILESDIR}/package-lock-sharp.json \ ${DD}/sharp-${dep_sharp_version}${EXTRACT_SUFX} && \ ${ECHO} "====> Fetching dependency keytar" && \ ${SETENV} TMPDIR=${WRKDIR} ${FETCH_SCRIPT} \ ${dep_keytar_npm_name} ${dep_keytar_version} \ ${FILESDIR}/package-lock-keytar.json \ ${DD}/keytar-${dep_keytar_version}${EXTRACT_SUFX} && \ ${ECHO} "====> Fetching dependency node-addon-api" && \ ${SETENV} TMPDIR=${WRKDIR} ${FETCH_SCRIPT} \ ${dep_node_addon_api_npm_name} ${dep_node_addon_api_version} \ ${FILESDIR}/package-lock-node-addon-api.json \ ${DD}/node-addon-api-${dep_node_addon_api_version}${EXTRACT_SUFX} && \ ${ECHO} "====> Fetching ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}" && \ ${SETENV} TMPDIR=${WRKDIR} ${FETCH_SCRIPT} \ ${PACKAGE_NAME} ${DISTVERSION} \ ${FILESDIR}/package-lock.json \ ${DD}/${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}; \ fi post-extract: # Extract node-addon-api and install into sharp/node_modules # the tarball has a nested structure, so we need to move the inner directory @${MV} \ ${WRKDIR}/${dep_node_addon_api_npm_name}-${dep_node_addon_api_version}/node_modules/${dep_node_addon_api_npm_name} \ ${WRKDIR}/${dep_sharp_npm_name}-${dep_sharp_version}/node_modules/${dep_sharp_npm_name}/node_modules/node-addon-api do-build: # Create directory for FreeBSD prebuilds @${MKDIR} ${WRKSRC}/node_modules/${PACKAGE_NAME}/prebuilds/freebsd-x64 @${ECHO_MSG} "====> Building pty..." @cd ${WRKDIR}/node-pty-${dep_pty_version}/node_modules/${dep_pty_npm_name} && \ ${SETENV} HOME=${WRKDIR} CFLAGS="-I${LOCALBASE}/include" CXXFLAGS="-I${LOCALBASE}/include" \ npm rebuild --nodedir=${LOCALBASE} && \ ${CP} build/Release/pty.node ${WRKSRC}/node_modules/${PACKAGE_NAME}/prebuilds/freebsd-x64/ @${ECHO_MSG} "====> Building sharp..." @cd ${WRKDIR}/sharp-${dep_sharp_version}/node_modules/${dep_sharp_npm_name}/src && \ ${SETENV} HOME=${WRKDIR} PYTHON=${PYTHON_CMD} CXXFLAGS="-I${LOCALBASE}/include" \ node-gyp configure build --nodedir=${WRKDIR}/node-v22.19.0 && \ ${MKDIR} ${WRKSRC}/node_modules/@img/sharp-freebsd-x64 && \ ${CP} build/Release/sharp-freebsd-x64.node ${WRKSRC}/node_modules/@img/sharp-freebsd-x64/sharp.node @${ECHO_MSG} "====> Building keytar..." @cd ${WRKDIR}/keytar-${dep_keytar_version}/node_modules/${dep_keytar_npm_name} && \ ${SETENV} HOME=${WRKDIR} CFLAGS="-I${LOCALBASE}/include" CXXFLAGS="-I${LOCALBASE}/include" \ npm rebuild --nodedir=${LOCALBASE} && \ ${CP} build/Release/keytar.node ${WRKSRC}/node_modules/${PACKAGE_NAME}/prebuilds/freebsd-x64/ do-install: # install files cd ${WRKSRC} && \ ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib # remove *.node files for other OSes @${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -name "*\\.node" | \ ${GREP} -v freebsd | \ ${XARGS} ${RM} # remove files for other OSes @${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -name "*linux*" | ${XARGS} ${RM} -r @${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -name "*win32*" | ${XARGS} ${RM} -r @${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -name "*darwin*" | ${XARGS} ${RM} -r # remove unnecessary files @${FIND} ${STAGEDIR}${PREFIX}/lib -type f -and -name "*package*.json" -delete @${FIND} ${STAGEDIR}${PREFIX}/lib -type f -and -name "README.md" -delete @${FIND} ${STAGEDIR}${PREFIX}/lib -type f -and -name "LICENSE.md" -delete # update shebang to use system node @${REINPLACE_CMD} -i '' \ -e "s|#!/usr/bin/env node|#!${PREFIX}/bin/node|" \ ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/index.js # set exec bit - @${CHMOD} +x ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/index.js + @${CHMOD} +x ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME}/npm-loader.js # create symlink in bin @${RLN} -s ${STAGEDIR}${PREFIX}/lib/node_modules/.bin/copilot ${STAGEDIR}${PREFIX}/bin/copilot # strip binaries @${FIND} ${STAGEDIR}${PREFIX}/lib/node_modules/${PACKAGE_NAME} -path "*/build/*" -name *.node | ${XARGS} ${STRIP_CMD} .include diff --git a/misc/github-copilot-cli/distinfo b/misc/github-copilot-cli/distinfo index 8283332cfe4c..e6737e0ac4ce 100644 --- a/misc/github-copilot-cli/distinfo +++ b/misc/github-copilot-cli/distinfo @@ -1,13 +1,13 @@ -TIMESTAMP = 1764869428 -SHA256 (github-copilot-cli/github-copilot-cli-0.0.366.tar.gz) = a0d6b8db3afd2233f3aa3745428bb941d2ed67cd29ac52f13a9fb89a0acc68e8 -SIZE (github-copilot-cli/github-copilot-cli-0.0.366.tar.gz) = 86172378 +TIMESTAMP = 1767316442 +SHA256 (github-copilot-cli/github-copilot-cli-0.0.373.tar.gz) = 0b280b659bb37bbfe17b08e1406d67c2ea861ae0ff47ddcbc09184792413fc14 +SIZE (github-copilot-cli/github-copilot-cli-0.0.373.tar.gz) = 43237161 SHA256 (github-copilot-cli/node-v22.19.0-headers.tar.gz) = 183bdc17092336ad21e01a425d238e85db4ee077ae3caa0547ff1fbda07d9bd8 SIZE (github-copilot-cli/node-v22.19.0-headers.tar.gz) = 8750990 SHA256 (github-copilot-cli/pty-1.0.9.tar.gz) = 0f7550a42239ed4deae3429cf1a568aba8683baa829ff40d7b0d3ae751323dd6 SIZE (github-copilot-cli/pty-1.0.9.tar.gz) = 14897699 SHA256 (github-copilot-cli/sharp-0.34.4.tar.gz) = b4d91181176b3bc561c4991d1cb2d19e49fa95dd6fa38fa68b846320d49a9361 SIZE (github-copilot-cli/sharp-0.34.4.tar.gz) = 171282 SHA256 (github-copilot-cli/keytar-7.9.0.tar.gz) = b3a1dbe0035f23bf80fdf9cd1a23afdece629b192ad10b104165aec32b79b7e7 SIZE (github-copilot-cli/keytar-7.9.0.tar.gz) = 290211 SHA256 (github-copilot-cli/node-addon-api-8.5.0.tar.gz) = 152ef6a9b5450a7c0ce87a2d0be3aa458d1f65c515e9d189cc9fa09feb5aa50e SIZE (github-copilot-cli/node-addon-api-8.5.0.tar.gz) = 61743 diff --git a/misc/github-copilot-cli/files/package-lock.json b/misc/github-copilot-cli/files/package-lock.json index e55d704c35e0..5249ef9d1341 100644 --- a/misc/github-copilot-cli/files/package-lock.json +++ b/misc/github-copilot-cli/files/package-lock.json @@ -1,27 +1,131 @@ { "name": "@github/copilot-installer", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@github/copilot-installer", "version": "1.0.0", "dependencies": { - "@github/copilot": "^0.0.366" + "@github/copilot": "^0.0.373" } }, "node_modules/@github/copilot": { - "version": "0.0.366", - "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-0.0.366.tgz", - "integrity": "sha512-mJ3wAvn4/yCrQBG5kcn2SOvWQSlrftkbpaAUBXX4l42y6Xsi4d9teuEdcwKOsUWLNDavpt3ecoCDnZUaCb/81A==", + "version": "0.0.373", + "resolved": "https://registry.npmjs.org/@github/copilot/-/copilot-0.0.373.tgz", + "integrity": "sha512-rWAsMkJP4kFRQjubwC5RS+WC6zjZdzzRRcIdMWF9R2muF5RvJhFUCv4H4e3A9HSjUeYs6k5HuBIQZIXqXGdljA==", "license": "SEE LICENSE IN LICENSE.md", "bin": { - "copilot": "index.js" + "copilot": "npm-loader.js" }, "engines": { "node": ">=22" + }, + "optionalDependencies": { + "@github/copilot-darwin-arm64": "0.0.373", + "@github/copilot-darwin-x64": "0.0.373", + "@github/copilot-linux-arm64": "0.0.373", + "@github/copilot-linux-x64": "0.0.373", + "@github/copilot-win32-arm64": "0.0.373", + "@github/copilot-win32-x64": "0.0.373" + } + }, + "node_modules/@github/copilot/node_modules/@github/copilot-darwin-arm64": { + "version": "0.0.373", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-arm64/-/copilot-darwin-arm64-0.0.373.tgz", + "integrity": "sha512-pypL9uw18DfTOGkUOHxP1HXRV74Q4QDGeFi2m31gH9VXQBACT5zNcGxn4p9kSnEBcCYvppVj04IGFClE1oB2nA==", + "cpu": [ + "arm64" + ], + "license": "SEE LICENSE IN LICENSE.md", + "optional": true, + "os": [ + "darwin" + ], + "bin": { + "copilot-darwin-arm64": "copilot" + } + }, + "node_modules/@github/copilot/node_modules/@github/copilot-darwin-x64": { + "version": "0.0.373", + "resolved": "https://registry.npmjs.org/@github/copilot-darwin-x64/-/copilot-darwin-x64-0.0.373.tgz", + "integrity": "sha512-OT2Bl48ZOMHQsBTPy+y0xSDPTT1ZQhQHHxXSGvmzlgk/NLl4O43byEmAF5eqIJBiF06TjYzu5N78U7AzmTupfg==", + "cpu": [ + "x64" + ], + "license": "SEE LICENSE IN LICENSE.md", + "optional": true, + "os": [ + "darwin" + ], + "bin": { + "copilot-darwin-x64": "copilot" + } + }, + "node_modules/@github/copilot/node_modules/@github/copilot-linux-arm64": { + "version": "0.0.373", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-arm64/-/copilot-linux-arm64-0.0.373.tgz", + "integrity": "sha512-ub++6tOC2FoQNmfxXJeeNCyTn/kl3/BmnT1Oeyo7/bWfPhwRZx54D2yhCwJGaoxzmZY9fxu1UEy5t5suiQNZLA==", + "cpu": [ + "arm64" + ], + "license": "SEE LICENSE IN LICENSE.md", + "optional": true, + "os": [ + "linux" + ], + "bin": { + "copilot-linux-arm64": "copilot" + } + }, + "node_modules/@github/copilot/node_modules/@github/copilot-linux-x64": { + "version": "0.0.373", + "resolved": "https://registry.npmjs.org/@github/copilot-linux-x64/-/copilot-linux-x64-0.0.373.tgz", + "integrity": "sha512-5fsnGYeizdlYs+X5FVk+Tjl2PpKyCroGUY7nRuH6NI3oRg+GmbTOEdr/NiB4X21+MjYdhWSRgH6D2gfB3yUxAA==", + "cpu": [ + "x64" + ], + "license": "SEE LICENSE IN LICENSE.md", + "optional": true, + "os": [ + "linux" + ], + "bin": { + "copilot-linux-x64": "copilot" + } + }, + "node_modules/@github/copilot/node_modules/@github/copilot-win32-arm64": { + "version": "0.0.373", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-arm64/-/copilot-win32-arm64-0.0.373.tgz", + "integrity": "sha512-xwuUKZjMvUyHP7YdqyPFpmmqcNmjnKF5GFkt3PSLDJNCL1XDYwDE/wj7LxdC+jhLOx+vnbHd57uNbns/T7nDtQ==", + "cpu": [ + "arm64" + ], + "license": "SEE LICENSE IN LICENSE.md", + "optional": true, + "os": [ + "win32" + ], + "bin": { + "copilot-win32-arm64": "copilot.exe" + } + }, + "node_modules/@github/copilot/node_modules/@github/copilot-win32-x64": { + "version": "0.0.373", + "resolved": "https://registry.npmjs.org/@github/copilot-win32-x64/-/copilot-win32-x64-0.0.373.tgz", + "integrity": "sha512-FhVRHFOnf8WtlXBvxVy1VQX13lUoScOhgYNzLjXPVI91NuSI9bAchMctGa3VMrPw6jeQPfbutNT+lXTzr1AQYg==", + "cpu": [ + "x64" + ], + "license": "SEE LICENSE IN LICENSE.md", + "optional": true, + "os": [ + "win32" + ], + "bin": { + "copilot-win32-x64": "copilot.exe" } } } } diff --git a/misc/github-copilot-cli/files/package.json b/misc/github-copilot-cli/files/package.json deleted file mode 100644 index 018391bd38c4..000000000000 --- a/misc/github-copilot-cli/files/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "node-gyp", - "description": "Node.js native addon build tool", - "license": "MIT", - "keywords": [ - "native", - "addon", - "module", - "c", - "c++", - "bindings", - "gyp" - ], - "version": "11.4.2", - "installVersion": 11, - "author": "Nathan Rajlich (http://tootallnate.net)", - "repository": { - "type": "git", - "url": "git://github.com/nodejs/node-gyp.git" - }, - "preferGlobal": true, - "bin": "./bin/node-gyp.js", - "main": "./lib/node-gyp.js", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - }, - "devDependencies": { - "bindings": "^1.5.0", - "cross-env": "^7.0.3", - "eslint": "^9.16.0", - "mocha": "^11.0.1", - "nan": "^2.14.2", - "neostandard": "^0.11.9", - "require-inject": "^1.4.4" - }, - "scripts": { - "lint": "eslint \"*/*.js\" \"test/**/*.js\" \".github/**/*.js\"", - "test": "cross-env NODE_GYP_NULL_LOGGER=true mocha --timeout 15000 test/test-download.js test/test-*" - } -} diff --git a/misc/github-copilot-cli/pkg-plist b/misc/github-copilot-cli/pkg-plist index abb1eae80a45..6958726aa27a 100644 --- a/misc/github-copilot-cli/pkg-plist +++ b/misc/github-copilot-cli/pkg-plist @@ -1,19 +1,43 @@ bin/copilot lib/node_modules/.bin/copilot lib/node_modules/@github/copilot/clipboard/index.js lib/node_modules/@github/copilot/clipboard/node_modules/@teddyzhu/clipboard/LICENSE lib/node_modules/@github/copilot/clipboard/node_modules/@teddyzhu/clipboard/index.d.ts lib/node_modules/@github/copilot/clipboard/node_modules/@teddyzhu/clipboard/index.js +lib/node_modules/@github/copilot/definitions/code-review.agent.yaml +lib/node_modules/@github/copilot/definitions/explore.agent.yaml +lib/node_modules/@github/copilot/definitions/plan.agent.yaml +lib/node_modules/@github/copilot/definitions/task.agent.yaml lib/node_modules/@github/copilot/index.js +lib/node_modules/@github/copilot/npm-loader.js lib/node_modules/@github/copilot/prebuilds/freebsd-%%JS_ARCH%%/keytar.node lib/node_modules/@github/copilot/prebuilds/freebsd-%%JS_ARCH%%/pty.node +lib/node_modules/@github/copilot/schemas/session-events.schema.json lib/node_modules/@github/copilot/sdk/index.d.ts lib/node_modules/@github/copilot/sdk/index.js lib/node_modules/@github/copilot/sharp/index.js +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/LICENSE +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.cjs.js +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.d.mts +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.d.ts +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.iife.d.ts +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.iife.js +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.js +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.min.d.mts +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.min.js +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.min.mjs +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/dist/emnapi.mjs +lib/node_modules/@github/copilot/sharp/node_modules/@emnapi/runtime/index.js +lib/node_modules/@github/copilot/sharp/node_modules/@img/sharp-wasm32/LICENSE +lib/node_modules/@github/copilot/sharp/node_modules/@img/sharp-wasm32/lib/sharp-wasm32.node.js +lib/node_modules/@github/copilot/sharp/node_modules/@img/sharp-wasm32/lib/sharp-wasm32.node.wasm +lib/node_modules/@github/copilot/sharp/node_modules/@img/sharp-wasm32/versions.json lib/node_modules/@github/copilot/tree-sitter-bash.wasm lib/node_modules/@github/copilot/tree-sitter-powershell.wasm lib/node_modules/@github/copilot/tree-sitter.wasm lib/node_modules/@github/copilot/worker/conoutSocketWorker.js lib/node_modules/@img/sharp-freebsd-%%JS_ARCH%%/sharp.node @dir lib/node_modules/@github/copilot/ripgrep/bin -@dir lib/node_modules/@github/copilot/sharp/node_modules/@img