recipe 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. # Build recipe for gettext.
  2. #
  3. # Copyright (c) 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=gettext
  19. version=0.21
  20. release=1
  21. # Define a category for the output of the package name
  22. pkgcategory=libs
  23. tarname=${program}-${version}.tar.lz
  24. # Remote source(s)
  25. fetch=https://ftp.gnu.org/gnu/gettext/$tarname
  26. description="
  27. Utilities for internationalization and localization.
  28. The GNU gettext package contains utilities for internationalization
  29. and localization. These allow programs to be compiled with NLS
  30. (Native Language Support), enabling them to output messages in the
  31. user's native language.
  32. "
  33. homepage=https://www.gnu.org/software/gettext
  34. license=GPLv3+
  35. # Source documentation
  36. docs="AUTHORS COPYING ChangeLog HACKING NEWS README THANKS"
  37. docsdir="${docdir}/${program}-${version}"
  38. build()
  39. {
  40. unpack "${tardir}/$tarname"
  41. cd "$srcdir"
  42. # Set sane permissions
  43. chmod -R u+w,go-w,a+rX-s .
  44. ./configure CPPFLAGS="$QICPPFLAGS" \
  45. CFLAGS="$QICFLAGS" CXXFLAGS="$QICXXFLAGS" LDFLAGS="$QILDFLAGS" \
  46. $configure_args \
  47. --libdir=/usr/lib${libSuffix} \
  48. --infodir=$infodir \
  49. --mandir=$mandir \
  50. --docdir=$docsdir \
  51. --htmldir=${docsdir}/html \
  52. --enable-shared=yes \
  53. --enable-static=no \
  54. --build="$(gcc -dumpmachine)"
  55. make -j${jobs} V=1
  56. make -j${jobs} DESTDIR="$destdir" install-strip
  57. # Compress examples
  58. (
  59. cd "${destdir}$docsdir" && \
  60. tarlz --solid -9 -cpf examples.tar.lz examples/ && \
  61. rm -rf examples/
  62. )
  63. # Compress info documents deleting index file for the package
  64. if test -d "${destdir}/$infodir"
  65. then
  66. rm -f "${destdir}/${infodir}/dir"
  67. lzip -9 "${destdir}/${infodir}"/*
  68. fi
  69. # Compress and link man pages (if needed)
  70. if test -d "${destdir}/$mandir"
  71. then
  72. (
  73. cd "${destdir}/$mandir"
  74. find . -type f -exec lzip -9 {} +
  75. find . -type l | while read -r file
  76. do
  77. ln -sf "$(readlink -- "$file").lz" "${file}.lz"
  78. rm -- "$file"
  79. done
  80. )
  81. fi
  82. # Copy documentation
  83. mkdir -p "${destdir}/$docsdir"
  84. cp -p $docs "${destdir}/$docsdir"
  85. }