diff --git a/pkgs/applications/science/math/sage/patches/ignore-pip-deprecation.patch b/pkgs/applications/science/math/sage/patches/ignore-pip-deprecation.patch new file mode 100644 index 00000000000..95b377dc955 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/ignore-pip-deprecation.patch @@ -0,0 +1,22 @@ +diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py +index 689e5a23b9..4e16fe3a8d 100644 +--- a/src/sage/misc/package.py ++++ b/src/sage/misc/package.py +@@ -142,9 +142,14 @@ def pip_installed_packages(): + sage: d['beautifulsoup'] # optional - beautifulsoup + u'...' + """ +- proc = subprocess.Popen(["pip", "list", "--no-index", "--format", "json"], stdout=subprocess.PIPE) +- stdout = proc.communicate()[0].decode() +- return {package['name'].lower():package['version'] for package in json.loads(stdout)} ++ with open(os.devnull, 'w') as devnull: ++ proc = subprocess.Popen( ++ ["pip", "list", "--no-index", "--format", "json"], ++ stdout=subprocess.PIPE, ++ stderr=devnull, ++ ) ++ stdout = proc.communicate()[0].decode() ++ return {package['name'].lower():package['version'] for package in json.loads(stdout)} + + def list_packages(*pkg_types, **opts): + r""" diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 7302b5e337d..83459021687 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -112,6 +112,9 @@ stdenv.mkDerivation rec { url = "https://git.sagemath.org/sage.git/patch?id=a05b6b038e1571ab15464e98f76d1927c0c3fd12"; sha256 = "05yq97pq84xi60wb1p9skrad5h5x770gq98ll4frr7hvvmlwsf58"; }) + + # https://trac.sagemath.org/ticket/27405 + ./patches/ignore-pip-deprecation.patch ]; patches = nixPatches ++ packageUpgradePatches; diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix index 814eef9560e..d7f9cb9ee32 100644 --- a/pkgs/applications/science/math/sage/sagelib.nix +++ b/pkgs/applications/science/math/sage/sagelib.nix @@ -65,11 +65,13 @@ buildPythonPackage rec { perl jupyter_core pkg-config + pip # needed to query installed packages ]; buildInputs = [ gd readline + iml ]; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix index 7ff5b0343ea..1b4ab4d40db 100644 --- a/pkgs/development/python-modules/rpy2/default.nix +++ b/pkgs/development/python-modules/rpy2/default.nix @@ -58,6 +58,10 @@ buildPythonPackage rec { tidyr ]) ++ extraRPackages ++ rWrapper.recommendedPackages; + nativeBuildInputs = [ + R # needed at setup time to detect R_HOME (alternatively set R_HOME explicitly) + ]; + patches = [ # R_LIBS_SITE is used by the nix r package to point to the installed R libraries. # This patch sets R_LIBS_SITE when rpy2 is imported.