From a3ad16b9ca8f9a74894e689dad7b9a72716c2826 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 2 Oct 2019 13:37:43 -0500 Subject: [PATCH 1/5] Remove pykde4 --- .../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 deletions(-) delete mode 100644 pkgs/development/python-modules/pykde4/default.nix delete mode 100644 pkgs/development/python-modules/pykde4/dlfcn.patch delete 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 deleted file mode 100644 index 913453962eb..00000000000 --- a/pkgs/development/python-modules/pykde4/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ 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 deleted file mode 100644 index 63aff46eeab..00000000000 --- a/pkgs/development/python-modules/pykde4/dlfcn.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- __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 deleted file mode 100644 index 9803e7800c3..00000000000 --- a/pkgs/development/python-modules/pykde4/kdelibs.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - 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 c269c830fdf..6190bdd83c2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -972,11 +972,6 @@ 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; }; From e98b64c2e0a913b7d414b053305ecb1f398e3161 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 2 Oct 2019 16:29:14 -0500 Subject: [PATCH 2/5] 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; }; From ee36267193f5e924579034b362a10da2fccee047 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 2 Oct 2019 16:30:09 -0500 Subject: [PATCH 3/5] kdelibs: gnidorah is maintainer --- pkgs/development/python-modules/pykde4/kdelibs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/pykde4/kdelibs.nix b/pkgs/development/python-modules/pykde4/kdelibs.nix index 9803e7800c3..d13898ca6dc 100644 --- a/pkgs/development/python-modules/pykde4/kdelibs.nix +++ b/pkgs/development/python-modules/pykde4/kdelibs.nix @@ -34,5 +34,6 @@ stdenv.mkDerivation rec { platforms = platforms.linux; homepage = http://www.kde.org; license = with licenses; [ gpl2 fdl12 lgpl21 ]; + maintainers = with maintainers; [ gnidorah ]; }; } From 260ef791a365474623aeb1de6b16aaef548cf194 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 2 Oct 2019 16:31:41 -0500 Subject: [PATCH 4/5] pykde4: Do not build on Hydra pykde4 is not used in Nixpkgs, so it is not appropriate to build on Hydra. --- pkgs/development/python-modules/pykde4/default.nix | 1 + pkgs/development/python-modules/pykde4/kdelibs.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/pykde4/default.nix b/pkgs/development/python-modules/pykde4/default.nix index 913453962eb..d2c66c8cd2c 100644 --- a/pkgs/development/python-modules/pykde4/default.nix +++ b/pkgs/development/python-modules/pykde4/default.nix @@ -37,6 +37,7 @@ in stdenv.mkDerivation rec { meta = with stdenv.lib; { platforms = platforms.linux; + hydraPlatforms = platforms.none; description = "Python bindings for KDE"; license = with licenses; [ gpl2 lgpl2 ]; homepage = https://api.kde.org/pykde-4.3-api/; diff --git a/pkgs/development/python-modules/pykde4/kdelibs.nix b/pkgs/development/python-modules/pykde4/kdelibs.nix index d13898ca6dc..7c21be17e65 100644 --- a/pkgs/development/python-modules/pykde4/kdelibs.nix +++ b/pkgs/development/python-modules/pykde4/kdelibs.nix @@ -32,6 +32,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { platforms = platforms.linux; + hydraPlatforms = platforms.none; homepage = http://www.kde.org; license = with licenses; [ gpl2 fdl12 lgpl21 ]; maintainers = with maintainers; [ gnidorah ]; From 9a0674296ee64efdcb89b5b1db6d9ad727a400c0 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Wed, 2 Oct 2019 13:32:01 -0500 Subject: [PATCH 5/5] kdelibs: Patch for CVE-2019-14744 See also: https://phabricator.kde.org/D22989 See also: https://github.com/NixOS/nixpkgs/issues/70102 --- pkgs/development/python-modules/pykde4/kdelibs.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pykde4/kdelibs.nix b/pkgs/development/python-modules/pykde4/kdelibs.nix index 7c21be17e65..e6f20b8248b 100644 --- a/pkgs/development/python-modules/pykde4/kdelibs.nix +++ b/pkgs/development/python-modules/pykde4/kdelibs.nix @@ -1,5 +1,5 @@ { - stdenv, fetchurl, + stdenv, fetchurl, fetchpatch, automoc4, cmake_2_8, libxslt, perl, pkgconfig, shared-mime-info, attica, docbook_xml_dtd_42, docbook_xsl, giflib, libdbusmenu_qt, libjpeg, phonon, qt4, openssl @@ -12,6 +12,14 @@ stdenv.mkDerivation rec { url = "mirror://kde/stable/applications/17.08.3/src/${pname}-${version}.tar.xz"; sha256 = "1zn3yb09sd22bm54is0rn98amj0398zybl550dp406419sil7z9p"; }; + patches = [ + # https://phabricator.kde.org/D22989 + (fetchpatch { + url = "https://cgit.kde.org/kdelibs.git/patch/?id=2c3762feddf7e66cf6b64d9058f625a715694a00"; + sha256 = "1wbzywh8lcc66n6y3pxs18h7cwkq6g216faz27san33jpl8ra1i9"; + name = "CVE-2019-14744.patch"; + }) + ]; enableParallelBuilding = true;