PKGBUILD 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. # Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
  2. pkgbase=parabola-hackers
  3. pkgname=(parabola-hackers parabola-hackers-nshd)
  4. pkgver=20210719
  5. pkgrel=1
  6. _gitver=9f2356b34595b9663c1b25674607d0c981461f2b
  7. pkgdesc='Programs for doing magic with hackers.git'
  8. url='https://git.parabola.nu/packages/parabola-hackers.git/'
  9. license=('GPL')
  10. arch=('armv7h' 'i686' 'x86_64')
  11. makedepends=('go' 'git')
  12. source=("parabola-hackers::git://git.parabola.nu/packages/parabola-hackers.git#commit=${_gitver}"
  13. LICENSE.lgpl-2.1.txt::https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
  14. LICENSE.gpl-2.txt::https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
  15. LICENSE.apache-2.0.txt::https://www.apache.org/licenses/LICENSE-2.0
  16. LICENSE.wtfpl-2.txt::http://www.wtfpl.net/txt/copying/)
  17. _gomodules=("git.lukeshu.com/go/libgnulinux#branch=master"
  18. "git.lukeshu.com/go/libnslcd#branch=master"
  19. "git.lukeshu.com/go/libsystemd#commit=0a43955"
  20. "github.com/pkg/errors#tag=v0.8.0"
  21. "go.googlesource.com/sys#commit=bb9c189"
  22. "gopkg.in/check.v1#commit=20d25e2"
  23. "gopkg.in/yaml.v2#commit=5420a8b")
  24. for _gomodule in "${_gomodules[@]}"; do
  25. source+=("gopkg-$(sed -e 's/#.*//' -e 's/\//_/g' <<<"$_gomodule")::git+https://$_gomodule")
  26. done
  27. sha256sums=('SKIP'
  28. 'dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551'
  29. '8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643'
  30. 'cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30'
  31. '0356258391e190dc1d44ea01565cfe627fe44e27dad693a0a54c2483a7b223e5'
  32. 'SKIP'
  33. 'SKIP'
  34. 'SKIP'
  35. 'SKIP'
  36. 'SKIP'
  37. 'SKIP'
  38. 'SKIP')
  39. pkgver() {
  40. cd "$srcdir/$pkgbase"
  41. grep VERSION < config.mk | awk '{print $3}'
  42. }
  43. prepare() {
  44. mv -Tv gopkg-go.googlesource.com_sys "$srcdir/$pkgbase"/go/src/golang.org/x/sys
  45. for gopkg in gopkg-*; do
  46. mv -Tv "$gopkg" "$srcdir/$pkgbase"/go/src/"$(sed 's/_/\//g' <<<"${gopkg#gopkg-}")"
  47. done
  48. cd "$srcdir/$pkgbase"
  49. printf '%s\n' \
  50. prefix='/usr' \
  51. bindir='$(libexecdir)/$(PACKAGE)' \
  52. libexecdir='$(libdir)' \
  53. sysconfdir='/etc' \
  54. >> config.mk
  55. mv -v "$srcdir"/LICENSE* .
  56. git submodule update --init
  57. # FIXME: fix this upstream
  58. # GOPATH='/build/parabola-hackers/src/parabola-hackers/go' AR='ar' CC='gcc -std=gnu99' CGO_ENABLED='1' go install nshd
  59. # go install: version is required when current directory is not in a module
  60. # Try 'go install nshd@latest' to install the latest version
  61. # NOTE: this kludge is very brittle - it would (probably) fail if bins_go contained multiple items
  62. # luckily, the golang 'nshd' is not likely to ever change
  63. sed -i 's|$(go_env) go install $(bins_go)|$(go_env) go install $(bins_go)@latest|' Makefile
  64. # FIXME: the above kludge did not work
  65. # GOPATH='/build/parabola-hackers/src/parabola-hackers/go' AR='ar' CC='gcc -std=gnu99' CGO_ENABLED='1' go install nshd@latest
  66. # go install nshd@latest: malformed module path "nshd": missing dot in first path element
  67. }
  68. build() {
  69. cd "$srcdir/$pkgbase"
  70. make
  71. }
  72. check() {
  73. # On armv7h the tests fails with:
  74. # | FAIL gopkg.in/yaml.v2 [build failed]
  75. if [ "$CARCH" != "armv7h" ]; then
  76. cd "$srcdir/$pkgbase"
  77. make check
  78. fi
  79. }
  80. package_parabola-hackers() {
  81. backup=(etc/$pkgbase.yml)
  82. depends=('ruby' 'colordiff')
  83. cd "$srcdir/$pkgbase"
  84. make DESTDIR="${pkgdir}" install
  85. find "$pkgdir" -type f \( -name 'nshd*' -o -name shadow \) -delete
  86. find "$pkgdir" -type d -empty -exec rmdir -p --ignore-fail-on-non-empty -- {} +
  87. }
  88. package_parabola-hackers-nshd() {
  89. pkgdesc='NSS and PAM integration for parabola-hackers'
  90. license=('GPL3')
  91. depends=("parabola-hackers=$pkgver" 'nss-pam-ldapd')
  92. backup=(etc/nshd/shadow)
  93. install=parabola-hackers-nshd.install
  94. replaces=(nshd)
  95. conflicts=(nshd)
  96. cd "$srcdir/$pkgbase"
  97. make DESTDIR="${pkgdir}" install
  98. find "$pkgdir" -type f -not \( -name 'nshd*' -o -name shadow \) -delete
  99. find "$pkgdir" -type d -empty -exec rmdir -p --ignore-fail-on-non-empty -- {} +
  100. install -d "${pkgdir}/usr/share/licenses/${pkgname}"
  101. cp -t "${pkgdir}/usr/share/licenses/${pkgname}" -- LICENSE.txt LICENSE.bsd*.txt
  102. }