Merge pull request #68110 from Ma27/weechat-python3

weechat: build with python3 by default
This commit is contained in:
Linus Heckemann
2019-09-05 20:05:47 +02:00
committed by GitHub
9 changed files with 30 additions and 78 deletions
+14 -1
View File
@@ -422,6 +422,12 @@
It was not useful except for debugging purposes and was confusingly set as default in some circumstances. It was not useful except for debugging purposes and was confusingly set as default in some circumstances.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The WeeChat plugin <literal>pkgs.weechatScripts.weechat-xmpp</literal> has been removed as it doesn't receive
any updates from upstream and depends on outdated Python2-based modules.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
@@ -718,7 +724,14 @@
Note: There's been some issues with python-cherrypy, which is used by the dashboard Note: There's been some issues with python-cherrypy, which is used by the dashboard
and prometheus mgr modules (and possibly others), hence 0000-dont-check-cherrypy-version.patch. and prometheus mgr modules (and possibly others), hence 0000-dont-check-cherrypy-version.patch.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<literal>pkgs.weechat</literal> is now compiled against <literal>pkgs.python3</literal>.
Weechat also recommends <link xlink:href="https://weechat.org/scripts/python3/">to use Python3
in their docs.</link>
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>
@@ -6,21 +6,21 @@
, guileSupport ? true, guile , guileSupport ? true, guile
, luaSupport ? true, lua5 , luaSupport ? true, lua5
, perlSupport ? true, perl , perlSupport ? true, perl
, pythonSupport ? true, pythonPackages , pythonSupport ? true, python3Packages
, rubySupport ? true, ruby , rubySupport ? true, ruby
, tclSupport ? true, tcl , tclSupport ? true, tcl
, extraBuildInputs ? [] , extraBuildInputs ? []
}: }:
let let
inherit (pythonPackages) python; inherit (python3Packages) python;
plugins = [ plugins = [
{ name = "perl"; enabled = perlSupport; cmakeFlag = "ENABLE_PERL"; buildInputs = [ perl ]; } { name = "perl"; enabled = perlSupport; cmakeFlag = "ENABLE_PERL"; buildInputs = [ perl ]; }
{ name = "tcl"; enabled = tclSupport; cmakeFlag = "ENABLE_TCL"; buildInputs = [ tcl ]; } { name = "tcl"; enabled = tclSupport; cmakeFlag = "ENABLE_TCL"; buildInputs = [ tcl ]; }
{ name = "ruby"; enabled = rubySupport; cmakeFlag = "ENABLE_RUBY"; buildInputs = [ ruby ]; } { name = "ruby"; enabled = rubySupport; cmakeFlag = "ENABLE_RUBY"; buildInputs = [ ruby ]; }
{ name = "guile"; enabled = guileSupport; cmakeFlag = "ENABLE_GUILE"; buildInputs = [ guile ]; } { name = "guile"; enabled = guileSupport; cmakeFlag = "ENABLE_GUILE"; buildInputs = [ guile ]; }
{ name = "lua"; enabled = luaSupport; cmakeFlag = "ENABLE_LUA"; buildInputs = [ lua5 ]; } { name = "lua"; enabled = luaSupport; cmakeFlag = "ENABLE_LUA"; buildInputs = [ lua5 ]; }
{ name = "python"; enabled = pythonSupport; cmakeFlag = "ENABLE_PYTHON"; buildInputs = [ python ]; } { name = "python"; enabled = pythonSupport; cmakeFlag = "ENABLE_PYTHON3"; buildInputs = [ python ]; }
]; ];
enabledPlugins = builtins.filter (p: p.enabled) plugins; enabledPlugins = builtins.filter (p: p.enabled) plugins;
@@ -1,21 +1,13 @@
{ callPackage, luaPackages, pythonPackages }: { callPackage, luaPackages }:
{ {
weechat-xmpp = callPackage ./weechat-xmpp {
inherit (pythonPackages) pydns;
};
weechat-matrix-bridge = callPackage ./weechat-matrix-bridge { weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
inherit (luaPackages) cjson luaffi; inherit (luaPackages) cjson luaffi;
}; };
wee-slack = callPackage ./wee-slack { wee-slack = callPackage ./wee-slack { };
inherit pythonPackages;
};
weechat-autosort = callPackage ./weechat-autosort { }; weechat-autosort = callPackage ./weechat-autosort { };
weechat-otr = callPackage ./weechat-otr { weechat-otr = callPackage ./weechat-otr { };
inherit pythonPackages;
};
} }
@@ -1,4 +1,4 @@
{ stdenv, substituteAll, buildEnv, fetchFromGitHub, pythonPackages }: { stdenv, substituteAll, buildEnv, fetchFromGitHub, python3Packages }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wee-slack"; pname = "wee-slack";
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
src = ./libpath.patch; src = ./libpath.patch;
env = "${buildEnv { env = "${buildEnv {
name = "wee-slack-env"; name = "wee-slack-env";
paths = with pythonPackages; [ websocket_client six ]; paths = with python3Packages; [ websocket_client six ];
}}/${pythonPackages.python.sitePackages}"; }}/${python3Packages.python.sitePackages}";
}) })
]; ];
@@ -1,4 +1,4 @@
{ stdenv, substituteAll, buildEnv, fetchgit, fetchFromGitHub, pythonPackages, gmp }: { stdenv, substituteAll, buildEnv, fetchgit, fetchFromGitHub, python3Packages, gmp }:
let let
# pure-python-otr (potr) requires an older version of pycrypto, which is # pure-python-otr (potr) requires an older version of pycrypto, which is
@@ -6,7 +6,7 @@ let
# of pycrypto will be fetched from the Debian project. # of pycrypto will be fetched from the Debian project.
# https://security-tracker.debian.org/tracker/source-package/python-crypto # https://security-tracker.debian.org/tracker/source-package/python-crypto
pycrypto = pythonPackages.buildPythonPackage rec { pycrypto = python3Packages.buildPythonPackage rec {
pname = "pycrypto"; pname = "pycrypto";
version = "2.6.1-10"; version = "2.6.1-10";
@@ -24,7 +24,7 @@ let
''; '';
}; };
potr = pythonPackages.potr.overridePythonAttrs (oldAttrs: { potr = python3Packages.potr.overridePythonAttrs (oldAttrs: {
propagatedBuildInputs = [ pycrypto ]; propagatedBuildInputs = [ pycrypto ];
}); });
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
env = "${buildEnv { env = "${buildEnv {
name = "weechat-otr-env"; name = "weechat-otr-env";
paths = [ potr pycrypto ]; paths = [ potr pycrypto ];
}}/${pythonPackages.python.sitePackages}"; }}/${python3Packages.python.sitePackages}";
}) })
]; ];
@@ -1,36 +0,0 @@
{ stdenv, fetchFromGitHub, xmpppy, pydns, substituteAll, buildEnv }:
stdenv.mkDerivation {
name = "weechat-jabber-2017-08-30";
src = fetchFromGitHub {
repo = "weechat-xmpp";
owner = "sleduc";
sha256 = "0s02xs0ynld9cxxzj07al364sfglyc5ir1i82133mq0s8cpphnxv";
rev = "8f6c21f5a160c9318c7a2d8fd5dcac7ab2e0d843";
};
installPhase = ''
mkdir -p $out/share
cp jabber.py $out/share/jabber.py
'';
patches = [
(substituteAll {
src = ./libpath.patch;
env = "${buildEnv {
name = "weechat-xmpp-env";
paths = [ pydns xmpppy ];
}}/lib/python2.7/site-packages";
})
];
passthru.scripts = [ "jabber.py" ];
meta = with stdenv.lib; {
description = "A fork of the jabber plugin for weechat";
homepage = "https://github.com/sleduc/weechat-xmpp";
maintainers = with maintainers; [ ma27 ];
license = licenses.gpl3Plus;
};
}
@@ -1,16 +0,0 @@
diff --git a/jabber.py b/jabber.py
index 27006a3..e53c2c0 100644
--- a/jabber.py
+++ b/jabber.py
@@ -95,6 +95,11 @@ SCRIPT_COMMAND = SCRIPT_NAME
import re
import warnings
+import sys
+
+sys.path.append('@env@')
+
+
import_ok = True
try:
@@ -1,5 +1,5 @@
{ lib, runCommand, writeScriptBin, buildEnv { lib, runCommand, writeScriptBin, buildEnv
, pythonPackages, perlPackages, runtimeShell , python3Packages, perlPackages, runtimeShell
}: }:
weechat: weechat:
@@ -17,11 +17,11 @@ let
in rec { in rec {
python = (simplePlugin "python") // { python = (simplePlugin "python") // {
extraEnv = '' extraEnv = ''
export PATH="${pythonPackages.python}/bin:$PATH" export PATH="${python3Packages.python}/bin:$PATH"
''; '';
withPackages = pkgsFun: (python // { withPackages = pkgsFun: (python // {
extraEnv = '' extraEnv = ''
export PYTHONHOME="${pythonPackages.python.withPackages pkgsFun}" export PYTHONHOME="${python3Packages.python.withPackages pkgsFun}"
''; '';
}); });
}; };
-1
View File
@@ -380,7 +380,6 @@ mapAliases ({
virtviewer = virt-viewer; # added 2015-12-24 virtviewer = virt-viewer; # added 2015-12-24
vorbisTools = vorbis-tools; # added 2016-01-26 vorbisTools = vorbis-tools; # added 2016-01-26
webkit = webkitgtk; # added 2019-03-05 webkit = webkitgtk; # added 2019-03-05
weechat-xmpp = weechatScripts.weechat-xmpp; # added 2018-09-06
weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06 weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06
wineStaging = wine-staging; # added 2018-01-08 wineStaging = wine-staging; # added 2018-01-08
winusb = woeusb; # added 2017-12-22 winusb = woeusb; # added 2017-12-22