Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37425710
en ru br
ALT Linux repos
S:5.15.15-alt1

Group :: System/Libraries
RPM: qt5-webengine

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: python3.patch
Download


Description: replace Python 2 with Python 3 in the build system
Author: Dmitry Shachnev <mitya57@debian.org>
Last-Update: 2022-11-25
Forwarded: not-needed
--- a/configure.pri
+++ b/configure.pri
@@ -6,23 +6,6 @@ QTWEBENGINE_SOURCE_TREE = $$PWD
 
 equals(QMAKE_HOST.os, Windows): EXE_SUFFIX = .exe
 
-defineTest(isPythonVersionSupported) {
-    python = $$system_quote($$system_path($$1))
-    python_version = $$system('$$python -c "import sys; print(sys.version_info[0:3])"')
-    python_version ~= s/[()]//g
-    python_version = $$split(python_version, ',')
-    python_major_version = $$first(python_version)
-    greaterThan(python_major_version, 2) {
-        qtLog("Python version 3 is not supported by Chromium.")
-        return(false)
-    }
-    python_minor_version = $$member(python_version, 1)
-    python_patch_version = $$member(python_version, 2)
-    greaterThan(python_major_version, 1): greaterThan(python_minor_version, 6): greaterThan(python_patch_version, 4): return(true)
-    qtLog("Unsupported python version: $${python_major_version}.$${python_minor_version}.$${python_patch_version}.")
-    return(false)
-}
-
 defineTest(qtConfTest_detectJumboBuild) {
     mergeLimit = $$eval(config.input.merge_limit)
     mergeLimit = $$find(mergeLimit, "\\d")
@@ -52,22 +35,18 @@ defineTest(qtConfReport_jumboBuild) {
     qtConfReportPadded($${1}, $$mergeLimit)
 }
 
-defineTest(qtConfTest_detectPython2) {
-    python = $$qtConfFindInPath("python2$$EXE_SUFFIX")
+defineTest(qtConfTest_detectPython3) {
+    python = $$qtConfFindInPath("python3$$EXE_SUFFIX")
     isEmpty(python) {
-        qtLog("'python2$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.")
+        qtLog("'python3$$EXE_SUFFIX' not found in PATH. Checking for 'python$$EXE_SUFFIX'.")
         python = $$qtConfFindInPath("python$$EXE_SUFFIX")
     }
     isEmpty(python) {
         qtLog("'python$$EXE_SUFFIX' not found in PATH. Giving up.")
         return(false)
     }
-    !isPythonVersionSupported($$python) {
-        qtLog("A suitable Python 2 executable could not be located.")
-        return(false)
-    }
 
-    # Make tests.python2.location available in configure.json.
+    # Make tests.python3.location available in configure.json.
     $${1}.location = $$clean_path($$python)
     export($${1}.location)
     $${1}.cache += location
--- a/mkspecs/features/functions.prf
+++ b/mkspecs/features/functions.prf
@@ -44,11 +44,11 @@ defineReplace(which) {
 
 # Returns the unquoted path to the python executable.
 defineReplace(pythonPath) {
-    isEmpty(QMAKE_PYTHON2) {
+    isEmpty(QMAKE_PYTHON3) {
         # Fallback for building QtWebEngine with Qt < 5.8
-        QMAKE_PYTHON2 = python
+        QMAKE_PYTHON3 = python
     }
-    return($$QMAKE_PYTHON2)
+    return($$QMAKE_PYTHON3)
 }
 
 # Returns the python executable for use with shell / make targets.
--- a/src/buildtools/config/support.pri
+++ b/src/buildtools/config/support.pri
@@ -21,7 +21,7 @@ defineReplace(qtwebengine_checkWebEngine
     !qtwebengine_checkForGperf(QtWebEngine):return(false)
     !qtwebengine_checkForBison(QtWebEngine):return(false)
     !qtwebengine_checkForFlex(QtWebEngine):return(false)
-    !qtwebengine_checkForPython2(QtWebEngine):return(false)
+    !qtwebengine_checkForPython3(QtWebEngine):return(false)
     !qtwebengine_checkForNodejs(QtWebEngine):return(false)
     !qtwebengine_checkForSanitizer(QtWebEngine):return(false)
     linux:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false)
@@ -51,7 +51,7 @@ defineReplace(qtwebengine_checkPdfError)
     !qtwebengine_checkForGperf(QtPdf):return(false)
     !qtwebengine_checkForBison(QtPdf):return(false)
     !qtwebengine_checkForFlex(QtPdf):return(false)
-    !qtwebengine_checkForPython2(QtPdf):return(false)
+    !qtwebengine_checkForPython3(QtPdf):return(false)
     !qtwebengine_checkForSanitizer(QtPdf):return(false)
     linux:!qtwebengine_checkForPkgCfg(QtPdf):return(false)
     linux:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false)
@@ -143,10 +143,10 @@ defineTest(qtwebengine_checkForFlex) {
     return(true)
 }
 
-defineTest(qtwebengine_checkForPython2) {
+defineTest(qtwebengine_checkForPython3) {
     module = $$1
-    !qtConfig(webengine-python2) {
-        qtwebengine_skipBuild("Python version 2 (2.7.5 or later) is required to build $${module}.")
+    !qtConfig(webengine-python3) {
+        qtwebengine_skipBuild("Python version 3 is required to build $${module}.")
         return(false)
     }
     return(true)
--- a/src/buildtools/configure.json
+++ b/src/buildtools/configure.json
@@ -295,9 +295,9 @@
             "label": "system ninja",
             "type": "detectNinja"
         },
-        "webengine-python2": {
-            "label": "python2",
-            "type": "detectPython2",
+        "webengine-python3": {
+            "label": "python3",
+            "type": "detectPython3",
             "log": "location"
         },
         "webengine-winversion": {
@@ -374,7 +374,7 @@
                          && features.webengine-gperf
                          && features.webengine-bison
                          && features.webengine-flex
-                         && features.webengine-python2
+                         && features.webengine-python3
                          && features.webengine-nodejs
                          && (!config.sanitizer || features.webengine-sanitizer)
                          && (!config.linux || features.pkg-config)
@@ -400,7 +400,7 @@
                          && features.webengine-gperf
                          && features.webengine-bison
                          && features.webengine-flex
-                         && features.webengine-python2
+                         && features.webengine-python3
                          && (!config.sanitizer || features.webengine-sanitizer)
                          && (!config.linux || features.pkg-config)
                          && (!config.linux || features.webengine-host-pkg-config)
@@ -423,12 +423,12 @@
             "autoDetect": "features.private_tests",
             "output": [ "privateFeature" ]
         },
-        "webengine-python2": {
-            "label": "python2",
-            "condition": "tests.webengine-python2",
+        "webengine-python3": {
+            "label": "python3",
+            "condition": "tests.webengine-python3",
             "output": [
                 "privateFeature",
-                { "type": "varAssign", "name": "QMAKE_PYTHON2", "value": "tests.webengine-python2.location" }
+                { "type": "varAssign", "name": "QMAKE_PYTHON3", "value": "tests.webengine-python3.location" }
             ]
         },
         "webengine-gperf": {
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin