recipe 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # Build recipe for libart-gpl.
  2. #
  3. # Copyright (c) 2020-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=libart-lgpl
  19. version=20220503_9f2ffb3
  20. release=1
  21. # Define a category for the output of the package name
  22. pkgcategory=tde
  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. LGPL version of the libart library.
  31. This is the LGPL'd component of libart. All functions needed for
  32. running the Gnome canvas, and for printing support, will be going in
  33. here. The GPL'd component will be getting various enhanced functions
  34. for specific applications.
  35. "
  36. homepage=https://www.trinitydesktop.org/
  37. license=LGPLv2+
  38. # Source documentation
  39. docs="AUTHORS COPYING ChangeLog NEWS README"
  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 \
  51. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
  52. -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  53. -DCMAKE_CXX_FLAGS:STRING="$QICXXFLAGS" \
  54. -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(echo $QILDFLAGS | sed 's/-s//')" \
  55. -DCMAKE_INSTALL_PREFIX=/usr \
  56. -DLIB_SUFFIX=${libSuffix} \
  57. -DCMAKE_VERBOSE_MAKEFILE=ON \
  58. -DCMAKE_SKIP_RPATH=OFF \
  59. -DWITH_ALL_OPTIONS=ON \
  60. -G Ninja ..
  61. ninja -j${jobs}
  62. DESTDIR="$destdir" ninja -j${jobs} install
  63. # Compress and link man pages (if needed)
  64. if test -d "${destdir}/$mandir"
  65. then
  66. (
  67. cd "${destdir}/$mandir"
  68. find . -type f -exec lzip -9 {} +
  69. find . -type l | while read -r file
  70. do
  71. ln -sf "$(readlink -- "$file").lz" "${file}.lz"
  72. rm -- "$file"
  73. done
  74. )
  75. fi
  76. cd ..
  77. # Copy documentation
  78. mkdir -p "${destdir}/$docsdir"
  79. cp -p $docs "${destdir}/$docsdir"
  80. }