Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update shiboken2 (eventually) #81894

Closed
deliciouslytyped opened this issue Mar 6, 2020 · 3 comments · Fixed by #84232
Closed

Update shiboken2 (eventually) #81894

deliciouslytyped opened this issue Mar 6, 2020 · 3 comments · Fixed by #84232

Comments

@deliciouslytyped
Copy link
Contributor

@gebner pending an update of Qt to > 5.12.3, https://github.com/NixOS/nixpkgs/blob/0107ee8c322e57cdb2ebcc1c9c4286ff7db53d5c/pkgs/development/python-modules/shiboken2/nix_compile_cflags.patch does not apply cleanly to newer versions of shiboken.

re: #74355

@deliciouslytyped deliciouslytyped changed the title Update shiboken (eventually) Update shiboken2 (eventually) Mar 6, 2020
@gebner
Copy link
Member

gebner commented Mar 6, 2020

Yes, the patch is trivial to change. We still need to replace the whole if (needsGppInternalHeaders()) {} block.

@deliciouslytyped
Copy link
Contributor Author

Updated patch:

--- pyside-setup-everywhere-src-5.12.3/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp~  2019-06-15 10:31:04.712949189 +0200
+++ pyside-setup-everywhere-src-5.12.3/sources/shiboken2/ApiExtractor/clangparser/compilersupport.cpp 2019-06-15 11:52:52.894987343 +0200
@@ -317,17 +317,15 @@
     }
 #endif // NEED_CLANG_BUILTIN_INCLUDES
 
-    // Append the c++ include paths since Clang is unable to find <list> etc
-    // on RHEL 7 with g++ 6.3 or CentOS 7.2.
-    // A fix for this has been added to Clang 5.0, so, the code can be removed
-    // once Clang 5.0 is the minimum version.
-    if (needsGppInternalHeaders()) {
-        const HeaderPaths gppPaths = gppInternalIncludePaths(compilerFromCMake(QStringLiteral("g++")));
-        for (const HeaderPath &h : gppPaths) {
-            if (h.path.contains("c++")
-                || h.path.contains("sysroot")) { // centOS
-                headerPaths.append(h);
-            }
+    const HeaderPaths gppPaths = gppInternalIncludePaths(compilerFromCMake(QStringLiteral("g++")));
+    for (const HeaderPath &h : gppPaths) {
+        // PySide2 requires that Qt headers are not -isystem
+        // https://bugreports.qt.io/browse/PYSIDE-787
+        if (!h.path.contains("-qt")) {
+            // add using -isystem
+            headerPaths.append(h);
+        } else {
+            headerPaths.append({h.path, HeaderType::Standard});
         }
     }
 #else

@ghost ghost mentioned this issue Jul 18, 2020
37 tasks
@gebner
Copy link
Member

gebner commented Aug 22, 2020

We have now updated to Qt 5.14 in #84232.

@gebner gebner closed this as completed Aug 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants