From e98b64c2e0a913b7d414b053305ecb1f398e3161 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 2 Oct 2019 16:29:14 -0500 Subject: [PATCH] Revert "Remove pykde4" This reverts commit a3ad16b9ca8f9a74894e689dad7b9a72716c2826. --- .../python-modules/pykde4/default.nix | 45 +++++++++++++++++++ .../python-modules/pykde4/dlfcn.patch | 13 ++++++ .../python-modules/pykde4/kdelibs.nix | 38 ++++++++++++++++ pkgs/top-level/python-packages.nix | 5 +++ 4 files changed, 101 insertions(+) create mode 100644 pkgs/development/python-modules/pykde4/default.nix create mode 100644 pkgs/development/python-modules/pykde4/dlfcn.patch create mode 100644 pkgs/development/python-modules/pykde4/kdelibs.nix diff --git a/pkgs/development/python-modules/pykde4/default.nix b/pkgs/development/python-modules/pykde4/default.nix new file mode 100644 index 00000000000..913453962eb --- /dev/null +++ b/pkgs/development/python-modules/pykde4/default.nix @@ -0,0 +1,45 @@ +{ pyqt4, openssl_1_0_2 +, stdenv, callPackage, fetchurl, cmake, automoc4, sip }: + +let + kdelibs = callPackage ./kdelibs.nix { + openssl = openssl_1_0_2; + }; + sip4_19_3 = sip.overrideAttrs (oldAttrs: rec { + src = fetchurl { + url = "mirror://sourceforge/pyqt/sip/sip-4.19.3/sip-4.19.3.tar.gz"; + sha256 = "0x2bghbprwl3az1ni3p87i0bq8r99694la93kg65vi0cz12gh3bl"; + }; + }); + pyqt4_fixed = pyqt4.overrideAttrs (oldAttrs: { + propagatedBuildInputs = [ sip4_19_3 ]; + }); +in stdenv.mkDerivation rec { + version = "4.14.3"; + pname = "pykde4"; + + src = fetchurl { + url = "mirror://kde/stable/${version}/src/${pname}-${version}-${version}.tar.xz"; + sha256 = "1z40gnkyjlv6ds3cmpzvv99394rhmydr6rxx7qj33m83xnsxgfbz"; + }; + + patches = [ ./dlfcn.patch ]; + + buildInputs = [ + kdelibs + ]; + + nativeBuildInputs = [ cmake automoc4 ]; + + propagatedBuildInputs = [ pyqt4_fixed ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + platforms = platforms.linux; + description = "Python bindings for KDE"; + license = with licenses; [ gpl2 lgpl2 ]; + homepage = https://api.kde.org/pykde-4.3-api/; + maintainers = with maintainers; [ gnidorah ]; + }; +} diff --git a/pkgs/development/python-modules/pykde4/dlfcn.patch b/pkgs/development/python-modules/pykde4/dlfcn.patch new file mode 100644 index 00000000000..63aff46eeab --- /dev/null +++ b/pkgs/development/python-modules/pykde4/dlfcn.patch @@ -0,0 +1,13 @@ +--- __init__.py.orig 2017-11-02 09:06:48.998054459 +0300 ++++ ./__init__.py 2017-11-02 09:24:28.089072752 +0300 +@@ -1,4 +1,8 @@ +-import sys,DLFCN ++import sys ++try: ++ import DLFCN ++except ImportError: ++ import os as DLFCN + # This is needed to ensure that dynamic_cast and RTTI works inside kdelibs. + sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL) + +\ No newline at end of file diff --git a/pkgs/development/python-modules/pykde4/kdelibs.nix b/pkgs/development/python-modules/pykde4/kdelibs.nix new file mode 100644 index 00000000000..9803e7800c3 --- /dev/null +++ b/pkgs/development/python-modules/pykde4/kdelibs.nix @@ -0,0 +1,38 @@ +{ + stdenv, fetchurl, + automoc4, cmake_2_8, libxslt, perl, pkgconfig, shared-mime-info, + attica, docbook_xml_dtd_42, docbook_xsl, giflib, + libdbusmenu_qt, libjpeg, phonon, qt4, openssl +}: + +stdenv.mkDerivation rec { + version = "4.14.38"; + pname = "kdelibs"; + src = fetchurl { + url = "mirror://kde/stable/applications/17.08.3/src/${pname}-${version}.tar.xz"; + sha256 = "1zn3yb09sd22bm54is0rn98amj0398zybl550dp406419sil7z9p"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ + automoc4 cmake_2_8 libxslt perl pkgconfig shared-mime-info + ]; + buildInputs = [ + attica giflib libdbusmenu_qt libjpeg openssl + ]; + propagatedBuildInputs = [ qt4 phonon ]; + + cmakeFlags = [ + "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook" + "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook" + "-DKJS_FORCE_DISABLE_PCRE=true" + "-DWITH_SOLID_UDISKS2=OFF" + ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + homepage = http://www.kde.org; + license = with licenses; [ gpl2 fdl12 lgpl21 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6190bdd83c2..c269c830fdf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -972,6 +972,11 @@ in { pyjwkest = callPackage ../development/python-modules/pyjwkest { }; + pykde4 = callPackage ../development/python-modules/pykde4 { + inherit (self) pyqt4; + callPackage = pkgs.callPackage; + }; + pykdtree = callPackage ../development/python-modules/pykdtree { inherit (pkgs.llvmPackages) openmp; };