PKGBUILD 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # Maintainer: Noah Vogt (noahvogt) <noah@noahvogt.com>
  2. # Maintainer: Sven-Hendrik Haase <svenstaro@archlinux.org>
  3. # Contributor: Jan Koppe <post@jankoppe.de>
  4. pkgname=yarn-xdg
  5. pkgver=1.22.21
  6. pkgrel=1
  7. pkgdesc='Fast, reliable, and secure dependency management - with xdg basedir patches'
  8. provides=('yarn')
  9. conflicts=('yarn')
  10. arch=('any')
  11. license=('BSD')
  12. depends=('nodejs')
  13. makedepends=('git' 'jq' 'yarn')
  14. source=("git+https://github.com/${pkgname%-*}pkg/${pkgname%-*}.git#tag=v$pkgver"
  15. "remove-legacy-yarnrc-path.patch"
  16. "use-portable-yarn-executable-for-build.patch")
  17. b2sums=('SKIP'
  18. '8a02d546bbcef7353887fef2de70061526313370cd3c383e08d5535d4574647b41c1251e3c1c8324944de8a534ec4f6dca9f3014aacc957f18053f7a7517f3b3'
  19. 'aca7e2d61fac58e484830b42e13d4c6b2a148534f88959c38551c6bd83e5ca4ce6faff1a3ffe0920ffad26aa850c11c32565ffa0fb9b7f415f8c423fefc167a3')
  20. prepare() {
  21. cd ${pkgname%-*}
  22. patch -p1 -i "$srcdir/use-portable-yarn-executable-for-build.patch"
  23. patch -p1 -i "$srcdir/remove-legacy-yarnrc-path.patch"
  24. }
  25. build() {
  26. cd ${pkgname%-*}
  27. yarn --frozen-lockfile
  28. yarn build
  29. }
  30. package() {
  31. local mod_dir=/usr/lib/node_modules/${pkgname%-*}
  32. install -d "$pkgdir"/{usr/bin,$mod_dir/bin}
  33. ln -s $mod_dir/bin/${pkgname%-*}.js "$pkgdir"/usr/bin/${pkgname%-*}
  34. ln -s $mod_dir/bin/${pkgname%-*}.js "$pkgdir"/usr/bin/${pkgname%-*}pkg
  35. cd ${pkgname%-*}
  36. # Prune unnecessary packages
  37. cp package.json{,.bak}
  38. read -ra devDependencies < <(jq -r '.devDependencies | keys | join(" ")' package.json)
  39. yarn remove --frozen-lockfile "${devDependencies[@]}"
  40. mv package.json{.bak,}
  41. cp -r lib node_modules package.json "$pkgdir"/$mod_dir
  42. install -t "$pkgdir"/$mod_dir/bin bin/${pkgname%-*}.js
  43. install -Dm644 -t "$pkgdir"/usr/share/doc/${pkgname%-*} README.md
  44. install -Dm644 -t "$pkgdir"/usr/share/licenses/${pkgname%-*} LICENSE
  45. }