Merge pull request #35198 from dotlambda/python

python: updates and fixes
This commit is contained in:
Frederik Rietdijk 2018-02-22 09:17:40 +00:00 committed by GitHub
commit 743a33a6be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 313 additions and 217 deletions

View File

@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, perl, python2Packages, sqlite, gpsbabel
{ stdenv, fetchFromGitHub, perl, python, sqlite, gpsbabel
, withWebKit ? false }:
let
# Pytrainer needs a matplotlib with GTK backend. Also ensure we are
# using the pygtk with glade support as needed by pytrainer.
matplotlibGtk = python2Packages.matplotlib.override {
matplotlibGtk = python.pkgs.matplotlib.override {
enableGtk2 = true;
pygtk = python2Packages.pyGtkGlade;
pygtk = python.pkgs.pyGtkGlade;
};
in
python2Packages.buildPythonApplication rec {
name = "pytrainer-${version}";
python.pkgs.buildPythonApplication rec {
pname = "pytrainer";
version = "1.11.0";
src = fetchFromGitHub {
@ -35,7 +35,7 @@ python2Packages.buildPythonApplication rec {
./pytrainer-webkit.patch
];
propagatedBuildInputs = with python2Packages; [
propagatedBuildInputs = with python.pkgs; [
dateutil lxml matplotlibGtk pyGtkGlade sqlalchemy_migrate
] ++ stdenv.lib.optional withWebKit [ pywebkitgtk ];
@ -45,6 +45,10 @@ python2Packages.buildPythonApplication rec {
dontPatchELF = true;
dontStrip = true;
checkPhase = ''
${python.interpreter} -m unittest discover
'';
meta = with stdenv.lib; {
homepage = https://github.com/pytrainer/pytrainer/wiki;
description = "Application for logging and graphing sporting excursions";

View File

@ -1,15 +1,23 @@
{ stdenv, buildPythonPackage, fetchurl, six }:
{ stdenv, buildPythonPackage, fetchFromGitHub, async-timeout, pytest, pytest-asyncio }:
buildPythonPackage rec {
version = "2.1.5";
version = "2.1.6";
pname = "asgiref";
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://pypi/a/asgiref/${name}.tar.gz";
sha256 = "1a46196df28c67e046a54cc537ce5a8f6a59eb68649f54680d7e4fc3b113ab1b";
# PyPI tarball doesn't include tests directory
src = fetchFromGitHub {
owner = "django";
repo = pname;
rev = version;
sha256 = "12p1i2ai03x2hx6b3i7xgicyfi2x11is6pkbdac4jpz7fmbz3zlh";
};
propagatedBuildInputs = [ six ];
propagatedBuildInputs = [ async-timeout ];
checkInputs = [ pytest pytest-asyncio ];
checkPhase = ''
py.test
'';
meta = with stdenv.lib; {
description = "Reference ASGI adapters and channel layers";

View File

@ -1,20 +1,31 @@
{ lib
, buildPythonPackage
, fetchPypi
, fetchFromGitHub
, pyparsing
, future
, nose
, glibcLocales
}:
buildPythonPackage rec {
pname = "bibtexparser";
version = "1.0.1";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "cc41cdd8332c2bf44b97daf1f135f4f267c3b744c33976655cd270b66f964c0a";
# PyPI tarball does not ship tests
src = fetchFromGitHub {
owner = "sciunto-org";
repo = "python-${pname}";
rev = "v${version}";
sha256 = "0lmlarkfbq2hp1wa04a62245jr2mqizqsdlgilj5aq6vy92gr6ai";
};
# No tests in archive
doCheck = false;
propagatedBuildInputs = [ pyparsing future ];
checkInputs = [ nose glibcLocales ];
checkPhase = ''
LC_ALL="en_US.UTF-8" nosetests
'';
meta = {
description = "Bibtex parser for python 2.7 and 3.3 and newer";

View File

@ -0,0 +1,27 @@
{ lib, buildPythonPackage, fetchPypi, chardet, hypothesis }:
buildPythonPackage rec {
pname = "binaryornot";
version = "0.4.4";
src = fetchPypi {
inherit pname version;
sha256 = "359501dfc9d40632edc9fac890e19542db1a287bbcfa58175b66658392018061";
};
prePatch = ''
# See https://github.com/audreyr/binaryornot/issues/40
substituteInPlace tests/test_check.py \
--replace "average_size=512" "average_size=128"
'';
propagatedBuildInputs = [ chardet ];
checkInputs = [ hypothesis ];
meta = with lib; {
homepage = https://github.com/audreyr/binaryornot;
description = "Ultra-lightweight pure Python package to check if a file is binary or text";
license = licenses.bsd3;
};
}

View File

@ -1,11 +1,10 @@
{stdenv, lib, buildPythonPackage, fetchPypi, coverage, bash, which, writeText}:
{stdenv, lib, buildPythonPackage, fetchPypi, bash, which, writeText}:
buildPythonPackage rec {
name = "${pname}-${version}";
version = "0.7";
pname = "cram";
buildInputs = [ coverage which ];
checkInputs = [ which ];
src = fetchPypi {
inherit pname version;
@ -13,20 +12,13 @@ buildPythonPackage rec {
};
postPatch = ''
patchShebangs scripts/cram
substituteInPlace tests/test.t \
--replace "/bin/bash" "${bash}/bin/bash"
'';
# This testing is copied from Makefile. Simply using `make test` doesn't work
# because it uses the unpatched `scripts/cram` executable which has a bad
# shebang. Also, for some reason, coverage fails on one file so let's just
# ignore that one.
checkPhase = ''
# scripts/cram tests
#COVERAGE=${coverage}/bin/coverage $out/bin/cram tests
#${coverage}/bin/coverage report --fail-under=100
COVERAGE=coverage $out/bin/cram tests
coverage report --fail-under=100 --omit="*/_encoding.py,*/__main__.py"
scripts/cram tests
'';
meta = {

View File

@ -1,4 +1,4 @@
{ stdenv, buildPythonPackage, fetchPypi, blessings, mock, nose, pyte, pytest, wcwidth }:
{ stdenv, buildPythonPackage, fetchPypi, blessings, mock, nose, pyte, wcwidth, typing }:
buildPythonPackage rec {
pname = "curtsies";
@ -8,12 +8,12 @@ buildPythonPackage rec {
sha256 = "89c802ec051d01dec6fc983e9856a3706e4ea8265d2940b1f6d504a9e26ed3a9";
};
propagatedBuildInputs = [ blessings wcwidth pyte ];
propagatedBuildInputs = [ blessings wcwidth typing ];
checkInputs = [ nose mock pytest ];
checkInputs = [ mock pyte nose ];
checkPhase = ''
py.test
nosetests tests
'';
meta = with stdenv.lib; {

View File

@ -1,19 +1,31 @@
{ stdenv, buildPythonPackage, fetchPypi,
asgiref, autobahn, twisted, hypothesis
{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub
, asgiref, autobahn, twisted, pytestrunner
, hypothesis, pytest, pytest-asyncio
}:
buildPythonPackage rec {
pname = "daphne";
name = "${pname}-${version}";
version = "2.0.3";
src = fetchPypi {
inherit pname version;
sha256 = "bb2075ce35ca00f2e5440cc034dfebd5c00d346de62ea45f099db089b868c31f";
disabled = !isPy3k;
src = fetchFromGitHub {
owner = "django";
repo = pname;
rev = version;
sha256 = "1rdnzpgyk5cnx4xc3c7k11v2x9xpihgjpq14fib80jfpcqggw687";
};
buildInputs = [ hypothesis ];
nativeBuildInputs = [ pytestrunner ];
propagatedBuildInputs = [ asgiref autobahn twisted ];
checkInputs = [ hypothesis pytest pytest-asyncio ];
checkPhase = ''
# Other tests fail, seems to be due to filesystem access
py.test -k "test_cli or test_utils"
'';
meta = with stdenv.lib; {
description = "Django ASGI (HTTP/WebSocket) server";
license = licenses.bsd3;

View File

@ -1,21 +1,24 @@
{ stdenv, fetchPypi, buildPythonPackage, aenum, isPy3k }:
{ stdenv, fetchPypi, buildPythonPackage, aenum, isPy3k, pythonOlder, enum34, python }:
buildPythonPackage rec {
pname = "dbf";
version = "0.96.8";
name = "${pname}-${version}";
src = fetchPypi {
inherit pname version;
sha256 = "1z8n7s4cka6x9ybh4qpfhj51v2qrk38h2f06npizzhm0hmn6r3v1";
};
propagatedBuildInputs = [ aenum ];
propagatedBuildInputs = [ aenum ] ++ stdenv.lib.optional (pythonOlder "3.4") [ enum34 ];
doCheck = !isPy3k;
# tests are not yet ported.
# https://groups.google.com/forum/#!topic/python-dbase/96rx2xmCG4w
checkPhase = ''
${python.interpreter} dbf/test.py
'';
meta = with stdenv.lib; {
description = "Pure python package for reading/writing dBase, FoxPro, and Visual FoxPro .dbf files";
homepage = "https://pypi.python.org/pypi/dbf";

View File

@ -1,12 +1,13 @@
{ stdenv, fetchPypi, buildPythonPackage, hidapi
{ stdenv, fetchPypi, buildPythonPackage, isPy3k, hidapi
, pycrypto, pillow, protobuf, future, ecpy
}:
buildPythonPackage rec {
name = "${pname}-${version}";
pname = "ECPy";
version = "0.8.3";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "ef3d95419d53368f52fb7d4b883b8df0dfc2dd19a76243422d24981c3e5f27bd";

View File

@ -1,6 +1,6 @@
{ lib, buildPythonPackage, fetchPypi, pythonOlder,
# Build inputs
dateutil, six, ipaddress ? null,
dateutil, six, text-unidecode, ipaddress ? null,
# Test inputs
email_validator, nose, mock, ukpostcodeparser }:
@ -8,12 +8,11 @@ assert pythonOlder "3.3" -> ipaddress != null;
buildPythonPackage rec {
pname = "Faker";
version = "0.8.8";
name = "${pname}-${version}";
version = "0.8.11";
src = fetchPypi {
inherit pname version;
sha256 = "e928cf853ef69d7471421f2a3716a1239e43de0fa9855f4016ee0c9f1057328a";
sha256 = "126kdy6lj10rwgchzz0lzjabx0zcyskamhn0qib67k69fcksjmq8";
};
checkInputs = [
@ -26,6 +25,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [
dateutil
six
text-unidecode
] ++ lib.optional (pythonOlder "3.3") ipaddress;
meta = with lib; {

View File

@ -0,0 +1,26 @@
{ lib, buildPythonPackage, fetchPypi, isPy3k, colorama, coverage, termstyle, unidecode, mock, backports_shutil_get_terminal_size }:
buildPythonPackage rec {
pname = "green";
version = "2.12.0";
src = fetchPypi {
inherit pname version;
sha256 = "8cdd2934eff754c9664f373ee0d77cb1cb35dbbf3b719b8ae3b059718db875df";
};
prePatch = ''
# See https://github.com/CleanCut/green/pull/182
substituteInPlace setup.py --replace python-termstyle termstyle
'';
propagatedBuildInputs = [
colorama coverage termstyle unidecode
] ++ lib.optionals (!isPy3k) [ mock backports_shutil_get_terminal_size ];
meta = with lib; {
description = "Python test runner";
homepage = https://github.com/CleanCut/green;
license = licenses.mit;
};
}

View File

@ -0,0 +1,48 @@
{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, writeText, configparser, six, pytest, glibcLocales }:
buildPythonPackage rec {
pname = "konfig";
version = "1.1";
# konfig unconditionaly depend on configparser, even if it is part of
# the standard library in python 3.2 or above.
disabled = isPy3k;
# PyPI tarball is missing utf8.ini, required for tests
src = fetchFromGitHub {
owner = "mozilla-services";
repo = pname;
rev = version;
sha256 = "1h780fbrv275dcik4cs3rincza805z6q726b48r4a0qmh5d8160c";
};
propagatedBuildInputs = [ configparser six ];
patches = [ (writeText "konfig.patch" ''
diff --git a/setup.py b/setup.py
index 96fd858..bb4db06 100644
--- a/setup.py
+++ b/setup.py
@@ -20,7 +20,7 @@ setup(name='konfig',
author_email="tarek@mozilla.com",
include_package_data=True,
install_requires = [
- 'configparser', 'argparse', 'six'
+ 'configparser', 'six'
],
zip_safe=False,
classifiers=classifiers,
'') ];
checkInputs = [ pytest glibcLocales ];
checkPhase = ''
LC_ALL=en_US.utf8 pytest -v konfig/tests
'';
meta = with lib; {
description = "Yet Another Config Parser";
homepage = "https://github.com/mozilla-services/konfig";
license = licenses.mpl20;
};
}

View File

@ -1,12 +1,9 @@
{ lib
, buildPythonPackage
, pythonOlder
, isPy35
, isPy36
, fetchPypi
, hypothesis
, pytestcache
, pytestcov
, pytestflakes
, pytestpep8
, pytest
@ -19,10 +16,9 @@ buildPythonPackage rec {
pname = "natsort";
version = "5.2.0";
buildInputs = [
checkInputs = [
hypothesis
pytestcache
pytestcov
pytestflakes
pytestpep8
pytest
@ -41,7 +37,7 @@ buildPythonPackage rec {
# testing based on project's tox.ini
checkPhase = ''
pytest --doctest-modules natsort
pytest --flakes --pep8 --cov natsort --cov-report term-missing
pytest --flakes --pep8
'';
meta = {

View File

@ -3,32 +3,24 @@
, fetchPypi
, nose
, decorator
, isPy36
, isPyPy
}:
buildPythonPackage rec {
pname = "networkx";
version = "1.11";
# Currently broken on PyPy.
# https://github.com/networkx/networkx/pull/1361
disabled = isPyPy;
version = "2.1";
src = fetchPypi {
inherit pname version;
sha256 = "1f74s56xb4ggixiq0vxyfxsfk8p20c7a099lpcf60izv1php03hd";
extension = "zip";
sha256 = "64272ca418972b70a196cb15d9c85a5a6041f09a2f32e0d30c0255f25d458bb1";
};
checkInputs = [ nose ];
propagatedBuildInputs = [ decorator ];
# 17 failures with 3.6 https://github.com/networkx/networkx/issues/2396#issuecomment-304437299
doCheck = !(isPy36);
meta = {
homepage = "https://networkx.github.io/";
description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks";
license = lib.licenses.bsd3;
};
}
}

View File

@ -3,7 +3,6 @@
buildPythonPackage rec {
pname = "pomegranate";
version = "0.8.1";
name = "${pname}-${version}";
src = fetchFromGitHub {
repo = pname;
@ -21,5 +20,9 @@ buildPythonPackage rec {
homepage = https://github.com/jmschrei/pomegranate;
license = licenses.mit;
maintainers = with maintainers; [ rybern ];
# "pomegranate does not yet work with networkx 2.0"
# see https://github.com/jmschrei/pomegranate/issues/209
broken = true;
};
}

View File

@ -7,6 +7,8 @@
, six
, pydotplus
, rdflib
, pydot
, glibcLocales
}:
buildPythonPackage rec {
@ -18,6 +20,10 @@ buildPythonPackage rec {
sha256 = "640dc158d931403bc6c1a0ad80702caae71f810bac21f90ec605865c8444b7bb";
};
prePatch = ''
substituteInPlace setup.py --replace "six==1.10.0" "six>=1.10.0"
'';
propagatedBuildInputs = [
lxml
networkx
@ -26,7 +32,15 @@ buildPythonPackage rec {
pydotplus
rdflib
];
doCheck = false; # takes ~60 mins
checkInputs = [
pydot
glibcLocales
];
preCheck = ''
export LC_ALL="en_US.utf-8"
'';
meta = with stdenv.lib; {
description = "A Python library for W3C Provenance Data Model (PROV)";

View File

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchPypi, isPy3k, pytest, mock, setuptools_scm }:
{ lib, buildPythonPackage, fetchPypi, fetchpatch, isPy3k, pytest, mock, setuptools_scm }:
buildPythonPackage rec {
pname = "pytest-mock";
@ -9,6 +9,11 @@ buildPythonPackage rec {
sha256 = "8ed6c9ac6b7565b226b4da2da48876c9198d76401ec8d9c5e4c69b45423e33f8";
};
patches = fetchpatch {
url = "${meta.homepage}/pull/107.patch";
sha256 = "07p7ra6lilfv04wyxc855zmfwxvnpmi9s0v6vh5bx769cj9jwxck";
};
propagatedBuildInputs = [ pytest ] ++ lib.optional (!isPy3k) mock;
nativeBuildInputs = [ setuptools_scm ];

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "pytest-xdist";
version = "1.22.0";
version = "1.22.1";
src = fetchPypi {
inherit pname version;
sha256 = "65228a859191f2c74ee68c127317eefe35eedd3d43fc1431f19240663b0cafcd";
sha256 = "fcd6f36bab93b0b24ec45ca12f798b9b3af71da826db0b0794b358d2f5c038de";
};
nativeBuildInputs = [ setuptools_scm ];

View File

@ -0,0 +1,24 @@
{ lib, buildPythonPackage, fetchPypi, nose, six, colorama, termstyle }:
buildPythonPackage rec {
pname = "rednose";
version = "1.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "6da77917788be277b70259edc0bb92fc6f28fe268b765b4ea88206cc3543a3e1";
};
prePatch = ''
substituteInPlace setup.py --replace "six==1.10.0" "six>=1.10.0"
'';
checkInputs = [ six ];
propagatedBuildInputs = [ nose colorama termstyle ];
meta = with lib; {
description = "A python nose plugin adding color to console results";
homepage = https://github.com/JBKahn/rednose;
license = licenses.mit;
};
}

View File

@ -0,0 +1,20 @@
{ lib, buildPythonPackage, fetchPypi }:
buildPythonPackage rec {
pname = "termstyle";
version = "0.1.11";
src = fetchPypi {
inherit pname version;
sha256 = "ef74b83698ea014112040cf32b1a093c1ab3d91c4dd18ecc03ec178fd99c9f9f";
};
# Only manual tests
doCheck = false;
meta = with lib; {
description = "Console colouring for python";
homepage = "https://pypi.python.org/pypi/python-termstyle/0.1.10";
license = licenses.bsdOriginal;
};
}

View File

@ -0,0 +1,23 @@
{ lib, buildPythonPackage, fetchPypi, pytest }:
buildPythonPackage rec {
pname = "text-unidecode";
version = "1.1";
src = fetchPypi {
inherit pname version;
sha256 = "1l081m1w8ibbx684ca71ibdy68iwqsivy6rf6yqvysdclzldbbyh";
};
checkInputs = [ pytest ];
checkPhase = ''
py.test
'';
meta = with lib; {
description = "The most basic Text::Unidecode port";
homepage = https://github.com/kmike/text-unidecode;
license = licenses.artistic1;
};
}

View File

@ -0,0 +1,21 @@
{ lib, buildPythonPackage, fetchPypi
, wrapGAppsHook, gobjectIntrospection, pygobject3, graphviz, gnome3 }:
buildPythonPackage rec {
pname = "xdot";
version = "0.9";
src = fetchPypi {
inherit pname version;
sha256 = "01v9vmgdxz1q2m2vq2b4aqx4ycw7grc0l4is673ygvyg9rk02dx3";
};
nativeBuildInputs = [ wrapGAppsHook ];
propagatedBuildInputs = [ gobjectIntrospection pygobject3 graphviz gnome3.gtk ];
meta = with lib; {
description = "xdot.py is an interactive viewer for graphs written in Graphviz's dot";
homepage = https://github.com/jrfonseca/xdot.py;
license = licenses.lgpl3Plus;
};
}

View File

@ -1671,27 +1671,7 @@ in {
};
};
binaryornot = buildPythonPackage rec {
name = "binaryornot-${version}";
version = "0.4.0";
src = pkgs.fetchurl {
url ="mirror://pypi/b/binaryornot/${name}.tar.gz";
sha256 = "1j4f51dxic39mdwf6alj7gd769wy6mhk916v031wjali51xkh3xb";
};
buildInputs = with self; [ hypothesis ];
propagatedBuildInputs = with self; [ chardet ];
meta = {
homepage = https://github.com/audreyr/binaryornot;
description = "Ultra-lightweight pure Python package to check if a file is binary or text";
license = licenses.bsd3;
};
};
binaryornot = callPackage ../development/python-modules/binaryornot { };
bitbucket_api = buildPythonPackage rec {
name = "bitbucket-api-0.4.4";
@ -9442,44 +9422,7 @@ in {
};
};
konfig = buildPythonPackage rec {
name = "konfig-${version}";
version = "1.1";
# konfig unconditionaly depend on configparser, even if it is part of
# the standard library in python 3.2 or above.
disabled = isPy3k;
src = pkgs.fetchgit {
url = https://github.com/mozilla-services/konfig.git;
rev = "refs/tags/${version}";
sha256 = "1h780fbrv275dcik4cs3rincza805z6q726b48r4a0qmh5d8160c";
};
propagatedBuildInputs = with self; [ configparser six ];
patches = [ (pkgs.writeText "konfig.patch" ''
diff --git a/setup.py b/setup.py
index 96fd858..bb4db06 100644
--- a/setup.py
+++ b/setup.py
@@ -20,7 +20,7 @@ setup(name='konfig',
author_email="tarek@mozilla.com",
include_package_data=True,
install_requires = [
- 'configparser', 'argparse', 'six'
+ 'configparser', 'six'
],
zip_safe=False,
classifiers=classifiers,
'') ];
meta = {
description = "Yet Another Config Parser";
homepage = "https://github.com/mozilla-services/konfig";
license = licenses.mpl20;
};
};
konfig = callPackage ../development/python-modules/konfig { };
kitchen = callPackage ../development/python-modules/kitchen/default.nix { };
@ -10871,24 +10814,6 @@ in {
mysql-connector = callPackage ../development/python-modules/mysql-connector { };
mysql_connector_repackaged = buildPythonPackage rec {
name = "mysql-connector-repackaged-0.3.1";
src = pkgs.fetchurl {
url = "mirror://pypi/m/mysql-connector-repackaged/${name}.tar.gz";
sha256 = "170fbf11c54def1b5fcc919be0a890b760bb2eca81f56123a5dda0c69b5b099e";
};
# Judging from SyntaxError
disabled = isPy3k;
meta = {
maintainers = with maintainers; [ garbas domenkozar ];
platforms = platforms.linux;
};
};
namebench = buildPythonPackage (rec {
name = "namebench-1.3.1";
disabled = isPy3k || isPyPy;
@ -15048,22 +14973,7 @@ in {
redis = callPackage ../development/python-modules/redis { };
rednose = buildPythonPackage rec {
name = "rednose-${version}";
version = "1.2.1";
src = pkgs.fetchurl {
url = "mirror://pypi/r/rednose/${name}.tar.gz";
sha256 = "0b0bsna217lr1nykyhl5fgjly15zhdvqd4prg4wy1zrgfv7al6m0";
};
meta = {
description = "A python nose plugin adding color to console results.";
};
buildInputs = with self; [ nose six ];
propagatedBuildInputs = with self; [ colorama termstyle ];
};
rednose = callPackage ../development/python-modules/rednose { };
reikna = callPackage ../development/python-modules/reikna { };
@ -16008,6 +15918,8 @@ in {
stevedore = callPackage ../development/python-modules/stevedore {};
text-unidecode = callPackage ../development/python-modules/text-unidecode { };
Theano = callPackage ../development/python-modules/Theano rec {
cudaSupport = pkgs.config.cudaSupport or false;
cudnnSupport = cudaSupport;
@ -18355,23 +18267,7 @@ EOF
persistent = callPackage ../development/python-modules/persistent {};
xdot = buildPythonPackage rec {
name = "xdot-0.9";
src = pkgs.fetchurl {
url = "mirror://pypi/x/xdot/${name}.tar.gz";
sha256 = "01v9vmgdxz1q2m2vq2b4aqx4ycw7grc0l4is673ygvyg9rk02dx3";
};
nativeBuildInputs = with pkgs; [ wrapGAppsHook ];
propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pygobject3 pkgs.graphviz pkgs.gnome3.gtk ];
meta = {
description = "xdot.py is an interactive viewer for graphs written in Graphviz's dot";
homepage = https://github.com/jrfonseca/xdot.py;
license = licenses.lgpl3Plus;
};
};
xdot = callPackage ../development/python-modules/xdot { };
zetup = callPackage ../development/python-modules/zetup { };
@ -20979,39 +20875,9 @@ EOF
};
};
termstyle = buildPythonPackage rec {
name = "python-termstyle-${version}";
version = "0.1.10";
src = pkgs.fetchurl {
url = "mirror://pypi/p/python-termstyle/${name}.tar.gz";
sha256 = "1qllzkx1alf14zcfapppf8w87si4cpa7lgjmdp3f5idzdyqnnapl";
};
termstyle = callPackage ../development/python-modules/termstyle { };
meta = {
description = "Console colouring for python";
homepage = "https://pypi.python.org/pypi/python-termstyle/0.1.10";
license = licenses.bsdOriginal;
};
};
green = buildPythonPackage rec {
name = "green-${version}";
version = "2.3.0";
src = pkgs.fetchurl {
url = "mirror://pypi/g/green/${name}.tar.gz";
sha256 = "1888khfl9yxb8yfxq9b48dxwplqlxx8s0l530z5j7c6bx74v08b4";
};
propagatedBuildInputs = with self; [ termstyle colorama ];
buildInputs = with self; [ mock ];
meta = {
description = "Python test runner";
homepage = "https://github.com/CleanCut/green";
license = licenses.mit;
};
};
green = callPackage ../development/python-modules/green { };
topydo = throw "python3Packages.topydo was moved to topydo"; # 2017-09-22