recipe 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # Build recipe for sdl12-compat.
  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=sdl12-compat
  19. version=20221220_2bc46a0
  20. release=1
  21. # Define a category for the output of the package name
  22. pkgcategory=media
  23. tarname=${program}-${version}.tar.lz
  24. # Remote source(s)
  25. fetch="
  26. https://dragora.mirror.garr.it/current/sources/$tarname
  27. rsync://rsync.dragora.org/current/sources/$tarname
  28. "
  29. description="
  30. Simple Directmedia Layer, sdl12-compat.
  31. This code is a compatibility layer; it provides a binary and source
  32. compatible API for programs written against SDL 1.2, but it uses SDL 2.0
  33. behind the scenes. If you are writing new code, please target SDL 2.0
  34. directly and do not use this layer.
  35. "
  36. homepage=https://github.com/libsdl-org/sdl12-compat
  37. license=MIT
  38. # Source documentation
  39. docs="BUGS.md COMPATIBILITY.md HOW_TO_TEST_GAMES.md LICENSE.txt README.md"
  40. docsdir="${docdir}/${program}-${version}"
  41. build()
  42. {
  43. unpack "${tardir}/$tarname"
  44. cd "$srcdir"
  45. # Set sane permissions
  46. chmod -R u+w,go-w,a+rX-s .
  47. rm -rf BUILD
  48. mkdir BUILD
  49. cd BUILD
  50. cmake -DCMAKE_BUILD_TYPE=Release \
  51. -DCMAKE_C_FLAGS="$QICFLAGS" \
  52. -DCMAKE_EXE_LINKER_FLAGS="$QILDFLAGS" \
  53. -DCMAKE_SHARED_LINKER_FLAGS="$QILDFLAGS" \
  54. -DCMAKE_STATIC_LINKER_FLAGS="$QILDFLAGS" \
  55. -DCMAKE_INSTALL_PREFIX=/usr \
  56. -DCMAKE_INSTALL_LIBDIR=lib${libSuffix} \
  57. -DCMAKE_INSTALL_MANDIR=$mandir \
  58. -DCMAKE_INSTALL_DOCDIR=$docsdir \
  59. -G Ninja ..
  60. ninja -j${jobs}
  61. DESTDIR="$destdir" ninja -j${jobs} install
  62. # Switch back to the main source directory
  63. cd ..
  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. }