logo

alpine-overlay

git clone https://anongit.hacktivis.me/git/alpine-overlay.git/

APKBUILD (3192B)


  1. # Maintainer: Haelwenn (lanodan) Monnier <contact+alpine@hacktivis.me>
  2. pkgname=utils-std-static
  3. tarname=utils-std
  4. pkgver=0.0.5
  5. pkgrel=0
  6. pkgdesc="Collection of commonly available Unix tools"
  7. url="https://hacktivis.me/projects/utils-std"
  8. arch="all"
  9. license="MPL-2.0 0BSD BSD-2-Clause BSD-3-Clause CC0-1.0 GFDL-1.1-only WTFPL"
  10. makedepends="cmd:m4 cmd:yacc"
  11. checkdepends=""
  12. subpackages="$pkgname-dbg $pkgname-doc $pkgname-strings $pkgname-strings-doc:strings_doc $pkgname-getconf $pkgname-getconf-doc:getconf_doc"
  13. source="
  14. https://distfiles.hacktivis.me/releases/utils-std/$tarname-$pkgver.tar.gz
  15. "
  16. builddir="$srcdir/$tarname-$pkgver"
  17. build() {
  18. PREFIX=/usr CRAM=true LDSTATIC='-static-pie' ./configure
  19. make
  20. }
  21. check() {
  22. # Workaround busybox rm(1) lacking -d
  23. mkdir -p busybox-overrides/
  24. ln -s ../cmd/rm busybox-overrides/rm
  25. # t gn, t gnr: missing names for group IDs in my Alpine install
  26. # t G: Busybox id(1) seems to sort numeric output
  27. sed -i \
  28. -e 's;^t gn ;skip gn ;' \
  29. -e 's;^t gnr ;skip gnr ;' \
  30. -e 's;^t G ;skip G ;' \
  31. test-cmd/id.sh
  32. PATH=$PWD/busybox-overrides/:$PATH make check
  33. }
  34. package() {
  35. make DESTDIR="$pkgdir" install
  36. # binaries that busybox puts in /bin (taken from coreutils/APKBUILD)
  37. local busybox_bin="base64 cat chgrp chmod chown cp date dd df echo false ln ls
  38. mkdir mknod mktemp mv nice printenv pwd rm rmdir sleep stat stty sync touch true uname"
  39. mkdir -p "$pkgdir"/bin/
  40. for i in $busybox_bin; do
  41. test -f cmd/$i || continue
  42. ln -s ../usr/bin/$i "$pkgdir"/bin/$i
  43. done
  44. # resolve conflict with binutils for cmd:strings
  45. rm "$pkgdir"/usr/bin/strings "$pkgdir"/usr/share/man/man1/strings.1
  46. # ERROR: utils-std-doc-0_git20240915-r0: trying to overwrite usr/share/man/man1/renice.1.gz owned by util-linux-doc-2.40.1-r1.
  47. # ERROR: utils-std-doc-0_git20240915-r0: trying to overwrite usr/share/man/man1/time.1.gz owned by man-pages-6.8-r0.
  48. rm "$pkgdir"/usr/share/man/man1/renice.1 "$pkgdir"/usr/share/man/man1/time.1
  49. # resolve conflict with musl-utils for cmd:getconf
  50. rm "$pkgdir"/usr/bin/getconf "$pkgdir"/usr/share/man/man1/getconf.1
  51. }
  52. strings() {
  53. mkdir -p "$subpkgdir"/usr/bin/
  54. cp -p "$builddir"/cmd/strings "$subpkgdir"/usr/bin/
  55. }
  56. strings_doc() {
  57. local gzip=$(command -v pigz || echo gzip)
  58. depends="$depends_doc"
  59. install_if="docs $pkgname-strings=$pkgver-r$pkgrel"
  60. mkdir -p "$subpkgdir"/usr/share/man/man1/
  61. cp -p "$builddir"/cmd/strings.1 "$subpkgdir"/usr/share/man/man1/
  62. # ERROR: utils-std-strings-doc*: Found uncompressed man pages
  63. gzip -n -9 "$subpkgdir"/usr/share/man/man1/strings.1
  64. }
  65. getconf() {
  66. mkdir -p "$subpkgdir"/usr/bin/
  67. cp -p "$builddir"/cmd/getconf "$subpkgdir"/usr/bin/
  68. }
  69. getconf_doc() {
  70. local gzip=$(command -v pigz || echo gzip)
  71. depends="$depends_doc"
  72. install_if="docs $pkgname-getconf=$pkgver-r$pkgrel"
  73. mkdir -p "$subpkgdir"/usr/share/man/man1/
  74. cp -p "$builddir"/cmd/getconf.1 "$subpkgdir"/usr/share/man/man1/
  75. # ERROR: utils-std-strings-doc*: Found uncompressed man pages
  76. gzip -n -9 "$subpkgdir"/usr/share/man/man1/getconf.1
  77. }
  78. sha512sums="
  79. bb157dc542cac7a97bfd97dab93de13c40687846d5069d6cbd24211a2b265e08741cd6c1d16014247e6b75741f70ee00e2c4d3bc11b6a0b0a40f9c304de25f66 utils-std-0.0.5.tar.gz
  80. "