From 730c92d9e223537a0279a3db6d03283757444680 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 07:13:59 +0100 Subject: [PATCH 01/16] libplist: disable python by default Introduced in 6449435b04cb608389e3d1df653fed857633b724, only Python 2 is supported and it does not seem to be used by anything. --- .../development/libraries/libplist/default.nix | 18 ++++++++++-------- pkgs/top-level/python-packages.nix | 2 +- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/libplist/default.nix b/pkgs/development/libraries/libplist/default.nix index 19b700ca5e3..63599c4352d 100644 --- a/pkgs/development/libraries/libplist/default.nix +++ b/pkgs/development/libraries/libplist/default.nix @@ -1,8 +1,5 @@ -{ stdenv, autoreconfHook, fetchFromGitHub, pkgconfig, python2Packages, glib }: +{ stdenv, autoreconfHook, fetchFromGitHub, pkgconfig, enablePython ? false, python, glib }: -let - inherit (python2Packages) python cython; -in stdenv.mkDerivation rec { pname = "libplist"; version = "2019-04-04"; @@ -14,18 +11,23 @@ stdenv.mkDerivation rec { sha256 = "19yw80yblq29i2jx9yb7bx0lfychy9dncri3fk4as35kq5bf26i8"; }; - outputs = ["bin" "dev" "out" "py"]; + outputs = ["bin" "dev" "out" ] ++ stdenv.lib.optional enablePython "py"; nativeBuildInputs = [ pkgconfig - python - cython autoreconfHook + ] ++ stdenv.lib.optionals enablePython [ + python + python.pkgs.cython + ]; + + configureFlags = stdenv.lib.optionals (!enablePython) [ + "--without-cython" ]; propagatedBuildInputs = [ glib ]; - postFixup = '' + postFixup = stdenv.lib.optionalString enablePython '' moveToOutput "lib/${python.libPrefix}" "$py" ''; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ec8df201741..b25186a0aa6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3863,7 +3863,7 @@ in { libsavitar = callPackage ../development/python-modules/libsavitar { }; libplist = disabledIf isPy3k - (toPythonModule (pkgs.libplist.override{python2Packages=self; })).py; + (toPythonModule (pkgs.libplist.override { enablePython = true; inherit python; })).py; libxml2 = (toPythonModule (pkgs.libxml2.override{pythonSupport=true; inherit python;})).py; From 4cb22aa377fc688bf58f9d433652820f95e7e90d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 07:28:58 +0100 Subject: [PATCH 02/16] gst_all_1.gst-validate: switch to python 3 --- pkgs/development/libraries/gstreamer/validate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix index 9439ddd94e8..74e89848163 100644 --- a/pkgs/development/libraries/gstreamer/validate/default.nix +++ b/pkgs/development/libraries/gstreamer/validate/default.nix @@ -3,7 +3,7 @@ , pkgconfig , gstreamer , gst-plugins-base -, python +, python3 , gobject-introspection , json-glib }: @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - python + python3 json-glib ]; From 544ae9608258c149a1751ac04b4ad7fbb84b49a3 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 07:36:29 +0100 Subject: [PATCH 03/16] gst_all_1.gst-editing-services: switch to python 3 Also remove no longer needed perl. --- pkgs/development/libraries/gstreamer/ges/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix index 6e9a604f794..af2579d0594 100644 --- a/pkgs/development/libraries/gstreamer/ges/default.nix +++ b/pkgs/development/libraries/gstreamer/ges/default.nix @@ -4,11 +4,10 @@ , meson , ninja , pkgconfig -, python +, python3 , gst-plugins-base , libxml2 , flex -, perl , gettext , gobject-introspection }: @@ -34,9 +33,8 @@ stdenv.mkDerivation rec { pkgconfig gettext gobject-introspection - python + python3 flex - perl ]; buildInputs = [ From c691baf85fbcf0dd47174e82e59b03bbf58a1df8 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 07:46:32 +0100 Subject: [PATCH 04/16] strongswan: switch to python 3 --- pkgs/tools/networking/strongswan/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix index 27453083d59..fb7de5486fb 100644 --- a/pkgs/tools/networking/strongswan/default.nix +++ b/pkgs/tools/networking/strongswan/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchpatch , pkgconfig, autoreconfHook -, gmp, python, iptables, ldns, unbound, openssl, pcsclite, glib +, gmp, python3, iptables, ldns, unbound, openssl, pcsclite, glib , openresolv , systemd, pam , curl @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig autoreconfHook ]; buildInputs = - [ curl gmp python ldns unbound openssl pcsclite ] + [ curl gmp python3 ldns unbound openssl pcsclite ] ++ optionals enableTNC [ trousers sqlite libxml2 ] ++ optionals stdenv.isLinux [ systemd.dev pam iptables ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ SystemConfiguration ]) From 8b6d76525ea92156504aa76764d9a0962bb2eb58 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 08:03:15 +0100 Subject: [PATCH 05/16] libnl: disable python support by default Nothing much seems to be using it and we do not want Python 2 in our closure. --- pkgs/os-specific/linux/libnl/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix index b3ccda3b50d..61380115ab5 100644 --- a/pkgs/os-specific/linux/libnl/default.nix +++ b/pkgs/os-specific/linux/libnl/default.nix @@ -1,5 +1,5 @@ { stdenv, file, lib, fetchFromGitHub, autoreconfHook, bison, flex, pkgconfig -, pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform, swig ? null, python}: +, pythonSupport ? false, swig ? null, python}: stdenv.mkDerivation rec { pname = "libnl"; From 23ec74b1b25d7743f02c0ceabac442a4fdad0e62 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 08:29:14 +0100 Subject: [PATCH 06/16] dtc: disable Python support by default It does not seem to be used by anything and we want to get rid of Python 2 from closure. --- pkgs/development/compilers/dtc/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix index eea75c5ace1..78e5eccbf14 100644 --- a/pkgs/development/compilers/dtc/default.nix +++ b/pkgs/development/compilers/dtc/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchgit, flex, bison, pkgconfig, which -, pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform, python, swig +, pythonSupport ? false, python, swig }: stdenv.mkDerivation rec { From e9cdcde6ea3cac061c70f808a2a87ca4388cb52b Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 08:44:13 +0100 Subject: [PATCH 07/16] gst_all_1.gst-plugins-ugly: switch to python 3 --- pkgs/development/libraries/gstreamer/ugly/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix index 870b4468860..d8c36fa4070 100644 --- a/pkgs/development/libraries/gstreamer/ugly/default.nix +++ b/pkgs/development/libraries/gstreamer/ugly/default.nix @@ -3,7 +3,7 @@ , meson , ninja , pkgconfig -, python +, python3 , gst-plugins-base , orc , gettext @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { ninja gettext pkgconfig - python + python3 ]; buildInputs = [ From c72e388b7f5c0968c28e0b35922b89fc34fb6242 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 08:54:23 +0100 Subject: [PATCH 08/16] gn: switch to python 3 --- pkgs/development/tools/build-managers/gn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/build-managers/gn/default.nix b/pkgs/development/tools/build-managers/gn/default.nix index 7b29e7d02dc..d8557bfcbc2 100644 --- a/pkgs/development/tools/build-managers/gn/default.nix +++ b/pkgs/development/tools/build-managers/gn/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchgit, darwin, writeText -, git, ninja, python2 }: +, git, ninja, python3 }: let rev = "64b846c96daeb3eaf08e26d8a84d8451c6cb712b"; @@ -25,7 +25,7 @@ stdenv.mkDerivation { inherit rev sha256; }; - nativeBuildInputs = [ ninja python2 git ]; + nativeBuildInputs = [ ninja python3 git ]; buildInputs = lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [ libobjc cctools From e4bd8a6faba6cbd1e4ebb0617a1727cfea1ada19 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 09:02:20 +0100 Subject: [PATCH 09/16] htop: switch to python 3 --- pkgs/tools/system/htop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/htop/default.nix b/pkgs/tools/system/htop/default.nix index 12e54b1b22e..1b68273a570 100644 --- a/pkgs/tools/system/htop/default.nix +++ b/pkgs/tools/system/htop/default.nix @@ -1,5 +1,5 @@ { lib, fetchurl, stdenv, ncurses, -IOKit, python }: +IOKit, python3 }: stdenv.mkDerivation rec { pname = "htop"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "0mrwpb3cpn3ai7ar33m31yklj64c3pp576vh1naqff6f21pq5mnr"; }; - nativeBuildInputs = [ python ]; + nativeBuildInputs = [ python3 ]; buildInputs = [ ncurses ] ++ lib.optionals stdenv.isDarwin [ IOKit ]; From b842dfd6e4dfac0234be486cac457d94d5e31434 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 09:14:51 +0100 Subject: [PATCH 10/16] folks: only depend on Python 3 For some reason we depended on both. --- pkgs/development/libraries/folks/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/libraries/folks/default.nix b/pkgs/development/libraries/folks/default.nix index 38e4d2c6884..c08be846915 100644 --- a/pkgs/development/libraries/folks/default.nix +++ b/pkgs/development/libraries/folks/default.nix @@ -21,7 +21,6 @@ , libsecret , db , python3 -, python , readline , gtk3 }: @@ -51,7 +50,6 @@ stdenv.mkDerivation rec { meson ninja pkgconfig - python python3 vala ]; From 1fd1737dbdf32b04df3937c2e49bb0ddcda42fe3 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 09:17:04 +0100 Subject: [PATCH 11/16] mda_lv2: drop python dep MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It does not appear to be actually necessary – wafHook will add it. --- pkgs/applications/audio/mda-lv2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix index 61f2bc33f7f..6c4170cf0fb 100644 --- a/pkgs/applications/audio/mda-lv2/default.nix +++ b/pkgs/applications/audio/mda-lv2/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python, wafHook }: +{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, wafHook }: stdenv.mkDerivation rec { pname = "mda-lv2"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig wafHook ]; - buildInputs = [ fftwSinglePrec lv2 python ]; + buildInputs = [ fftwSinglePrec lv2 ]; meta = with stdenv.lib; { homepage = http://drobilla.net/software/mda-lv2/; From 843d147596d7998e4d74f96c42b9e6f41f926c2d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 09:29:32 +0100 Subject: [PATCH 12/16] gnumeric: switch to python 3 --- pkgs/applications/office/gnumeric/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index 979c960f7a8..710a66c25d8 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -1,10 +1,10 @@ { stdenv, fetchurl, pkgconfig, intltool, perlPackages -, goffice, gnome3, wrapGAppsHook, gtk3, bison, pythonPackages +, goffice, gnome3, wrapGAppsHook, gtk3, bison, python3Packages , itstool }: let - inherit (pythonPackages) python pygobject3; + inherit (python3Packages) python pygobject3; in stdenv.mkDerivation rec { pname = "gnumeric"; version = "1.12.46"; From c16bcf71ec5c11228eb8bb4e40619a1c48cb4ff1 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 09:29:57 +0100 Subject: [PATCH 13/16] packagekit: switch to python 3 --- pkgs/tools/package-management/packagekit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix index a3c3c0d40a9..81cfcb662c4 100644 --- a/pkgs/tools/package-management/packagekit/default.nix +++ b/pkgs/tools/package-management/packagekit/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, lib -, intltool, glib, pkgconfig, polkit, python, sqlite +, intltool, glib, pkgconfig, polkit, python3, sqlite , gobject-introspection, vala, gtk-doc, autoreconfHook, autoconf-archive # TODO: set enableNixBackend to true, as soon as it builds , nix, enableNixBackend ? false, boost @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { sha256 = "02wq3jw3mkdld90irh5vdfd5bri2g1p89mhrmj56kvif1fqak46x"; }; - buildInputs = [ glib polkit python gobject-introspection ] + buildInputs = [ glib polkit python3 gobject-introspection ] ++ lib.optional enableSystemd systemd ++ lib.optional enableBashCompletion bash-completion; propagatedBuildInputs = [ sqlite nix boost ]; From 7e8293edcb854fa647224b6387177836286302ff Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 09:30:13 +0100 Subject: [PATCH 14/16] qt5.qtdeclarative: switch to python 3 --- pkgs/development/libraries/qt-5/modules/qtdeclarative.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix index 7c1fa449ebb..b611282294c 100644 --- a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix +++ b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix @@ -1,11 +1,11 @@ -{ qtModule, lib, python2, qtbase, qtsvg }: +{ qtModule, lib, python3, qtbase, qtsvg }: with lib; qtModule { name = "qtdeclarative"; qtInputs = [ qtbase qtsvg ]; - nativeBuildInputs = [ python2 ]; + nativeBuildInputs = [ python3 ]; outputs = [ "out" "dev" "bin" ]; preConfigure = '' NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QML2_IMPORT_PREFIX=\"$qtQmlPrefix\"" From 6577ec986a6e13a8d9cad4e38501ab618f11c14a Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 09:32:21 +0100 Subject: [PATCH 15/16] libpwquality: switch to python 3 Nothing seems to use the Python bindings anyway. --- pkgs/development/libraries/libpwquality/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libpwquality/default.nix b/pkgs/development/libraries/libpwquality/default.nix index b0d5513ca0f..c3ad33173cd 100644 --- a/pkgs/development/libraries/libpwquality/default.nix +++ b/pkgs/development/libraries/libpwquality/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, autoreconfHook, perl, cracklib, python }: +{ stdenv, lib, fetchFromGitHub, autoreconfHook, perl, cracklib, python3 }: stdenv.mkDerivation rec { pname = "libpwquality"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ autoreconfHook perl ]; - buildInputs = [ cracklib python ]; + buildInputs = [ cracklib python3 ]; meta = with lib; { description = "Password quality checking and random password generation library"; From 4a583c8be5cd0ab31bc09c5d295e0676179bcdc1 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Wed, 25 Dec 2019 16:08:06 +0100 Subject: [PATCH 16/16] crda: port to Python 3 --- pkgs/os-specific/linux/crda/default.nix | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/crda/default.nix b/pkgs/os-specific/linux/crda/default.nix index 84c113c648c..501b1fb1884 100644 --- a/pkgs/os-specific/linux/crda/default.nix +++ b/pkgs/os-specific/linux/crda/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libgcrypt, libnl, pkgconfig, python2Packages, wireless-regdb }: +{ stdenv, fetchurl, fetchpatch, libgcrypt, libnl, pkgconfig, python3, wireless-regdb }: stdenv.mkDerivation rec { pname = "crda"; @@ -9,9 +9,24 @@ stdenv.mkDerivation rec { url = "http://kernel.org/pub/software/network/crda/crda-${version}.tar.xz"; }; + patches = [ + # Switch to Python 3 + # https://lore.kernel.org/linux-wireless/1437542484-23409-1-git-send-email-ahmed.taahir@gmail.com/ + (fetchpatch { + url = "https://lore.kernel.org/linux-wireless/1437542484-23409-2-git-send-email-ahmed.taahir@gmail.com/raw"; + sha256 = "0s2n340cgaasvg1k8g9v8xjrbh4y2mcgrhdmv97ja2fs8xjcjbf1"; + }) + (fetchpatch { + url = "https://lore.kernel.org/linux-wireless/1437542484-23409-3-git-send-email-ahmed.taahir@gmail.com/raw"; + sha256 = "01dlfw7kqhyx025jxq2l75950b181p9r7i9zkflcwvbzzdmx59md"; + }) + ]; + buildInputs = [ libgcrypt libnl ]; nativeBuildInputs = [ - pkgconfig python2Packages.m2crypto python2Packages.python + pkgconfig + python3 + python3.pkgs.pycrypto ]; postPatch = '' @@ -37,6 +52,11 @@ stdenv.mkDerivation rec { doCheck = true; checkTarget = "verify"; + postInstall = '' + # The patch installs build header + rm $out/include/reglib/keys-gcrypt.h + ''; + meta = with stdenv.lib; { description = "Linux wireless Central Regulatory Domain Agent"; longDescription = ''