qtgui-5.15.18-r1.ebuild 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. # Copyright 1999-2026 Gentoo Authors
  2. # Distributed under the terms of the GNU General Public License v2
  3. EAPI=8
  4. # Looking for Qt 6? It is packaged differently to Qt 5 with different
  5. # package names: https://wiki.gentoo.org/wiki/Project:Qt/Qt6_migration_notes
  6. if [[ ${PV} != *9999* ]]; then
  7. QT5_KDEPATCHSET_REV=1
  8. KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
  9. fi
  10. QT5_MODULE="qtbase"
  11. inherit qt5-build
  12. DESCRIPTION="The GUI module and platform plugins for the Qt5 framework"
  13. SLOT=5/${QT5_PV} # bug 707658
  14. IUSE="accessibility dbus egl eglfs evdev gles2-only ibus jpeg +libinput
  15. linuxfb +png tslib tuio +udev vnc vulkan wayland +X"
  16. REQUIRED_USE="
  17. || ( eglfs linuxfb vnc wayland X )
  18. accessibility? ( dbus X )
  19. eglfs? ( egl )
  20. ibus? ( dbus )
  21. libinput? ( udev )
  22. X? ( gles2-only? ( egl ) )
  23. "
  24. RDEPEND="
  25. dev-libs/glib:2
  26. dev-libs/md4c
  27. =dev-qt/qtcore-${QT5_PV}*:5=
  28. dev-util/gtk-update-icon-cache
  29. media-libs/fontconfig
  30. media-libs/freetype:2
  31. media-libs/harfbuzz:=
  32. virtual/zlib:=
  33. accessibility? ( app-accessibility/at-spi2-core:2 )
  34. dbus? ( =dev-qt/qtdbus-${QT5_PV}* )
  35. eglfs? (
  36. media-libs/mesa[gbm(+)]
  37. x11-libs/libdrm
  38. )
  39. evdev? ( sys-libs/mtdev )
  40. jpeg? ( media-libs/libjpeg-turbo:= )
  41. gles2-only? ( media-libs/libglvnd )
  42. !gles2-only? ( media-libs/libglvnd[X] )
  43. libinput? (
  44. dev-libs/libinput:=
  45. x11-libs/libxkbcommon
  46. )
  47. png? ( media-libs/libpng:= )
  48. tslib? ( >=x11-libs/tslib-1.21 )
  49. tuio? ( =dev-qt/qtnetwork-${QT5_PV}* )
  50. udev? ( virtual/libudev:= )
  51. vnc? ( =dev-qt/qtnetwork-${QT5_PV}* )
  52. vulkan? ( dev-util/vulkan-headers )
  53. X? (
  54. x11-libs/libICE
  55. x11-libs/libSM
  56. x11-libs/libX11
  57. x11-libs/libxcb:=
  58. x11-libs/libxkbcommon[X]
  59. x11-libs/xcb-util-image
  60. x11-libs/xcb-util-keysyms
  61. x11-libs/xcb-util-renderutil
  62. x11-libs/xcb-util-wm
  63. )
  64. "
  65. DEPEND="${RDEPEND}
  66. evdev? ( sys-kernel/linux-headers )
  67. linuxfb? ( sys-kernel/linux-headers )
  68. udev? ( sys-kernel/linux-headers )
  69. X? ( x11-base/xorg-proto )
  70. "
  71. PDEPEND="
  72. ibus? ( app-i18n/ibus )
  73. wayland? ( =dev-qt/qtwayland-${QT5_PV}* )
  74. "
  75. QT5_TARGET_SUBDIRS=(
  76. src/tools/qvkgen
  77. src/gui
  78. src/openglextensions
  79. src/platformheaders
  80. src/platformsupport
  81. src/plugins/generic
  82. src/plugins/imageformats
  83. src/plugins/platforms
  84. src/plugins/platforminputcontexts
  85. )
  86. QT5_GENTOO_CONFIG=(
  87. accessibility:accessibility-atspi-bridge
  88. egl:egl:
  89. eglfs:eglfs:
  90. eglfs:eglfs_egldevice:
  91. eglfs:eglfs_gbm:
  92. evdev:evdev:
  93. evdev:mtdev:
  94. :fontconfig:
  95. :system-freetype:FREETYPE
  96. !:no-freetype:
  97. gles2-only::OPENGL_ES
  98. gles2-only:opengles2:OPENGL_ES_2
  99. !:no-gui:
  100. :system-harfbuzz:
  101. !:no-harfbuzz:
  102. jpeg:system-jpeg:IMAGEFORMAT_JPEG
  103. !jpeg:no-jpeg:
  104. libinput
  105. libinput:xkbcommon:
  106. :opengl
  107. png:png:
  108. png:system-png:IMAGEFORMAT_PNG
  109. !png:no-png:
  110. tslib:tslib:
  111. udev:libudev:
  112. vulkan:vulkan:
  113. X:xcb:
  114. X:xcb-glx:
  115. X:xcb-plugin:
  116. X:xcb-render:
  117. X:xcb-sm:
  118. X:xcb-xlib:
  119. X:xcb-xinput:
  120. )
  121. QT5_GENTOO_PRIVATE_CONFIG=(
  122. :gui
  123. )
  124. src_prepare() {
  125. # don't add -O3 to CXXFLAGS, bug 549140
  126. sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/gui/gui.pro || die
  127. # egl_x11 is activated when both egl and X are enabled
  128. use egl && QT5_GENTOO_CONFIG+=(X:egl_x11:) || QT5_GENTOO_CONFIG+=(egl:egl_x11:)
  129. qt_use_disable_config dbus dbus \
  130. src/platformsupport/themes/genericunix/genericunix.pri
  131. qt_use_disable_config tuio tuiotouch src/plugins/generic/generic.pro
  132. qt_use_disable_mod ibus dbus \
  133. src/plugins/platforminputcontexts/platforminputcontexts.pro
  134. use vnc || sed -i -e '/SUBDIRS += vnc/d' \
  135. src/plugins/platforms/platforms.pro || die
  136. qt5-build_src_prepare
  137. }
  138. src_configure() {
  139. local myconf=(
  140. $(qt_use accessibility feature-accessibility-atspi-bridge)
  141. $(usev dbus -dbus-linked)
  142. $(qt_use egl)
  143. $(qt_use eglfs)
  144. $(usev eglfs '-gbm -kms')
  145. $(qt_use evdev)
  146. $(qt_use evdev mtdev)
  147. -fontconfig
  148. -system-freetype
  149. -gui
  150. -system-harfbuzz
  151. $(qt_use jpeg libjpeg system)
  152. $(qt_use libinput)
  153. $(qt_use linuxfb)
  154. -opengl $(usex gles2-only es2 desktop)
  155. $(qt_use png libpng system)
  156. $(qt_use tslib)
  157. $(qt_use udev libudev)
  158. $(qt_use vulkan)
  159. $(qt_use X xcb)
  160. $(usev X '-xcb-xlib')
  161. )
  162. if use libinput || use X; then
  163. myconf+=( -xkbcommon )
  164. fi
  165. qt5-build_src_configure
  166. }