diff --git a/net/freerdp/Makefile b/net/freerdp/Makefile index 7d107187cd4d..2c55cabcf237 100644 --- a/net/freerdp/Makefile +++ b/net/freerdp/Makefile @@ -1,157 +1,151 @@ PORTNAME= freerdp -DISTVERSION= 2.11.7 -PORTREVISION= 5 +DISTVERSION= 2.11.8 CATEGORIES= net comms MASTER_SITES= https://pub.freerdp.com/releases/ \ https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/ PATCH_SITES= https://github.com/FreeRDP/FreeRDP/commit/ PATCHFILES+= 78cdb555c57c33b7f331cb280ac2f615cb87fa74.patch:-p1 # add additional neon check # https://github.com/FreeRDP/FreeRDP/issues/9746 MAINTAINER= vvd@FreeBSD.org COMMENT= Free implementation of Remote Desktop Protocol WWW= https://www.freerdp.com/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE +DEPRECATED= Support for 2.x has ended and it is highly recommended to upgrade to 3.x net/freerdp3 +EXPIRATION_DATE= 2026-12-31 + LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim USES= cmake compiler:c++11-lib cpe localbase pathfix pkgconfig ssl 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 -PATCHVERSION= ${DISTVERSION} -MAJORVERSION= ${DISTVERSION:R:R} - -CMAKE_ARGS+= ${CMAKE_ARGS_${ARCH}} CMAKE_ON= WITH_CHANNELS WITH_OPENSSL WITH_OSS WITH_ZLIB CHANNEL_URBDRC_CLIENT CMAKE_OFF= WITH_DSP_EXPERIMENTAL WITH_GPROF WITH_GSSAPI WITH_GSTREAMER_0_10 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_INTERFACE \ WITH_SMARTCARD_INSPECT WITH_THIRD_PARTY WITH_VALGRIND_MEMCHECK PORTSCOUT= limit:^2\. -PLIST_SUB+= PATCHVERSION="${PATCHVERSION}" -PLIST_SUB+= MAJORVERSION="${MAJORVERSION}" +PLIST_SUB= PATCHVERSION="${DISTVERSION}" \ + MAJORVERSION="${DISTVERSION:R:R}" OPTIONS_DEFINE= ALSA BROKENFOCUS CUPS FAAC FAAD FFMPEG GSM GSTREAMER \ ICU JPEG LAME MANPAGES OPENH264 PCSC \ PULSEAUDIO SOXR WAYLAND X11 OPTIONS_DEFINE_aarch64= NEON OPTIONS_DEFINE_amd64= SSE OPTIONS_DEFINE_armv6= NEON OPTIONS_DEFINE_armv7= NEON OPTIONS_DEFINE_i386= SSE OPTIONS_DEFAULT= CUPS GSTREAMER ICU MANPAGES SWSCALE WAYLAND X11 OPTIONS_DEFAULT_aarch64= NEON OPTIONS_DEFAULT_amd64= SSE OPTIONS_DEFAULT_armv7= NEON OPTIONS_RADIO= SCALE OPTIONS_RADIO_SCALE= CAIRO SWSCALE OPTIONS_SUB= yes BROKENFOCUS_DESC= Work around focus bug in some WMs (PR \#254908) CAIRO_DESC= Use CAIRO image library for screen resizing 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) SWSCALE_DESC= Use SWScale image library for screen resizing (recommended) WAYLAND_DESC= Build FreeRDP Wayland client X11_DESC= Build FreeRDP X11 client 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 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 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 GSTREAMER_LIB_DEPENDS= libgstbase-1.0.so:multimedia/gstreamer1 GSTREAMER_USES= gettext gnome gstreamer xorg GSTREAMER_USE= gnome=glib20 xorg=x11,xext,xorgproto,xrandr GSTREAMER_CMAKE_BOOL= WITH_GSTREAMER_1_0 CHANNEL_TSMF ICU_LIB_DEPENDS= libicuuc.so:devel/icu ICU_CMAKE_BOOL= WITH_ICU JPEG_USES= jpeg JPEG_CMAKE_BOOL= WITH_JPEG 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 # LoadLibraryA("libpcsclite.so") PCSC_RUN_DEPENDS= ${LOCALBASE}/lib/libpcsclite.so:devel/pcsc-lite PCSC_CMAKE_BOOL= WITH_PCSC PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= WITH_PULSE 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 WAYLAND_CATEGORIES= wayland WAYLAND_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \ libwayland-cursor.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon WAYLAND_CMAKE_BOOL= WITH_WAYLAND X11_USES= xorg X11_USE= xorg=x11,xcursor,xext,xorgproto,xfixes,xi,xinerama,xkbfile,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 -post-patch: +post-patch-GSM-on: @${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}/rdtk/include - ${CP} ${FILESDIR}/mntent_compat.c ${WRKSRC}/channels/rdpdr/client - .include diff --git a/net/freerdp/distinfo b/net/freerdp/distinfo index c142d3e221bd..5c66fdf6b4d5 100644 --- a/net/freerdp/distinfo +++ b/net/freerdp/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1767400000 -SHA256 (freerdp-2.11.7.tar.gz) = 5a2d54e1ca0f1facd1632bcc94c73b9f071a80c5fdbbb3f26e79f02aaa586ca3 -SIZE (freerdp-2.11.7.tar.gz) = 7337520 +TIMESTAMP = 1772012345 +SHA256 (freerdp-2.11.8.tar.gz) = be119a34b06d3f697b78effe1ab7c81dee80b39ae333d85a17535e64786a12db +SIZE (freerdp-2.11.8.tar.gz) = 7330711 SHA256 (78cdb555c57c33b7f331cb280ac2f615cb87fa74.patch) = d49ea1c5a0fdb644b32fd61479dfca6770c0bb6446bbe9d274e5ae4f62f0a00b SIZE (78cdb555c57c33b7f331cb280ac2f615cb87fa74.patch) = 966 diff --git a/net/freerdp/files/mntent.h b/net/freerdp/files/mntent.h deleted file mode 100644 index e61cddd89c82..000000000000 --- a/net/freerdp/files/mntent.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * mntent - * mntent.h - compatability header for FreeBSD - * - * Copyright (c) 2001 David Rufino - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(HAVE_MNTENT_H) -#include -#else -#ifndef _MNTENT_H -#define _MNTENT_H -#include - -#define MOUNTED "dummy" - -#define MNTTYPE_NFS "nfs" - -struct mntent { - char *mnt_fsname; - char *mnt_dir; - char *mnt_type; - char *mnt_opts; - int mnt_freq; - int mnt_passno; -}; - -#define setmntent(x,y) ((FILE *)0x1) -#ifdef __cplusplus -extern "C" { -#endif -struct mntent *getmntent __P ((FILE *fp)); -char *hasmntopt __P ((const struct mntent *mnt, const char *option)); -#ifdef __cplusplus -}; // extern "C" -#endif -#define endmntent(x) ((int)1) - -#endif /* _MNTENT_H */ -#endif /* HAVE_MNTENT_H */ diff --git a/net/freerdp/files/mntent_compat.c b/net/freerdp/files/mntent_compat.c deleted file mode 100644 index 076f5c4cabeb..000000000000 --- a/net/freerdp/files/mntent_compat.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright (c) 1980, 1989, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * Copyright (c) 2001 - * David Rufino - * Copyright (c) 2006 - * Stanislav Sedov - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* most of this was ripped from the mount(3) source */ - -#include "config.h" -#include "mntent.h" -#include -#include -#include -#include -#include - -static int pos = -1; -static int mntsize = -1; -static struct mntent _mntent; - -struct { - int m_flag; - const char *m_option; -} mntoptions[] = { - { MNT_ASYNC, "async" }, - { MNT_NOATIME, "noatime"}, - { MNT_NOEXEC, "noexec"}, - { MNT_NOSUID, "nosuid"}, - { MNT_NOSYMFOLLOW, "nosymfollow"}, - { MNT_SYNCHRONOUS, "sync"}, - { MNT_UNION, "union"}, - { MNT_NOCLUSTERR, "noclusterr"}, - { MNT_NOCLUSTERW, "noclusterw"}, - { MNT_SUIDDIR, "suiddir"}, -#ifdef MNT_SNAPSHOT - { MNT_SNAPSHOT, "snapshot"}, -#endif -#ifdef MNT_MULTILABEL - { MNT_MULTILABEL, "multilabel"}, -#endif -#ifdef MNT_ACLS - { MNT_ACLS, "acls"}, -#endif -#ifdef MNT_NODEV - { MNT_NODEV, "nodev"}, -#endif -}; - -#define N_OPTS (sizeof(mntoptions) / sizeof(*mntoptions)) - -char * -hasmntopt (const struct mntent *mnt, const char *option) -{ - int found; - char *opt, *optbuf; - - optbuf = strdup(mnt->mnt_opts); - found = 0; - for (opt = optbuf; (opt = strtok(opt, " ")) != NULL; opt = NULL) { - if (!strcasecmp(opt, option)) { - opt = opt - optbuf + mnt->mnt_opts; - free (optbuf); - return (opt); - } - } - free (optbuf); - return (NULL); -} - -static char * -catopt (char *s0, const char *s1) -{ - size_t newlen; - char *cp; - - if (s1 == NULL || *s1 == '\0') - return s0; - - if (s0 != NULL) { - newlen = strlen(s0) + strlen(s1) + 1 + 1; - if ((cp = (char *)realloc(s0, newlen)) == NULL) - return (NULL); - - (void)strcat(cp, " "); - (void)strcat(cp, s1); - } else - cp = strdup(s1); - - return (cp); -} - - -static char * -flags2opts (int flags) -{ - char *res = NULL; - int i; - - res = catopt(res, (flags & MNT_RDONLY) ? "ro" : "rw"); - - for (i = 0; i < N_OPTS; i++) - if (flags & mntoptions[i].m_flag) - res = catopt(res, mntoptions[i].m_option); - return res; -} - -static struct mntent * -statfs_to_mntent (struct statfs *mntbuf) -{ - static char opts_buf[40], *tmp; - - _mntent.mnt_fsname = mntbuf->f_mntfromname; - _mntent.mnt_dir = mntbuf->f_mntonname; - _mntent.mnt_type = mntbuf->f_fstypename; - tmp = flags2opts (mntbuf->f_flags); - if (tmp) { - opts_buf[sizeof(opts_buf) - 1] = '\0'; - strncpy (opts_buf, tmp, sizeof(opts_buf)-1); - free (tmp); - } else { - *opts_buf = '\0'; - } - _mntent.mnt_opts = opts_buf; - _mntent.mnt_freq = _mntent.mnt_passno = 0; - return (&_mntent); -} - -struct mntent * -getmntent (FILE *fp) -{ - struct statfs *mntbuf; - - if (pos == -1 || mntsize == -1) - mntsize = getmntinfo (&mntbuf, MNT_NOWAIT); - - ++pos; - if (pos == mntsize) { - pos = mntsize = -1; - return (NULL); - } - - return (statfs_to_mntent (&mntbuf[pos])); -} diff --git a/net/freerdp/files/patch-channels_rdpdr_client_CMakeLists.txt b/net/freerdp/files/patch-channels_rdpdr_client_CMakeLists.txt deleted file mode 100644 index 8b379eaff823..000000000000 --- a/net/freerdp/files/patch-channels_rdpdr_client_CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ ---- channels/rdpdr/client/CMakeLists.txt.orig 2020-06-09 02:02:41 UTC -+++ channels/rdpdr/client/CMakeLists.txt -@@ -24,6 +24,7 @@ set(${MODULE_PREFIX}_SRCS - irp.h - devman.c - devman.h -+ mntent_compat.c - rdpdr_main.c - rdpdr_main.h - rdpdr_capabilities.c diff --git a/net/freerdp/files/patch-client_Wayland_wlfreerdp.c b/net/freerdp/files/patch-client_Wayland_wlfreerdp.c deleted file mode 100644 index f718b79ccb76..000000000000 --- a/net/freerdp/files/patch-client_Wayland_wlfreerdp.c +++ /dev/null @@ -1,11 +0,0 @@ ---- client/Wayland/wlfreerdp.c.orig 2023-12-14 18:03:49 UTC -+++ client/Wayland/wlfreerdp.c -@@ -587,7 +587,7 @@ static void wlf_client_free(freerdp* instance, rdpCont - DeleteCriticalSection(&wlf->critical); - } - --static void* uwac_event_clone(const void* val) -+static void* uwac_event_clone(void* val) - { - UwacEvent* copy; - UwacEvent* ev = (UwacEvent*)val;