1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00
freebsd-ports/devel/efl/Makefile
Tobias C. Berner fac489c164 graphics/poppler: update to 21.07.0
Release 21.07.0:
        core:
         * JBIG2Stream: Do not consider a size-0 to be an error. Issue #535
         * PSOutputDev: fix off-by-one error for image masking in L1/L2 output. Issue #1088
         * CairoOutputDev: Fix memory leak on broken files
         * Minor code improvements

        build system:
         * set C standard to 11 without extensions

Exp-run by:	antoine
PR:		256981
2021-07-06 22:00:58 +02:00

349 lines
11 KiB
Makefile

# Created by: Grzegorz Blach <gblach@FreeBSD.org>
PORTNAME= efl
DISTVERSION= 1.25.1
PORTREVISION= 13
CATEGORIES= devel enlightenment
MASTER_SITES= http://download.enlightenment.org/rel/libs/${PORTNAME}/
DIST_SUBDIR= enlightenment
MAINTAINER= enlightenment@FreeBSD.org
COMMENT= Enlightenment Foundation Libraries
LICENSE= BSD2CLAUSE LGPL21
LICENSE_COMB= multi
BUILD_DEPENDS= checkmk:devel/check
LIB_DEPENDS= libgif.so:graphics/giflib \
libpng.so:graphics/png \
libtiff.so:graphics/tiff \
libfreetype.so:print/freetype2 \
libfontconfig.so:x11-fonts/fontconfig \
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 \
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
PLIST_SUB= BRANCHVERSION=${PORTVERSION:R} PORTVERSION=${PORTVERSION}
OPTIONS_DEFINE= AVAHI FRIBIDI HARFBUZZ NLS PHYSICS PULSEAUDIO SDL VNC EFLONE ELUA EXAMPLES DOXYGEN WAYLAND
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_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
OPTIONS_SUB= yes
HARFBUZZ_DESC= OpenType text shaping engine
PHYSICS_DESC= Physics engine (bullet) - DEPRECATED UPSTREAM
EFLONE_DESC= Create EFL-One library (single file library) - EXPERIMENTAL
ELUA_DESC= Lua launcher binary support in efl
VNC_DESC= VNC Server support
IBUS_DESC= Intelligent Input Bus
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
LUAL_DESC= LUA
LUALANG_DESC= Use Lua
LUAJIT_DESC= Use Luajit
OPENGLES_DESC= 2D/3D rendering support via OpenGL ES
NONE_DESC= No acceleration, software only
LUA_DESC= Lua Bindings
CXX_DESC= C++ Bindings
EXAMPLES_DESC= Build examples of using EFL
AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app
AVAHI_MESON_TRUE= avahi
FRIBIDI_LIB_DEPENDS= libfribidi.so:converters/fribidi
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
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_MESON_TRUE= pulseaudio
EFLONE_BROKEN_i386= EFLONE option is broken on i386 by the upstream bug: https://phab.enlightenment.org/T8870
EFLONE_MESON_TRUE= efl-one
ELUA_MESON_TRUE= elua
EXAMPLES_MESON_TRUE= build-examples
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
VNC_MESON_TRUE= vnc-server
VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver
LUA_IMPLIES= ELUA
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
GSTREAMER_USE= GSTREAMER1=core
GSTREAMER_MESON_TRUE= gstreamer
V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
V4L_MESON_TRUE= v4l2
IBUS_LIB_DEPENDS= libibus-1.0.so:textproc/ibus
IBUS_USES= gnome
IBUS_USE= GNOME=glib20
IBUS_MESON_TRUE= glib
SCIM_LIB_DEPENDS= libscim-1.0.so:textproc/scim
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
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
PDF_LIB_DEPENDS= libpoppler.so:graphics/poppler
PS_LIB_DEPENDS= libspectre.so:print/libspectre
RAW_LIB_DEPENDS= libraw.so:graphics/libraw
SVG_USES= gnome
SVG_USE= GNOME=cairo GNOME=librsvg2
AV1_LIB_DEPENDS= libavif.so:graphics/libavif
AV1_BROKEN= AV1 option is broken actually (according to the information from upstream)
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
LUAJIT_BUILD_DEPENDS= luajit:lang/luajit
LUAJIT_RUN_DEPENDS= luajit:lang/luajit
LUAJIT_MESON_ON= -Dlua-interpreter=luajit
LUAJIT_PREVENTS= LUALANG
LUALANG_USES= lua:51,build,run
LUALANG_MESON_ON= -Dlua-interpreter=lua
LUALANG_PREVENTS= LUAJIT
OPENGL_USES= gl
OPENGL_USE= GL=gl
OPENGL_MESON_ON= -Dopengl=full
OPENGL_PREVENTS= OPENGLES NONE
OPENGLES_USES= gl
OPENGLES_USE= GL=glesv2
OPENGLES_MESON_ON= -Dopengl=es-egl
OPENGLES_PREVENTS= OPENGL NONE
NONE_MESON_ON= -Dopengl=none
NONE_PREVENTS= OPENGL OPENGLES
SDL_USES= sdl
SDL_USE= SDL=sdl2
SDL_MESON_TRUE= sdl
.include <bsd.port.options.mk>
ECORE-IMF-LOADERS-DISABLER-BASE= -Decore-imf-loaders-disabler=
ECORE-IMF-LOADERS-DISABLER:= ${ECORE-IMF-LOADERS-DISABLER-BASE}
.if empty(PORT_OPTIONS:MIBUS)
ECORE-IMF-LOADERS-DISABLER:= "${ECORE-IMF-LOADERS-DISABLER-BASE}ibus"
.endif
.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
.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
MESON_ARGS+= ${ECORE-IMF-LOADERS-DISABLER}
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
.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
.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
.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
.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
.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+= ${EVAS-LOADERS-DISABLER}
# 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
.endif
.if ${ARCH:Mpowerpc64*}
LUAJIT_BUILD_DEPENDS= luajit:lang/luajit-openresty
LUAJIT_RUN_DEPENDS= luajit:lang/luajit-openresty
.endif
post-install:
#@${RM} -r ${STAGEDIR}${PREFIX}/share/gdb
@for i in `${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/lib -type f`; do \
if ${FILE} $$i | ${GREP} -q "not stripped"; then ${STRIP_CMD} $$i; fi; \
done
post-stage:
@${ECHO_CMD} "autogenerating plist";
@cd ${STAGEDIR}${PREFIX} && ${FIND} * -type f -or -type l >> ${TMPPLIST}
.include <bsd.port.mk>