aboutsummaryrefslogtreecommitdiff
path: root/devel/efl/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'devel/efl/Makefile')
-rw-r--r--devel/efl/Makefile316
1 files changed, 101 insertions, 215 deletions
diff --git a/devel/efl/Makefile b/devel/efl/Makefile
index f3f9b1ddbae5..85494f1ace78 100644
--- a/devel/efl/Makefile
+++ b/devel/efl/Makefile
@@ -1,14 +1,13 @@
-# Created by: Grzegorz Blach <gblach@FreeBSD.org>
-
PORTNAME= efl
-DISTVERSION= 1.25.1
-PORTREVISION= 15
+DISTVERSION= 1.27.0
+PORTREVISION= 3
CATEGORIES= devel enlightenment
MASTER_SITES= http://download.enlightenment.org/rel/libs/${PORTNAME}/
DIST_SUBDIR= enlightenment
MAINTAINER= enlightenment@FreeBSD.org
COMMENT= Enlightenment Foundation Libraries
+WWW= https://docs.enlightenment.org/efl/current/
LICENSE= BSD2CLAUSE LGPL21
LICENSE_COMB= multi
@@ -22,26 +21,21 @@ LIB_DEPENDS= libgif.so:graphics/giflib \
libdbus-1.so:devel/dbus \
libcurl.so:ftp/curl \
libsndfile.so:audio/libsndfile
-RUN_DEPENDS= update-mime-database:misc/shared-mime-info
# lib/libeio.so.1
CONFLICTS_INSTALL= libeio
USES= compiler:c++14-lang gettext-tools gnome iconv \
- jpeg libtool meson ninja ssl pathfix pkgconfig python:3.5+ shared-mime-info \
- shebangfix tar:xz xorg
-SHEBANG_FILES= src/tests/elementary/spec/generator.py \
+ jpeg libtool localbase:ldflags meson ninja ssl pathfix pkgconfig \
+ python shared-mime-info shebangfix tar:xz xorg
+SHEBANG_FILES= src/tests/elementary/spec/generator.py \
src/bin/exactness/exactness_play.in \
src/bin/exactness/exactness_record.in
USE_XORG= x11 xcb xcursor xcomposite xdamage xext xfixes xi xinerama \
xrandr xrender xtst xscrnsaver
USE_LDCONFIG= yes
-MESON_ARGS= -Dsystemd=false -Deeze=false
-
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-INSTALLS_ICONS= yes
+MESON_ARGS= -Dsystemd=false -Deeze=false -Dinput=false
PLIST_SUB= BRANCHVERSION=${PORTVERSION:R} PORTVERSION=${PORTVERSION}
@@ -49,17 +43,14 @@ OPTIONS_DEFINE= AVAHI FRIBIDI HARFBUZZ NLS PHYSICS PULSEAUDIO SDL VNC EFLONE EL
OPTIONS_GROUP= EMOTION INPUT LOADER BINDINGS
OPTIONS_GROUP_EMOTION= GSTREAMER V4L
OPTIONS_GROUP_INPUT= IBUS SCIM XIM
-OPTIONS_GROUP_LOADER= OPENJPEG PDF PS RAW SVG WEBP XCF AV1
+OPTIONS_GROUP_LOADER= OPENJPEG PDF PS RAW SVG WEBP XCF AVIF HEIF JXL
OPTIONS_GROUP_BINDINGS= LUA CXX
OPTIONS_GROUP_WAYLAND= WAYLAND
OPTIONS_SINGLE= CRYPTO ENGINE LUAL
-OPTIONS_SINGLE_CRYPTO= OPENSSL GNUTLS
OPTIONS_SINGLE_ENGINE= OPENGL OPENGLES NONE
OPTIONS_SINGLE_LUAL= LUAJIT LUALANG
OPTIONS_DEFAULT= FRIBIDI HARFBUZZ PULSEAUDIO EXAMPLES GSTREAMER V4L SCIM XIM \
- OPENSSL OPENJPEG PDF PS RAW SVG WEBP XCF OPENGL LUAJIT CXX
-OPTIONS_DEFAULT_aarch64= LUALANG
-OPTIONS_EXCLUDE_aarch64= LUAJIT
+ OPENSSL OPENJPEG PDF PS RAW SVG WEBP XCF OPENGLES LUAJIT CXX
OPTIONS_SUB= yes
HARFBUZZ_DESC= OpenType text shaping engine
@@ -72,7 +63,7 @@ SCIM_DESC= Smart Common Input Method
XIM_DESC= X Input Method
SVG_DESC= Vector graphics support
XCF_DESC= Gimp image format support
-AV1_DESC= AV1 image format support
+JXL_DESC= JPEG XL image format support
LUAL_DESC= LUA
LUALANG_DESC= Use Lua
LUAJIT_DESC= Use Luajit
@@ -91,248 +82,143 @@ FRIBIDI_MESON_TRUE= fribidi
HARFBUZZ_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
HARFBUZZ_MESON_TRUE= harfbuzz
-NLS_USES= gettext-runtime
-NLS_MESON_TRUE= nls
-
-PHYSICS_LIB_DEPENDS= libBulletDynamics.so:devel/bullet
-PHYSICS_MESON_TRUE= physics
+NLS_USES= gettext-runtime
+NLS_MESON_TRUE= nls
-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-PULSEAUDIO_MESON_TRUE= pulseaudio
+PHYSICS_LIB_DEPENDS= libBulletDynamics.so:devel/bullet
+PHYSICS_MESON_TRUE= physics
-EFLONE_BROKEN_i386= EFLONE option is broken on i386 by the upstream bug: https://phab.enlightenment.org/T8870
-EFLONE_MESON_TRUE= efl-one
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_MESON_TRUE= pulseaudio
-ELUA_MESON_TRUE= elua
+EFLONE_BROKEN_i386= EFLONE option is broken on i386 by the upstream bug: https://phab.enlightenment.org/T8870
+EFLONE_MESON_TRUE= efl-one
-EXAMPLES_MESON_TRUE= build-examples
+ELUA_MESON_TRUE= elua
-DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
-# PR 247427
-DOXYGEN_PREVENTS= OPENJPEG
-DOXYGEN_PREVENTS_MSG= devel/doxygen installs graphics/openjpeg15 which breaks build of all ports that depend on graphics/openjpeg
+EXAMPLES_MESON_TRUE= build-examples
-VNC_MESON_TRUE= vnc-server
-VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver
+DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
+DOXYGEN_MESON_TRUE= docs
-LUA_IMPLIES= ELUA
+VNC_MESON_TRUE= vnc-server
+VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver
-WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.7:graphics/wayland-protocols
-WAYLAND_LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \
- libxkbcommon.so:x11/libxkbcommon \
- libwayland-client.so:graphics/wayland \
- libwayland-cursor.so:graphics/wayland
-WAYLAND_CFLAGS= -I${LOCALBASE}/include/libepoll-shim
-WAYLAND_LDFLAGS= -lepoll-shim
-WAYLAND_MESON_TRUE= wl
-WAYLAND_BROKEN= Wayland bits compile but don't yet work at runtime
+LUA_IMPLIES= ELUA
+LUA_VARS= lua_binding=lua
+CXX_VARS= cxx_binding=cxx
-GSTREAMER_USE= GSTREAMER1=core
-GSTREAMER_MESON_TRUE= gstreamer
+WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.7:graphics/wayland-protocols
+WAYLAND_LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \
+ libxkbcommon.so:x11/libxkbcommon \
+ libwayland-client.so:graphics/wayland \
+ libwayland-cursor.so:graphics/wayland
+WAYLAND_CFLAGS= -I${LOCALBASE}/include/libepoll-shim
+WAYLAND_LDFLAGS= -lepoll-shim
+WAYLAND_MESON_TRUE= wl
+WAYLAND_BROKEN= Wayland bits compile but don't yet work at runtime
-V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
-V4L_MESON_TRUE= v4l2
+GSTREAMER_USES= gstreamer
+GSTREAMER_USE= GSTREAMER=core
+GSTREAMER_MESON_TRUE= gstreamer
-IBUS_LIB_DEPENDS= libibus-1.0.so:textproc/ibus
-IBUS_USES= gnome
-IBUS_USE= GNOME=glib20
-IBUS_MESON_TRUE= glib
+V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
+V4L_MESON_TRUE= v4l2
-SCIM_LIB_DEPENDS= libscim-1.0.so:textproc/scim
+IBUS_LIB_DEPENDS= libibus-1.0.so:textproc/ibus
+IBUS_USES= gnome
+IBUS_USE= GNOME=glib20
+IBUS_MESON_TRUE= glib
+IBUS_VARS_OFF= ibus_disabler=ibus
-OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
-# PR 247427
-OPENJPEG_PREVENTS= DOXYGEN
-OPENJPEG_PREVENTS_MSG= devel/doxygen installs graphics/openjpeg15 which breaks build of all ports that depend on graphics/openjpeg
+SCIM_LIB_DEPENDS= libscim-1.0.so:textproc/scim
+SCIM_VARS_OFF= scim_disabler=scim
-GNUTLS_LIB_DEPENDS= libgcrypt.so:security/libgcrypt \
- libgnutls.so:security/gnutls
-GNUTLS_MESON_ON= -Dcrypto=gnutls
-GNUTLS_MESON_OFF= -Dcrypto=openssl
-GNUTLS_CFLAGS= -I${LOCALBASE}/include/gnutls/
-GNUTLS_BROKEN= GNUTLS option is broken by the upstream bug: https://phab.enlightenment.org/T8807
+XIM_VARS_OFF= xim_disabler=xim
-PDF_LIB_DEPENDS= libpoppler.so:graphics/poppler
+OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
+OPENJPEG_VARS_OFF= openjpeg_disabler=jp2k
-PS_LIB_DEPENDS= libspectre.so:print/libspectre
+PDF_LIB_DEPENDS= libpoppler.so:graphics/poppler
+PDF_VARS_OFF= pdf_disabler=pdf
-RAW_LIB_DEPENDS= libraw.so:graphics/libraw
+PS_LIB_DEPENDS= libspectre.so:print/libspectre
+PS_VARS_OFF= ps_disabler=ps
-SVG_USES= gnome
-SVG_USE= GNOME=cairo GNOME=librsvg2
+RAW_LIB_DEPENDS= libraw.so:graphics/libraw
+RAW_VARS_OFF= raw_disabler=raw
-AV1_LIB_DEPENDS= libavif.so:graphics/libavif
-AV1_BROKEN= AV1 option is broken actually (according to the information from upstream)
+SVG_USES= gnome
+SVG_USE= GNOME=cairo GNOME=librsvg2
+SVG_VARS_OFF= svg_disabler=rsvg
-WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
+AVIF_LIB_DEPENDS= libavif.so:graphics/libavif
+AVIF_VARS_OFF= avif_disabler=avif
-LUAJIT_BUILD_DEPENDS= luajit:lang/luajit
-LUAJIT_RUN_DEPENDS= luajit:lang/luajit
-LUAJIT_MESON_ON= -Dlua-interpreter=luajit
-LUAJIT_PREVENTS= LUALANG
+HEIF_LIB_DEPENDS= libheif.so:graphics/libheif
+HEIF_VARS_OFF= heif_disabler=heif
-LUALANG_USES= lua:51,build,run
-LUALANG_MESON_ON= -Dlua-interpreter=lua
-LUALANG_PREVENTS= LUAJIT
+WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
+WEBP_VARS_OFF= webp_disabler=webp
-OPENGL_USES= gl
-OPENGL_USE= GL=gl
-OPENGL_MESON_ON= -Dopengl=full
-OPENGL_PREVENTS= OPENGLES NONE
+JXL_LIB_DEPENDS= libjxl.so:graphics/libjxl
+JXL_VARS_OFF= jxl_disabler=jxl
-OPENGLES_USES= gl
-OPENGLES_USE= GL=glesv2
-OPENGLES_MESON_ON= -Dopengl=es-egl
-OPENGLES_PREVENTS= OPENGL NONE
+XCF_VARS_OFF= xcf_disabler=xcf
-NONE_MESON_ON= -Dopengl=none
-NONE_PREVENTS= OPENGL OPENGLES
+LUAJIT_USES= luajit
+LUAJIT_MESON_ON= -Dlua-interpreter=luajit
+LUAJIT_PREVENTS= LUALANG
-SDL_USES= sdl
-SDL_USE= SDL=sdl2
-SDL_MESON_TRUE= sdl
-
-.include <bsd.port.options.mk>
+LUALANG_USES= lua:51,build,run
+LUALANG_MESON_ON= -Dlua-interpreter=lua
+LUALANG_PREVENTS= LUAJIT
-ECORE-IMF-LOADERS-DISABLER-BASE= -Decore-imf-loaders-disabler=
-ECORE-IMF-LOADERS-DISABLER:= ${ECORE-IMF-LOADERS-DISABLER-BASE}
+OPENGL_USES= gl
+OPENGL_USE= GL=gl
+OPENGL_MESON_ON= -Dopengl=full
-.if empty(PORT_OPTIONS:MIBUS)
-ECORE-IMF-LOADERS-DISABLER:= "${ECORE-IMF-LOADERS-DISABLER-BASE}ibus"
-.endif
+OPENGLES_USES= gl
+OPENGLES_USE= GL=glesv2
+OPENGLES_MESON_ON= -Dopengl=es-egl
-.if empty(PORT_OPTIONS:MSCIM)
-.if ${ECORE-IMF-LOADERS-DISABLER} != ${ECORE-IMF-LOADERS-DISABLER-BASE}
-ECORE-IMF-LOADERS-DISABLER-BASE:=${ECORE-IMF-LOADERS-DISABLER}
-ECORE-IMF-LOADERS-DISABLER:= "${ECORE-IMF-LOADERS-DISABLER-BASE},scim"
-.else
-ECORE-IMF-LOADERS-DISABLER:= "${ECORE-IMF-LOADERS-DISABLER-BASE}scim"
-.endif
-.endif
+NONE_MESON_ON= -Dopengl=none
-.if empty(PORT_OPTIONS:MXIM)
-.if ${ECORE-IMF-LOADERS-DISABLER} != ${ECORE-IMF-LOADERS-DISABLER-BASE}
-ECORE-IMF-LOADERS-DISABLER-BASE:=${ECORE-IMF-LOADERS-DISABLER}
-ECORE-IMF-LOADERS-DISABLER:= "${ECORE-IMF-LOADERS-DISABLER-BASE},xim"
-.else
-ECORE-IMF-LOADERS-DISABLER:= "${ECORE-IMF-LOADERS-DISABLER-BASE}xim"
-.endif
-.endif
+SDL_USES= sdl
+SDL_USE= SDL=sdl2
+SDL_MESON_TRUE= sdl
-MESON_ARGS+= ${ECORE-IMF-LOADERS-DISABLER}
+MESON_ARGS+= -Dcrypto=openssl
-EVAS-LOADERS-DISABLER-BASE= -Devas-loaders-disabler=
-EVAS-LOADERS-DISABLER:= ${EVAS-LOADERS-DISABLER-BASE}
-
-EVAS-LOADERS-DISABLER-BASE:= ${EVAS-LOADERS-DISABLER}
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE}json"
-
-.if empty(PORT_OPTIONS:MOPENJPEG)
-.if ${EVAS-LOADERS-DISABLER} != ${EVAS-LOADERS-DISABLER-BASE}
-EVAS-LOADERS-DISABLER-BASE:= ${EVAS-LOADERS-DISABLER}
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE},jp2k"
-.else
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE}jp2k"
-.endif
-.endif
-
-.if empty(PORT_OPTIONS:MPDF)
-.if ${EVAS-LOADERS-DISABLER} != ${EVAS-LOADERS-DISABLER-BASE}
-EVAS-LOADERS-DISABLER-BASE:= ${EVAS-LOADERS-DISABLER}
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE},pdf"
-.else
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE}pdf"
-.endif
-.endif
-
-.if empty(PORT_OPTIONS:MPS)
-.if ${EVAS-LOADERS-DISABLER} != ${EVAS-LOADERS-DISABLER-BASE}
-EVAS-LOADERS-DISABLER-BASE:= ${EVAS-LOADERS-DISABLER}
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE},ps"
-.else
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE}ps"
-.endif
-.endif
+IMF_DISABLERS= ${IBUS_DISABLER} ${SCIM_DISABLER} ${XIM_DISABLER}
-.if empty(PORT_OPTIONS:MRAW)
-.if ${EVAS-LOADERS-DISABLER} != ${EVAS-LOADERS-DISABLER-BASE}
-EVAS-LOADERS-DISABLER-BASE:= ${EVAS-LOADERS-DISABLER}
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE},raw"
-.else
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE}raw"
-.endif
-.endif
+MESON_ARGS+= -Decore-imf-loaders-disabler="${IMF_DISABLERS:ts,}"
-.if empty(PORT_OPTIONS:MSVG)
-.if ${EVAS-LOADERS-DISABLER} != ${EVAS-LOADERS-DISABLER-BASE}
-EVAS-LOADERS-DISABLER-BASE:= ${EVAS-LOADERS-DISABLER}
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE},rsvg"
-.else
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE}rsvg"
-.endif
-.endif
+EVAS_DISABLERS= json ${OPENJPEG_DISABLER} ${PDF_DISABLER} \
+ ${PS_DISABLER} ${RAW_DISABLER} ${SVG_DISABLER} \
+ ${AVIF_DISABLER} ${HEIF_DISABLER} ${WEBP_DISABLER} \
+ ${XCF_DISABLER} ${JXL_DISABLER}
-.if empty(PORT_OPTIONS:MWEBP)
-.if ${EVAS-LOADERS-DISABLER} != ${EVAS-LOADERS-DISABLER-BASE}
-EVAS-LOADERS-DISABLER-BASE:= ${EVAS-LOADERS-DISABLER}
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE},webp"
-.else
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE}webp"
-.endif
-.endif
+MESON_ARGS+= -Devas-loaders-disabler="${EVAS_DISABLERS:ts,}"
-.if empty(PORT_OPTIONS:MXCF)
-.if ${EVAS-LOADERS-DISABLER} != ${EVAS-LOADERS-DISABLER-BASE}
-EVAS-LOADERS-DISABLER-BASE:= ${EVAS-LOADERS-DISABLER}
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE},xcf"
-.else
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE}xcf"
-.endif
-.endif
+EFL_BINDINGS= ${LUA_BINDING} ${CXX_BINDING}
-.if empty(PORT_OPTIONS:MAV1)
-.if ${EVAS-LOADERS-DISABLER} != ${EVAS-LOADERS-DISABLER-BASE}
-EVAS-LOADERS-DISABLER-BASE:= ${EVAS-LOADERS-DISABLER}
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE},avif"
-.else
-EVAS-LOADERS-DISABLER:= "${EVAS-LOADERS-DISABLER-BASE}avif"
-.endif
-.endif
+MESON_ARGS+= -Dbindings="${EFL_BINDINGS:ts,}"
-MESON_ARGS+= ${EVAS-LOADERS-DISABLER}
+.include <bsd.port.options.mk>
# Work-around build failure, which is caused by subtle problem in lld and -as-needed flag
.if ${ARCH} == i386
MESON_ARGS+= -Db_asneeded=false
.endif
-.if ${PORT_OPTIONS:MLUA} && ${PORT_OPTIONS:MCXX}
-EFL_BINDINGS= -Dbindings=lua,cxx
-.else
-.if ${PORT_OPTIONS:MLUA}
-EFL_BINDINGS= -Dbindings=lua
-.else
-.if ${PORT_OPTIONS:MCXX}
-EFL_BINDINGS= -Dbindings=cxx
-.endif
-.endif
-.endif
-
-MESON_ARGS+= ${EFL_BINDINGS}
-
-.if ${PORT_OPTIONS:MOPENGLES} && ${PORT_OPTIONS:MWAYLAND}
-LIB_DEPENDS+= libwayland-egl.so:graphics/wayland
-MESON_ARGS+= -Degl=true
-USE_GL= egl
-.endif
-
-.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc64 || ${ARCH} == powerpc64le
-LIB_DEPENDS+= libunwind.so:devel/libunwind
+.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc || ${ARCH} == powerpc64 || ${ARCH} == powerpc64le
+LIB_DEPENDS+= libunwind.so:devel/libunwind
.endif
-.if ${ARCH:Mpowerpc64*}
-LUAJIT_BUILD_DEPENDS= luajit:lang/luajit-openresty
-LUAJIT_RUN_DEPENDS= luajit:lang/luajit-openresty
+.if ${ARCH:Marmv?}
+BUILD_DEPENDS+= as:devel/binutils
+CFLAGS+= -no-integrated-as
.endif
post-install: