pythonFull: add BlueZ support
This commit introduces two changes. First, cpython gets optional BlueZ support, which is needed for AF_BLUETOOTH sockets. Therefore bluezSupport was added as a parameter. Second, the call to the pythonFull packages has been adjusted. The Python packages have a self-reference called self. This was not adjusted for the override. As a result, Python packages for this special version of Python were not built with the overridden Python, but with the original one.
This commit is contained in:
parent
9be02e14df
commit
b7ce309e6c
@ -9,6 +9,7 @@
|
|||||||
, readline
|
, readline
|
||||||
, sqlite
|
, sqlite
|
||||||
, tcl ? null, tk ? null, tix ? null, libX11 ? null, xorgproto ? null, x11Support ? false
|
, tcl ? null, tk ? null, tix ? null, libX11 ? null, xorgproto ? null, x11Support ? false
|
||||||
|
, bluez ? null, bluezSupport ? false
|
||||||
, zlib
|
, zlib
|
||||||
, self
|
, self
|
||||||
, configd
|
, configd
|
||||||
@ -45,6 +46,9 @@ assert x11Support -> tcl != null
|
|||||||
&& tk != null
|
&& tk != null
|
||||||
&& xorgproto != null
|
&& xorgproto != null
|
||||||
&& libX11 != null;
|
&& libX11 != null;
|
||||||
|
|
||||||
|
assert bluezSupport -> bluez != null;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -73,6 +77,7 @@ let
|
|||||||
buildInputs = filter (p: p != null) ([
|
buildInputs = filter (p: p != null) ([
|
||||||
zlib bzip2 expat lzma libffi gdbm sqlite readline ncurses openssl ]
|
zlib bzip2 expat lzma libffi gdbm sqlite readline ncurses openssl ]
|
||||||
++ optionals x11Support [ tcl tk libX11 xorgproto ]
|
++ optionals x11Support [ tcl tk libX11 xorgproto ]
|
||||||
|
++ optionals (bluezSupport && stdenv.isLinux) [ bluez ]
|
||||||
++ optionals stdenv.isDarwin [ configd ]);
|
++ optionals stdenv.isDarwin [ configd ]);
|
||||||
|
|
||||||
hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
|
hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
|
||||||
|
@ -9898,14 +9898,43 @@ in
|
|||||||
|
|
||||||
# Python interpreter that is build with all modules, including tkinter.
|
# Python interpreter that is build with all modules, including tkinter.
|
||||||
# These are for compatibility and should not be used inside Nixpkgs.
|
# These are for compatibility and should not be used inside Nixpkgs.
|
||||||
pythonFull = python.override{x11Support=true;};
|
pythonFull = python.override {
|
||||||
python2Full = python2.override{x11Support=true;};
|
self = pythonFull;
|
||||||
python27Full = python27.override{x11Support=true;};
|
x11Support = true;
|
||||||
python3Full = python3.override{x11Support=true;};
|
};
|
||||||
python36Full = python36.override{x11Support=true;};
|
python2Full = python2.override {
|
||||||
python37Full = python37.override{x11Support=true;};
|
self = python2Full;
|
||||||
python38Full = python38.override{x11Support=true;};
|
x11Support = true;
|
||||||
python39Full = python39.override{x11Support=true;};
|
};
|
||||||
|
python27Full = python27.override {
|
||||||
|
self = python27Full;
|
||||||
|
x11Support = true;
|
||||||
|
};
|
||||||
|
python3Full = python3.override {
|
||||||
|
self = python3Full;
|
||||||
|
bluezSupport = true;
|
||||||
|
x11Support = true;
|
||||||
|
};
|
||||||
|
python36Full = python36.override {
|
||||||
|
self = python36Full;
|
||||||
|
bluezSupport = true;
|
||||||
|
x11Support = true;
|
||||||
|
};
|
||||||
|
python37Full = python37.override {
|
||||||
|
self = python37Full;
|
||||||
|
bluezSupport = true;
|
||||||
|
x11Support = true;
|
||||||
|
};
|
||||||
|
python38Full = python38.override {
|
||||||
|
self = python38Full;
|
||||||
|
bluezSupport = true;
|
||||||
|
x11Support = true;
|
||||||
|
};
|
||||||
|
python39Full = python39.override {
|
||||||
|
self = python39Full;
|
||||||
|
bluezSupport = true;
|
||||||
|
x11Support = true;
|
||||||
|
};
|
||||||
|
|
||||||
# pythonPackages further below, but assigned here because they need to be in sync
|
# pythonPackages further below, but assigned here because they need to be in sync
|
||||||
pythonPackages = python.pkgs;
|
pythonPackages = python.pkgs;
|
||||||
|
Loading…
Reference in New Issue
Block a user