recipe 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # Build recipe for audiofile.
  2. #
  3. # Copyright (c) 2020 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=audiofile
  19. version=0.3.6
  20. release=1
  21. # Define a category for the output of the package name
  22. pkgcategory=libs
  23. tarname=${program}-${version}.tar.gz
  24. # Remote source(s)
  25. fetch=https://audiofile.68k.org/$tarname
  26. description="
  27. Audio file library.
  28. The Audio File Library is a C-based library for reading and writing
  29. audio files in many common formats.
  30. The Audio File Library provides a uniform API which abstracts away
  31. details of file formats and data formats. The same calls for opening
  32. a file, accessing and manipulating audio metadata (e.g. sample rate,
  33. sample format, textual information, MIDI parameters), and reading and
  34. writing sample data will work with any supported audio file format.
  35. The Audio File Library lets you work with audio data in whatever
  36. format is most convenient for you.
  37. "
  38. homepage=https://audiofile.68k.org
  39. license="LGPLv2.1, GPLv2+"
  40. # Source documentation
  41. docs="ACKNOWLEDGEMENTS AUTHORS COPYING* ChangeLog NEWS NOTES README TODO"
  42. docsdir="${docdir}/${program}-${version}"
  43. build()
  44. {
  45. unpack "${tardir}/$tarname"
  46. cd "$srcdir"
  47. # Update for hosts based on musl
  48. cp -f "${worktree}/archive/common/config.guess" config.guess
  49. cp -f "${worktree}/archive/common/config.sub" config.sub
  50. # Apply patches from Debian to refresh this old source
  51. while read -r line
  52. do
  53. patch -Np1 -i "${worktree}/patches/audiofile/${line}"
  54. done < "${worktree}/patches/audiofile/series"
  55. # Set sane permissions
  56. chmod -R u+w,go-w,a+rX-s .
  57. ./configure CPPFLAGS="$QICPPFLAGS" CFLAGS="$QICFLAGS" CXXFLAGS="$QICXXFLAGS" \
  58. LDFLAGS="$QILDFLAGS" \
  59. $configure_args \
  60. --libdir=/usr/lib${libSuffix} \
  61. --mandir=$mandir \
  62. --docdir=$docsdir \
  63. --enable-shared=yes \
  64. --enable-static=yes \
  65. --build="$(gcc -dumpmachine)"
  66. make -j${jobs} V=1
  67. make -j${jobs} DESTDIR="$destdir" install-strip
  68. # Compress and link man pages (if needed)
  69. if test -d "${destdir}/$mandir"
  70. then
  71. (
  72. cd "${destdir}/$mandir"
  73. find . -type f -exec lzip -9 {} +
  74. find . -type l | while read -r file
  75. do
  76. ln -sf "$(readlink -- "$file").lz" "${file}.lz"
  77. rm -- "$file"
  78. done
  79. )
  80. fi
  81. # Copy documentation
  82. mkdir -p "${destdir}/$docsdir"
  83. cp -p $docs "${destdir}/$docsdir"
  84. }