diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix new file mode 100644 index 00000000000..2d2a2ed5151 --- /dev/null +++ b/pkgs/development/python-modules/pyqt/5.x.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, python, pkgconfig, qt5, sip, pythonDBus, lndir, makeWrapper }: + +let + version = "5.3"; +in stdenv.mkDerivation { + name = "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 iyzsong ]; + }; + + src = fetchurl { + url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt-gpl-${version}.tar.gz"; + sha256 = "0xc1cc68fi989rfybibimhhi3mqn3b93n0p3jdqznzabgilcb1m2"; + }; + + buildInputs = [ python pkgconfig makeWrapper lndir qt5 ]; + + propagatedBuildInputs = [ sip ]; + + configurePhase = '' + 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'" + + ${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 + ''; + + postInstall = '' + for i in $out/bin/*; do + wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH" + done + ''; + + enableParallelBuilding = true; +} diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix new file mode 100644 index 00000000000..aa1fb198438 --- /dev/null +++ b/pkgs/development/python-modules/sip/4.16.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, python }: + +stdenv.mkDerivation rec { + name = "sip-4.16.1"; + + src = fetchurl { + url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz"; + sha256 = "1hknl71ij924syc9ik9nk4z051q3n75y7w27q9i07awpd39sp7m4"; + }; + + configurePhase = '' + ${python.executable} ./configure.py \ + -d $out/lib/${python.libPrefix}/site-packages \ + -b $out/bin -e $out/include + ''; + + buildInputs = [ python ]; + + meta = with stdenv.lib; { + description = "Creates C++ bindings for Python modules"; + homepage = "http://www.riverbankcomputing.co.uk/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ lovek323 sander urkud ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index af628573c3a..7ec651f0b14 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -163,11 +163,24 @@ rec { pythonDBus = dbus; }; + pyqt5 = import ../development/python-modules/pyqt/5.x.nix { + inherit (pkgs) stdenv fetchurl pkgconfig qt5 makeWrapper; + inherit (pkgs.xorg) lndir; + inherit python; + sip = sip_4_16; + pythonDBus = dbus; + }; + sip = import ../development/python-modules/sip { inherit (pkgs) stdenv fetchurl; inherit python; }; + sip_4_16 = import ../development/python-modules/sip/4.16.nix { + inherit (pkgs) stdenv fetchurl; + inherit python; + }; + tables = import ../development/python-modules/tables { inherit (pkgs) stdenv fetchurl bzip2 lzo; inherit python buildPythonPackage cython numpy numexpr;