pythonPackages.shiboken2: init at 5.12.3

This commit is contained in:
Gabriel Ebner 2019-06-16 18:28:54 +02:00
parent 8ce3def3d8
commit b0aab3026f
3 changed files with 67 additions and 0 deletions

View file

@ -0,0 +1,36 @@
{ buildPythonPackage, python, fetchurl, stdenv, pyside2,
cmake, qt5, llvmPackages }:
stdenv.mkDerivation rec {
pname = "shiboken2";
inherit (pyside2) version src;
patches = [
./nix_compile_cflags.patch
];
postPatch = ''
cd sources/shiboken2
'';
CLANG_INSTALL_DIR = "${llvmPackages.libclang.out}";
nativeBuildInputs = [ cmake ];
buildInputs = [ llvmPackages.libclang python qt5.qtbase qt5.qtxmlpatterns ];
cmakeFlags = [
"-DBUILD_TESTS=OFF"
];
postInstall = ''
rm $out/bin/shiboken_tool.py
'';
meta = with stdenv.lib; {
description = "Generator for the PySide2 Qt bindings";
license = with licenses; [ gpl2 lgpl21 ];
homepage = "https://wiki.qt.io/Qt_for_Python";
maintainers = with maintainers; [ gebner ];
};
}

View file

@ -0,0 +1,27 @@
--- 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,15 +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(QStringLiteral("g++"));
- for (const HeaderPath &h : gppPaths) {
- if (h.path.contains("c++"))
- headerPaths.append(h);
+ const HeaderPaths gppPaths = gppInternalIncludePaths(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

View file

@ -801,6 +801,10 @@ in {
pysideTools = callPackage ../development/python-modules/pyside/tools.nix { };
shiboken2 = toPythonModule (callPackage ../development/python-modules/shiboken2 {
inherit (pkgs) cmake qt5 llvmPackages;
});
pyslurm = callPackage ../development/python-modules/pyslurm {
slurm = pkgs.slurm;
};