Merge pull request #119126 from fabaff/pycomfoconnect
[NixPkgs.git] / pkgs / development / python-modules / pyqt / 4.x.nix
blob3427438b8a267473e5bf78db21e882aa3a52a13b
1 { lib, stdenv, fetchurl, buildPythonPackage, python, dbus-python, sip, qt4, pkg-config, lndir, dbus, makeWrapper }:
3 buildPythonPackage rec {
4   pname = "PyQt-x11-gpl";
5   version = "4.12";
6   format = "other";
8   src = fetchurl {
9     url = "mirror://sourceforge/pyqt/PyQt4_gpl_x11-${version}.tar.gz";
10     sha256 = "1nw8r88a5g2d550yvklawlvns8gd5slw53yy688kxnsa65aln79w";
11   };
13   postPatch = ''
14     mkdir -p $out
15     lndir ${dbus-python} $out
16     rm -rf "$out/nix-support"
18     export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
19     ${lib.optionalString stdenv.isDarwin ''
20       export QMAKESPEC="unsupported/macx-clang-libc++" # macOS target after bootstrapping phase \
21     ''}
23     substituteInPlace configure.py \
24       --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" \
25     ${lib.optionalString stdenv.isDarwin ''
26       --replace "qt_macx_spec = 'macx-g++'" "qt_macx_spec = 'unsupported/macx-clang-libc++'" # for bootstrapping phase \
27     ''}
29     chmod +x configure.py
30     sed -i '1i#!${python.interpreter}' configure.py
31   '';
33   configureScript = "./configure.py";
34   dontAddPrefix = true;
35   configureFlags = [
36     "--confirm-license"
37     "--bindir=${placeholder "out"}/bin"
38     "--destdir=${placeholder "out"}/${python.sitePackages}"
39     "--plugin-destdir=${placeholder "out"}/lib/qt4/plugins"
40     "--sipdir=${placeholder "out"}/share/sip/PyQt4"
41     "--dbus=${lib.getDev dbus-python}/include/dbus-1.0"
42     "--verbose"
43   ];
45   nativeBuildInputs = [ pkg-config lndir makeWrapper qt4 ];
46   buildInputs = [ qt4 dbus ];
48   propagatedBuildInputs = [ sip ];
50   postInstall = ''
51     for i in $out/bin/*; do
52       wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
53     done
54   '';
56   enableParallelBuilding = true;
58   passthru = {
59     qt = qt4;
60   };
62   meta = with lib; {
63     description = "Python bindings for Qt";
64     license = "GPL";
65     homepage = "http://www.riverbankcomputing.co.uk";
66     maintainers = [ maintainers.sander ];
67     platforms = platforms.mesaPlatforms;
68   };