You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-libs/efl/efl-1.24.0.ebuild

278 lines
6.7 KiB

# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit meson xdg-utils
DESCRIPTION="Enlightenment Foundation Libraries all-in-one package"
HOMEPAGE="https://www.enlightenment.org"
SRC_URI="https://download.enlightenment.org/rel/libs/${PN}/${P}.tar.xz"
LICENSE="BSD-2 GPL-2 LGPL-2.1 ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
IUSE="+X bmp connman dds debug doc drm +eet elogind examples fbcon fontconfig
fribidi gif gles2 gnutls glib +gstreamer harfbuzz hyphen ibus ico libressl
lua +luajit jpeg2k json nls mono opengl +pdf physics pmaps postscript psd
pulseaudio raw scim sdl +sound +ssl +svg +system-lz4 systemd tga tgv tiff
tslib unwind v4l vnc wayland webp xcf xim xpm xpresent zeroconf"
REQUIRED_USE="
?? ( elogind systemd )
?? ( gles2 opengl )
^^ ( lua luajit )
ssl
drm? ( gles2 )
examples? ( eet svg )
gles2? ( || ( wayland X ) )
pulseaudio? ( sound )
wayland? ( gles2 !opengl )
xim? ( X )
xpresent? ( X )
"
# Requires everything to be enabled unconditionally.
RESTRICT="test"
RDEPEND="
dev-libs/check
net-misc/curl
media-libs/giflib:=
media-libs/libpng:0=
sys-apps/dbus
sys-libs/zlib
virtual/jpeg:0=
X? (
media-libs/freetype
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXtst
x11-libs/libXScrnSaver
wayland? ( x11-libs/libxkbcommon[X] )
)
connman? ( net-misc/connman )
drm? (
dev-libs/libinput
dev-libs/wayland
media-libs/mesa[gbm]
x11-libs/libdrm
x11-libs/libxkbcommon
)
elogind? (
sys-auth/elogind
virtual/libudev
)
fontconfig? ( media-libs/fontconfig )
fribidi? ( dev-libs/fribidi )
gles2? (
media-libs/mesa[egl,gles2]
virtual/opengl
)
glib? ( dev-libs/glib:2 )
gstreamer? (
media-libs/gstreamer:1.0
media-libs/gst-plugins-base:1.0
)
hyphen? ( dev-libs/hyphen )
ibus? ( app-i18n/ibus )
jpeg2k? ( media-libs/openjpeg:= )
json? ( >=media-libs/rlottie-0.0.1_pre20200424 )
lua? ( dev-lang/lua:* )
luajit? ( dev-lang/luajit:* )
mono? ( dev-lang/mono )
opengl? ( virtual/opengl )
pdf? ( app-text/poppler:=[cxx] )
physics? ( sci-physics/bullet:= )
postscript? ( app-text/libspectre )
pulseaudio? ( media-sound/pulseaudio )
raw? ( media-libs/libraw:= )
scim? ( app-i18n/scim )
sdl? ( media-libs/libsdl2 )
sound? ( media-libs/libsndfile )
ssl? (
gnutls? ( net-libs/gnutls:= )
!gnutls? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
)
)
svg? ( gnome-base/librsvg )
system-lz4? ( app-arch/lz4 )
systemd? ( sys-apps/systemd:= )
tiff? ( media-libs/tiff:0= )
tslib? ( x11-libs/tslib:= )
unwind? ( sys-libs/libunwind )
v4l? ( media-libs/libv4l )
vnc? ( net-libs/libvncserver )
wayland? (
dev-libs/wayland
media-libs/mesa[gles2,wayland]
x11-libs/libxkbcommon
)
webp? ( media-libs/libwebp:= )
xpm? ( x11-libs/libXpm )
xpresent? ( x11-libs/libXpresent )
zeroconf? ( net-dns/avahi )
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig
doc? ( app-doc/doxygen )
nls? ( sys-devel/gettext )"
src_configure() {
local emesonargs=(
--buildtype=release
-D buffer=false
-D cocoa=false
-D drm-deprecated=false
-D g-mainloop=false
-D install-eo-files=true
-D mono-beta=false
-D dotnet=false
-D pixman=false
-D wl-deprecated=false
-D dotnet-stylecop-severity=Warning
-D edje-sound-and-video=true
-D eeze=true
-D libmount=true
-D native-arch-optimization=true
-D xinput2=true
-D xinput22=true
$(meson_use X x11)
$(meson_use debug debug-threads)
$(meson_use drm)
$(meson_use elogind)
$(meson_use examples build-examples)
$(meson_use fbcon fb)
$(meson_use fontconfig)
$(meson_use fribidi)
$(meson_use glib)
$(meson_use gstreamer)
$(meson_use harfbuzz)
$(meson_use hyphen)
$(meson_use luajit elua)
$(meson_use nls)
$(meson_use physics)
$(meson_use pulseaudio)
$(meson_use sdl)
$(meson_use sound audio)
$(meson_use systemd)
$(meson_use tslib)
$(meson_use v4l v4l2)
$(meson_use vnc vnc-server)
$(meson_use wayland wl)
$(meson_use xpresent)
$(meson_use zeroconf avahi)
$(meson_use !system-lz4 embedded-lz4)
)
if use opengl; then
emesonargs+=( -D opengl=full )
elif use gles2; then
emesonargs+=( -D opengl=es-egl )
else
emesonargs+=( -D opengl=none )
fi
if use gnutls; then
emesonargs+=( -D crypto=gnutls )
else
emesonargs+=( -D crypto=openssl )
fi
if use connman; then
emesonargs+=( -D network-backend=connman )
else
emesonargs+=( -D network-backend=none )
fi
local disabledEvasLoaders=""
! use bmp && disabledEvasLoaders+="bmp,wbmp,"
! use dds && disabledEvasLoaders+="dds,"
! use eet && disabledEvasLoaders+="eet,"
! use gstreamer && disabledEvasLoaders+="gst,"
! use ico && disabledEvasLoaders+="ico,"
! use jpeg2k && disabledEvasLoaders+="jp2k,"
! use json && disabledEvasLoaders+="json,"
! use pdf && disabledEvasLoaders+="pdf,"
! use pmaps && disabledEvasLoaders+="pmaps,"
! use postscript && disabledEvasLoaders+="ps,"
! use psd && disabledEvasLoaders+="psd,"
! use raw && disabledEvasLoaders+="raw,"
! use svg && disabledEvasLoaders+="rsvg,svg,"
! use tga && disabledEvasLoaders+="tga,"
! use tgv && disabledEvasLoaders+="tgv,"
! use tiff && disabledEvasLoaders+="tiff,"
! use webp && disabledEvasLoaders+="webp,"
! use xcf && disabledEvasLoaders+="xcf,"
! use xpm && disabledEvasLoaders+="xpm,"
[[ ! -z "$disabledEvasLoaders" ]] && disabledEvasLoaders=${disabledEvasLoaders::-1}
emesonargs+=( -D evas-loaders-disabler="${disabledEvasLoaders}" )
local disabledImfLoaders=""
! use ibus && disabledImfLoaders+="ibus,"
! use scim && disabledImfLoaders+="scim,"
! use xim && disabledImfLoaders+="xim,"
[[ ! -z "$disabledImfLoaders" ]] && disabledImfLoaders=${disabledImfLoaders::-1}
emesonargs+=( -D ecore-imf-loaders-disabler="${disabledImfLoaders}" )
local bindingsList="cxx,"
use luajit && bindingsList+="luajit,"
use mono && bindingsList+="mono,"
[[ ! -z "$bindingsList" ]] && bindingsList=${bindingsList::-1}
emesonargs+=( -D bindings="${bindingsList}" )
local luaChoice=""
if use luajit; then
luaChoice+="luajit"
else
luaChoice+="lua"
fi
emesonargs+=( -D lua-interpreter="${luaChoice}" )
meson_src_configure
}
src_compile() {
meson_src_compile
if use doc; then
cd doc/ || die "Failed to switch into doc/ dir."
doxygen . || die "Doxygen failed to run."
fi
}
src_install() {
use doc && local HTML_DOCS=( "${S}"/doc/html/. )
meson_src_install
if use examples; then
docompress -x /usr/share/doc/${PF}/examples/
dodoc -r "${BUILD_DIR}"/src/examples/
fi
}
pkg_postinst() {
xdg_icon_cache_update
xdg_mimeinfo_database_update
}
pkg_postrm() {
xdg_icon_cache_update
xdg_mimeinfo_database_update
}