git: 16c7de57e7b8 - 2026Q1 - net/freerdp: Update 2.11.7 => 2.11.8, deprecate
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 25 Feb 2026 21:07:18 UTC
The branch 2026Q1 has been updated by vvd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=16c7de57e7b8510b52fdc100c2718f3b5bbc8a0c
commit 16c7de57e7b8510b52fdc100c2718f3b5bbc8a0c
Author: Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2026-02-25 20:54:32 +0000
Commit: Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-02-25 21:06:41 +0000
net/freerdp: Update 2.11.7 => 2.11.8, deprecate
"
This release will be the last official one for the 2.x series of FreeRDP.
From this point on we will no longer maintain this branch and urge all to
upgrade to FreeRDP 3.x.
"
Set EXPIRATION_DATE to 2026-12-31.
Changelog:
https://github.com/FreeRDP/FreeRDP/releases/tag/2.11.8
MFH: 2026Q1
(cherry picked from commit f12119901a1128f812f36cee29fd32c0f5174e64)
---
net/freerdp/Makefile | 20 +--
net/freerdp/distinfo | 6 +-
net/freerdp/files/mntent.h | 62 --------
net/freerdp/files/mntent_compat.c | 174 ---------------------
.../patch-channels_rdpdr_client_CMakeLists.txt | 10 --
net/freerdp/files/patch-client_Wayland_wlfreerdp.c | 11 --
6 files changed, 10 insertions(+), 273 deletions(-)
diff --git a/net/freerdp/Makefile b/net/freerdp/Makefile
index 7d107187cd4d..2c55cabcf237 100644
--- a/net/freerdp/Makefile
+++ b/net/freerdp/Makefile
@@ -1,6 +1,5 @@
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}/
@@ -16,6 +15,9 @@ 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
@@ -25,10 +27,6 @@ BROKEN_SSL_REASON_libressl-devel= fails to compile: no member named 'alert_dispa
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 \
@@ -38,8 +36,8 @@ CMAKE_OFF= WITH_DSP_EXPERIMENTAL WITH_GPROF WITH_GSSAPI WITH_GSTREAMER_0_10 WITH
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 \
@@ -145,13 +143,9 @@ X11_CMAKE_ON= -DWITH_X11:BOOL=ON -DWITH_XCURSOR: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 <bsd.port.mk>
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 <daverufino@btinternet.com>
- * 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 <mntent.h>
-#else
-#ifndef _MNTENT_H
-#define _MNTENT_H
-#include <stdio.h>
-
-#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 <daverufino@btinternet.com>
- * Copyright (c) 2006
- * Stanislav Sedov <ssedov@mbsd.msk.ru>
- *
- * 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 <stdlib.h>
-#include <string.h>
-#include <sys/param.h>
-#include <sys/ucred.h>
-#include <sys/mount.h>
-
-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;