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