aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/python-modules/pyqt/4.x.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/python-modules/pyqt/4.x.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/python-modules/pyqt/4.x.nix69
1 files changed, 69 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/python-modules/pyqt/4.x.nix b/infra/libkookie/nixpkgs/pkgs/development/python-modules/pyqt/4.x.nix
new file mode 100644
index 000000000000..05cf0aba354b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/python-modules/pyqt/4.x.nix
@@ -0,0 +1,69 @@
+{ stdenv, fetchurl, buildPythonPackage, python, dbus-python, sip, qt4, pkgconfig, lndir, dbus, makeWrapper }:
+
+buildPythonPackage rec {
+ pname = "PyQt-x11-gpl";
+ version = "4.12";
+ format = "other";
+
+ src = fetchurl {
+ url = "mirror://sourceforge/pyqt/PyQt4_gpl_x11-${version}.tar.gz";
+ sha256 = "1nw8r88a5g2d550yvklawlvns8gd5slw53yy688kxnsa65aln79w";
+ };
+
+ postPatch = ''
+ mkdir -p $out
+ lndir ${dbus-python} $out
+ rm -rf "$out/nix-support"
+
+ export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
+ ${stdenv.lib.optionalString stdenv.isDarwin ''
+ export QMAKESPEC="unsupported/macx-clang-libc++" # macOS target after bootstrapping phase \
+ ''}
+
+ substituteInPlace configure.py \
+ --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" \
+ ${stdenv.lib.optionalString stdenv.isDarwin ''
+ --replace "qt_macx_spec = 'macx-g++'" "qt_macx_spec = 'unsupported/macx-clang-libc++'" # for bootstrapping phase \
+ ''}
+
+ chmod +x configure.py
+ sed -i '1i#!${python.interpreter}' configure.py
+ '';
+
+ configureScript = "./configure.py";
+ dontAddPrefix = true;
+ configureFlags = [
+ "--confirm-license"
+ "--bindir=${placeholder "out"}/bin"
+ "--destdir=${placeholder "out"}/${python.sitePackages}"
+ "--plugin-destdir=${placeholder "out"}/lib/qt4/plugins"
+ "--sipdir=${placeholder "out"}/share/sip/PyQt4"
+ "--dbus=${stdenv.lib.getDev dbus-python}/include/dbus-1.0"
+ "--verbose"
+ ];
+
+ nativeBuildInputs = [ pkgconfig lndir makeWrapper qt4 ];
+ buildInputs = [ qt4 dbus ];
+
+ propagatedBuildInputs = [ sip ];
+
+ postInstall = ''
+ for i in $out/bin/*; do
+ wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
+ done
+ '';
+
+ enableParallelBuilding = true;
+
+ passthru = {
+ qt = qt4;
+ };
+
+ meta = {
+ description = "Python bindings for Qt";
+ license = "GPL";
+ homepage = "http://www.riverbankcomputing.co.uk";
+ maintainers = [ stdenv.lib.maintainers.sander ];
+ platforms = stdenv.lib.platforms.mesaPlatforms;
+ };
+}