Index | Thread | Search

From:
Daniel Dickman <didickman@gmail.com>
Subject:
x11/qt5/qtwebengine and Python 3.13
To:
Rafael Sadowski <rsadowski@openbsd.org>
Cc:
ports@openbsd.org
Date:
Sun, 23 Feb 2025 21:51:57 -0500

Download raw body.

Thread
Python 3.13 removed the deprecated pipes module. Fortunately 
shlex.quote is a direct replacement for pipes.quote.

With this diff I was able to build qtwebengine under Python 3.13.

ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/qt5/qtwebengine/Makefile,v
diff -u -p -u -r1.69 Makefile
--- Makefile	14 Feb 2025 13:30:24 -0000	1.69
+++ Makefile	24 Feb 2025 02:31:18 -0000
@@ -9,7 +9,7 @@ USE_NOBTCFI =		Yes
 QT5NAME =		QtWebEngine
 KDE_COMMIT =		17fd3176988586168bee8654008a097a5f23ec1d
 KDE_VERSION =		11
-REVISION =		1
+REVISION =		2
 
 # Override
 VERSION =		${QT5_WEBENGINE_VERSION}
Index: patches/patch-src_3rdparty_chromium_build_android_gyp_util_build_utils_py
===================================================================
RCS file: patches/patch-src_3rdparty_chromium_build_android_gyp_util_build_utils_py
diff -N patches/patch-src_3rdparty_chromium_build_android_gyp_util_build_utils_py
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_3rdparty_chromium_build_android_gyp_util_build_utils_py	24 Feb 2025 02:31:18 -0000
@@ -0,0 +1,23 @@
+Fix build with Python 3.13
+
+Index: src/3rdparty/chromium/build/android/gyp/util/build_utils.py
+--- src/3rdparty/chromium/build/android/gyp/util/build_utils.py.orig
++++ src/3rdparty/chromium/build/android/gyp/util/build_utils.py
+@@ -12,7 +12,7 @@ import fnmatch
+ import json
+ import logging
+ import os
+-import pipes
++import shlex
+ import re
+ import shutil
+ import stat
+@@ -198,7 +198,7 @@ class CalledProcessError(Exception):
+     # A user should be able to simply copy and paste the command that failed
+     # into their shell.
+     copyable_command = '( cd {}; {} )'.format(os.path.abspath(self.cwd),
+-        ' '.join(map(pipes.quote, self.args)))
++        ' '.join(map(shlex.quote, self.args)))
+     return 'Command failed: {}\n{}'.format(copyable_command, self.output)
+ 
+