app-text/zathura-ps: arm stable (bug 571330)
[gentoo.git] / dev-libs / efl / efl-9999.ebuild
1 # Copyright 1999-2015 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI="5"
6
7 MY_P=${P/_/-}
8
9 if [[ "${PV}" == "9999" ]] ; then
10         EGIT_SUB_PROJECT="core"
11         EGIT_URI_APPEND="${PN}"
12 elif [[ *"${PV}" == *"_pre"* ]] ; then
13         MY_P=${P%%_*}
14         SRC_URI="https://download.enlightenment.org/pre-releases/${MY_P}.tar.xz"
15         EKEY_STATE="snap"
16 else
17         SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${MY_P}.tar.xz"
18         EKEY_STATE="snap"
19 fi
20
21 inherit enlightenment pax-utils
22
23 DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
24
25 LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
26 IUSE="+bmp debug drm +eet egl fbcon +fontconfig fribidi gif gles glib gnutls gstreamer harfbuzz +ico ibus jpeg2k libressl neon oldlua opengl ssl physics pixman +png +ppm +psd pulseaudio scim sdl sound systemd tga tiff tslib v4l valgrind wayland webp X xim xine xpm"
27
28 REQUIRED_USE="
29         pulseaudio?     ( sound )
30         opengl?         ( || ( X sdl wayland ) )
31         gles?           ( || ( X wayland ) )
32         gles?           ( !sdl )
33         gles?           ( egl )
34         sdl?            ( opengl )
35         wayland?        ( egl !opengl gles )
36         xim?            ( X )
37 "
38
39 RDEPEND="
40         drm? (
41                 >=dev-libs/libinput-0.8
42                 media-libs/mesa[gbm]
43                 >=x11-libs/libdrm-2.4
44                 >=x11-libs/libxkbcommon-0.3.0
45         )
46         fontconfig? ( media-libs/fontconfig )
47         fribidi? ( dev-libs/fribidi )
48         gif? ( media-libs/giflib )
49         glib? ( dev-libs/glib:2 )
50         gnutls? ( net-libs/gnutls )
51         !gnutls? (
52                 ssl? (
53                         !libressl? ( dev-libs/openssl:0= )
54                         libressl? ( dev-libs/libressl )
55                 )
56         )
57         gstreamer? (
58                 media-libs/gstreamer:1.0
59                 media-libs/gst-plugins-base:1.0
60         )
61         harfbuzz? ( media-libs/harfbuzz )
62         ibus? ( app-i18n/ibus )
63         jpeg2k? ( media-libs/openjpeg:0 )
64         !oldlua? ( >=dev-lang/luajit-2.0.0 )
65         oldlua? ( dev-lang/lua:* )
66         physics? ( >=sci-physics/bullet-2.80 )
67         pixman? ( x11-libs/pixman )
68         png? ( media-libs/libpng:0= )
69         pulseaudio? ( media-sound/pulseaudio )
70         scim? ( app-i18n/scim )
71         sdl? (
72                 media-libs/libsdl2
73                 virtual/opengl
74         )
75         sound? ( media-libs/libsndfile )
76         systemd? ( sys-apps/systemd )
77         tiff? ( media-libs/tiff:0= )
78         tslib? ( x11-libs/tslib )
79         valgrind? ( dev-util/valgrind )
80         wayland? (
81                 >=dev-libs/wayland-1.8.0
82                 >=x11-libs/libxkbcommon-0.3.1
83                 media-libs/mesa[gles2,wayland]
84         )
85         webp? ( media-libs/libwebp )
86         X? (
87                 x11-libs/libXcursor
88                 x11-libs/libX11
89                 x11-libs/libXcomposite
90                 x11-libs/libXdamage
91                 x11-libs/libXext
92                 x11-libs/libXfixes
93                 x11-libs/libXinerama
94                 x11-libs/libXp
95                 x11-libs/libXrandr
96                 x11-libs/libXrender
97                 x11-libs/libXtst
98                 x11-libs/libXScrnSaver
99
100                 opengl? (
101                         x11-libs/libX11
102                         x11-libs/libXrender
103                         virtual/opengl
104                 )
105
106                 gles? (
107                         x11-libs/libX11
108                         x11-libs/libXrender
109                         virtual/opengl
110                 )
111         )
112         xine? ( >=media-libs/xine-lib-1.1.1 )
113         xpm? ( x11-libs/libXpm )
114
115         sys-apps/dbus
116         >=sys-apps/util-linux-2.20.0
117         sys-libs/zlib
118         virtual/jpeg:0=
119
120         !dev-libs/ecore
121         !dev-libs/edbus
122         !dev-libs/eet
123         !dev-libs/eeze
124         !dev-libs/efreet
125         !dev-libs/eina
126         !dev-libs/eio
127         !dev-libs/embryo
128         !dev-libs/eobj
129         !dev-libs/ephysics
130         !media-libs/edje
131         !media-libs/emotion
132         !media-libs/ethumb
133         !media-libs/evas
134 "
135 #external lz4 support currently broken because of unstable ABI/API
136 #       app-arch/lz4
137
138 #soft blockers added above for binpkg users
139 #hard blocks are needed for building
140 CORE_EFL_CONFLICTS="
141         !!dev-libs/ecore
142         !!dev-libs/edbus
143         !!dev-libs/eet
144         !!dev-libs/eeze
145         !!dev-libs/efreet
146         !!dev-libs/eina
147         !!dev-libs/eio
148         !!dev-libs/embryo
149         !!dev-libs/eobj
150         !!dev-libs/ephysics
151         !!media-libs/edje
152         !!media-libs/emotion
153         !!media-libs/ethumb
154         !!media-libs/evas
155 "
156
157 DEPEND="
158         ${CORE_EFL_CONFLICTS}
159
160         ${RDEPEND}
161         doc? ( app-doc/doxygen )
162 "
163
164 S=${WORKDIR}/${MY_P}
165
166 src_prepare() {
167         enlightenment_src_prepare
168
169         # Remove stupid sleep command.
170         # Also back out gnu make hack that causes regen of Makefiles.
171         # Delete var setting that causes the build to abort.
172         sed -i \
173                 -e '/sleep 10/d' \
174                 -e '/^#### Work around bug in automake check macro$/,/^#### Info$/d' \
175                 -e '/BARF_OK=/s:=.*:=:' \
176                 configure || die
177 }
178
179 src_configure() {
180         if use ssl && use gnutls ; then
181                 einfo "You enabled both USE=ssl and USE=gnutls, but only one can be used;"
182                 einfo "gnutls has been selected for you."
183         fi
184         if use opengl && use gles ; then
185                 einfo "You enabled both USE=opengl and USE=gles, but only one can be used;"
186                 einfo "opengl has been selected for you."
187         fi
188
189         E_ECONF=(
190                 --with-profile=$(usex debug debug release)
191                 --with-crypto=$(usex gnutls gnutls $(usex ssl openssl none))
192                 --with-x11=$(usex X xlib none)
193                 $(use_with X x)
194                 --with-opengl=$(usex opengl full $(usex gles es none))
195                 --with-glib=$(usex glib)
196                 --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb
197
198                 $(use_enable bmp image-loader-bmp)
199                 $(use_enable bmp image-loader-wbmp)
200                 $(use_enable drm)
201                 $(use_enable doc)
202                 $(use_enable eet image-loader-eet)
203                 $(use_enable egl)
204                 $(use_enable fbcon fb)
205                 $(use_enable fontconfig)
206                 $(use_enable fribidi)
207                 $(use_enable gif image-loader-gif)
208                 $(use_enable gstreamer gstreamer1)
209                 $(use_enable harfbuzz)
210                 $(use_enable ico image-loader-ico)
211                 $(use_enable ibus)
212                 $(use_enable jpeg2k image-loader-jp2k)
213                 $(use_enable neon)
214                 $(use_enable nls)
215                 $(use_enable oldlua lua-old)
216                 $(use_enable physics)
217                 $(use_enable pixman)
218                 $(use_enable pixman pixman-font)
219                 $(use_enable pixman pixman-rect)
220                 $(use_enable pixman pixman-line)
221                 $(use_enable pixman pixman-poly)
222                 $(use_enable pixman pixman-image)
223                 $(use_enable pixman pixman-image-scale-sample)
224                 $(use_enable png image-loader-png)
225                 $(use_enable ppm image-loader-pmaps)
226                 $(use_enable psd image-loader-psd)
227                 $(use_enable pulseaudio)
228                 $(use_enable scim)
229                 $(use_enable sdl)
230                 $(use_enable sound audio)
231                 $(use_enable systemd)
232                 $(use_enable tga image-loader-tga)
233                 $(use_enable tiff image-loader-tiff)
234                 $(use_enable tslib)
235                 $(use_enable v4l v4l2)
236                 $(use_enable valgrind)
237                 $(use_enable wayland)
238                 $(use_enable webp image-loader-webp)
239                 $(use_enable xim)
240                 $(use_enable xine)
241                 $(use_enable xpm image-loader-xpm)
242                 --enable-cserve
243                 --enable-image-loader-generic
244                 --enable-image-loader-jpeg
245
246                 --disable-tizen
247                 --disable-gesture
248                 --disable-gstreamer
249                 --enable-xinput2
250                 --disable-xinput22
251                 --disable-multisense
252                 --enable-libmount
253
254                 # external lz4 support currently broken because of unstable ABI/API
255                 #--enable-liblz4
256         )
257
258         enlightenment_src_configure
259 }
260
261 src_compile() {
262         if host-is-pax && ! use oldlua ; then
263                 # We need to build the lua code first so we can pax-mark it. #547076
264                 local target='_e_built_sources_target_gogogo_'
265                 printf '%s: $(BUILT_SOURCES)\n' "${target}" >> src/Makefile || die
266                 emake -C src "${target}"
267                 emake -C src bin/elua/elua
268                 pax-mark m src/bin/elua/.libs/elua
269         fi
270         enlightenment_src_compile
271 }
272
273 src_install() {
274         MAKEOPTS+=" -j1"
275
276         enlightenment_src_install
277 }