mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-23 09:10:43 +00:00
262 lines
8.4 KiB
Makefile
262 lines
8.4 KiB
Makefile
PORTNAME= freerdp
|
|
DISTVERSION= 3.8.0
|
|
CATEGORIES= net comms
|
|
MASTER_SITES= https://pub.freerdp.com/releases/ \
|
|
https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/
|
|
PKGNAMESUFFIX= 3
|
|
|
|
PATCH_SITES= https://github.com/FreeRDP/FreeRDP/commit/
|
|
# fix _Unwind_GetLanguageSpecificData
|
|
PATCHFILES+= 6fb7bfd043d159d3819486fb601b598102cca823.patch:-p1
|
|
|
|
MAINTAINER= vvd@FreeBSD.org
|
|
COMMENT= Free implementation of Remote Desktop Protocol
|
|
WWW= https://www.freerdp.com/
|
|
|
|
LICENSE= APACHE20
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim
|
|
|
|
USES= alias cmake compiler:c++11-lib cpe localbase:ldflags pathfix pkgconfig ssl xorg
|
|
|
|
BROKEN_SSL= libressl-devel
|
|
BROKEN_SSL_REASON_libressl-devel= fails to compile: no member named 'alert_dispatch' in 'struct ssl3_state_st'
|
|
|
|
USE_LDCONFIG= yes
|
|
USE_XORG= ice sm x11 xext
|
|
|
|
CMAKE_ON= CHANNEL_URBDRC_CLIENT RDTK_FORCE_STATIC_BUILD UWAC_FORCE_STATIC_BUILD \
|
|
WITH_BINARY_VERSIONING WITH_CHANNELS WITH_OPENSSL WITH_OSS WITH_ZLIB \
|
|
WITH_FREERDP_DEPRECATED WITH_FREERDP_DEPRECATED_COMMANDLINE WITH_WINPR_DEPRECATED
|
|
CMAKE_OFF= CHANNEL_SERIAL CHANNEL_TSMF WITH_DSP_EXPERIMENTAL WITH_FUSE WITH_GPROF \
|
|
WITH_GSTREAMER_0_10 WITH_GSTREAMER_1_0 WITH_IPP WITH_LIBSYSTEMD \
|
|
WITH_MBEDTLS WITH_OPENCL WITH_OPENSLES WITH_PROFILER WITH_SAMPLE \
|
|
WITH_SANITIZE_ADDRESS WITH_SANITIZE_MEMORY WITH_SANITIZE_THREAD \
|
|
WITH_SERVER WITH_SERVER_CHANNELS WITH_SERVER_INTERFACE \
|
|
WITH_SMARTCARD_INSPECT WITH_THIRD_PARTY WITH_VALGRIND_MEMCHECK
|
|
|
|
PLIST_SUB+= PATCHVERSION="${DISTVERSION}"
|
|
PLIST_SUB+= MAJORVERSION="${DISTVERSION:R:R}"
|
|
|
|
OPTIONS_DEFINE= ALSA BROKENFOCUS CUPS FAAC FAAD FDKAAC FFMPEG GSM ICU \
|
|
JPEG LAME MANPAGES OPENH264 OPUS PCSC PKCS11 \
|
|
PULSEAUDIO SDL SOXR URIPARSER WAYLAND X11
|
|
OPTIONS_DEFINE_aarch64= NEON
|
|
OPTIONS_DEFINE_amd64= SSE
|
|
OPTIONS_DEFINE_armv6= NEON
|
|
OPTIONS_DEFINE_armv7= NEON
|
|
OPTIONS_DEFINE_i386= SSE
|
|
OPTIONS_DEFAULT= AAD CUPS GSSAPI_HEIMDAL ICU JSON_C KEYBOARD_LAYOUT \
|
|
MANPAGES SDL SWSCALE TIMEZONE_FILE WAYLAND WEBKIT X11
|
|
OPTIONS_DEFAULT_aarch64= NEON
|
|
OPTIONS_DEFAULT_amd64= SSE
|
|
OPTIONS_DEFAULT_armv7= NEON
|
|
OPTIONS_GROUP= CLIPBOARD_IMAGE REQUIRE_JSON
|
|
OPTIONS_GROUP_CLIPBOARD_IMAGE= JPEG_CB PNG WEBP
|
|
OPTIONS_GROUP_REQUIRE_JSON= AAD KEYBOARD_LAYOUT TIMEZONE_FILE
|
|
OPTIONS_RADIO= GSSAPI JSON SCALE WEBVIEW
|
|
OPTIONS_RADIO_GSSAPI= GSSAPI_HEIMDAL GSSAPI_MIT
|
|
OPTIONS_RADIO_JSON= CJSON JSON_C
|
|
OPTIONS_RADIO_SCALE= CAIRO SWSCALE
|
|
OPTIONS_RADIO_WEBVIEW= WEBENGINE WEBKIT
|
|
OPTIONS_SUB= yes
|
|
|
|
AAD_DESC= Compile with support for Azure AD authentication (require SDL)
|
|
BROKENFOCUS_DESC= Work around focus bug in some WMs (PR \#254908)
|
|
CAIRO_DESC= Use CAIRO image library for screen resizing
|
|
CJSON_DESC= ${JSON_DESC} via cJSON
|
|
CLIPBOARD_IMAGE_DESC= Add "to/from" BMP conversion support to clipboard (experimental)
|
|
FDKAAC_DESC= Support for FDK-AAC for sound and microphone redirection
|
|
JPEG_CB_DESC= ${JPEG_DESC}
|
|
KEYBOARD_LAYOUT_DESC= Use keyboard definitions from JSON file
|
|
NEON_DESC= Enable Media Processing Engine instructions
|
|
OPENH264_DESC= H.264 video codec support via OpenH264
|
|
PCSC_DESC= Smart card support (smart card device redirection)
|
|
PKCS11_DESC= Use security/pkcs11-helper
|
|
REQUIRE_JSON_DESC= Options that require JSON
|
|
SDL_DESC= Build FreeRDP SDL client
|
|
SWSCALE_DESC= Use SWScale image library for screen resizing (recommended)
|
|
TIMEZONE_FILE_DESC= Support timezones as JSON resources (if OFF, compiled in is used)
|
|
URIPARSER_DESC= Use uriparser RFC 3986 URI parsing library to handle URIs
|
|
WAYLAND_DESC= Build FreeRDP Wayland client
|
|
WEBVIEW_DESC= Build with WebView support for AAD login popup browser
|
|
X11_DESC= Build FreeRDP X11 client
|
|
|
|
AAD_IMPLIES= SDL
|
|
AAD_CMAKE_BOOL= WITH_AAD
|
|
|
|
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
|
|
ALSA_CMAKE_BOOL= WITH_ALSA
|
|
|
|
BROKENFOCUS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-focusbug.diff
|
|
|
|
CAIRO_USES= gnome
|
|
CAIRO_USE= gnome=cairo
|
|
CAIRO_CMAKE_BOOL= WITH_CAIRO
|
|
|
|
CJSON_LIB_DEPENDS= libcjson.so:devel/libcjson \
|
|
libcjson_utils.so:devel/libcjson
|
|
CJSON_CMAKE_BOOL= WITH_CJSON_REQUIRED
|
|
|
|
CUPS_LIB_DEPENDS= libcups.so:print/cups
|
|
CUPS_CMAKE_BOOL= WITH_CUPS
|
|
|
|
FAAC_LIB_DEPENDS= libfaac.so:audio/faac
|
|
FAAC_CMAKE_BOOL= WITH_FAAC
|
|
|
|
FAAD_LIB_DEPENDS= libfaad.so:audio/faad
|
|
FAAD_CMAKE_BOOL= WITH_FAAD2
|
|
|
|
FDKAAC_LIB_DEPENDS= libfdk-aac.so:audio/fdk-aac
|
|
FDKAAC_CMAKE_BOOL= WITH_FDK_AAC
|
|
|
|
FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
|
|
libavutil.so:multimedia/ffmpeg
|
|
FFMPEG_CMAKE_BOOL= WITH_FFMPEG WITH_DSP_FFMPEG
|
|
|
|
GSM_LIB_DEPENDS= libgsm.so:audio/gsm
|
|
GSM_CMAKE_BOOL= WITH_GSM
|
|
|
|
GSSAPI_HEIMDAL_USES= gssapi:heimdal
|
|
GSSAPI_MIT_USES= gssapi:mit
|
|
|
|
ICU_LIB_DEPENDS= libicuuc.so:devel/icu
|
|
ICU_CMAKE_ON= -DWITH_UNICODE_BUILTIN=OFF
|
|
ICU_CMAKE_OFF= -DWITH_UNICODE_BUILTIN=ON
|
|
|
|
JPEG_USES= jpeg
|
|
JPEG_CMAKE_BOOL= WITH_JPEG
|
|
|
|
JPEG_CB_USES= jpeg
|
|
JPEG_CB_CMAKE_BOOL= WINPR_UTILS_IMAGE_JPEG
|
|
|
|
JSON_C_LIB_DEPENDS= libjson-c.so:devel/json-c
|
|
JSON_C_CMAKE_BOOL= WITH_JSONC_REQUIRED
|
|
|
|
KEYBOARD_LAYOUT_CMAKE_BOOL= WITH_KEYBOARD_LAYOUT_FROM_FILE
|
|
|
|
LAME_LIB_DEPENDS= libmp3lame.so:audio/lame
|
|
LAME_CMAKE_BOOL= WITH_LAME
|
|
|
|
MANPAGES_BUILD_DEPENDS= xmlto:textproc/xmlto
|
|
MANPAGES_CMAKE_BOOL= WITH_MANPAGES
|
|
|
|
NEON_CMAKE_BOOL= WITH_NEON
|
|
|
|
OPENH264_LIB_DEPENDS= libopenh264.so:multimedia/openh264
|
|
OPENH264_CMAKE_BOOL= WITH_OPENH264
|
|
|
|
OPUS_LIB_DEPENDS= libopus.so:audio/opus
|
|
OPUS_CMAKE_BOOL= WITH_OPUS
|
|
|
|
# LoadLibraryA("libpcsclite.so")
|
|
PCSC_RUN_DEPENDS= ${LOCALBASE}/lib/libpcsclite.so:devel/pcsc-lite
|
|
PCSC_CMAKE_BOOL= WITH_PCSC
|
|
|
|
PKCS11_BUILD_DEPENDS= ${LOCALBASE}/include/pkcs11-helper-1.0/pkcs11.h:security/pkcs11-helper
|
|
PKCS11_CMAKE_BOOL= WITH_PKCS11
|
|
|
|
PNG_LIB_DEPENDS= libpng.so:graphics/png
|
|
PNG_CMAKE_BOOL= WINPR_UTILS_IMAGE_PNG
|
|
|
|
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
|
|
PULSEAUDIO_CMAKE_BOOL= WITH_PULSE
|
|
|
|
SDL_USES= sdl
|
|
SDL_USE= sdl=sdl2,ttf2,image2
|
|
SDL_CMAKE_BOOL= WITH_CLIENT_SDL WITH_SDL_IMAGE_DIALOGS
|
|
|
|
SOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr
|
|
SOXR_CMAKE_BOOL= WITH_SOXR
|
|
|
|
SSE_CMAKE_BOOL= WITH_SSE2
|
|
|
|
SWSCALE_LIB_DEPENDS= libswscale.so:multimedia/ffmpeg
|
|
SWSCALE_CMAKE_BOOL= WITH_SWSCALE
|
|
|
|
TIMEZONE_FILE_CMAKE_BOOL= WITH_TIMEZONE_FROM_FILE
|
|
TIMEZONE_FILE_CMAKE_ON= -DWITH_TIMEZONE_COMPILED=OFF
|
|
TIMEZONE_FILE_CMAKE_OFF= -DWITH_TIMEZONE_COMPILED=ON
|
|
|
|
URIPARSER_LIB_DEPENDS= liburiparser.so:net/uriparser
|
|
URIPARSER_CMAKE_BOOL= WITH_URIPARSER
|
|
|
|
WAYLAND_CATEGORIES= wayland
|
|
WAYLAND_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
|
|
wayland-scanner:graphics/wayland
|
|
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \
|
|
libwayland-cursor.so:graphics/wayland \
|
|
libxkbcommon.so:x11/libxkbcommon
|
|
WAYLAND_RUN_DEPENDS= wayland-scanner:graphics/wayland
|
|
WAYLAND_CMAKE_BOOL= WITH_WAYLAND
|
|
|
|
WEBENGINE_USES_= qt:5
|
|
WEBENGINE_USE_QT= core declarative gui location network printsupport \
|
|
webchannel webengine widgets buildtools:build qmake:build
|
|
WEBENGINE_CMAKE_BOOL= WITH_WEBVIEW_QT
|
|
WEBENGINE_CMAKE_ON= -DWITH_WEBVIEW:BOOL=ON
|
|
|
|
WEBKIT_LIB_DEPENDS_= libsoup-2.4.so:devel/libsoup \
|
|
libharfbuzz.so:print/harfbuzz \
|
|
libwebkit2gtk-4.0.so:www/webkit2-gtk3
|
|
WEBKIT_USES_= gettext gnome
|
|
WEBKIT_USE_GNOME= atk cairo gdkpixbuf2 glib20 gtk30 pango
|
|
WEBKIT_CMAKE_ON= -DWITH_WEBVIEW:BOOL=ON
|
|
|
|
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
|
|
WEBP_CMAKE_BOOL= WINPR_UTILS_IMAGE_WEBP
|
|
|
|
X11_USE= xorg=xcursor,xfixes,xi,xinerama,xkbfile,xorgproto,xrandr,xrender,xv
|
|
X11_CMAKE_ON= -DWITH_X11:BOOL=ON -DWITH_XCURSOR:BOOL=ON \
|
|
-DWITH_XEXT:BOOL=ON -DWITH_XFIXES:BOOL=ON \
|
|
-DWITH_XI:BOOL=ON -DWITH_XINERAMA:BOOL=ON \
|
|
-DWITH_XKBFILE:BOOL=ON -DWITH_XRANDR:BOOL=ON \
|
|
-DWITH_XRENDER:BOOL=ON -DWITH_XSHM:BOOL=ON \
|
|
-DWITH_XV:BOOL=ON
|
|
X11_CMAKE_OFF= -DWITH_X11:BOOL=OFF -DWITH_XKBFILE:BOOL=OFF
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${PORT_OPTIONS:MAAD}
|
|
. if ${PORT_OPTIONS:MWEBENGINE}
|
|
USES+= ${WEBENGINE_USES_}
|
|
USE_QT+= ${WEBENGINE_USE_QT}
|
|
. elif ${PORT_OPTIONS:MWEBKIT}
|
|
LIB_DEPENDS+= ${WEBKIT_LIB_DEPENDS_}
|
|
USES+= ${WEBKIT_USES_}
|
|
USE_GNOME+= ${WEBKIT_USE_GNOME}
|
|
. else
|
|
CMAKE_OFF+= WITH_WEBVIEW
|
|
. endif
|
|
.else
|
|
CMAKE_OFF+= WITH_WEBVIEW
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MGSSAPI_HEIMDAL} || ${PORT_OPTIONS:MGSSAPI_MIT}
|
|
CMAKE_ON+= WITH_KRB5
|
|
.else
|
|
CMAKE_OFF+= WITH_KRB5
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MCJSON} || ${PORT_OPTIONS:MJSON_C}
|
|
CMAKE_ON+= WITH_WINPR_JSON
|
|
CMAKE_OFF+= WITH_JSON_DISABLED
|
|
PLIST_SUB+= JSON=""
|
|
.else
|
|
CMAKE_ON+= WITH_JSON_DISABLED
|
|
CMAKE_OFF+= WITH_AAD WITH_WINPR_JSON
|
|
PLIST_SUB+= JSON="@comment "
|
|
.endif
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|gsm/gsm.h|gsm.h|' \
|
|
${WRKSRC}/cmake/FindGSM.cmake \
|
|
${WRKSRC}/libfreerdp/codec/dsp.c
|
|
|
|
pre-configure:
|
|
${CP} ${FILESDIR}/mntent.h ${WRKSRC}/winpr/include
|
|
${CP} ${FILESDIR}/mntent_compat.c ${WRKSRC}/channels/rdpdr/client
|
|
|
|
.include <bsd.port.mk>
|