diff --git a/package/pulseview/0003-Support-glibmm-2.68.patch b/package/pulseview/0003-Support-glibmm-2.68.patch
new file mode 100644
index 0000000000..00e4e696d9
--- /dev/null
+++ b/package/pulseview/0003-Support-glibmm-2.68.patch
@@ -0,0 +1,89 @@
+From a97d5a060a534a3c658578e7f14ab43556db93ca Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Thu, 30 Dec 2021 16:19:46 +0100
+Subject: [PATCH] Support glibmm 2.68
+
+Support glibmm 2.68 which has been released one year ago and is the
+first stable release in the glibmm-2.68 ABI series:
+https://gitlab.gnome.org/GNOME/glibmm/-/blob/2.68.2/NEWS
+
+C++17 support is mandatory with glibmm 2.68
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: not sent yet]
+---
+ CMakeLists.txt | 23 +++++++++++++++++++----
+ INSTALL        |  2 +-
+ 2 files changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7791b1b1..58a9cf92 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -75,7 +75,14 @@ add_subdirectory(manual)
+ #-------------------------------------------------------------------------------
+ 
+ list(APPEND PKGDEPS glib-2.0>=2.28.0)
+-list(APPEND PKGDEPS glibmm-2.4>=2.28.0)
++
++set(LIBSR_GLIBMM "glibmm-2.4>=2.28.0")
++find_package(PkgConfig)
++pkg_check_modules(LIBSRGLIBMM24 ${LIBSR_GLIBMM})
++if(NOT LIBSRGLIBMM24_FOUND)
++	set(LIBSR_GLIBMM "glibmm-2.68>=2.68.0")
++endif()
++list(APPEND PKGDEPS ${LIBSR_GLIBMM})
+ 
+ if(ENABLE_FLOW)
+ 	list(APPEND PKGDEPS gstreamermm-1.0>=1.8.0)
+@@ -93,7 +100,6 @@ if(ANDROID)
+ 	list(APPEND PKGDEPS libsigrokandroidutils>=0.1.0)
+ endif()
+ 
+-find_package(PkgConfig)
+ pkg_check_modules(LIBSRCXX ${LIBSR_CXX_BINDING})
+ if(NOT LIBSRCXX_FOUND OR NOT LIBSRCXX_VERSION)
+ 	message(FATAL_ERROR "libsigrok C++ bindings missing, check libsigrok's 'configure' output (missing dependencies?)")
+@@ -225,7 +231,11 @@ memaccess_check_unaligned_le(HAVE_UNALIGNED_LITTLE_ENDIAN_ACCESS)
+ set(PV_TITLE PulseView)
+ set(PV_VERSION_STRING "0.5.0")
+ 
+-set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.4_VERSION})
++if(LIBSRGLIBMM24_FOUND)
++	set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.4_VERSION})
++else()
++	set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.68_VERSION})
++endif()
+ 
+ include(GetGitRevisionDescription)
+ 
+@@ -486,7 +496,12 @@ qt5_add_resources(pulseview_RESOURCES_RCC ${CMAKE_BINARY_DIR}/translations.qrc)
+ add_definitions(-DQT_NO_KEYWORDS)
+ add_definitions(-D__STDC_LIMIT_MACROS)
+ add_definitions(-Wall -Wextra)
+-add_definitions(-std=c++11)
++if(LIBSRGLIBMM24_FOUND)
++	add_definitions(-std=c++11)
++else()
++	# glibmm-2.68 reuires c++17
++	add_definitions(-std=c++17)
++endif()
+ add_definitions(-DBOOST_MATH_DISABLE_FLOAT128=1)
+ if(WIN32)
+ 	add_definitions(-Wa,-mbig-obj -O3)
+diff --git a/INSTALL b/INSTALL
+index da89be8d..8003fcfb 100644
+--- a/INSTALL
++++ b/INSTALL
+@@ -14,7 +14,7 @@ Requirements
+  - pkg-config >= 0.22
+  - cmake >= 2.8.12
+  - libglib >= 2.28.0
+- - glibmm-2.4 (>= 2.28.0)
++ - glibmm-2.4 (>= 2.28.0) or glibmm-2.68 (>= 2.68.0)
+  - Qt5 (>= 5.3), including the following components:
+     - Qt5Core, Qt5Gui, Qt5Widgets, Qt5Svg, Qt5LinguistTools
+     - Qt translation package (optional; needed at runtime, not build time)
+-- 
+2.34.1
+