1{ lib
2, pythonPackages
3, qscintilla
4, qtbase
5}:
6with pythonPackages;
7buildPythonPackage {
8 pname = "qscintilla";
9 version = qscintilla.version;
10 src = qscintilla.src;
11 format = "other";
12
13 nativeBuildInputs = [ sip_4 qtbase ];
14 buildInputs = [ qscintilla ];
15 propagatedBuildInputs = [ pyqt5 ];
16
17 dontWrapQtApps = true;
18
19 postPatch = ''
20 substituteInPlace Python/configure.py \
21 --replace \
22 "target_config.py_module_dir" \
23 "'$out/${python.sitePackages}'"
24 '';
25
26 preConfigure = ''
27 # configure.py will look for this folder
28 mkdir -p $out/share/sip/PyQt5
29
30 cd Python
31 substituteInPlace configure.py \
32 --replace "qmake = {'CONFIG': 'qscintilla2'}" "qmake = {'CONFIG': 'qscintilla2', 'QT': 'widgets printsupport'}"
33 ${python.executable} ./configure.py \
34 --pyqt=PyQt5 \
35 --destdir=$out/${python.sitePackages}/PyQt5 \
36 --stubsdir=$out/${python.sitePackages}/PyQt5 \
37 --apidir=$out/api/${python.libPrefix} \
38 --qsci-incdir=${qscintilla}/include \
39 --qsci-featuresdir=${qscintilla}/mkspecs/features \
40 --qsci-libdir=${qscintilla}/lib \
41 --pyqt-sipdir=${pyqt5}/share/sip/PyQt5 \
42 --qsci-sipdir=$out/share/sip/PyQt5 \
43 --sip-incdir=${sip_4}/include
44 '';
45
46 meta = with lib; {
47 description = "A Python binding to QScintilla, Qt based text editing control";
48 license = licenses.lgpl21Plus;
49 maintainers = with maintainers; [ lsix ];
50 homepage = "https://www.riverbankcomputing.com/software/qscintilla/";
51 };
52}