This repository has been archived on 2026-10-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
omarchy-pkgs/pkgbuilds/shared/github-copilot-cli/PKGBUILD
T

79 lines
2.6 KiB
Bash

# Maintainer: Rafael Dominiquini <rafaeldominiquini at gmail dot com>
# Co-maintainer: edu4rdshl <edu4rdshl at protonmail dot com>
_npmmodule=@github/copilot
pkgname=github-copilot-cli
_pkgexec=copilot
pkgver=1.0.24
pkgrel=1
pkgdesc="GitHub Copilot CLI brings the power of Copilot coding agent directly to your terminal."
url="https://github.com/github/copilot-cli"
_urlraw="https://raw.githubusercontent.com/github/copilot-cli/v${pkgver}"
arch=("x86_64")
license=("LicenseRef-GitHub-Copilot")
conflicts=("${pkgname%%-cli}" "${pkgname}-legacy")
depends=("glibc" "gcc-libs" "nodejs" "glib2" "libsecret")
replaces=("${pkgname%%-cli}")
makedepends=("npm" "jq")
provides=("${_pkgexec}")
options=(!strip emptydirs staticlibs zipman)
source=("https://registry.npmjs.org/${_npmmodule}/-/copilot-${pkgver}.tgz"
"CHANGELOG-${pkgver}.md::${_urlraw}/changelog.md")
noextract=("copilot-${pkgver}.tgz")
b2sums=('f9c742dd1738cd72ac6b78b2d03be28ca7556c2528186208c356c3dcb3bee9742dcb3c10b912b663a5359e6c45b92609b2257948f83923f3383609643a5bfeb2'
'410d7da4449b02fa2f8932dc86cd4f646e6128435b26be3b210993b0fa766541bfbc1fd71c5b90fb2bad30e85214696efcb42d92bbf533dd67d8c1a029585226')
# Document: https://wiki.archlinux.org/title/Node.js_package_guidelines
package() {
msg2 "Install using Using NPM"
npm install -s -g \
--cache "${srcdir}/npm-cache" \
--prefix "${pkgdir}/usr" \
"${srcdir}/copilot-${pkgver}.tgz"
msg2 "Fix ownership of ALL FILES"
find "${pkgdir}/usr" -type d -exec chmod 755 {} +
chown -R root:root "${pkgdir}"
msg2 "Remove references to PKGDIR"
find "${pkgdir}" -name package.json -print0 | xargs -r -0 sed -i '/_where/d'
msg2 "Fixing 'package.json'"
local tmppackage="$(mktemp)"
local pkgjson="${pkgdir}/usr/lib/node_modules/${_npmmodule}/package.json"
jq '.|=with_entries(select(.key|test("_.+")|not))' "${pkgjson}" > "${tmppackage}"
mv "${tmppackage}" "${pkgjson}"
chmod 644 "${pkgjson}"
msg2 "More fixes for 'package.json'"
find "${pkgdir}" -type f -name package.json | while read pkgjson; do
local tmppackage="$(mktemp)"
jq 'del(.man)' "${pkgjson}" > "${tmppackage}"
mv "${tmppackage}" "${pkgjson}"
chmod 644 "${pkgjson}"
done
msg2 "Install README file"
install -dm755 "${pkgdir}/usr/share/doc/${pkgname}/"
ln -sf "/usr/lib/node_modules/${_npmmodule}/README.md" "${pkgdir}/usr/share/doc/${pkgname}/README.md"
msg2 "Install CHANGELOG file"
install -Dm755 "${srcdir}/CHANGELOG-${pkgver}.md" "${pkgdir}/usr/share/doc/${pkgname}/CHANGELOG.md"
msg2 "Install LICENSE file"
install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}/"
ln -sf "/usr/lib/node_modules/${_npmmodule}/LICENSE.md" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}