Merge remote-tracking branch 'upstream/python-unstable' into HEAD

This commit is contained in:
Frederik Rietdijk 2017-11-23 16:38:39 +01:00
commit 35f5912db5
14 changed files with 135 additions and 101 deletions

View File

@ -1,11 +1,14 @@
/* This function provides a generic Python package builder. It is # This function provides a generic Python package builder,
intended to work with packages that use `distutils/setuptools' # and can build packages that use distutils, setuptools or flit.
(http://pypi.python.org/pypi/setuptools/), which represents a large
number of Python packages nowadays. */
{ lib { lib
, python , python
, mkPythonDerivation , wrapPython
, setuptools
, unzip
, ensureNewerSourcesHook
, pythonModule
, namePrefix
, bootstrapped-pip , bootstrapped-pip
, flit , flit
}: }:
@ -15,6 +18,9 @@ let
flit-specific = import ./build-python-package-flit.nix { inherit python flit; }; flit-specific = import ./build-python-package-flit.nix { inherit python flit; };
wheel-specific = import ./build-python-package-wheel.nix { }; wheel-specific = import ./build-python-package-wheel.nix { };
common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; }; common = import ./build-python-package-common.nix { inherit python bootstrapped-pip; };
mkPythonDerivation = import ./mk-python-derivation.nix {
inherit lib python wrapPython setuptools unzip ensureNewerSourcesHook pythonModule namePrefix;
};
in in
{ {

View File

@ -201,7 +201,7 @@ in stdenv.mkDerivation {
in rec { in rec {
inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch; inherit libPrefix sitePackages x11Support hasDistutilsCxxPatch;
executable = libPrefix; executable = libPrefix;
buildEnv = callPackage ../../wrapper.nix { python = self; }; buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
pkgs = pythonPackages; pkgs = pythonPackages;
isPy2 = true; isPy2 = true;

View File

@ -160,7 +160,7 @@ in stdenv.mkDerivation {
in rec { in rec {
inherit libPrefix sitePackages x11Support; inherit libPrefix sitePackages x11Support;
executable = "${libPrefix}m"; executable = "${libPrefix}m";
buildEnv = callPackage ../../wrapper.nix { python = self; }; buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
pkgs = pythonPackages; pkgs = pythonPackages;
isPy3 = true; isPy3 = true;

View File

@ -154,7 +154,7 @@ in stdenv.mkDerivation {
in rec { in rec {
inherit libPrefix sitePackages x11Support; inherit libPrefix sitePackages x11Support;
executable = "${libPrefix}m"; executable = "${libPrefix}m";
buildEnv = callPackage ../../wrapper.nix { python = self; }; buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
pkgs = pythonPackages; pkgs = pythonPackages;
isPy3 = true; isPy3 = true;

View File

@ -153,7 +153,7 @@ in stdenv.mkDerivation {
in rec { in rec {
inherit libPrefix sitePackages x11Support; inherit libPrefix sitePackages x11Support;
executable = "${libPrefix}m"; executable = "${libPrefix}m";
buildEnv = callPackage ../../wrapper.nix { python = self; }; buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
pkgs = pythonPackages; pkgs = pythonPackages;
isPy3 = true; isPy3 = true;

View File

@ -1,4 +1,4 @@
/* Generic builder for Python packages that come without a setup.py. */ # Generic builder.
{ lib { lib
, python , python
@ -6,13 +6,13 @@
, setuptools , setuptools
, unzip , unzip
, ensureNewerSourcesHook , ensureNewerSourcesHook
# Whether the derivation provides a Python module or not.
, pythonModule
, namePrefix
}: }:
{ name ? "${attrs.pname}-${attrs.version}" { name ? "${attrs.pname}-${attrs.version}"
# by default prefix `name` e.g. "python3.3-${name}"
, namePrefix ? python.libPrefix + "-"
# Dependencies for building the package # Dependencies for building the package
, buildInputs ? [] , buildInputs ? []
@ -54,18 +54,21 @@ if disabled
then throw "${name} not supported for interpreter ${python.executable}" then throw "${name} not supported for interpreter ${python.executable}"
else else
python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "checkInputs"] // { python.stdenv.mkDerivation (builtins.removeAttrs attrs [
"disabled" "checkInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts"
] // {
name = namePrefix + name; name = namePrefix + name;
inherit pythonPath; buildInputs = ([ wrapPython (ensureNewerSourcesHook { year = "1980"; }) ]
buildInputs = [ wrapPython ] ++ buildInputs ++ pythonPath
++ [ (ensureNewerSourcesHook { year = "1980"; }) ]
++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip) ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip)
++ lib.optionals doCheck checkInputs; ++ lib.optionals doCheck checkInputs
++ lib.optional catchConflicts setuptools # If we nog longer propagate setuptools
++ buildInputs
++ pythonPath
);
# propagate python/setuptools to active setup-hook in nix-shell # Propagate python and setuptools. We should stop propagating setuptools.
propagatedBuildInputs = propagatedBuildInputs ++ [ python setuptools ]; propagatedBuildInputs = propagatedBuildInputs ++ [ python setuptools ];
# Python packages don't have a checkPhase, only an installCheckPhase # Python packages don't have a checkPhase, only an installCheckPhase
@ -83,15 +86,12 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled" "checkInputs"
passthru = { passthru = {
inherit python; # The python interpreter inherit python; # The python interpreter
inherit pythonModule;
} // passthru; } // passthru;
meta = with lib.maintainers; { meta = {
# default to python's platforms # default to python's platforms
platforms = python.meta.platforms; platforms = python.meta.platforms;
} // meta // {
# add extra maintainer(s) to every package
maintainers = (meta.maintainers or []) ++ [ chaoflow ];
# a marker for release utilities to discover python packages
isBuildPythonPackage = python.meta.platforms; isBuildPythonPackage = python.meta.platforms;
}; } // meta;
}) })

View File

@ -137,7 +137,7 @@ in stdenv.mkDerivation rec {
inherit zlibSupport libPrefix sitePackages; inherit zlibSupport libPrefix sitePackages;
executable = "pypy"; executable = "pypy";
isPypy = true; isPypy = true;
buildEnv = callPackage ../../wrapper.nix { python = self; }; buildEnv = callPackage ../../wrapper.nix { python = self; inherit (pythonPackages) requiredPythonModules; };
interpreter = "${self}/bin/${executable}"; interpreter = "${self}/bin/${executable}";
withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;}; withPackages = import ../../with-packages.nix { inherit buildEnv pythonPackages;};
pkgs = pythonPackages; pkgs = pythonPackages;

View File

@ -2,13 +2,14 @@
, extraLibs ? [] , extraLibs ? []
, extraOutputsToInstall ? [] , extraOutputsToInstall ? []
, postBuild ? "" , postBuild ? ""
, ignoreCollisions ? false }: , ignoreCollisions ? false
, requiredPythonModules
, }:
# Create a python executable that knows about additional packages. # Create a python executable that knows about additional packages.
let let
recursivePthLoader = import ../../python-modules/recursive-pth-loader/default.nix { stdenv = stdenv; python = python; };
env = let env = let
paths = stdenv.lib.closePropagation (extraLibs ++ [ python recursivePthLoader ] ) ; paths = requiredPythonModules (extraLibs ++ [ python ] ) ;
in buildEnv { in buildEnv {
name = "${python.name}-env"; name = "${python.name}-env";

View File

@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
postPatch = "patchShebangs ./src/Analyses/cat_with_lines"; postPatch = "patchShebangs ./src/Analyses/cat_with_lines";
pythonPath = []; # python wrapper support
patches = [ patches = [
./darwin.patch # configure relies on impure sw_vers to -Dunix ./darwin.patch # configure relies on impure sw_vers to -Dunix
]; ];

View File

@ -9,9 +9,9 @@ let
}; };
setuptools_source = fetchPypi { setuptools_source = fetchPypi {
pname = "setuptools"; pname = "setuptools";
version = "36.4.0"; version = "36.7.1";
format = "wheel"; format = "wheel";
sha256 = "4d54c0bfee283e78609169213f9c075827d5837086f58b588b417b093c23464b"; sha256 = "eaacfa35eb11199d0b017df416421781a75209817bff3f94820556e36c49bd77";
}; };
# TODO: Shouldn't be necessary anymore for pip > 9.0.1! # TODO: Shouldn't be necessary anymore for pip > 9.0.1!

View File

@ -1,10 +1,9 @@
{ stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, hypothesis, py { stdenv, buildPythonPackage, fetchPypi, isPy26, argparse, hypothesis, py
, setuptools_scm , setuptools_scm, setuptools
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "3.2.5"; version = "3.2.5";
pname = "pytest"; pname = "pytest";
name = "${pname}-${version}";
preCheck = '' preCheck = ''
# don't test bash builtins # don't test bash builtins
@ -16,8 +15,9 @@ buildPythonPackage rec {
sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81"; sha256 = "6d5bd4f7113b444c55a3bbb5c738a3dd80d43563d063fc42dcb0aaefbdd78b81";
}; };
buildInputs = [ hypothesis setuptools_scm ]; checkInputs = [ hypothesis ];
propagatedBuildInputs = [ py ] buildInputs = [ setuptools_scm ];
propagatedBuildInputs = [ py setuptools ]
++ (stdenv.lib.optional isPy26 argparse); ++ (stdenv.lib.optional isPy26 argparse);
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -8,13 +8,13 @@
# Should use buildPythonPackage here somehow # Should use buildPythonPackage here somehow
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "setuptools"; pname = "setuptools";
version = "36.6.0"; version = "36.7.1";
name = "${python.libPrefix}-${pname}-${version}"; name = "${python.libPrefix}-${pname}-${version}";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
extension = "zip"; extension = "zip";
sha256 = "62074589522a798da243f47348f38020d55b6c945652e2f2c09d3a96299812b7"; sha256 = "543becf5d33d8989dc5222403997488e9dc3872bdecdabb0f57184ca253ec1e8";
}; };
buildInputs = [ python wrapPython unzip ]; buildInputs = [ python wrapPython unzip ];

View File

@ -28,8 +28,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ wrapGAppsHook ]; nativeBuildInputs = [ wrapGAppsHook ];
pythonPath = with pythonPackages; pythonPath = with pythonPackages; requiredPythonModules [ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ];
[ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ];
configureFlags = configureFlags =
[ "--with-udev-rules" [ "--with-udev-rules"

View File

@ -31,10 +31,9 @@ let
callPackage = pkgs.newScope self; callPackage = pkgs.newScope self;
bootstrapped-pip = callPackage ../development/python-modules/bootstrapped-pip { }; namePrefix = python.libPrefix + "-";
mkPythonDerivation = makeOverridable( callPackage ../development/interpreters/python/mk-python-derivation.nix { bootstrapped-pip = callPackage ../development/python-modules/bootstrapped-pip { };
});
# Derivations built with `buildPythonPackage` can already be overriden with `override`, `overrideAttrs`, and `overrideDerivation`. # Derivations built with `buildPythonPackage` can already be overriden with `override`, `overrideAttrs`, and `overrideDerivation`.
# This function introduces `overridePythonAttrs` and it overrides the call to `buildPythonPackage`. # This function introduces `overridePythonAttrs` and it overrides the call to `buildPythonPackage`.
@ -52,13 +51,20 @@ let
} }
else ff; else ff;
buildPythonPackage = makeOverridablePythonPackage (callPackage ../development/interpreters/python/build-python-package.nix { buildPythonPackage = makeOverridablePythonPackage ( makeOverridable (callPackage ../development/interpreters/python/build-python-package.nix {
inherit mkPythonDerivation;
inherit bootstrapped-pip; inherit bootstrapped-pip;
flit = self.flit; flit = self.flit;
}); # We want Python libraries to be named like e.g. "python3.6-${name}"
inherit namePrefix;
pythonModule = python;
}));
buildPythonApplication = args: buildPythonPackage ({namePrefix="";} // args ); buildPythonApplication = makeOverridablePythonPackage ( makeOverridable (callPackage ../development/interpreters/python/build-python-package.nix {
inherit bootstrapped-pip;
flit = self.flit;
namePrefix = "";
pythonModule = false;
}));
graphiteVersion = "1.0.2"; graphiteVersion = "1.0.2";
@ -80,10 +86,40 @@ let
else throw "Unsupported kind ${kind}"); else throw "Unsupported kind ${kind}");
in fetcher (builtins.removeAttrs attrs ["format"]) ); in fetcher (builtins.removeAttrs attrs ["format"]) );
# Check whether a derivation provides a Python module.
hasPythonModule = drv: (hasAttr "pythonModule" drv) && ( (getAttr "pythonModule" drv) == python);
# Get list of required Python modules given a list of derivations.
requiredPythonModules = drvs: let
filterNull = list: filter (x: !isNull x) list;
conditionalGetRecurse = attr: condition: drv: let f = conditionalGetRecurse attr condition; in
(if (condition drv) then unique [drv]++(concatMap f (filterNull(getAttr attr drv))) else []);
_required = drv: conditionalGetRecurse "propagatedBuildInputs" hasPythonModule drv;
in [python] ++ (unique (concatMap _required (filterNull drvs)));
# Create a PYTHONPATH from a list of derivations. This function recurses into the items to find derivations
# providing Python modules.
makePythonPath = drvs: stdenv.lib.makeSearchPath python.sitePackages (requiredPythonModules drvs);
# Convert derivation to a Python module.
toPythonModule = drv:
drv.overrideAttrs( oldAttrs: {
# Use passthru in order to prevent rebuilds when possible.
passthru = (oldAttrs.passthru or {})// {
name = namePrefix + oldAttrs.name;
pythonModule = python;
pythonPath = [ ]; # Deprecated, for compatibility.
};
});
disabledIf = x: drv:
if x then throw "${removePrefix namePrefix (drv.pname or drv.name)} not supported for interpreter ${python.executable}" else drv;
in { in {
inherit python bootstrapped-pip pythonAtLeast pythonOlder isPy26 isPy27 isPy33 isPy34 isPy35 isPy36 isPyPy isPy3k mkPythonDerivation buildPythonPackage buildPythonApplication; inherit python bootstrapped-pip pythonAtLeast pythonOlder isPy26 isPy27 isPy33 isPy34 isPy35 isPy36 isPyPy isPy3k buildPythonPackage buildPythonApplication;
inherit fetchPypi callPackage; inherit fetchPypi callPackage;
inherit hasPythonModule requiredPythonModules makePythonPath disabledIf;
# helpers # helpers
@ -154,9 +190,7 @@ in {
breathe = callPackage ../development/python-modules/breathe { }; breathe = callPackage ../development/python-modules/breathe { };
browsermob-proxy = if ! isPy3k then browsermob-proxy = disabledIf isPy3k (callPackage ../development/python-modules/browsermob-proxy {});
callPackage ../development/python-modules/browsermob-proxy {}
else throw "browsermob-proxy is not supported for ${python.executable}";
bugseverywhere = callPackage ../applications/version-management/bugseverywhere {}; bugseverywhere = callPackage ../applications/version-management/bugseverywhere {};
@ -222,11 +256,11 @@ in {
pyamf = callPackage ../development/python-modules/pyamf { }; pyamf = callPackage ../development/python-modules/pyamf { };
pyatspi = if isPy3k then callPackage ../development/python-modules/pyatspi { } else throw "pyatspi not supported for interpreter ${python.executable}"; pyatspi = disabledIf (!isPy3k) (callPackage ../development/python-modules/pyatspi { });
pycairo = callPackage ../development/python-modules/pycairo { }; pycairo = callPackage ../development/python-modules/pycairo { };
pycangjie = if isPy3k then callPackage ../development/python-modules/pycangjie { } else throw "pycangjie not supported for interpreter ${python.executable}"; pycangjie = disabledIf (!isPy3k) (callPackage ../development/python-modules/pycangjie { });
pycrypto = callPackage ../development/python-modules/pycrypto { }; pycrypto = callPackage ../development/python-modules/pycrypto { };
@ -236,7 +270,7 @@ in {
PyChromecast = callPackage ../development/python-modules/pychromecast { }; PyChromecast = callPackage ../development/python-modules/pychromecast { };
pyexiv2 = if (!isPy3k) then callPackage ../development/python-modules/pyexiv2 {} else throw "pyexiv2 not supported for interpreter ${python.executable}"; pyexiv2 = disabledIf isPy3k (callPackage ../development/python-modules/pyexiv2 {});
py3exiv2 = callPackage ../development/python-modules/py3exiv2 { }; py3exiv2 = callPackage ../development/python-modules/py3exiv2 { };
@ -298,13 +332,13 @@ in {
PyWebDAV = callPackage ../development/python-modules/pywebdav { }; PyWebDAV = callPackage ../development/python-modules/pywebdav { };
pyxml = if !isPy3k then callPackage ../development/python-modules/pyxml{ } else throw "pyxml not supported for interpreter ${python.executable}"; pyxml = disabledIf isPy3k (callPackage ../development/python-modules/pyxml{ });
relatorio = callPackage ../development/python-modules/relatorio { }; relatorio = callPackage ../development/python-modules/relatorio { };
pyzufall = callPackage ../development/python-modules/pyzufall { }; pyzufall = callPackage ../development/python-modules/pyzufall { };
rhpl = if !isPy3k then callPackage ../development/python-modules/rhpl {} else throw "rhpl not supported for interpreter ${python.executable}"; rhpl = disabledIf isPy3k (callPackage ../development/python-modules/rhpl {});
simpleeval = callPackage ../development/python-modules/simpleeval { }; simpleeval = callPackage ../development/python-modules/simpleeval { };
@ -1336,10 +1370,10 @@ in {
# Build boost for this specific Python version # Build boost for this specific Python version
# TODO: use separate output for libboost_python.so # TODO: use separate output for libboost_python.so
boost = pkgs.boost.override { boost = toPythonModule (pkgs.boost.override {
inherit (self) python numpy; inherit (self) python numpy;
enablePython = true; enablePython = true;
}; });
buttersink = buildPythonPackage rec { buttersink = buildPythonPackage rec {
name = "buttersink-0.6.8"; name = "buttersink-0.6.8";
@ -3200,15 +3234,15 @@ in {
propagatedBuildInputs = with self; [ pyusb ]; propagatedBuildInputs = with self; [ pyusb ];
}; };
opencv = pkgs.opencv.override { opencv = toPythonModule (pkgs.opencv.override {
enablePython = true; enablePython = true;
pythonPackages = self; pythonPackages = self;
}; });
opencv3 = pkgs.opencv3.override { opencv3 = toPythonModule (pkgs.opencv3.override {
enablePython = true; enablePython = true;
pythonPackages = self; pythonPackages = self;
}; });
openidc-client = callPackage ../development/python-modules/openidc-client/default.nix {}; openidc-client = callPackage ../development/python-modules/openidc-client/default.nix {};
@ -4735,13 +4769,11 @@ in {
easy-thumbnails = callPackage ../development/python-modules/easy-thumbnails { }; easy-thumbnails = callPackage ../development/python-modules/easy-thumbnails { };
eccodes = if (isPy27) then eccodes = disabledIf (!isPy27)
(pkgs.eccodes.overrideAttrs (oldattrs: { (toPythonModule (pkgs.eccodes.override {
name = "${python.libPrefix}-" + oldattrs.name;
})).override {
enablePython = true; enablePython = true;
pythonPackages = self; pythonPackages = self;
} else throw "eccodes not supported for interpreter ${python.executable}"; }));
EditorConfig = buildPythonPackage rec { EditorConfig = buildPythonPackage rec {
name = "EditorConfig-${version}"; name = "EditorConfig-${version}";
@ -8712,10 +8744,10 @@ in {
folium = callPackage ../development/python-modules/folium { }; folium = callPackage ../development/python-modules/folium { };
fontforge = pkgs.fontforge.override { fontforge = toPythonModule (pkgs.fontforge.override {
withPython = true; withPython = true;
inherit python; inherit python;
}; });
fonttools = callPackage ../development/python-modules/fonttools { }; fonttools = callPackage ../development/python-modules/fonttools { };
@ -8889,11 +8921,9 @@ in {
}; };
}; };
gdal = (pkgs.gdal.overrideDerivation (oldattrs: { gdal = toPythonModule (pkgs.gdal.override {
name = "${python.libPrefix}-" + oldattrs.name;
})).override {
pythonPackages = self; pythonPackages = self;
}; });
gdrivefs = buildPythonPackage rec { gdrivefs = buildPythonPackage rec {
version = "0.14.8"; version = "0.14.8";
@ -9265,13 +9295,11 @@ in {
}; };
}; };
grib-api = if (isPy27) then grib-api = disabledIf (!isPy27) (toPythonModule
(pkgs.grib-api.overrideAttrs (oldattrs: { (pkgs.grib-api.override {
name = "${python.libPrefix}-" + oldattrs.name;
})).override {
enablePython = true; enablePython = true;
pythonPackages = self; pythonPackages = self;
} else throw "grib-api not supported for interpreter ${python.executable}"; }));
gspread = buildPythonPackage rec { gspread = buildPythonPackage rec {
version = "0.2.3"; version = "0.2.3";
@ -10373,14 +10401,14 @@ in {
inherit (pkgs) libsodium; inherit (pkgs) libsodium;
}; };
libplist = if isPy3k then throw "libplist not supported for interpreter ${python.executable}" else libplist = disabledIf isPy3k
(pkgs.libplist.override{python2Packages=self; }).py; (toPythonModule (pkgs.libplist.override{python2Packages=self; })).py;
libxml2 = if isPy3k then throw "libxml2 not supported for interpreter ${python.executable}" else libxml2 = disabledIf isPy3k
(pkgs.libxml2.override{pythonSupport=true; python2=python;}).py; (toPythonModule (pkgs.libxml2.override{pythonSupport=true; python2=python;})).py;
libxslt = if isPy3k then throw "libxslt not supported for interpreter ${python.executable}" else libxslt = disabledIf isPy3k
(pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;}).py; (toPythonModule (pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;})).py;
limnoria = buildPythonPackage rec { limnoria = buildPythonPackage rec {
name = "limnoria-${version}"; name = "limnoria-${version}";
@ -16994,9 +17022,8 @@ in {
}; };
}; };
qscintilla = if isPy3k || isPyPy qscintilla = disabledIf (isPy3k || isPyPy)
then throw "qscintilla-${pkgs.qscintilla.version} not supported for interpreter ${python.executable}" (buildPythonPackage rec {
else buildPythonPackage rec {
# TODO: Qt5 support # TODO: Qt5 support
name = "qscintilla-${version}"; name = "qscintilla-${version}";
version = pkgs.qscintilla.version; version = pkgs.qscintilla.version;
@ -17025,7 +17052,7 @@ in {
maintainers = with maintainers; [ danbst ]; maintainers = with maintainers; [ danbst ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
}; });
qserve = buildPythonPackage rec { qserve = buildPythonPackage rec {
@ -17173,6 +17200,10 @@ in {
readme_renderer = callPackage ../development/python-modules/readme_renderer { }; readme_renderer = callPackage ../development/python-modules/readme_renderer { };
rivet = disabledIf isPy3k (toPythonModule (pkgs.rivet.override {
python2 = python;
}));
rjsmin = callPackage ../development/python-modules/rjsmin { }; rjsmin = callPackage ../development/python-modules/rjsmin { };
pysolr = buildPythonPackage rec { pysolr = buildPythonPackage rec {
@ -17444,7 +17475,7 @@ in {
rply = callPackage ../development/python-modules/rply/default.nix {}; rply = callPackage ../development/python-modules/rply/default.nix {};
rpm = (pkgs.rpm.override{inherit python;}); rpm = toPythonModule (pkgs.rpm.override{inherit python;});
rpmfluff = callPackage ../development/python-modules/rpmfluff {}; rpmfluff = callPackage ../development/python-modules/rpmfluff {};
@ -22091,7 +22122,7 @@ EOF
}; };
# For backwards compatibility. Please use nixpkgs.udiskie instead. # For backwards compatibility. Please use nixpkgs.udiskie instead.
udiskie = pkgs.udiskie.override { pythonPackages = self; }; udiskie = toPythonModule (pkgs.udiskie.override { pythonPackages = self; });
# Should be bumped along with EFL! # Should be bumped along with EFL!
pythonefl = buildPythonPackage rec { pythonefl = buildPythonPackage rec {
@ -24353,9 +24384,8 @@ EOF
ROPGadget = callPackage ../development/python-modules/ROPGadget { }; ROPGadget = callPackage ../development/python-modules/ROPGadget { };
# We need "normal" libxml2 and not the python package by the same name. # We need "normal" libxml2 and not the python package by the same name.
pywbem = if !(isPy36) pywbem = disabledIf isPy36
then callPackage ../development/python-modules/pywbem { libxml2 = pkgs.libxml2; } (callPackage ../development/python-modules/pywbem { libxml2 = pkgs.libxml2; });
else throw "pywbem not supported for interpreter ${python.executable}";
unicorn = callPackage ../development/python-modules/unicorn { }; unicorn = callPackage ../development/python-modules/unicorn { };
@ -24427,8 +24457,8 @@ EOF
zeep = callPackage ../development/python-modules/zeep { }; zeep = callPackage ../development/python-modules/zeep { };
zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else zeitgeist = disabledIf isPy3k
(pkgs.zeitgeist.override{python2Packages=self;}).py; (toPythonModule (pkgs.zeitgeist.override{python2Packages=self;})).py;
zeroconf = callPackage ../development/python-modules/zeroconf { }; zeroconf = callPackage ../development/python-modules/zeroconf { };