gorg86

efl-1.24.3.ebuild

Aug 5th, 2020 (edited)
26
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Copyright 1999-2020 Gentoo Authors
  2. # Distributed under the terms of the GNU General Public License v2
  3.  
  4. EAPI=7
  5.  
  6. inherit meson xdg-utils
  7.  
  8. DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
  9. HOMEPAGE="https://www.enlightenment.org"
  10. SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
  11.  
  12. LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
  13. SLOT="0"
  14. KEYWORDS="amd64 ~arm ~hppa ~ppc ~ppc64 x86"
  15. IUSE="+X bmp connman cpu_flags_arm_neon dds debug doc drm +eet elogind examples
  16. fbcon +fontconfig fribidi gif gles2-only gnutls glib +gstreamer harfbuzz
  17. hyphen ibus ico libressl lua +luajit jpeg2k json nls mono opengl +pdf
  18. physics pmaps postscript psd pulseaudio raw scim sdl +sound +ssl +svg
  19. +system-lz4 systemd tga tgv tiff tslib unwind v4l vnc wayland webp xcf xim
  20. xpm xpresent zeroconf"
  21.  
  22. REQUIRED_USE="
  23. ?? ( elogind systemd )
  24. ?? ( gles2-only opengl )
  25. ^^ ( lua luajit )
  26. ssl
  27. drm? ( gles2-only )
  28. examples? ( eet svg )
  29. gles2-only? ( || ( wayland X ) )
  30. pulseaudio? ( sound )
  31. wayland? ( gles2-only !opengl )
  32. xim? ( X )
  33. xpresent? ( X )
  34. "
  35.  
  36. # Requires everything to be enabled unconditionally.
  37. RESTRICT="test"
  38.  
  39. RDEPEND="
  40. dev-libs/check
  41. net-misc/curl
  42. media-libs/giflib:=
  43. media-libs/libpng:0=
  44. sys-apps/dbus
  45. sys-libs/zlib
  46. virtual/jpeg:0=
  47. X? (
  48. media-libs/freetype
  49. x11-libs/libX11
  50. x11-libs/libXcomposite
  51. x11-libs/libXcursor
  52. x11-libs/libXdamage
  53. x11-libs/libXdmcp
  54. x11-libs/libXext
  55. x11-libs/libXfixes
  56. x11-libs/libXi
  57. x11-libs/libXinerama
  58. x11-libs/libXrandr
  59. x11-libs/libXrender
  60. x11-libs/libXtst
  61. x11-libs/libXScrnSaver
  62. wayland? ( x11-libs/libxkbcommon[X] )
  63. )
  64. connman? ( net-misc/connman )
  65. drm? (
  66. dev-libs/libinput
  67. dev-libs/wayland
  68. media-libs/mesa[gbm]
  69. x11-libs/libdrm
  70. x11-libs/libxkbcommon
  71. )
  72. elogind? (
  73. sys-auth/elogind
  74. virtual/libudev
  75. )
  76. fontconfig? ( media-libs/fontconfig )
  77. fribidi? ( dev-libs/fribidi )
  78. gles2-only? (
  79. media-libs/mesa[egl,gles2]
  80. virtual/opengl
  81. )
  82. glib? ( dev-libs/glib:2 )
  83. gstreamer? (
  84. media-libs/gstreamer:1.0
  85. media-libs/gst-plugins-base:1.0
  86. )
  87. hyphen? ( dev-libs/hyphen )
  88. ibus? ( app-i18n/ibus )
  89. jpeg2k? ( media-libs/openjpeg:= )
  90. json? ( >=media-libs/rlottie-0.0.1_pre20200424:= )
  91. lua? ( dev-lang/lua:* )
  92. luajit? ( dev-lang/luajit:* )
  93. mono? ( dev-lang/mono )
  94. opengl? ( virtual/opengl )
  95. pdf? ( app-text/poppler:=[cxx] )
  96. physics? ( sci-physics/bullet:= )
  97. postscript? ( app-text/libspectre )
  98. pulseaudio? ( media-sound/pulseaudio )
  99. raw? ( media-libs/libraw:= )
  100. scim? ( app-i18n/scim )
  101. sdl? ( media-libs/libsdl2 )
  102. sound? ( media-libs/libsndfile )
  103. ssl? (
  104. gnutls? ( net-libs/gnutls:= )
  105. !gnutls? (
  106. !libressl? ( dev-libs/openssl:0= )
  107. libressl? ( dev-libs/libressl:= )
  108. )
  109. )
  110. svg? ( gnome-base/librsvg )
  111. system-lz4? ( app-arch/lz4 )
  112. systemd? ( sys-apps/systemd:= )
  113. tiff? ( media-libs/tiff:0= )
  114. tslib? ( x11-libs/tslib:= )
  115. unwind? ( sys-libs/libunwind )
  116. v4l? ( media-libs/libv4l )
  117. vnc? ( net-libs/libvncserver )
  118. wayland? (
  119. dev-libs/wayland
  120. media-libs/mesa[gles2,wayland]
  121. x11-libs/libxkbcommon
  122. )
  123. webp? ( media-libs/libwebp:= )
  124. xpm? ( x11-libs/libXpm )
  125. xpresent? ( x11-libs/libXpresent )
  126. zeroconf? ( net-dns/avahi )
  127. "
  128. DEPEND="${RDEPEND}"
  129. BDEPEND="virtual/pkgconfig
  130. doc? ( app-doc/doxygen )
  131. nls? ( sys-devel/gettext )"
  132.  
  133. src_configure() {
  134. local emesonargs=(
  135. --buildtype=release
  136.  
  137. -D buffer=false
  138. -D cocoa=false
  139. -D drm-deprecated=false
  140. -D g-mainloop=false
  141. -D install-eo-files=true
  142. -D mono-beta=false
  143. -D dotnet=false
  144. -D pixman=false
  145. -D wl-deprecated=false
  146. -D dotnet-stylecop-severity=Warning
  147. -D systemd=true
  148.  
  149. -D edje-sound-and-video=true
  150. -D eeze=true
  151. -D libmount=true
  152. -D native-arch-optimization=true
  153. -D xinput2=true
  154. -D xinput22=true
  155.  
  156. $(meson_use X x11)
  157. $(meson_use debug debug-threads)
  158. $(meson_use drm)
  159. $(meson_use elogind)
  160. $(meson_use examples build-examples)
  161. $(meson_use fbcon fb)
  162. $(meson_use fontconfig)
  163. $(meson_use fribidi)
  164. $(meson_use glib)
  165. $(meson_use gstreamer)
  166. $(meson_use harfbuzz)
  167. $(meson_use hyphen)
  168. $(meson_use luajit elua)
  169. $(meson_use nls)
  170. $(meson_use physics)
  171. $(meson_use pulseaudio)
  172. $(meson_use sdl)
  173. $(meson_use sound audio)
  174. $(meson_use tslib)
  175. $(meson_use v4l v4l2)
  176. $(meson_use vnc vnc-server)
  177. $(meson_use wayland wl)
  178. $(meson_use xpresent)
  179. $(meson_use zeroconf avahi)
  180.  
  181. $(meson_use !system-lz4 embedded-lz4)
  182. )
  183.  
  184. if use opengl; then
  185. emesonargs+=( -D opengl=full )
  186. elif use gles2-only; then
  187. emesonargs+=( -D opengl=es-egl )
  188. else
  189. emesonargs+=( -D opengl=none )
  190. fi
  191.  
  192. if use gnutls; then
  193. emesonargs+=( -D crypto=gnutls )
  194. else
  195. emesonargs+=( -D crypto=openssl )
  196. fi
  197.  
  198. if use connman; then
  199. emesonargs+=( -D network-backend=connman )
  200. else
  201. emesonargs+=( -D network-backend=none )
  202. fi
  203.  
  204. local disabledEvasLoaders=""
  205. ! use bmp && disabledEvasLoaders+="bmp,wbmp,"
  206. ! use dds && disabledEvasLoaders+="dds,"
  207. ! use eet && disabledEvasLoaders+="eet,"
  208. ! use gstreamer && disabledEvasLoaders+="gst,"
  209. ! use ico && disabledEvasLoaders+="ico,"
  210. ! use jpeg2k && disabledEvasLoaders+="jp2k,"
  211. ! use json && disabledEvasLoaders+="json,"
  212. ! use pdf && disabledEvasLoaders+="pdf,"
  213. ! use pmaps && disabledEvasLoaders+="pmaps,"
  214. ! use postscript && disabledEvasLoaders+="ps,"
  215. ! use psd && disabledEvasLoaders+="psd,"
  216. ! use raw && disabledEvasLoaders+="raw,"
  217. ! use svg && disabledEvasLoaders+="rsvg,svg,"
  218. ! use tga && disabledEvasLoaders+="tga,"
  219. ! use tgv && disabledEvasLoaders+="tgv,"
  220. ! use tiff && disabledEvasLoaders+="tiff,"
  221. ! use webp && disabledEvasLoaders+="webp,"
  222. ! use xcf && disabledEvasLoaders+="xcf,"
  223. ! use xpm && disabledEvasLoaders+="xpm,"
  224. [[ ! -z "$disabledEvasLoaders" ]] && disabledEvasLoaders=${disabledEvasLoaders::-1}
  225. emesonargs+=( -D evas-loaders-disabler="${disabledEvasLoaders}" )
  226.  
  227. local disabledImfLoaders=""
  228. ! use ibus && disabledImfLoaders+="ibus,"
  229. ! use scim && disabledImfLoaders+="scim,"
  230. ! use xim && disabledImfLoaders+="xim,"
  231. [[ ! -z "$disabledImfLoaders" ]] && disabledImfLoaders=${disabledImfLoaders::-1}
  232. emesonargs+=( -D ecore-imf-loaders-disabler="${disabledImfLoaders}" )
  233.  
  234. local bindingsList="cxx,"
  235. use luajit && bindingsList+="luajit,"
  236. use mono && bindingsList+="mono,"
  237. [[ ! -z "$bindingsList" ]] && bindingsList=${bindingsList::-1}
  238. emesonargs+=( -D bindings="${bindingsList}" )
  239.  
  240. local luaChoice=""
  241. if use luajit; then
  242. luaChoice+="luajit"
  243. else
  244. luaChoice+="lua"
  245. fi
  246. emesonargs+=( -D lua-interpreter="${luaChoice}" )
  247.  
  248. # Not all arm CPU's have neon instruction set, #722552
  249. if use arm && ! use cpu_flags_arm_neon; then
  250. emesonargs+=( -D native-arch-optimization=false )
  251. fi
  252.  
  253. meson_src_configure
  254. }
  255.  
  256. src_compile() {
  257. meson_src_compile
  258.  
  259. if use doc; then
  260. cd doc/ || die "Failed to switch into doc/ dir."
  261. doxygen . || die "Doxygen failed to run."
  262. fi
  263. }
  264.  
  265. src_install() {
  266. use doc && local HTML_DOCS=( "${S}"/doc/html/. )
  267. meson_src_install
  268.  
  269. if use examples; then
  270. docompress -x /usr/share/doc/${PF}/examples/
  271. dodoc -r "${BUILD_DIR}"/src/examples/
  272. fi
  273. }
  274.  
  275. pkg_postinst() {
  276. xdg_icon_cache_update
  277. xdg_mimeinfo_database_update
  278. }
  279.  
  280. pkg_postrm() {
  281. xdg_icon_cache_update
  282. xdg_mimeinfo_database_update
  283. }
  284.  
RAW Paste Data