1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 inherit flag-o-matic meson xdg-utils
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"
12 LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
14 KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
15 IUSE="+X bmp connman dds debug doc drm +eet elogind examples fbcon fontconfig
16 fribidi gif gles2 gnutls glib +gstreamer harfbuzz hyphen ibus ico libressl
17 lua +luajit jpeg2k json nls mono opengl +pdf physics pmaps postscript psd
18 pulseaudio raw scim sdl +sound +ssl +svg +system-lz4 systemd tga tgv tiff
19 tslib unwind v4l vnc wayland webp xcf xim xpm xpresent zeroconf"
22 ?? ( elogind systemd )
28 gles2? ( || ( wayland X ) )
30 wayland? ( gles2 !opengl )
35 # Requires everything to be enabled unconditionally.
49 x11-libs/libXcomposite
60 x11-libs/libXScrnSaver
61 wayland? ( x11-libs/libxkbcommon[X] )
63 connman? ( net-misc/connman )
75 fontconfig? ( media-libs/fontconfig )
76 fribidi? ( dev-libs/fribidi )
78 media-libs/mesa[egl,gles2]
81 glib? ( dev-libs/glib:2 )
83 media-libs/gstreamer:1.0
84 media-libs/gst-plugins-base:1.0
86 hyphen? ( dev-libs/hyphen )
87 ibus? ( app-i18n/ibus )
88 jpeg2k? ( media-libs/openjpeg:= )
89 json? ( >=media-libs/rlottie-0.0.1_pre20200424 )
90 lua? ( dev-lang/lua:* )
91 luajit? ( dev-lang/luajit:* )
92 mono? ( dev-lang/mono )
93 opengl? ( virtual/opengl )
94 pdf? ( app-text/poppler:=[cxx] )
95 physics? ( sci-physics/bullet:= )
96 postscript? ( app-text/libspectre )
97 pulseaudio? ( media-sound/pulseaudio )
98 raw? ( media-libs/libraw:= )
99 scim? ( app-i18n/scim )
100 sdl? ( media-libs/libsdl2 )
101 sound? ( media-libs/libsndfile )
103 gnutls? ( net-libs/gnutls:= )
105 !libressl? ( dev-libs/openssl:0= )
106 libressl? ( dev-libs/libressl:= )
109 svg? ( gnome-base/librsvg )
110 system-lz4? ( app-arch/lz4 )
111 systemd? ( sys-apps/systemd:= )
112 tiff? ( media-libs/tiff:0= )
113 tslib? ( x11-libs/tslib:= )
114 unwind? ( sys-libs/libunwind )
115 v4l? ( media-libs/libv4l )
116 vnc? ( net-libs/libvncserver )
119 media-libs/mesa[gles2,wayland]
120 x11-libs/libxkbcommon
122 webp? ( media-libs/libwebp:= )
123 xpm? ( x11-libs/libXpm )
124 xpresent? ( x11-libs/libXpresent )
125 zeroconf? ( net-dns/avahi )
128 BDEPEND="virtual/pkgconfig
129 doc? ( app-doc/doxygen )
130 nls? ( sys-devel/gettext )"
138 -D drm-deprecated=false
140 -D install-eo-files=true
144 -D wl-deprecated=false
145 -D dotnet-stylecop-severity=Warning
147 -D edje-sound-and-video=true
150 -D native-arch-optimization=true
155 $(meson_use debug debug-threads)
158 $(meson_use examples build-examples)
159 $(meson_use fbcon fb)
160 $(meson_use fontconfig)
163 $(meson_use gstreamer)
164 $(meson_use harfbuzz)
166 $(meson_use luajit elua)
169 $(meson_use pulseaudio)
171 $(meson_use sound audio)
174 $(meson_use v4l v4l2)
175 $(meson_use vnc vnc-server)
176 $(meson_use wayland wl)
177 $(meson_use xpresent)
178 $(meson_use zeroconf avahi)
180 $(meson_use !system-lz4 embedded-lz4)
184 emesonargs+=( -D opengl=full )
186 emesonargs+=( -D opengl=es-egl )
188 emesonargs+=( -D opengl=none )
192 emesonargs+=( -D crypto=gnutls )
194 emesonargs+=( -D crypto=openssl )
198 emesonargs+=( -D network-backend=connman )
200 emesonargs+=( -D network-backend=none )
203 local disabledEvasLoaders=""
204 ! use bmp && disabledEvasLoaders+="bmp,wbmp,"
205 ! use dds && disabledEvasLoaders+="dds,"
206 ! use eet && disabledEvasLoaders+="eet,"
207 ! use gstreamer && disabledEvasLoaders+="gst,"
208 ! use ico && disabledEvasLoaders+="ico,"
209 ! use jpeg2k && disabledEvasLoaders+="jp2k,"
210 ! use json && disabledEvasLoaders+="json,"
211 ! use pdf && disabledEvasLoaders+="pdf,"
212 ! use pmaps && disabledEvasLoaders+="pmaps,"
213 ! use postscript && disabledEvasLoaders+="ps,"
214 ! use psd && disabledEvasLoaders+="psd,"
215 ! use raw && disabledEvasLoaders+="raw,"
216 ! use svg && disabledEvasLoaders+="rsvg,svg,"
217 ! use tga && disabledEvasLoaders+="tga,"
218 ! use tgv && disabledEvasLoaders+="tgv,"
219 ! use tiff && disabledEvasLoaders+="tiff,"
220 ! use webp && disabledEvasLoaders+="webp,"
221 ! use xcf && disabledEvasLoaders+="xcf,"
222 ! use xpm && disabledEvasLoaders+="xpm,"
223 [[ ! -z "$disabledEvasLoaders" ]] && disabledEvasLoaders=${disabledEvasLoaders::-1}
224 emesonargs+=( -D evas-loaders-disabler="${disabledEvasLoaders}" )
226 local disabledImfLoaders=""
227 ! use ibus && disabledImfLoaders+="ibus,"
228 ! use scim && disabledImfLoaders+="scim,"
229 ! use xim && disabledImfLoaders+="xim,"
230 [[ ! -z "$disabledImfLoaders" ]] && disabledImfLoaders=${disabledImfLoaders::-1}
231 emesonargs+=( -D ecore-imf-loaders-disabler="${disabledImfLoaders}" )
233 local bindingsList="cxx,"
234 use luajit && bindingsList+="luajit,"
235 use mono && bindingsList+="mono,"
236 [[ ! -z "$bindingsList" ]] && bindingsList=${bindingsList::-1}
237 emesonargs+=( -D bindings="${bindingsList}" )
245 emesonargs+=( -D lua-interpreter="${luaChoice}" )
247 append-cflags -fcommon
256 cd doc/ || die "Failed to switch into doc/ dir."
257 doxygen . || die "Doxygen failed to run."
262 use doc && local HTML_DOCS=( "${S}"/doc/html/. )
265 if use examples; then
266 docompress -x /usr/share/doc/${PF}/examples/
267 dodoc -r "${BUILD_DIR}"/src/examples/
272 xdg_icon_cache_update
273 xdg_mimeinfo_database_update
277 xdg_icon_cache_update
278 xdg_mimeinfo_database_update