Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/efl/files/, dev-libs/efl/
Date: Wed, 05 Dec 2018 08:40:21
Message-Id: 1543998931.32578b4efcf9161fef1b2267cc1fc2d31aa52a7e.mgorny@gentoo
1 commit: 32578b4efcf9161fef1b2267cc1fc2d31aa52a7e
2 Author: Joonas Niilola <juippis <AT> gmail <DOT> com>
3 AuthorDate: Wed Dec 5 07:16:15 2018 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 5 08:35:31 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32578b4e
7
8 dev-libs/efl: revbump 1.21.1 to fix evas-preload segfault
9
10 - thanks to tbartdev <AT> gmx-topmail.de for the patch
11 - upstream bug: https://phab.enlightenment.org/T7354
12
13 Closes: https://bugs.gentoo.org/671876
14 Package-Manager: Portage[mgorny]-2.3.51.1
15 Signed-off-by: Joonas Niilola <juippis <AT> gmail.com>
16 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
17
18 dev-libs/efl/efl-1.21.1-r1.ebuild | 279 +++++++++++++++++++++
19 .../efl-1.21.1-fix_evas_preload_segfault.patch | 10 +
20 2 files changed, 289 insertions(+)
21
22 diff --git a/dev-libs/efl/efl-1.21.1-r1.ebuild b/dev-libs/efl/efl-1.21.1-r1.ebuild
23 new file mode 100644
24 index 00000000000..c6e1fed2916
25 --- /dev/null
26 +++ b/dev-libs/efl/efl-1.21.1-r1.ebuild
27 @@ -0,0 +1,279 @@
28 +# Copyright 1999-2018 Gentoo Authors
29 +# Distributed under the terms of the GNU General Public License v2
30 +
31 +EAPI=6
32 +
33 +inherit gnome2-utils pax-utils xdg-utils
34 +
35 +DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
36 +HOMEPAGE="https://www.enlightenment.org"
37 +SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
38 +
39 +LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
40 +SLOT="0"
41 +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux"
42 +IUSE="avahi +bmp dds connman debug drm +eet egl examples fbcon +fontconfig fribidi gif gles glib gnutls gstreamer harfbuzz hyphen +ico ibus jpeg2k libressl libuv luajit neon nls opengl ssl pdf physics postscript +ppm +psd pulseaudio raw scim sdl sound static-libs svg +system-lz4 systemd tga tiff tslib unwind v4l valgrind vlc vnc wayland webp X xcf xim xine xpresent xpm"
43 +
44 +REQUIRED_USE="
45 + ?? ( opengl egl )
46 + ?? ( opengl gles )
47 + fbcon? ( !tslib )
48 + gles? (
49 + || ( X wayland )
50 + !sdl
51 + egl
52 + )
53 + ibus? ( glib )
54 + opengl? ( X )
55 + pulseaudio? ( sound )
56 + sdl? ( opengl )
57 + vnc? ( X fbcon )
58 + wayland? ( egl gles !opengl )
59 + xim? ( X )
60 + xpresent? ( X )
61 +"
62 +
63 +RDEPEND="
64 + net-misc/curl
65 + media-libs/libpng:0=
66 + sys-apps/dbus
67 + sys-apps/util-linux
68 + sys-libs/zlib:=
69 + virtual/jpeg:0=
70 + avahi? ( net-dns/avahi )
71 + connman? ( net-misc/connman )
72 + drm? (
73 + dev-libs/libinput
74 + media-libs/mesa[gbm]
75 + x11-libs/libdrm
76 + x11-libs/libxkbcommon
77 + )
78 + egl? ( media-libs/mesa[egl] )
79 + fontconfig? ( media-libs/fontconfig )
80 + fribidi? ( dev-libs/fribidi )
81 + gif? ( media-libs/giflib:= )
82 + gles? ( media-libs/mesa[gles2] )
83 + glib? ( dev-libs/glib:2 )
84 + gstreamer? (
85 + media-libs/gstreamer:1.0
86 + media-libs/gst-plugins-base:1.0
87 + )
88 + harfbuzz? ( media-libs/harfbuzz )
89 + hyphen? ( dev-libs/hyphen )
90 + ibus? ( app-i18n/ibus )
91 + jpeg2k? ( media-libs/openjpeg:0= )
92 + libuv? ( dev-libs/libuv )
93 + luajit? ( dev-lang/luajit:= )
94 + !luajit? ( dev-lang/lua:* )
95 + nls? ( sys-devel/gettext )
96 + pdf? ( app-text/poppler:=[cxx] )
97 + physics? ( sci-physics/bullet:= )
98 + postscript? ( app-text/libspectre )
99 + pulseaudio? ( media-sound/pulseaudio )
100 + raw? ( media-libs/libraw:= )
101 + scim? ( app-i18n/scim )
102 + sdl? (
103 + media-libs/libsdl2
104 + virtual/opengl
105 + )
106 + sound? ( media-libs/libsndfile )
107 + ssl? (
108 + gnutls? ( net-libs/gnutls:= )
109 + !gnutls? (
110 + !libressl? ( dev-libs/openssl:= )
111 + libressl? ( dev-libs/libressl:= )
112 + )
113 + )
114 + svg? (
115 + gnome-base/librsvg
116 + x11-libs/cairo
117 + )
118 + system-lz4? ( app-arch/lz4 )
119 + systemd? ( sys-apps/systemd )
120 + tiff? ( media-libs/tiff:0= )
121 + tslib? ( x11-libs/tslib:= )
122 + unwind? ( sys-libs/libunwind )
123 + valgrind? ( dev-util/valgrind )
124 + vlc? ( media-video/vlc )
125 + vnc? ( net-libs/libvncserver )
126 + wayland? (
127 + dev-libs/wayland
128 + media-libs/mesa[gles2,wayland]
129 + x11-libs/libxkbcommon
130 + )
131 + webp? ( media-libs/libwebp:= )
132 + X? (
133 + media-libs/freetype
134 + x11-libs/libXcursor
135 + x11-libs/libX11
136 + x11-libs/libXcomposite
137 + x11-libs/libXdamage
138 + x11-libs/libXext
139 + x11-libs/libXfixes
140 + x11-libs/libXinerama
141 + x11-libs/libXrandr
142 + x11-libs/libXrender
143 + x11-libs/libXtst
144 + x11-libs/libXScrnSaver
145 + gles? (
146 + x11-libs/libX11
147 + x11-libs/libXrender
148 + virtual/opengl
149 + )
150 + opengl? (
151 + x11-libs/libX11
152 + x11-libs/libXrender
153 + virtual/opengl
154 + )
155 + )
156 + xine? ( media-libs/xine-lib )
157 + xpm? ( x11-libs/libXpm )
158 + xpresent? ( x11-libs/libXpresent )
159 +"
160 +
161 +DEPEND="
162 + ${RDEPEND}
163 + virtual/pkgconfig
164 +"
165 +
166 +PATCHES=(
167 + "${FILESDIR}/${P}-fix_evas_preload_segfault.patch"
168 +)
169 +
170 +src_prepare() {
171 + default
172 +
173 + # Upstream still doesnt offer a configure flag. #611108
174 + if ! use unwind ; then
175 + sed -i -e 's:libunwind libunwind-generic:xxxxxxxxxxxxxxxx:' \
176 + configure || die "Sedding configure file with unwind fix failed."
177 + fi
178 +
179 + xdg_environment_reset
180 +}
181 +
182 +src_configure() {
183 + local myconf=(
184 + --enable-cserve
185 + --enable-image-loader-generic
186 + --enable-image-loader-jpeg
187 + --enable-image-loader-png
188 + --enable-libeeze
189 + --enable-libmount
190 + --enable-xinput22
191 +
192 + --disable-doc
193 + --disable-eglfs
194 + --disable-gesture
195 + --disable-gstreamer
196 + --disable-image-loader-tgv
197 + --disable-tizen
198 + --disable-wayland-ivi-shell
199 +
200 + $(use_enable avahi)
201 + $(use_enable bmp image-loader-bmp)
202 + $(use_enable bmp image-loader-wbmp)
203 + $(use_enable dds image-loader-dds)
204 + $(use_enable drm)
205 + $(use_enable drm elput)
206 + $(use_enable eet image-loader-eet)
207 + $(use_enable egl)
208 + $(use_enable examples always-build-examples)
209 + $(use_enable fbcon fb)
210 + $(use_enable fontconfig)
211 + $(use_enable fribidi)
212 + $(use_enable gif image-loader-gif)
213 + $(use_enable gstreamer gstreamer1)
214 + $(use_enable harfbuzz)
215 + $(use_enable hyphen)
216 + $(use_enable ico image-loader-ico)
217 + $(use_enable ibus)
218 + $(use_enable jpeg2k image-loader-jp2k)
219 + $(use_enable libuv)
220 + $(use_enable !luajit lua-old)
221 + $(use_enable neon)
222 + $(use_enable nls)
223 + $(use_enable pdf poppler)
224 + $(use_enable physics)
225 + $(use_enable postscript spectre)
226 + $(use_enable ppm image-loader-pmaps)
227 + $(use_enable psd image-loader-psd)
228 + $(use_enable pulseaudio)
229 + $(use_enable raw libraw)
230 + $(use_enable scim)
231 + $(use_enable sdl)
232 + $(use_enable sound audio)
233 + $(use_enable static-libs static)
234 + $(use_enable svg librsvg)
235 + $(use_enable system-lz4 liblz4)
236 + $(use_enable systemd)
237 + $(use_enable tga image-loader-tga)
238 + $(use_enable tiff image-loader-tiff)
239 + $(use_enable tslib)
240 + $(use_enable v4l v4l2)
241 + $(use_enable valgrind)
242 + $(use_enable vlc libvlc)
243 + $(use_enable vnc vnc-server)
244 + $(use_enable wayland)
245 + $(use_enable webp image-loader-webp)
246 + $(use_enable xcf)
247 + $(use_enable xim)
248 + $(use_enable xine)
249 + $(use_enable xpm image-loader-xpm)
250 + $(use_enable xpresent)
251 +
252 + --with-crypto=$(usex gnutls gnutls $(usex ssl openssl none))
253 + --with-glib=$(usex glib)
254 + --with-js=none
255 + --with-net-control=$(usex connman connman none)
256 + --with-profile=$(usex debug debug release)
257 + --with-x11=$(usex X xlib none)
258 +
259 + $(use_with X x)
260 + )
261 +
262 + use drm && use wayland && myconf+=( --enable-gl-drm )
263 +
264 + if use opengl ; then
265 + myconf+=( --with-opengl=full )
266 + elif use egl ; then
267 + myconf+=( --with-opengl=es )
268 + elif use drm && use wayland ; then
269 + myconf+=( --with-opengl=es )
270 + else
271 + myconf+=( --with-opengl=none )
272 + fi
273 +
274 + econf "${myconf[@]}"
275 +}
276 +
277 +src_compile() {
278 + if host-is-pax && use luajit ; then
279 + # We need to build the lua code first so we can pax-mark it. #547076
280 + local target='_e_built_sources_target_gogogo_'
281 + printf '%s: $(BUILT_SOURCES)\n' "${target}" >> src/Makefile || die
282 + emake -C src "${target}"
283 + emake -C src bin/elua/elua
284 + pax-mark m src/bin/elua/.libs/elua
285 + fi
286 +
287 + V=1 emake || die "Compiling EFL failed."
288 +}
289 +
290 +src_install() {
291 + einstalldocs
292 +
293 + V=1 emake install DESTDIR="${D}" || die "Installing EFL files failed."
294 +
295 + find "${D}" -name '*.la' -delete || die
296 +}
297 +
298 +pkg_postinst() {
299 + gnome2_icon_cache_update
300 + xdg_mimeinfo_database_update
301 +}
302 +
303 +pkg_postrm() {
304 + gnome2_icon_cache_update
305 + xdg_mimeinfo_database_update
306 +}
307
308 diff --git a/dev-libs/efl/files/efl-1.21.1-fix_evas_preload_segfault.patch b/dev-libs/efl/files/efl-1.21.1-fix_evas_preload_segfault.patch
309 new file mode 100644
310 index 00000000000..8d42cbb0f25
311 --- /dev/null
312 +++ b/dev-libs/efl/files/efl-1.21.1-fix_evas_preload_segfault.patch
313 @@ -0,0 +1,10 @@
314 +--- a/src/lib/evas/cache/evas_cache_image.c 14:09:44.971119099 +0100
315 ++++ b/src/lib/evas/cache/evas_cache_image.c 14:10:21.521226043 +0100
316 +@@ -361,6 +361,7 @@
317 + cache = current->cache;
318 +
319 + if ((!current->flags.loaded) &&
320 ++ (current->info.loader) &&
321 + current->info.loader->threadable)
322 + {
323 + evas_module_task_register(evas_cache_image_cancelled, current);