83 lines
2.5 KiB
Bash
83 lines
2.5 KiB
Bash
name='pnpm'
|
|
version='10.15.0'
|
|
release='1'
|
|
desc='Fast, disk space efficient package manager'
|
|
homepage='https://pnpm.io'
|
|
maintainer="Евгений Храмов <xpamych@yandex.ru>"
|
|
architectures=('all')
|
|
license=('MIT')
|
|
provides=('pnpm')
|
|
conflicts=('pnpm-git')
|
|
|
|
deps=('nodejs')
|
|
deps_redos=('nodejs')
|
|
deps_arch=('nodejs')
|
|
deps_alpine=('nodejs')
|
|
|
|
build_deps=('tar' 'curl')
|
|
|
|
sources=("https://registry.npmjs.org/pnpm/-/pnpm-${version}.tgz")
|
|
checksums=('SKIP')
|
|
|
|
build() {
|
|
cd "${srcdir}"
|
|
tar -xzf "pnpm-${version}.tgz"
|
|
}
|
|
|
|
package() {
|
|
cd "${srcdir}/package"
|
|
|
|
# Создаём директорию для pnpm
|
|
install -d "${pkgdir}/usr/lib/node_modules/pnpm"
|
|
|
|
# Копируем все файлы pnpm
|
|
cp -r * "${pkgdir}/usr/lib/node_modules/pnpm/"
|
|
|
|
# Создаём симлинки в /usr/bin
|
|
install -d "${pkgdir}/usr/bin"
|
|
ln -s /usr/lib/node_modules/pnpm/bin/pnpm.cjs "${pkgdir}/usr/bin/pnpm"
|
|
ln -s /usr/lib/node_modules/pnpm/bin/pnpx.cjs "${pkgdir}/usr/bin/pnpx"
|
|
|
|
# Устанавливаем правильные права на исполняемые файлы
|
|
chmod 755 "${pkgdir}/usr/lib/node_modules/pnpm/bin/pnpm.cjs"
|
|
chmod 755 "${pkgdir}/usr/lib/node_modules/pnpm/bin/pnpx.cjs"
|
|
chmod 755 "${pkgdir}/usr/lib/node_modules/pnpm/dist/pnpm.cjs"
|
|
|
|
# Копируем лицензию
|
|
if [ -f "LICENSE" ]; then
|
|
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/pnpm/LICENSE"
|
|
fi
|
|
|
|
# Установка bash completion
|
|
if [ -f "dist/templates/completion.bash" ]; then
|
|
install -Dm644 dist/templates/completion.bash \
|
|
"${pkgdir}/usr/share/bash-completion/completions/pnpm"
|
|
fi
|
|
|
|
# Установка zsh completion
|
|
if [ -f "dist/templates/completion.zsh" ]; then
|
|
install -Dm644 dist/templates/completion.zsh \
|
|
"${pkgdir}/usr/share/zsh/site-functions/_pnpm"
|
|
fi
|
|
|
|
# Установка fish completion
|
|
if [ -f "dist/templates/completion.fish" ]; then
|
|
install -Dm644 dist/templates/completion.fish \
|
|
"${pkgdir}/usr/share/fish/vendor_completions.d/pnpm.fish"
|
|
fi
|
|
}
|
|
|
|
files() {
|
|
# Основные файлы pnpm
|
|
echo "/usr/lib/node_modules/pnpm/"
|
|
echo "/usr/bin/pnpm"
|
|
echo "/usr/bin/pnpx"
|
|
|
|
# Лицензия
|
|
echo "/usr/share/licenses/pnpm/LICENSE"
|
|
|
|
# Shell completions
|
|
echo "/usr/share/bash-completion/completions/pnpm"
|
|
echo "/usr/share/zsh/site-functions/_pnpm"
|
|
echo "/usr/share/fish/vendor_completions.d/pnpm.fish"
|
|
} |