@@ -1,31 +1,40 @@
|
||||
{ stdenv
|
||||
, buildPythonPackage
|
||||
, fetchhg
|
||||
, pkgs
|
||||
, isPy3k
|
||||
}:
|
||||
{ stdenv, buildPythonPackage, fetchFromGitHub, pkgs }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "20101207";
|
||||
pname = "pivy";
|
||||
disabled = isPy3k; # Judging from SyntaxError
|
||||
version = "0.6.5a2";
|
||||
|
||||
src = fetchhg {
|
||||
url = "https://bitbucket.org/Coin3D/pivy";
|
||||
rev = "8eab90908f2a3adcc414347566f4434636202344";
|
||||
sha256 = "18n14ha2d3j3ghg2f2aqnf2mks94nn7ma9ii7vkiwcay93zm82cf";
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeCAD";
|
||||
repo = "pivy";
|
||||
rev = version;
|
||||
sha256 = "1w03jaha36bjyfaz8hchnv8yrkm5715w15crhd3qrlagz8fs38hm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
swig1 coin3d soqt
|
||||
swig qt5.qmake cmake
|
||||
];
|
||||
|
||||
buildInputs = with pkgs; with xorg; [
|
||||
coin3d soqt
|
||||
coin3d soqt qt5.qtbase
|
||||
libGLU_combined
|
||||
libXi libXext libSM libICE libX11
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${pkgs.qt5.qtbase.dev}/include/QtCore"
|
||||
"-I${pkgs.qt5.qtbase.dev}/include/QtGui"
|
||||
"-I${pkgs.qt5.qtbase.dev}/include/QtOpenGL"
|
||||
"-I${pkgs.qt5.qtbase.dev}/include/QtWidgets"
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt --replace \$'{SoQt_INCLUDE_DIRS}' \
|
||||
\$'{Coin_INCLUDE_DIR}'\;\$'{SoQt_INCLUDE_DIRS}'
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://pivy.coin3d.org/;
|
||||
description = "A Python binding for Coin";
|
||||
|
||||
35
pkgs/development/python-modules/pyside2-tools/default.nix
Normal file
35
pkgs/development/python-modules/pyside2-tools/default.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ buildPythonPackage, wrapPython, python, fetchurl, stdenv, cmake, qt5,
|
||||
shiboken2, pyside2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pyside2-tools";
|
||||
|
||||
inherit (pyside2) version src;
|
||||
|
||||
postPatch = ''
|
||||
cd sources/pyside2-tools
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake wrapPython ];
|
||||
propagatedBuildInputs = [ shiboken2 pyside2 ];
|
||||
buildInputs = [ python qt5.qtbase ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_TESTS=OFF"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
rm $out/bin/pyside_tool.py
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "PySide2 development tools";
|
||||
license = licenses.gpl2;
|
||||
homepage = "https://wiki.qt.io/Qt_for_Python";
|
||||
maintainers = with maintainers; [ gebner ];
|
||||
};
|
||||
}
|
||||
38
pkgs/development/python-modules/pyside2/default.nix
Normal file
38
pkgs/development/python-modules/pyside2/default.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{ buildPythonPackage, python, fetchurl, stdenv,
|
||||
cmake, ninja, qt5, shiboken2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pyside2";
|
||||
version = "5.12.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${version}-src/pyside-setup-everywhere-src-${version}.tar.xz";
|
||||
sha256 = "0hk89jm8pa0q6kifask5rrffa3bvx02dg2f97ibv7wds9dysnyjg";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./dont_ignore_optional_modules.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
cd sources/pyside2
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_TESTS=OFF"
|
||||
"-DPYTHON_EXECUTABLE=${python.interpreter}"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja qt5.qmake shiboken2 python ];
|
||||
buildInputs = with qt5; [
|
||||
qtbase qtxmlpatterns qtmultimedia qttools qtx11extras qtlocation qtscript
|
||||
qtwebsockets qtwebengine qtwebchannel qtcharts qtsensors qtsvg
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "LGPL-licensed Python bindings for Qt";
|
||||
license = licenses.lgpl21;
|
||||
homepage = "https://wiki.qt.io/Qt_for_Python";
|
||||
maintainers = with maintainers; [ gebner ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
--- pyside-setup-everywhere-src-5.12.3/sources/pyside2/CMakeLists.txt~ 2019-06-15 19:07:48.368704430 +0200
|
||||
+++ pyside-setup-everywhere-src-5.12.3/sources/pyside2/CMakeLists.txt 2019-06-15 19:08:04.429489908 +0200
|
||||
@@ -219,7 +219,7 @@
|
||||
# If the module was found, and also the module path is the same as the
|
||||
# Qt5Core base path, we will generate the list with the modules to be installed
|
||||
set(looked_in_message ". Looked in: ${${_name_dir}}")
|
||||
- if("${${_name_found}}" AND (("${found_basepath}" GREATER "0") OR ("${found_basepath}" EQUAL "0")))
|
||||
+ if("${${_name_found}}")
|
||||
message(STATUS "${module_state} module ${name} found (${ARGN})${looked_in_message}")
|
||||
# record the shortnames for the tests
|
||||
list(APPEND all_module_shortnames ${shortname})
|
||||
36
pkgs/development/python-modules/shiboken2/default.nix
Normal file
36
pkgs/development/python-modules/shiboken2/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user