PKGBUILD 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. # Maintainer (arch): Jaroslav Lichtblau <svetlemodry@archlinux.org>
  2. # Contributor: Vesa Kaihlavirta <vegai@iki.fi>
  3. # Maintainer: bill-auger <bill-auger@programmer.net>
  4. # parabola changes and rationale:
  5. # - repalce qt5-webengine with qt5-webkit (for URL previews)
  6. pkgbase=quassel
  7. pkgname=('quassel-core'
  8. 'quassel-client'
  9. 'quassel-client-small'
  10. 'quassel-monolithic')
  11. pkgver=0.13.1
  12. pkgrel=4
  13. pkgrel+=.parabola1
  14. pkgdesc="Next-generation distributed IRC client"
  15. arch=('x86_64')
  16. arch+=('armv7h' 'i686')
  17. url="https://quassel-irc.org/"
  18. license=('GPL')
  19. makedepends=('qt5-base' 'qt5-tools' 'qt5-webengine' 'qca-qt5' 'qt5-script'
  20. 'qt5-multimedia' 'knotifyconfig' 'sonnet' 'libldap' 'cmake'
  21. 'extra-cmake-modules' 'python' 'hicolor-icon-theme')
  22. makedepends=(${makedepends[*]/qt5-webengine/qt5-webkit})
  23. source=(https://quassel-irc.org/pub/$pkgbase-$pkgver.tar.bz2
  24. 0001-qtui-Set-desktop-file-name.patch
  25. quassel-0.13.1-qt5.14.patch
  26. search-duck.patch
  27. $pkgbase.service
  28. $pkgbase.sysusers
  29. $pkgbase.tmpfiles
  30. $pkgbase.conf)
  31. sha256sums=('48efee9778743b1db9f44efb91d1c913104db01190c57f2ff57483c39a97e855'
  32. '695ff3b605ea62ccfdf9ec4b9e6ffa74f3e2c0ac81402d51a74d263c47886c92'
  33. '3d43f498df04db59a5199e0a81b8fd7ac37ef46fffb0c69ab5a17bcafb6d8c65'
  34. '3d90a7edfa2b2e27e5f56b25f7583585efbcd35219c04a3bf138d9fe9bb9eab2'
  35. '5dbe20290f3361b9b7a74a52905137e76b656976febf2d31082a2276f9dcde7f'
  36. '3c72441a99e2668c6a8a751fa07beeb44f937576c8a1b5f615e4a55f841d93d9'
  37. '2afd4340c7713f6533e5d175a86b28fd118ecd907776c2b10925d1a4fb31cdca'
  38. 'f3031ea8217e01ba42cea14606169e3e27affa5918968ffd5a03c21ae92fe2b8')
  39. prepare() {
  40. cd $pkgbase-$pkgver
  41. patch -Np1 -i ../0001-qtui-Set-desktop-file-name.patch
  42. patch -Np1 -i ../quassel-0.13.1-qt5.14.patch
  43. patch -Np1 -i ../search-duck.patch
  44. }
  45. _build() (
  46. cmake -H$pkgbase-$pkgver -Bbuild-$1 \
  47. -DCMAKE_INSTALL_PREFIX=/usr/ \
  48. -DCMAKE_BUILD_TYPE=None \
  49. -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-suggest-override" \
  50. -DHAVE_SSL=ON \
  51. "${@:2}" \
  52. -Wno-dev
  53. cmake --build build-$1
  54. )
  55. _install() {
  56. DESTDIR="${pkgdir}" cmake --build build-$1 --target install
  57. }
  58. build() {
  59. _build core \
  60. -DWANT_QTCLIENT=OFF \
  61. -DWANT_MONO=OFF \
  62. -DWITH_BUNDLED_ICONS=OFF \
  63. -DWITH_WEBKIT=OFF \
  64. -DWITH_WEBENGINE=OFF
  65. _build monolithic \
  66. -DWANT_CORE=OFF \
  67. -DWANT_QTCLIENT=OFF \
  68. -DWITH_WEBKIT=ON \
  69. -DWITH_WEBENGINE=OFF \
  70. -DWITH_KDE=ON
  71. _build client \
  72. -DWANT_CORE=OFF \
  73. -DWANT_MONO=OFF \
  74. -DWITH_WEBKIT=ON \
  75. -DWITH_WEBENGINE=OFF \
  76. -DWITH_KDE=ON
  77. _build client-small \
  78. -DWANT_CORE=OFF \
  79. -DWANT_MONO=OFF \
  80. -DWITH_WEBKIT=OFF \
  81. -DWITH_WEBENGINE=OFF \
  82. -DCMAKE_DISABLE_FIND_PACKAGE_dbusmenu-qt5=ON \
  83. -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=ON \
  84. -DCMAKE_DISABLE_FIND_PACKAGE_Phonon4Qt5=ON
  85. }
  86. package_quassel-core() {
  87. pkgdesc="Next-generation distributed IRC client - core only"
  88. depends=('icu' 'qca-qt5' 'qt5-script' 'libldap')
  89. optdepends=('postgresql: PostgreSQL database support')
  90. backup=(etc/conf.d/quassel)
  91. _install core
  92. # Remove unneeded pixmap icons
  93. rm -r "${pkgdir}"/usr/share
  94. install -Dm644 $pkgbase.sysusers \
  95. "${pkgdir}"/usr/lib/sysusers.d/$pkgbase.conf
  96. install -Dm644 $pkgbase.tmpfiles \
  97. "${pkgdir}"/usr/lib/tmpfiles.d/$pkgbase.conf
  98. install -Dm644 $pkgbase.service \
  99. "${pkgdir}"/usr/lib/systemd/system/$pkgbase.service
  100. install -Dm644 $pkgbase.conf \
  101. "${pkgdir}"/etc/conf.d/$pkgbase
  102. }
  103. package_quassel-client() {
  104. pkgdesc="Next-generation distributed IRC client - client only"
  105. pkgdesc+=" (with webkit HTML rendering)"
  106. depends=('qt5-base' 'qt5-webengine' 'qt5-multimedia' 'knotifyconfig'
  107. 'hicolor-icon-theme')
  108. depends=(${depends[*]/qt5-webengine/qt5-webkit})
  109. optdepends=('perl: for builtin /exec scripts')
  110. conflicts=('quassel-monolithic' 'quassel-client-small')
  111. _install client
  112. install -Dm644 $pkgbase-$pkgver/data/quasselclient.appdata.xml "$pkgdir/usr/share/metainfo/quasselclient.appdata.xml"
  113. }
  114. package_quassel-client-small() {
  115. pkgdesc="Next-generation distributed IRC client - client only, reduced deps"
  116. depends=('qt5-base' 'qt5-svg' 'sonnet' 'hicolor-icon-theme')
  117. optdepends=('perl: for builtin /exec scripts')
  118. conflicts=('quassel-monolithic' 'quassel-client')
  119. replaces=('quassel-remote')
  120. _install client-small
  121. # Ignore package by AppStream to avoid duplicated IDs
  122. echo 'X-AppStream-Ignore=true' >> "$pkgdir/usr/share/applications/quasselclient.desktop"
  123. }
  124. package_quassel-monolithic() {
  125. pkgdesc="Next-generation distributed IRC client - monolithic"
  126. pkgdesc+=" (with webkit HTML rendering)"
  127. depends=('qt5-base' 'qt5-webengine' 'qt5-multimedia' 'qt5-script' 'qca-qt5'
  128. 'knotifyconfig' 'libldap' 'hicolor-icon-theme')
  129. depends=(${depends[*]/qt5-webengine/qt5-webkit})
  130. optdepends=('perl: for builtin /exec scripts'
  131. 'postgresql: PostgreSQL database support')
  132. conflicts=('quassel-client' 'quassel-client-small')
  133. _install monolithic
  134. install -Dm644 $pkgbase-$pkgver/data/quassel.appdata.xml "$pkgdir/usr/share/metainfo/quassel.appdata.xml"
  135. }