recipe 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # Build recipe for zutils.
  2. #
  3. # Copyright (c) 2017-2022 Matias Fonzo, <selk@dragora.org>.
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. # Exit immediately on any error
  17. set -e
  18. program=zutils
  19. version=1.11
  20. release=2
  21. # Define a category for the output of the package name
  22. pkgcategory=compressors
  23. tarname=${program}-${version}.tar.lz
  24. # Remote source(s)
  25. fetch=https://download.savannah.gnu.org/releases/zutils/$tarname
  26. description="
  27. Utilities dealing with compressed files.
  28. Zutils is a collection of utilities able to process any combination of
  29. compressed and uncompressed files transparently. If any given file,
  30. including standard input, is compressed, its decompressed content is
  31. used. Compressed files are decompressed on the fly; no temporary files
  32. are created.
  33. These utilities are not wrapper scripts but safer and more efficient
  34. C++ programs. In particular the "--recursive" option is very efficient
  35. in those utilities supporting it.
  36. "
  37. homepage=https://zutils.nongnu.org/zutils.html
  38. license=GPLv2+
  39. # Source documentation
  40. docs="AUTHORS COPYING ChangeLog NEWS README"
  41. docsdir="${docdir}/${program}-${version}"
  42. build()
  43. {
  44. unpack "${tardir}/$tarname"
  45. cd "$srcdir"
  46. # Set sane permissions
  47. chmod -R u+w,go-w,a+rX-s .
  48. ./configure CPPFLAGS="$QICPPFLAGS" \
  49. CXXFLAGS+="$QICXXFLAGS" LDFLAGS="$QILDFLAGS" \
  50. $configure_args \
  51. --infodir=$infodir \
  52. --mandir=$mandir \
  53. --build="$(gcc -dumpmachine)"
  54. make -j${jobs} V=1
  55. make -j${jobs} DESTDIR="$destdir" install
  56. # To handle config file
  57. touch "${destdir}/etc/.graft-config"
  58. # Compress info documents (if needed)
  59. if test -d "${destdir}/$infodir"
  60. then
  61. rm -f "${destdir}/${infodir}/dir"
  62. lzip -9 "${destdir}/${infodir}"/*
  63. fi
  64. # Compress and link man pages (if needed)
  65. if test -d "${destdir}/$mandir"
  66. then
  67. (
  68. cd "${destdir}/$mandir"
  69. find . -type f -exec lzip -9 {} +
  70. find . -type l | while read -r file
  71. do
  72. ln -sf "$(readlink -- "$file").lz" "${file}.lz"
  73. rm -- "$file"
  74. done
  75. )
  76. fi
  77. # Copy documentation
  78. mkdir -p "${destdir}/$docsdir"
  79. cp -p $docs "${destdir}/$docsdir"
  80. }