mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-18 11:44:07 +00:00
2a2327f508
`python-qt` v. 3.3.0 wasn't compatible with Python 3.11 yet (it contained include statements for header files that were removed by 3.11 [1] and used a python tuple field that was replaced through a dedicated getter function [2]). Switching to version 3.4.2 also means we can remove the `remove-unneeded-pydebug-include.patch`, as it has since been merged. [1]: https://docs.python.org/3.11/whatsnew/3.11.html > The non-limited API files cellobject.h, classobject.h, code.h, context.h, > funcobject.h, genobject.h and longintrepr.h have been moved to the Include/cpython > directory. Moreover, the eval.h header file was removed. These files must not be > included directly, as they are already included in Python.h: Include Files. > If they have been included directly, consider including Python.h instead. [2]: https://github.com/python/cpython/issues/94936#issuecomment-1206497729
53 lines
1.4 KiB
Nix
53 lines
1.4 KiB
Nix
{ lib, stdenv, fetchFromGitHub, fetchpatch, python, qmake,
|
|
qtwebengine, qtxmlpatterns,
|
|
qttools, unzip }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "python-qt";
|
|
version = "3.4.2";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "MeVisLab";
|
|
repo = "pythonqt";
|
|
rev = "v${version}";
|
|
hash = "sha256-xJYOD07ACOKtY3psmfHNSCjm6t0fr8JU9CrL0w5P5G0=";
|
|
};
|
|
|
|
# https://github.com/CsoundQt/CsoundQt/blob/develop/BUILDING.md#pythonqt
|
|
postPatch = ''
|
|
substituteInPlace build/python.prf \
|
|
--replace "PYTHON_VERSION=2.7" "PYTHON_VERSION=${python.pythonVersion}"
|
|
'';
|
|
|
|
hardeningDisable = [ "all" ];
|
|
|
|
nativeBuildInputs = [ qmake qtwebengine qtxmlpatterns qttools unzip ];
|
|
|
|
buildInputs = [ python ];
|
|
|
|
qmakeFlags = [
|
|
"PythonQt.pro"
|
|
"PYTHON_DIR=${python}"
|
|
];
|
|
|
|
dontWrapQtApps = true;
|
|
|
|
unpackCmd = "unzip $src";
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/include/PythonQt
|
|
cp -r ./lib $out
|
|
cp -r ./src/* $out/include/PythonQt
|
|
cp -r ./build $out/include/PythonQt
|
|
cp -r ./extensions $out/include/PythonQt
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "PythonQt is a dynamic Python binding for the Qt framework. It offers an easy way to embed the Python scripting language into your C++ Qt applications";
|
|
homepage = "https://pythonqt.sourceforge.net/";
|
|
license = licenses.lgpl21;
|
|
platforms = platforms.all;
|
|
maintainers = with maintainers; [ hlolli ];
|
|
};
|
|
}
|