recipe 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. # Build recipe for gzip.
  2. #
  3. # Copyright (c) 2016-2018, 2020 Matias Fonzo, <selk@dragora.org>.
  4. # Copyright (c) 2022-2023 Matias Fonzo, <selk@dragora.org>.
  5. #
  6. # Licensed under the Apache License, Version 2.0 (the "License");
  7. # you may not use this file except in compliance with the License.
  8. # You may obtain a copy of the License at
  9. #
  10. # http://www.apache.org/licenses/LICENSE-2.0
  11. #
  12. # Unless required by applicable law or agreed to in writing, software
  13. # distributed under the License is distributed on an "AS IS" BASIS,
  14. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. # See the License for the specific language governing permissions and
  16. # limitations under the License.
  17. # Exit immediately on any error
  18. set -e
  19. program=gzip
  20. version=1.12
  21. release=2
  22. # Define a category for the output of the package name
  23. pkgcategory=compressors
  24. tarname=${program}-${version}.tar.gz
  25. # Remote source(s)
  26. fetch=https://ftp.gnu.org/gnu/gzip/$tarname
  27. description="
  28. Compression utility.
  29. Gzip (GNU zip) is a compression utility designed to be a replacement
  30. for 'compress'. Its main advantages over 'compress' are much better
  31. compression and freedom from patented algorithms. It has been adopted
  32. by the GNU project and is now relatively popular on the Internet.
  33. This package has been built to be used with the zutils package.
  34. "
  35. homepage=https://www.gnu.org/software/gzip
  36. license=GPLv3+
  37. # Source documentation
  38. docs="AUTHORS COPYING ChangeLog NEWS README* THANKS TODO"
  39. docsdir="${docdir}/${program}-${version}"
  40. build()
  41. {
  42. unpack "${tardir}/$tarname"
  43. cd "$srcdir"
  44. # Set sane permissions
  45. chmod -R u+w,go-w,a+rX-s .
  46. ./configure DEFS="NO_ASM" CPPFLAGS="$QICPPFLAGS" \
  47. CFLAGS="$QICFLAGS" LDFLAGS="$QILDFLAGS -static" \
  48. $configure_args \
  49. --libdir=/usr/lib${libSuffix} \
  50. --infodir=$infodir \
  51. --mandir=$mandir \
  52. --program-transform-name='s/^z/gz/' \
  53. --build="$(gcc -dumpmachine)"
  54. make -j${jobs} V=1
  55. make -j${jobs} DESTDIR="$destdir" install
  56. # This is provided by the ncompress package
  57. rm -f "${destdir}/usr/bin/uncompress"
  58. # Override hard-links with soft-links for package size
  59. (
  60. cd "${destdir}/${mandir}/man1" || exit 1
  61. ln -sf gzip.1 gunzip.1
  62. ln -sf gzip.1 gzcat.1
  63. ln -sf gzdiff.1 gzcmp.1
  64. )
  65. # Compress info documents deleting index file for the package
  66. if test -d "${destdir}/$infodir"
  67. then
  68. rm -f "${destdir}/${infodir}/dir"
  69. lzip -9 "${destdir}/${infodir}"/*
  70. fi
  71. # Compress and link man pages (if needed)
  72. if test -d "${destdir}/$mandir"
  73. then
  74. (
  75. cd "${destdir}/$mandir"
  76. find . -type f -exec lzip -9 {} +
  77. find . -type l | while read -r file
  78. do
  79. ln -sf "$(readlink -- "$file").lz" "${file}.lz"
  80. rm -- "$file"
  81. done
  82. )
  83. fi
  84. # Copy documentation
  85. mkdir -p "${destdir}/$docsdir"
  86. cp -p $docs "${destdir}/$docsdir"
  87. }