nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
aszlig f1c2572479
pyqt5: Fix running of {pre,post}Configure
Commit 0055c6a introduced a new preConfigure hook that sets the right
qmake path. Unfortunately the mkDerivation attributes of pyqt5 override
the whole configurePhase, so this hook isn't run at all.

This fixes the build of pyqt5 and it now successfully compiles on my
machine.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2016-04-15 05:26:02 +02:00

58 lines
1.7 KiB
Nix

{ stdenv, fetchurl, python, pkgconfig, qtbase, qtsvg, qtwebkit, sip, pythonDBus
, lndir, makeWrapper }:
let
version = "5.5.1";
in stdenv.mkDerivation {
name = "${python.libPrefix}-PyQt-${version}";
meta = with stdenv.lib; {
description = "Python bindings for Qt5";
homepage = http://www.riverbankcomputing.co.uk;
license = licenses.gpl3;
platforms = platforms.mesaPlatforms;
maintainers = with maintainers; [ sander ];
};
src = fetchurl {
url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt-gpl-${version}.tar.gz";
sha256 = "11l3pm0wkwkxzw4n3022iid3yyia5ap4l0ny1m5ngkzzzfafyw0a";
};
buildInputs = [
python pkgconfig makeWrapper lndir
qtbase qtsvg qtwebkit
];
propagatedBuildInputs = [ sip ];
configurePhase = ''
runHook preConfigure
mkdir -p $out
lndir ${pythonDBus} $out
export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
substituteInPlace configure.py \
--replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" \
--replace "ModuleMetadata(qmake_QT=['webkitwidgets'])" "ModuleMetadata(qmake_QT=['webkitwidgets', 'printsupport'])"
${python.executable} configure.py -w \
--confirm-license \
--dbus=$out/include/dbus-1.0 \
--no-qml-plugin \
--bindir=$out/bin \
--destdir=$out/lib/${python.libPrefix}/site-packages \
--sipdir=$out/share/sip \
--designer-plugindir=$out/plugins/designer
runHook postConfigure
'';
postInstall = ''
for i in $out/bin/*; do
wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
done
'';
enableParallelBuilding = true;
}