From d69846669e8c88693339f76cb4cb25aae33beb28 Mon Sep 17 00:00:00 2001 From: MedzikUser Date: Sat, 21 May 2022 12:15:23 +0200 Subject: [PATCH] addpkg: pnpm --- .gitignore | 2 ++ packages/pnpm/PKGBUILD | 26 ++++++++++++++++++++++++++ packages/pnpm/built.conf | 1 + scripts/auto-update.sh | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 packages/pnpm/PKGBUILD create mode 100644 packages/pnpm/built.conf diff --git a/.gitignore b/.gitignore index 77ecb7f0..93a8b1d1 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ # source files *.tar* +*.tgz +*.part *.zip *.rar *.7z diff --git a/packages/pnpm/PKGBUILD b/packages/pnpm/PKGBUILD new file mode 100644 index 00000000..46fd4fc6 --- /dev/null +++ b/packages/pnpm/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: MedzikUser +pkgname='pnpm' +pkgver="7.1.2" +pkgrel=1 +pkgdesc='Fast, disk space efficient package manager' +arch=('any') +url="https://www.npmjs.com/package/${pkgname}" +license=('MIT') +depends=('nodejs') +makedepends=('npm') +_file="${pkgname}-${pkgver}.tgz" +source=("https://registry.npmjs.org/${pkgname}/-/${_file}") +noextract=("$_file") +sha256sums=('839b1b6c3b6504f08a56d78aa38d35d48bba76684fe391229f112c65e25f0862') + +package() { + npm install -g --prefix "${pkgdir}/usr" "${_file}" + + # Non-deterministic race in npm gives 777 permissions to random directories. + # See https://github.com/npm/npm/issues/9359 for details. + chmod -R u=rwX,go=rX "${pkgdir}" + + # npm installs package.json owned by build user + # https://bugs.archlinux.org/task/63396 + chown -R root:root "${pkgdir}" +} diff --git a/packages/pnpm/built.conf b/packages/pnpm/built.conf new file mode 100644 index 00000000..36aea3e9 --- /dev/null +++ b/packages/pnpm/built.conf @@ -0,0 +1 @@ +NPM="pnpm" diff --git a/scripts/auto-update.sh b/scripts/auto-update.sh index fe95784f..9ba1b7bb 100755 --- a/scripts/auto-update.sh +++ b/scripts/auto-update.sh @@ -118,6 +118,45 @@ update-package() { return 0 fi + + if [ -n "${NPM}" ] + then + local latest_version="$(curl --location --silent "https://unpkg.com/${NPM}/package.json" | jq -r ".version")" + + if [[ -z "${latest_version}" || "${latest_version}" = "null" ]] + then + echo "[!] Failed to get latest version of ${pkgname}" + return 1 + fi + + custom_vars=$( + . "${pkgdir}/PKGBUILD" + echo "local version=${pkgver}" + ) + + eval "${custom_vars}" + + if [ "${version}" = "${latest_version}" ] + then + return 0 + fi + + sed -i "s|^\(pkgver=\)\(.*\)\$|\1\"${latest_version}\"|g" "${pkgdir}/PKGBUILD" + + # Update package checksums + cd "${pkgdir}" + updpkgsums + + if [ "${GIT_COMMIT_PACKAGES}" = "true" ] + then + git add "${pkgdir}/PKGBUILD" + git commit -m "upgpkg: '${pkgname}' to '${latest_version}'" + fi + + echo "[i] Updated '${pkgname}' to '${latest_version}'" + + return 0 + fi fi }