diff options
Diffstat (limited to 'pkgs/top-level/python-packages.nix')
-rw-r--r-- | pkgs/top-level/python-packages.nix | 7781 |
1 files changed, 6029 insertions, 1752 deletions
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 533f59b78d8..1d3d0d179af 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1,7 +1,10 @@ -{ pkgs, python }: - with pkgs.lib; +{ pkgs, stdenv, python, self }: + +with pkgs.lib; let + pythonAtLeast = versionAtLeast python.pythonVersion; + pythonOlder = versionOlder python.pythonVersion; isPy26 = python.majorVersion == "2.6"; isPy27 = python.majorVersion == "2.7"; isPy33 = python.majorVersion == "3.3"; @@ -9,6 +12,10 @@ let isPyPy = python.executable == "pypy"; isPy3k = strings.substring 0 1 python.majorVersion == "3"; + callPackage = pkgs.newScope self; + + buildPythonPackage = makeOverridable (callPackage ../development/python-modules/generic { }); + # Unique python version identifier pythonName = if isPy26 then "python26" else @@ -17,29 +24,28 @@ let if isPy34 then "python34" else if isPyPy then "pypy" else ""; - modules = python.modules or { readline = null; sqlite3 = null; curses = null; curses_panel = null; ssl = null; crypt = null; }; - -pythonPackages = modules // import ./python-packages-generated.nix { - inherit pkgs python; - inherit (pkgs) stdenv fetchurl; - self = pythonPackages; -} // + modules = python.modules or { + readline = null; + sqlite3 = null; + curses = null; + curses_panel = null; + crypt = null; + }; -# Python packages for all python versions -rec { + pythonPackages = modules // import ./python-packages-generated.nix { + inherit pkgs python; + inherit (pkgs) stdenv fetchurl; + self = pythonPackages; + } +// { - inherit python isPy26 isPy27 isPy33 isPy34 isPyPy isPy3k pythonName; - inherit (pkgs) fetchurl fetchsvn fetchgit stdenv unzip; + inherit python isPy26 isPy27 isPy33 isPy34 isPyPy isPy3k pythonName buildPythonPackage; # helpers - callPackage = callPackageWith (pkgs // pythonPackages); - # global distutils config used by buildPythonPackage distutils-cfg = callPackage ../development/python-modules/distutils-cfg { }; - buildPythonPackage = callPackage ../development/python-modules/generic { }; - wrapPython = pkgs.makeSetupHook { deps = pkgs.makeWrapper; substitutions.libPrefix = python.libPrefix; @@ -49,23 +55,16 @@ rec { # specials - recursivePthLoader = import ../development/python-modules/recursive-pth-loader { - inherit (pkgs) stdenv; - inherit python; - }; + recursivePthLoader = callPackage ../development/python-modules/recursive-pth-loader { }; - setuptools = import ../development/python-modules/setuptools { - inherit (pkgs) stdenv fetchurl; - inherit python wrapPython distutils-cfg; - }; + setuptools = callPackage ../development/python-modules/setuptools { }; # packages defined elsewhere blivet = callPackage ../development/python-modules/blivet { }; - dbus = import ../development/python-modules/dbus { - inherit (pkgs) stdenv fetchurl pkgconfig dbus dbus_glib dbus_tools; - inherit python; + dbus = callPackage ../development/python-modules/dbus { + dbus = pkgs.dbus; }; discid = buildPythonPackage rec { @@ -79,7 +78,7 @@ rec { maintainer = with maintainers; [ iyzsong ]; }; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/discid/${name}.tar.gz"; md5 = "2ad2141452dd10b03ad96ccdad075235"; }; @@ -91,37 +90,30 @@ rec { }; h5py = callPackage ../development/python-modules/h5py { - inherit (pkgs) stdenv fetchurl; - inherit python buildPythonPackage cython numpy; hdf5 = pkgs.hdf5.override { mpi = null; }; }; - h5py-mpi = h5py.override { + h5py-mpi = self.h5py.override { mpiSupport = true; mpi = pkgs.openmpi; hdf5 = pkgs.hdf5.override { mpi = pkgs.openmpi; enableShared = true; }; - inherit mpi4py; }; - ipython = import ../shells/ipython { - inherit (pkgs) stdenv fetchurl sip pyqt4; - inherit buildPythonPackage pythonPackages; + ipython = callPackage ../shells/ipython { + inherit pythonPackages; + qtconsoleSupport = !pkgs.stdenv.isDarwin; # qt is not supported on darwin pylabQtSupport = !pkgs.stdenv.isDarwin; pylabSupport = !pkgs.stdenv.isDarwin; # cups is not supported on darwin }; - ipythonLight = lowPrio (import ../shells/ipython { - inherit (pkgs) stdenv fetchurl; - inherit buildPythonPackage pythonPackages; + ipythonLight = lowPrio (self.ipython.override { qtconsoleSupport = false; pylabSupport = false; pylabQtSupport = false; }); mpi4py = callPackage ../development/python-modules/mpi4py { - inherit (pkgs) stdenv fetchurl openssh; - inherit python buildPythonPackage; mpi = pkgs.openmpi; }; @@ -129,76 +121,43 @@ rec { # This is used for NixOps to make sure we won't break it with the next major # version of nixpart. - nixpart0 = nixpart; + nixpart0 = callPackage ../tools/filesystems/nixpart/0.4 { }; - pitz = import ../applications/misc/pitz { - inherit (pkgs) stdenv fetchurl; - inherit buildPythonPackage tempita jinja2 pyyaml clepy mock nose decorator docutils; - }; + pitz = callPackage ../applications/misc/pitz { }; - pycairo = import ../development/python-modules/pycairo { - inherit (pkgs) stdenv fetchurl fetchpatch pkgconfig cairo x11; - inherit python; - }; + plantuml = callPackage ../tools/misc/plantuml { }; - pycrypto = import ../development/python-modules/pycrypto { - inherit (pkgs) fetchurl stdenv gmp; - inherit python buildPythonPackage; + pycairo = callPackage ../development/python-modules/pycairo { }; - pygobject = import ../development/python-modules/pygobject { - inherit (pkgs) stdenv fetchurl pkgconfig glib; - inherit python; - }; + pycrypto = callPackage ../development/python-modules/pycrypto { }; - pygobject3 = import ../development/python-modules/pygobject/3.nix { - inherit (pkgs) stdenv fetchurl pkgconfig glib gobjectIntrospection cairo; - inherit python pycairo; - }; + pygobject = callPackage ../development/python-modules/pygobject { }; - pygtk = import ../development/python-modules/pygtk { - inherit (pkgs) fetchurl stdenv pkgconfig gtk; - inherit python buildPythonPackage pygobject pycairo isPy3k; - }; + pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { }; - # XXX: how can we get an override here? - #pyGtkGlade = pygtk.override { - # inherit (pkgs.gnome) libglade; - #}; - pyGtkGlade = import ../development/python-modules/pygtk { - inherit (pkgs) fetchurl stdenv pkgconfig gtk; - inherit (pkgs.gnome) libglade; - inherit python buildPythonPackage pygobject pycairo isPy3k; - }; + pygtk = callPackage ../development/python-modules/pygtk { libglade = null; }; - pyqt4 = import ../development/python-modules/pyqt/4.x.nix { - inherit (pkgs) stdenv fetchurl pkgconfig qt4 makeWrapper; - inherit (pkgs.xorg) lndir; - inherit python sip; - pythonDBus = dbus; + pyGtkGlade = self.pygtk.override { + libglade = pkgs.gnome.libglade; }; - pyqt5 = import ../development/python-modules/pyqt/5.x.nix { - inherit (pkgs) stdenv fetchurl pkgconfig qt5 makeWrapper; - inherit (pkgs.xorg) lndir; - inherit python; - sip = sip_4_16; - pythonDBus = dbus; + pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { + pythonDBus = self.dbus; + pythonPackages = self; }; - sip = import ../development/python-modules/sip { - inherit (pkgs) stdenv fetchurl; - inherit python; + pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix { + sip = self.sip_4_16; + pythonDBus = self.dbus; + qt5 = pkgs.qt53; }; - sip_4_16 = import ../development/python-modules/sip/4.16.nix { - inherit (pkgs) stdenv fetchurl; - inherit python; - }; + sip = callPackage ../development/python-modules/sip { }; - tables = import ../development/python-modules/tables { - inherit (pkgs) stdenv fetchurl bzip2 lzo; - inherit python buildPythonPackage cython numpy numexpr; + sip_4_16 = callPackage ../development/python-modules/sip/4.16.nix { }; + + tables = callPackage ../development/python-modules/tables { hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; }; }; @@ -207,12 +166,12 @@ rec { aafigure = buildPythonPackage rec { name = "aafigure-0.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/aafigure/${name}.tar.gz"; md5 = "5322888a21eb0bb2e749fbf98eddf574"; }; - propagatedBuildInputs = [ pillow ]; + propagatedBuildInputs = with self; [ pillow ]; # error: invalid command 'test' doCheck = false; @@ -235,16 +194,16 @@ rec { actdiag = buildPythonPackage rec { - name = "actdiag-0.5.1"; + name = "actdiag-0.5.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/actdiag/${name}.tar.gz"; - md5 = "171c47bc1f70e5fadfffd9df0c3157be"; + sha256 = "1vr4hnkr0gcvvpaycd8q3vcx029b2f5yv8swhdr8kwspaqb0dvfa"; }; - buildInputs = [ pep8 nose unittest2 docutils ]; + buildInputs = with self; [ pep8 nose unittest2 docutils ]; - propagatedBuildInputs = [ blockdiag ]; + propagatedBuildInputs = with self; [ blockdiag ]; # One test fails: # UnicodeEncodeError: 'ascii' codec can't encode character u'\u3042' in position 0: ordinal not in range(128) @@ -264,18 +223,18 @@ rec { rev = "9744c18c4d6b0a3e7f57b01e5fe145a60fc82a47"; name = "afew-1.0_${rev}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/teythoon/afew/tarball/${rev}"; name = "${name}.tar.bz"; sha256 = "1qyban022aji2hl91dh0j3xa6ikkxl5argc6w71yp2x8b02kp3mf"; }; - buildInputs = [ pkgs.dbacl ]; + buildInputs = with self; [ pkgs.dbacl ]; - propagatedBuildInputs = [ - pythonPackages.notmuch - pythonPackages.chardet - ] ++ optional (!isPy3k) pythonPackages.subprocess32; + propagatedBuildInputs = with self; [ + self.notmuch + self.chardet + ] ++ optional (!isPy3k) self.subprocess32; doCheck = false; @@ -290,7 +249,7 @@ rec { meta = { homepage = https://github.com/teythoon/afew; - description = "afew is an initial tagging script for notmuch mail."; + description = "An initial tagging script for notmuch mail"; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; @@ -299,17 +258,17 @@ rec { alembic = buildPythonPackage rec { name = "alembic-0.6.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/alembic/${name}.tar.gz"; md5 = "71e4a8f6849e1527abfc4ea33d51f37c"; }; - buildInputs = [ nose mock ]; - propagatedBuildInputs = [ Mako sqlalchemy9 ]; + buildInputs = with self; [ nose mock ]; + propagatedBuildInputs = with self; [ Mako sqlalchemy9 ]; meta = { homepage = http://bitbucket.org/zzzeek/alembic; - description = "A database migration tool for SQLAlchemy."; + description = "A database migration tool for SQLAlchemy"; license = stdenv.lib.licenses.mit; }; }; @@ -318,42 +277,42 @@ rec { almir = buildPythonPackage rec { name = "almir-0.1.8"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/a/almir/${name}.zip"; md5 = "9a1f3c72a039622ca72b74be7a1cd37e"; }; - buildInputs = [ + buildInputs = with self; [ pkgs.which - pythonPackages.coverage - pythonPackages.mock - pythonPackages.tissue - pythonPackages.unittest2 - pythonPackages.webtest + self.coverage + self.mock + self.tissue + self.unittest2 + self.webtest ]; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ pkgs.makeWrapper pkgs.bacula - pythonPackages.colander - pythonPackages.deform - pythonPackages.deform_bootstrap - pythonPackages.docutils - pythonPackages.nose - pythonPackages.mysql_connector_repackaged - pythonPackages.pg8000 - pythonPackages.pyramid - pythonPackages.pyramid_beaker - pythonPackages.pyramid_exclog - pythonPackages.pyramid_jinja2 - pythonPackages.pyramid_tm - pythonPackages.pytz - pythonPackages.sqlalchemy - pythonPackages.transaction - pythonPackages.waitress - pythonPackages.webhelpers - pythonPackages.zope_sqlalchemy - pythonPackages.psycopg2 + self.colander + self.deform + self.deform_bootstrap + self.docutils + self.nose + self.mysql_connector_repackaged + self.pg8000 + self.pyramid + self.pyramid_beaker + self.pyramid_exclog + self.pyramid_jinja2 + self.pyramid_tm + self.pytz + self.sqlalchemy + self.transaction + self.waitress + self.webhelpers + self.psycopg2 + (self.zope_sqlalchemy.override rec {propagatedBuildInputs = with self; [ sqlalchemy8 transaction ];}) ]; postInstall = '' @@ -368,25 +327,25 @@ rec { alot = buildPythonPackage rec { - rev = "fa4ddf000dc2ac4933852b210901b649634a5f86"; - name = "alot-0.3.5_${rev}"; + rev = "0.3.6"; + name = "alot-0.3.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/pazz/alot/tarball/${rev}"; name = "${name}.tar.bz"; - sha256 = "0h11lqyxg0xbkc9y1xqjvd0kmfm5pdwnmv9chmlsi1614dxn08n0"; + sha256 = "1rzy70w4isvypa94310xw403vq5him21q8rlx4laa0z530phkrmq"; }; # error: invalid command 'test' doCheck = false; propagatedBuildInputs = - [ pythonPackages.notmuch - pythonPackages.urwid - pythonPackages.twisted - pythonPackages.magic - pythonPackages.configobj - pythonPackages.pygpgme + [ self.notmuch + self.urwid + self.twisted + self.magic + self.configobj + self.pygpgme ]; postInstall = '' @@ -406,12 +365,12 @@ rec { name = "anyjson-0.3.3"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/a/anyjson/${name}.tar.gz"; md5 = "2ea28d6ec311aeeebaf993cb3008b27c"; }; - buildInputs = [ pythonPackages.nose ]; + buildInputs = with self; [ self.nose ]; meta = { homepage = http://pypi.python.org/pypi/anyjson/; @@ -420,10 +379,31 @@ rec { }; + amqp = buildPythonPackage rec { + name = "amqp-${version}"; + version = "1.4.6"; + disabled = pythonOlder "2.6"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/a/amqp/${name}.tar.gz"; + sha256 = "0h76dnqfbc6fslwr7lx86n2gyslfv2x1vl8lpbszjs2svrkwikzb"; + md5 = "a061581b6864f838bffd62b6a3d0fb9f"; + }; + + buildInputs = with self; [ mock coverage nose-cover3 unittest2 ]; + + meta = { + homepage = http://github.com/celery/py-amqp; + description = "Python client for the Advanced Message Queuing Procotol (AMQP). This is a fork of amqplib which is maintained by the Celery project."; + license = licenses.lgpl21; + }; + }; + + amqplib = buildPythonPackage rec { name = "amqplib-0.6.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://py-amqplib.googlecode.com/files/${name}.tgz"; sha1 = "f124e5e4a6644bf6d1734032a01ac44db1b25a29"; }; @@ -438,15 +418,27 @@ rec { }; + application = buildPythonPackage rec { + name = "python-application-${version}"; + version = "1.4.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/python-application/${name}.tar.gz"; + sha256 = "3ae188e9dfd4bd63c9b43aebbf1d9de5df03fb5ac01e72f3bff5b41007570275"; + }; + }; + + apsw = buildPythonPackage rec { name = "apsw-3.7.6.2-r1"; + disabled = isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "http://apsw.googlecode.com/files/${name}.zip"; sha1 = "fa4aec08e59fa5964197f59ba42408d64031675b"; }; - buildInputs = [ pkgs.sqlite ]; + buildInputs = with self; [ pkgs.sqlite ]; # python: double free or corruption (fasttop): 0x0000000002fd4660 *** doCheck = false; @@ -459,13 +451,13 @@ rec { apscheduler = buildPythonPackage rec { - name = "APScheduler-2.1.2"; + name = "APScheduler-3.0.1"; - propagatedBuildInputs = with pythonPackages; [ futures tzlocal six pytest mock]; + propagatedBuildInputs = with self; [ futures tzlocal six pytest mock sqlalchemy9 ]; - src = fetchurl { - url = "https://pypi.python.org/packages/source/A/APScheduler/APScheduler-2.1.2.tar.gz"; - md5 = "6862959d460c16ef325d63e1fc3a6684"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/A/APScheduler/${name}.tar.gz"; + sha256 = "1dcyk58svhhd7flpq0fbyzcp0z3a1as4ddmdv1rxqvqng0sxhwaf"; }; meta = with pkgs.stdenv.lib; { @@ -477,40 +469,73 @@ rec { area53 = buildPythonPackage (rec { - name = "area53-b2c9cdcabd"; + name = "Area53-0.94"; - src = fetchgit { - url = git://github.com/bigmlcom/Area53.git; - rev = "b2c9cdcabd"; - sha256 = "b0c12b8c48ed9180c7475fab18de50d63e1b517cfb46da4d2c66fc406fe902bc"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/A/Area53/${name}.tar.gz"; + sha256 = "0v9b7f8b6v21y410anx5sr52k2ac8jrzdf19q6m6p0zsdsf9vr42"; }; # error: invalid command 'test' doCheck = false; - propagatedBuildInputs = [ pythonPackages.boto ]; + propagatedBuildInputs = with self; [ self.boto ]; }); + arrow = buildPythonPackage rec { + name = "arrow-${version}"; + version = "0.4.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/a/arrow/${name}.tar.gz"; + sha256 = "1sdr4gyjgvz86yr0ll0i11mgy8l1slndr7f0ngam87rpy78gp052"; + }; + + doCheck = false; + + meta = { + description = "Twitter API library"; + license = "apache"; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; async = buildPythonPackage rec { name = "async-0.6.1"; disabled = isPy3k; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - buildInputs = [ pkgs.zlib ]; + buildInputs = with self; [ pkgs.zlib ]; doCheck = false; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/async/${name}.tar.gz"; sha256 = "1lfmjm8apy9qpnpbq8g641fd01qxh9jlya5g2d6z60vf8p04rla1"; }; }; + atomicwrites = buildPythonPackage rec { + version = "0.1.0"; + name = "atomicwrites-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/a/atomicwrites/atomicwrites-${version}.tar.gz"; + sha256 = "1lxz0xhnzihqlvl1h6j2nfxjqqgr4s08196z5phnlcz2s7d5z0mg"; + }; + + meta = { + description = "Atomic file writes on POSIX"; + homepage = https://pypi.python.org/pypi/atomicwrites/0.1.0; + maintainers = with maintainers; [ matthiasbeyer ]; + }; + + }; + argparse = buildPythonPackage (rec { name = "argparse-1.2.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://argparse.googlecode.com/files/${name}.tar.gz"; sha256 = "192174mys40m0bwk6l5jlfnzps0xi81sxm34cqms6dc3c454pbyx"; }; @@ -537,23 +562,55 @@ rec { }); astroid = buildPythonPackage (rec { - name = "astroid-1.1.1"; - propagatedBuildInputs = [ logilab_common ]; - src = fetchurl { + name = "astroid-1.3.4"; + propagatedBuildInputs = with self; [ logilab_common six ]; + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/astroid/${name}.tar.gz"; - sha256 = "1x7103mlzndgg66yas6xrfwkwpihcq4bi9m8py1fjnhz8p5ka1vq"; + sha256 = "1fz9x21pziy9dmivvlsgl7a86ka2m9jp3pky01da5aj89ym3wi8b"; }; }); + audioread = buildPythonPackage rec { + name = "audioread-1.2.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/a/audioread/${name}.tar.gz"; + md5 = "01a80357f38dbd9bf8d7403802df89ac"; + }; + + meta = { + description = "Cross-platform audio decoding"; + homepage = "https://github.com/sampsyo/audioread"; + license = stdenv.lib.licenses.mit; + }; + }; + + audiotools = buildPythonPackage rec { + name = "audiotools-2.22"; + + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "mirror://sourceforge/audiotools/${name}.tar.gz"; + sha256 = "1c52pggsbxdbj8h92njf4h0jgfndh4yv58ad723pidys47nw1y71"; + }; + + meta = { + description = "Utilities and Python modules for handling audio."; + homepage = "http://audiotools.sourceforge.net/"; + license = stdenv.lib.licenses.gpl2Plus; + }; + }; + autopep8 = buildPythonPackage (rec { - name = "autopep8-1.0.3"; + name = "autopep8-1.0.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/autopep8/${name}.tar.gz"; - md5 = "7c16d385cf9ad7c1d7fbcfcea2588a56"; + sha256 = "17lydqm8y9a5qadp6iifxrb5mb0g9fr1vxn5qy1fjpyhazxaw8n1"; }; - propagatedBuildInputs = [ pep8 ]; + propagatedBuildInputs = with self; [ pep8 ]; # One test fails: # FAIL: test_recursive_should_not_crash_on_unicode_filename (test.test_autopep8.CommandLineTests) @@ -572,8 +629,8 @@ rec { name = "avro-1.7.6"; disabled = isPy3k; - - src = fetchurl { + + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/avro/${name}.tar.gz"; md5 = "7f4893205e5ad69ac86f6b44efb7df72"; }; @@ -586,10 +643,10 @@ rec { avro3k = pkgs.lowPrio (buildPythonPackage (rec { name = "avro3k-1.7.7-SNAPSHOT"; - + disabled = (!isPy3k); - - src = fetchurl { + + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/a/avro3k/${name}.tar.gz"; sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky"; }; @@ -602,10 +659,29 @@ rec { }; })); - backports_ssl_match_hostname_3_4_0_2 = pythonPackages.buildPythonPackage rec { + azure = buildPythonPackage rec { + version = "0.10.0"; + name = "azure-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/a/azure/${name}.zip"; + md5 = "305b0036df5696d68369807835f554ae"; + }; + + propagatedBuildInputs = with self; [ dateutil futures pyopenssl requests ]; + + meta = with stdenv.lib; { + description = "Microsoft Azure SDK for Python"; + homepage = "http://azure.microsoft.com/en-us/develop/python/"; + license = licenses.asl20; + maintainers = [ maintainers.olcai ]; + }; + }; + + backports_ssl_match_hostname_3_4_0_2 = self.buildPythonPackage rec { name = "backports.ssl_match_hostname-3.4.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/b/backports.ssl_match_hostname/backports.ssl_match_hostname-3.4.0.2.tar.gz"; md5 = "788214f20214c64631f0859dc79f23c6"; }; @@ -616,15 +692,68 @@ rec { }; }; + backports_lzma = self.buildPythonPackage rec { + name = "backports.lzma-0.0.3"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/b/backports.lzma/${name}.tar.gz"; + md5 = "c3d109746aefa86268e500c07d7e8e0f"; + }; + + buildInputs = [ pkgs.lzma ]; + + meta = { + describe = "Backport of Python 3.3's 'lzma' module for XZ/LZMA compressed files."; + homepage = https://github.com/peterjc/backports.lzma; + license = stdenv.lib.licenses.bsd3; + }; + }; + + babelfish = buildPythonPackage rec { + version = "0.5.3"; + name = "babelfish-${version}"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/b/babelfish/${name}.tar.gz"; + sha256 = "0wrw21dyq7v6lbffwvi1ik43d7dhmcv8xvgrrihhiv7ys1rd3gag"; + }; + + meta = { + homepage = http://pypi.python.org/pypi/babelfish; + description = "A module to work with countries and languages."; + license = stdenv.lib.licenses.bsd3; + }; + }; + + batinfo = buildPythonPackage rec { + version = "0.2"; + name = "batinfo-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/b/batinfo/${name}.tar.gz"; + sha256 = "1kmrdr1c2ivpqgp2csln7vbanga3sh3nvaqmgbsg96z6fbg7f7w8"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/nicolargo/batinfo; + description = "A simple Python lib to retrieve battery information"; + license = licenses.lgpl3; + platforms = platforms.all; + maintainers = [ maintainers.koral ]; + }; + }; + bcdoc = buildPythonPackage rec { - name = "bcdoc-0.12.1"; + name = "bcdoc-0.13.0"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/b/bcdoc/bcdoc-0.12.1.tar.gz"; - md5 = "7c8617347c294ea4d36ec73fb5b2c26e"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/b/bcdoc/bcdoc-0.13.0.tar.gz"; + md5 = "819882458be7b642e00ddc9846073d89"; }; - buildInputs = [ pythonPackages.docutils pythonPackages.six ]; + buildInputs = with self; [ self.docutils self.six ]; meta = { homepage = https://github.com/botocore/bcdoc; @@ -637,7 +766,7 @@ rec { name = "beautifulsoup-3.2.1"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz"; sha256 = "1nshbcpdn0jpcj51x0spzjp519pkmqz0n0748j7dgpz70zlqbfpm"; }; @@ -655,9 +784,9 @@ rec { beautifulsoup4 = buildPythonPackage (rec { name = "beautifulsoup4-4.1.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/b/beautifulsoup4/${name}.tar.gz"; - md5 = "c012adc06217b8532c446d181cc56586"; + md5 = "f1481ed77336de77a2d8e5b061b6ad62"; }; # invalid command 'test' @@ -674,20 +803,20 @@ rec { beaker = buildPythonPackage rec { name = "Beaker-1.6.4"; - + disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/B/Beaker/${name}.tar.gz"; md5 = "c2e102870ed4c53104dec48ceadf8e9d"; }; buildInputs = - [ pythonPackages.sqlalchemy - pythonPackages.pycryptopp - pythonPackages.nose - pythonPackages.mock - pythonPackages.webtest + [ self.sqlalchemy + self.pycryptopp + self.nose + self.mock + self.webtest ]; # http://hydra.nixos.org/build/4511591/log/raw @@ -702,18 +831,44 @@ rec { }; }; + caldavclientlibrary-asynk = buildPythonPackage rec { + version = "asynkdev"; + name = "caldavclientlibrary-asynk-${version}"; + + src = pkgs.fetchgit { + url = "https://github.com/skarra/CalDAVClientLibrary.git"; + rev = "06699b08190d50cc2636b921a654d67db0a967d1"; + sha256 = "1i6is7lv4v9by4panrd9w63m4xsmhwlp3rq4jjj3azwg5jm10940"; + }; + + meta = { + description = "CalDAVCLientLibrary is a Python library and tool for CalDAV"; + + longDescription = '' + CalDAVCLientLibrary is a Python library and tool for CalDAV. + + This package is the unofficial CalDAVCLientLibrary Python + library maintained by the author of Asynk and is needed for + that package. + ''; + + homepage = https://github.com/skarra/CalDAVClientLibrary/tree/asynkdev/; + maintainers = with maintainers; [ pjones ]; + }; + }; bedup = buildPythonPackage rec { name = "bedup-20140413"; - src = fetchgit { + src = pkgs.fetchgit { url = "https://github.com/g2p/bedup.git"; rev = "5189e166145b8954ac41883f81ef3c3b50dc96ab"; sha256 = "e61768fa19934bd176799f90bda3ea9f49a5def21fa2523a8e47df8a48e730e9"; }; - buildInputs = [ pkgs.btrfsProgs ]; - propagatedBuildInputs = with pkgs; [ contextlib2 sqlalchemy9 pyxdg pycparser cffi alembic ]; + buildInputs = with self; [ pkgs.btrfsProgs ]; + propagatedBuildInputs = with self; [ contextlib2 sqlalchemy9 pyxdg pycparser alembic ] + ++ optionals (!isPyPy) [ cffi ]; meta = { description = "Deduplication for Btrfs"; @@ -731,64 +886,84 @@ rec { }; }; - beets = buildPythonPackage rec { - name = "beets-1.3.6"; + circus = buildPythonPackage rec { + name = "circus-0.11.1"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/b/beets/${name}.tar.gz"; - md5 = "59615a54b3ac3983159e77ff9dda373e"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/circus/${name}.tar.gz"; + md5 = "5c07cdbe9bb4a9b82e52737ad590617b"; }; - # tests depend on $HOME setting - preConfigure = "export HOME=$TMPDIR"; + doCheck = false; # weird error - propagatedBuildInputs = - [ pythonPackages.pyyaml - pythonPackages.unidecode - pythonPackages.mutagen - pythonPackages.munkres - pythonPackages.musicbrainzngs - pythonPackages.enum34 - pythonPackages.pylast - pythonPackages.rarfile - pythonPackages.flask - modules.sqlite3 - modules.readline - ]; - - buildInputs = with pythonPackages; [ mock pyechonest six responses nose ]; - - # 10 tests are failing + propagatedBuildInputs = with self; [ iowait psutil pyzmq tornado mock ]; + }; + + cornice = buildPythonPackage rec { + name = "cornice-${version}"; + version = "0.17.0"; + src = pkgs.fetchgit { + url = https://github.com/mozilla-services/cornice.git; + rev = "refs/tags/${version}"; + sha256 = "12yrcsv1sdl5w308y1cc939ppq7pi2490s54zfcbs481cvsyr1lg"; + }; + + propagatedBuildInputs = with self; [ pyramid simplejson ]; + + doCheck = false; # lazy packager + }; + + cvxopt = buildPythonPackage rec { + name = "${pname}-${version}"; + pname = "cvxopt"; + version = "1.1.7"; + disabled = isPyPy; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/${pname}/${name}.tar.gz"; + sha256 = "f856ea2e9e2947abc1a6557625cc6b0e45228984f397a90c420b2f468dc4cb97"; + }; doCheck = false; + buildInputs = with pkgs; [ liblapack blas ]; + meta = with stdenv.lib; { + homepage = "http://cvxopt.org/"; + description = "Python Software for Convex Optimization"; + maintainers = with maintainers; [ edwtjo ]; + license = licenses.gpl3Plus; + }; + }; - meta = { - homepage = http://beets.radbox.org; - description = "Music tagger and library organizer"; - license = licenses.mit; - maintainers = [ stdenv.lib.maintainers.iElectric ]; + iowait = buildPythonPackage rec { + name = "iowait-0.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/i/iowait/${name}.tar.gz"; + md5 = "f49ca7766fe4a67e03a731e575614f87"; + }; + + meta = with stdenv.lib; { + description = "Platform-independent module for I/O completion events"; + homepage = https://launchpad.net/python-iowait; }; }; - - responses = pythonPackages.buildPythonPackage rec { + + responses = self.buildPythonPackage rec { name = "responses-0.2.2"; - propagatedBuildInputs = with pythonPackages; [ requests mock six pytest flake8 ]; - + propagatedBuildInputs = with self; [ requests mock six pytest flake8 ]; + doCheck = false; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/responses/responses-0.2.2.tar.gz"; md5 = "5d79fd425cf8d858dfc8afa6475395d3"; }; }; - - rarfile = pythonPackages.buildPythonPackage rec { - name = "rarfile-2.6"; - propagatedBuildInputs = with pythonPackages; [ ]; + rarfile = self.buildPythonPackage rec { + name = "rarfile-2.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/rarfile/rarfile-2.6.tar.gz"; md5 = "50ce3f3fdb9196a00059a5ea7b3739fd"; }; @@ -798,13 +973,11 @@ rec { homepage = https://github.com/markokr/rarfile; }; }; - - pyechonest = pythonPackages.buildPythonPackage rec { - name = "pyechonest-8.0.2"; - propagatedBuildInputs = with pythonPackages; [ ]; + pyechonest = self.buildPythonPackage rec { + name = "pyechonest-8.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pyechonest/pyechonest-8.0.2.tar.gz"; md5 = "5586fe8ece7af4e24f71ea740185127e"; }; @@ -816,15 +989,40 @@ rec { }; + billiard = buildPythonPackage rec { + name = "billiard-${version}"; + version = "3.3.0.19"; + + disabled = isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/b/billiard/${name}.tar.gz"; + sha256 = "06bs1kl7dji6lwpj3dkfi61mmrfq2mi7wz3ka683i2avwk38wsvf"; + md5 = "7e473b9da01956ce91a650f99fe8d4ad"; + }; + + buildInputs = with self; [ nose unittest2 mock ]; + + # i can't imagine these were intentionally installed + postInstall = "rm -r $out/${python.sitePackages}/funtests"; + + meta = { + homepage = https://github.com/celery/billiard; + description = "Python multiprocessing fork with improvements and bugfixes"; + license = licenses.bsd3; + }; + }; + + bitbucket_api = buildPythonPackage rec { name = "bitbucket-api-0.4.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/b/bitbucket-api/${name}.tar.gz"; md5 = "6f3cee3586c4aad9c0b2e04fce9704fb"; }; - propagatedBuildInputs = [ requests_oauth2 nose sh ]; + propagatedBuildInputs = with self; [ requests_oauth2 nose sh ]; doCheck = false; @@ -837,12 +1035,12 @@ rec { bitbucket-cli = buildPythonPackage rec { name = "bitbucket-cli-0.4.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/b/bitbucket-cli/${name}.tar.gz"; md5 = "79cdbdc6c95dfa313d12cbdef406c9f2"; }; - pythonPath = [ requests ]; + pythonPath = [ self.requests ]; meta = with stdenv.lib; { description = "Bitbucket command line interface"; @@ -855,7 +1053,7 @@ rec { bitstring = buildPythonPackage rec { name = "bitstring-3.1.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://python-bitstring.googlecode.com/files/${name}.zip"; sha256 = "1i1p3rkj4ad108f23xyib34r4rcy571gy65paml6fk77knh0k66p"; }; @@ -872,18 +1070,66 @@ rec { }; }; + bleach = buildPythonPackage rec { + version = "v1.4"; + name = "bleach-${version}"; + + src = pkgs.fetchurl { + url = "http://github.com/jsocol/bleach/archive/${version}.tar.gz"; + sha256 = "19v0zhvchz89w179rwkc4ah3cj2gbcng9alwa2yla89691g8b0b0"; + }; + + propagatedBuildInputs = with self; [ six html5lib ]; + + meta = with stdenv.lib; { + description = "An easy, HTML5, whitelisting HTML sanitizer."; + longDescription = '' + Bleach is an HTML sanitizing library that escapes or strips markup and + attributes based on a white list. Bleach can also linkify text safely, + applying filters that Django's urlize filter cannot, and optionally + setting rel attributes, even on links already in the text. + + Bleach is intended for sanitizing text from untrusted sources. If you + find yourself jumping through hoops to allow your site administrators + to do lots of things, you're probably outside the use cases. Either + trust those users, or don't. + ''; + homepage = https://github.com/jsocol/bleach; + downloadPage = https://github.com/jsocol/bleach/releases; + license = licenses.asl20; + maintainers = with maintainers; [ prikhi ]; + platforms = platforms.linux; + }; + }; + + blinker = buildPythonPackage rec { + name = "blinker-${version}"; + version = "1.3"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/b/blinker/${name}.tar.gz"; + md5 = "66e9688f2d287593a0e698cd8a5fbc57"; + }; + + meta = with stdenv.lib; { + homepage = http://pythonhosted.org/blinker/; + description = "Fast, simple object-to-object and broadcast signaling"; + license = licenses.mit; + }; + }; + blockdiag = buildPythonPackage rec { - name = "blockdiag-1.3.2"; + name = "blockdiag-1.4.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/b/blockdiag/${name}.tar.gz"; - md5 = "602a8750f312eeee84d6d138055dfae7"; + sha256 = "0bc29sh8hj3hmhclifh1by0n6vg2pl9wkxb7fmljyw0arjas54bf"; }; - buildInputs = [ pep8 nose unittest2 docutils ]; + buildInputs = with self; [ pep8 nose unittest2 docutils ]; - propagatedBuildInputs = [ pillow webcolors funcparserlib ]; + propagatedBuildInputs = with self; [ pillow webcolors funcparserlib ]; # One test fails: # ... @@ -902,12 +1148,12 @@ rec { bpython = buildPythonPackage rec { name = "bpython-0.12"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://www.bpython-interpreter.org/releases/bpython-0.12.tar.gz"; sha256 = "1ilf58qq7sazmcgg4f1wswbhcn2gb8qbbrpgm6gf0j2lbm60gabl"; }; - propagatedBuildInputs = [ modules.curses pygments ]; + propagatedBuildInputs = with self; [ modules.curses pygments ]; doCheck = false; meta = { @@ -922,15 +1168,21 @@ rec { boto = buildPythonPackage rec { name = "boto-${version}"; - version = "2.32.0"; + version = "2.36.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/boto/boto/archive/${version}.tar.gz"; - sha256 = "0bl5y7m0m84rz4q7hx783kxpj1n9wcm7dhv54bnx8cnanyd13cxn"; + sha256 = "1zrlmri89q2090yh9ylx798q4yk54y39v7w7xj101fnwc1r6jlqr"; }; - # The tests seem to require AWS credentials. - doCheck = false; + checkPhase = '' + ${python.interpreter} tests/test.py default + ''; + + buildInputs = [ self.nose self.mock ]; + propagatedBuildInputs = [ self.requests self.httpretty ]; + + patches = [ ../development/python-modules/boto/content-length-str.patch ]; meta = { homepage = https://github.com/boto/boto; @@ -947,20 +1199,19 @@ rec { }; }; - botocore = buildPythonPackage rec { - version = "0.33.0"; + version = "0.102.0"; name = "botocore-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/b/botocore/${name}.tar.gz"; - md5 = "6743c73a2e148abaa9c487a6e2ee53a3"; + sha256 = "1266hwkcchzr9r2z1q1150zmk20p3d4a75p6nppi6w9bhsywxhnr"; }; propagatedBuildInputs = - [ pythonPackages.dateutil - pythonPackages.requests - pythonPackages.jmespath + [ self.dateutil + self.requests + self.jmespath ]; meta = { @@ -973,16 +1224,89 @@ rec { }; }; + bottle = buildPythonPackage rec { + version = "0.12.8"; + name = "bottle-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/b/bottle/${name}.tar.gz"; + sha256 = "1b2hq0l4nwh75s2w6wgiqlkj4q1qvyx6a94axl2k4lsym1aifpfd"; + }; + + propagatedBuildInputs = with self; [ setuptools ]; + + meta = with stdenv.lib; { + homepage = http://bottlepy.org; + description = "A fast and simple micro-framework for small web-applications"; + license = licenses.mit; + platforms = platforms.all; + maintainers = [ maintainers.koral ]; + }; + }; + + box2d = buildPythonPackage rec { + name = "box2d-${version}"; + version = "2.3b0"; + disabled = (!isPy27); + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/B/Box2D/Box2D-2.3b0.zip"; + md5="25fc4f69cd580bdca0022ac3ace53865"; + }; + + patches = [ ../development/python-modules/box2d/disable-test.patch ]; + + propagatedBuildInputs = [ pkgs.swig pkgs.box2d ]; + + meta = with stdenv.lib; { + homepage = https://code.google.com/p/pybox2d/; + description = '' + A 2D game physics library for Python under + the very liberal zlib license + ''; + license = licenses.zlib; + platforms = platforms.all; + maintainers = [ maintainers.sepi ]; + }; + }; + + bugwarrior = buildPythonPackage rec { + name = "bugwarrior-${version}"; + version = "1.0.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/b/bugwarrior/${name}.tar.gz"; + # md5 = "09c93f86a27ffc092e69b46889a3bf50"; # provided by pypi website. + sha256 = "efe41756c152789f39006f157add9bedfa2b85d2cac15c067e635e37c70cb8f8"; + }; + + buildInputs = with self; [ mock unittest2 nose /* jira megaplan */ ]; + propagatedBuildInputs = with self; [ + twiggy requests2 offtrac bugzilla taskw dateutil pytz keyring six + jinja2 pycurl dogpile_cache lockfile click + ]; + + # for the moment jira>=0.22 and megaplan>=1.4 are missing for running the test suite. + doCheck = false; + + meta = with stdenv.lib; { + homepage = http://github.com/ralphbean/bugwarrior; + description = "Sync github, bitbucket, bugzilla, and trac issues with taskwarrior"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = [ maintainers.pierron ]; + }; + }; # bugz = buildPythonPackage (rec { # name = "bugz-0.9.3"; # - # src = fetchgit { + # src = pkgs.fetchgit { # url = "https://github.com/williamh/pybugz.git"; # rev = "refs/tags/0.9.3"; # }; # - # propagatedBuildInputs = [ pythonPackages.argparse modules.ssl ]; + # propagatedBuildInputs = with self; [ self.argparse ]; # # doCheck = false; # @@ -992,20 +1316,48 @@ rec { # }; # }); + bugzilla = buildPythonPackage rec { + name = "bugzilla-${version}"; + version = "1.1.0"; - buildout = zc_buildout; - buildout152 = zc_buildout152; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/python-bugzilla/python-${name}.tar.gz"; + # md5 = "c95befd1fecad21f742beaa8180538c0"; # provided by pypi website. + sha256 = "11361635a4f1613803a0b9b93ba9126f7fd36180653f953e2590b1536d107d46"; + }; + + patches = [ ../development/python-modules/bugzilla/checkPhase-fix-cookie-compare.patch ]; + + buildInputs = with self; [ pep8 coverage logilab_common ]; + propagatedBuildInputs = [ self.requests2 ]; + + preCheck = '' + mkdir -p check-phase + export HOME=$(pwd)/check-phase + ''; + + meta = with stdenv.lib; { + homepage = https://fedorahosted.org/python-bugzilla/; + description = "Bugzilla XMLRPC access module"; + license = licenses.gpl2; + platforms = platforms.all; + maintainers = [ maintainers.pierron ]; + }; + }; + + buildout = self.zc_buildout; + buildout152 = self.zc_buildout152; # A patched version of buildout, useful for buildout based development on Nix zc_buildout_nix = callPackage ../development/python-modules/buildout-nix { }; - zc_recipe_egg = zc_recipe_egg_buildout171; - zc_buildout = zc_buildout171; - zc_buildout2 = zc_buildout221; + zc_recipe_egg = self.zc_recipe_egg_buildout171; + zc_buildout = self.zc_buildout171; + zc_buildout2 = self.zc_buildout221; zc_buildout221 = buildPythonPackage rec { name = "zc.buildout-2.2.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz"; md5 = "476a06eed08506925c700109119b6e41"; }; @@ -1017,13 +1369,13 @@ rec { maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; - + zc_buildout171 = buildPythonPackage rec { name = "zc.buildout-1.7.1"; - + disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz"; md5 = "8834a21586bf2be53dc412002241a996"; }; @@ -1035,13 +1387,13 @@ rec { maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; - + zc_buildout152 = buildPythonPackage rec { name = "zc.buildout-1.5.2"; - + disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zc.buildout/${name}.tar.gz"; md5 = "87f7b3f8d13926c806242fd5f6fe36f7"; }; @@ -1064,21 +1416,21 @@ rec { inherit version; name = "zc.recipe.egg-${version}"; - buildInputs = [ buildout ]; + buildInputs = with self; [ buildout ]; doCheck = false; - src = fetchurl { + src = pkgs.fetchurl { inherit md5; url = "https://pypi.python.org/packages/source/z/zc.recipe.egg/zc.recipe.egg-${version}.tar.gz"; }; }; - zc_recipe_egg_buildout171 = zc_recipe_egg_fun { - buildout = zc_buildout171; + zc_recipe_egg_buildout171 = self.zc_recipe_egg_fun { + buildout = self.zc_buildout171; version = "1.3.2"; md5 = "1cb6af73f527490dde461d3614a36475"; }; - zc_recipe_egg_buildout2 = zc_recipe_egg_fun { - buildout = zc_buildout2; + zc_recipe_egg_buildout2 = self.zc_recipe_egg_fun { + buildout = self.zc_buildout2; version = "2.0.1"; md5 = "5e81e9d4cc6200f5b1abcf7c653dd9e3"; }; @@ -1087,7 +1439,7 @@ rec { name = "bunch-1.0.1"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/b/bunch/${name}.tar.gz"; sha256 = "1akalx2pd1fjlvrq69plvcx783ppslvikqdm93z2sdybq07pmish"; }; @@ -1095,19 +1447,37 @@ rec { }); + cairocffi = buildPythonPackage rec { + name = "cairocffi-0.5.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/cairocffi/${name}.tar.gz"; + md5 = "e3fa4002583bfaa88b156e1af9c75bde"; + }; + + propagatedBuildInputs = with self; [ cffi ]; + + meta = { + homepage = https://github.com/SimonSapin/cairocffi; + license = "bsd"; + description = "cffi-based cairo bindings for Python"; + }; + }; + + carrot = buildPythonPackage rec { name = "carrot-0.10.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/c/carrot/${name}.tar.gz"; md5 = "530a0614de3a669314c3acd4995c54d5"; }; - buildInputs = [ pythonPackages.nose ]; + buildInputs = with self; [ self.nose ]; propagatedBuildInputs = - [ pythonPackages.amqplib - pythonPackages.anyjson + [ self.amqplib + self.anyjson ]; doCheck = false; # depends on the network @@ -1119,17 +1489,76 @@ rec { }; + celery = buildPythonPackage rec { + name = "celery-${version}"; + version = "3.1.17"; + + disabled = pythonOlder "2.6"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/celery/${name}.tar.gz"; + sha256 = "0qh38xnbgbj7awpjxxvjlddyafxyyy3fhxcas3i8dmcb4r9vdqng"; + md5 = "e37f5d93b960bf68fc26c1325f30fd16"; + }; + + buildInputs = with self; [ mock nose unittest2 ]; + propagatedBuildInputs = with self; [ kombu billiard pytz anyjson ]; + + # tests broken on python 2.6? https://github.com/nose-devs/nose/issues/806 + doCheck = pythonAtLeast "2.7"; + + meta = { + homepage = https://github.com/celery/celery/; + description = "Distributed task queue"; + license = licenses.bsd3; + }; + }; + + + certifi = buildPythonPackage rec { + name = "certifi-${version}"; + version = "14.05.14"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/certifi/${name}.tar.gz"; + sha256 = "0s8vxzfz6s4m6fvxc7z25k9j35w0rh6jkw3wwcd1az1mssncn6qy"; + }; + + meta = with stdenv.lib; { + homepage = http://certifi.io/; + description = "Python package for providing Mozilla's CA Bundle"; + license = licenses.isc; + maintainers = [ maintainers.koral ]; + }; + }; + + characteristic = buildPythonPackage rec { + name = "characteristic-14.1.0"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/characteristic/${name}.tar.gz"; + md5 = "68ea7e28997fc57d3631791ec0567a05"; + }; + + buildInputs = with self; [ self.pytest ]; + + meta = { + description = "Python attributes without boilerplate"; + homepage = https://characteristic.readthedocs.org; + }; + }; + + cheetah = buildPythonPackage rec { version = "2.4.4"; name = "cheetah-${version}"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${version}.tar.gz"; md5 = "853917116e731afbc8c8a43c37e6ddba"; }; - propagatedBuildInputs = [ pythonPackages.markdown ]; + propagatedBuildInputs = with self; [ self.markdown ]; meta = { homepage = http://www.cheetahtemplate.org/; @@ -1142,7 +1571,7 @@ rec { name = "cherrypy-${version}"; version = "3.2.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://download.cherrypy.org/cherrypy/${version}/CherryPy-${version}.tar.gz"; sha256 = "14dn129h69wj0h8yr0bjwbrk8kygl6mkfnxc5m3fxhlm4xb8hnnw"; }; @@ -1157,29 +1586,74 @@ rec { }); - click = buildPythonPackage { - name = "click-2.1"; - src = fetchurl { - url = https://pypi.python.org/packages/source/c/click/click-2.1.tar.gz; - md5 = "0ba97ba09af82c56e2d35f3412d0aa6e"; + cjson = buildPythonPackage rec { + name = "python-cjson-${version}"; + version = "1.1.0"; + disabled = isPy3k || isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/python-cjson/${name}.tar.gz"; + sha256 = "a01fabb7593728c3d851e1cd9a3efbd18f72650a31a5aa8a74018640da3de8b3"; }; - meta = { - homepage = "http://click.pocoo.org/"; - description = "Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary."; - license = "bsd, 3-clause"; + + meta = with stdenv.lib; { + description = "This module implements a very fast JSON encoder/decoder for Python."; + homepage = "http://ag-projects.com/"; + license = licenses.lgpl2; + platforms = platforms.all; + }; + }; + + clf = buildPythonPackage rec { + name = "clf-${version}"; + version = "0.5.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/clf/${name}.tar.gz"; + sha256 = "04lqd2i4fjs606b0q075yi9xksk567m0sfph6v6j80za0hvzqyy5"; + }; + + # Error when running tests: + # No local packages or download links found for requests + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://github.com/ncrocfer/clf; + description = "Command line tool to search snippets on Commandlinefu.com"; + license = licenses.mit; + maintainers = [ maintainers.koral ]; }; }; + click = buildPythonPackage rec { + name = "click-3.3"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/click/${name}.tar.gz"; + sha256 = "1rfn8ml80rw3hkgpm1an5p3vdyhh7hzx4zynr8dhfl7bsw28r77p"; + }; + + meta = with stdenv.lib; { + homepage = http://click.pocoo.org/; + description = "Create beautiful command line interfaces in Python"; + longDescription = '' + A Python package for creating beautiful command line interfaces in a + composable way, with as little code as necessary. + ''; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ nckx ]; + }; + }; clepy = buildPythonPackage rec { name = "clepy-0.3.20"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/c/clepy/${name}.tar.gz"; sha256 = "16vibfxms5z4ld8gbkra6dkhqm2cc3jnn0fwp7mw70nlwxnmm51c"; }; - buildInputs = [ pythonPackages.mock pythonPackages.nose pythonPackages.decorator ]; + buildInputs = with self; [ self.mock self.nose self.decorator ]; meta = { homepage = http://code.google.com/p/clepy/; @@ -1192,7 +1666,7 @@ rec { name = "clientform-0.2.10"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/C/ClientForm/ClientForm-0.2.10.tar.gz"; sha256 = "0dydh3i1sx7rrj6d0gj375wkjpiivm7jjlsimw6hmwv4ck7yf1wm"; }; @@ -1211,7 +1685,7 @@ rec { version = "2.3"; name = "cogapp-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/c/cogapp/${name}.tar.gz"; sha256 = "0gzmzbsk54r1qa6wd0yg4zzdxvn2f19ciprr2acldxaknzrpllnn"; }; @@ -1232,12 +1706,12 @@ rec { colorama = buildPythonPackage rec { name = "colorama-0.2.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/c/colorama/colorama-0.2.5.tar.gz"; md5 = "308c6e38917bdbfc4d3b0783c614897d"; }; - propagatedBuildInputs = [ pythonPackages.clientform ]; + propagatedBuildInputs = with self; [ self.clientform ]; doCheck = false; @@ -1252,18 +1726,18 @@ rec { coilmq = buildPythonPackage (rec { name = "coilmq-0.6.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/C/CoilMQ/CoilMQ-0.6.1.tar.gz"; md5 = "5f39727415b837abd02651eeb2721749"; }; - propagatedBuildInputs = [ pythonPackages.stompclient ]; + propagatedBuildInputs = with self; [ self.stompclient ]; preConfigure = '' sed -i '/distribute/d' setup.py ''; - buildInputs = [ pythonPackages.coverage pythonPackages.sqlalchemy ]; + buildInputs = with self; [ self.coverage self.sqlalchemy ]; # ValueError: Could not parse auth file: # /tmp/nix-build-.../CoilMQ-0.6.1/coilmq/tests/resources/auth.ini @@ -1278,14 +1752,14 @@ rec { colander = buildPythonPackage rec { - name = "colander-1.0b1"; + name = "colander-1.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/c/colander/${name}.tar.gz"; - md5 = "89f2cf4b5c87d43f7917d6a0d4872e6a"; + md5 = "058576123da7216288c079c9f47693f8"; }; - propagatedBuildInputs = [ pythonPackages.translationstring ]; + propagatedBuildInputs = with self; [ self.translationstring self.iso8601 ]; meta = { maintainers = [ @@ -1296,23 +1770,43 @@ rec { }; }; + # Backported version of the ConfigParser library of Python 3.3 + configparser = if isPy3k then null else buildPythonPackage rec { + name = "configparser-${version}"; + version = "3.3.0r2"; + + # running install_egg_info + # error: [Errno 9] Bad file descriptor: '<stdout>' + disabled = isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/configparser/${name}.tar.gz"; + sha256 = "6a2318590dfc4013fc5bf53c2bec14a8cb455a232295eb282a13f94786c4b0b2"; + }; + + meta = { + maintainers = [ ]; + platforms = stdenv.lib.platforms.all; + }; + }; + ColanderAlchemy = buildPythonPackage rec { name = "ColanderAlchemy-0.2.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/C/ColanderAlchemy/${name}.tar.gz"; md5 = "b054837bd2753cbf15f7d5028cba421b"; }; - buildInputs = [ unittest2 ]; - propagatedBuildInputs = [ colander sqlalchemy9 ]; + buildInputs = with self; [ unittest2 ]; + propagatedBuildInputs = with self; [ colander sqlalchemy9 ]; # string: argument name cannot be overridden via info kwarg. doCheck = false; meta = { - description = "Autogenerate Colander schemas based on SQLAlchemy models."; + description = "Autogenerate Colander schemas based on SQLAlchemy models"; homepage = https://github.com/stefanofontanelli/ColanderAlchemy; license = licenses.mit; }; @@ -1322,7 +1816,7 @@ rec { configobj = buildPythonPackage (rec { name = "configobj-5.0.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/c/configobj/${name}.tar.gz"; md5 = "e472a3a1c2a67bb0ec9b5d54c13a47d6"; }; @@ -1330,8 +1824,10 @@ rec { # error: invalid command 'test' doCheck = false; + propagatedBuildInputs = with self; [ six ]; + meta = { - description = "Config file reading, writing and validation."; + description = "Config file reading, writing and validation"; homepage = http://pypi.python.org/pypi/configobj; license = licenses.bsd3; maintainers = [ stdenv.lib.maintainers.garbas ]; @@ -1343,12 +1839,12 @@ rec { version = "1.1.fb10"; name = "configshell-fb-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/agrover/configshell-fb/archive/v${version}.tar.gz"; sha256 = "1dd87xvm98nk3jzybb041gjdahi2z9b53pwqhyxcfj4a91y82ndy"; }; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ pyparsing modules.readline urwid @@ -1363,14 +1859,14 @@ rec { construct = buildPythonPackage rec { - name = "construct-2.5.1"; + name = "construct-2.5.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/c/construct/${name}.tar.gz"; - sha256 = "08qksl87vr6g2wjxwsyrjh4w6v8bfmcgrcgln7irqvw5vv7qgqss"; + sha256 = "084h02p0m8lhmlywlwjdg0kd0hd6sz481c96qwcm5wddxrqn4nv6"; }; - propagatedBuildInputs = [ six ]; + propagatedBuildInputs = with self; [ six ]; meta = with stdenv.lib; { description = "Powerful declarative parser (and builder) for binary data"; @@ -1385,18 +1881,18 @@ rec { contextlib2 = buildPythonPackage rec { name = "contextlib2-0.4.0"; - src = fetchurl rec { + src = pkgs.fetchurl rec { url = "https://pypi.python.org/packages/source/c/contextlib2/${name}.tar.gz"; md5 = "ea687207db25f65552061db4a2c6727d"; }; }; coverage = buildPythonPackage rec { - name = "coverage-3.6"; + name = "coverage-3.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/c/coverage/${name}.tar.gz"; - md5 = "67d4e393f4c6a5ffc18605409d2aa1ac"; + md5 = "055d82e6849d882ec6cf2ae1faca8e56"; }; meta = { @@ -1407,28 +1903,41 @@ rec { }; covCore = buildPythonPackage rec { - name = "cov-core-1.7"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/c/cov-core/cov-core-1.7.tar.gz"; - md5 = "59c1e22e636633e10120beacbf45b28c"; + name = "cov-core-1.15.0"; + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/c/cov-core/${name}.tar.gz"; + md5 = "f519d4cb4c4e52856afb14af52919fe6"; }; meta = { description = "plugin core for use by pytest-cov, nose-cov and nose2-cov"; }; - propagatedBuildInputs = [ pythonPackages.coverage ]; + propagatedBuildInputs = with self; [ self.coverage ]; + }; + + crcmod = buildPythonPackage rec { + name = "crcmod-1.7"; + src = pkgs.fetchurl { + url = https://pypi.python.org/packages/source/c/crcmod/crcmod-1.7.tar.gz; + sha256 = "07k0hgr42vw2j92cln3klxka81f33knd7459cn3d8aszvfh52w6w"; + }; + meta = { + description = "Python module for generating objects that compute the Cyclic Redundancy Check (CRC)"; + homepage = http://crcmod.sourceforge.net/; + license = stdenv.lib.licenses.mit; + }; }; cython = buildPythonPackage rec { name = "Cython-0.20.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://www.cython.org/release/${name}.tar.gz"; sha256 = "0v3nc9z5ynnnjdgcgkyy5g9wazmkjv53nnpjal1v3mr199s6799i"; }; setupPyBuildFlags = ["--build-base=$out"]; - buildInputs = [ pkgs.pkgconfig ]; + buildInputs = with self; [ pkgs.pkgconfig ]; meta = { description = "An interpreter to help writing C extensions for Python 2"; @@ -1439,10 +1948,10 @@ rec { cryptacular = buildPythonPackage rec { name = "cryptacular-1.4.1"; - buildInputs = [ coverage nose ]; - propagatedBuildInputs = [ pbkdf2 modules.crypt ]; + buildInputs = with self; [ coverage nose ]; + propagatedBuildInputs = with self; [ pbkdf2 modules.crypt ]; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/c/cryptacular/${name}.tar.gz"; md5 = "fe12232ac660185186dd8057d8ca7b0e"; }; @@ -1455,12 +1964,49 @@ rec { }; }; - detox = pythonPackages.buildPythonPackage rec { + cryptography = buildPythonPackage rec { + name = "cryptography-0.6.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/cryptography/${name}.tar.gz"; + sha256 = "17ij2acy28ryxahiq64lpf71d5z3sa9xhr4pjv7a1v81189i0j82"; + }; + + buildInputs = [ pkgs.openssl self.pretend self.cryptography_vectors + self.iso8601 self.pyasn1 self.pytest ]; + propagatedBuildInputs = [ self.six self.cffi ]; + }; + + cryptography_vectors = buildPythonPackage rec { + name = "cryptography_vectors-0.6.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/cryptography-vectors/${name}.tar.gz"; + sha256 = "1ks1xdb1ff74qmjdzqcfvkrwsbnwpsjgg3cy18zh37p8985cvl3r"; + }; + }; + + pretend = buildPythonPackage rec { + name = "pretend-1.0.8"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pretend/pretend-1.0.8.tar.gz"; + sha256 = "0r5r7ygz9m6d2bklflbl84cqhjkc2q12xgis8268ygjh30g2q3wk"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/alex/pretend; + license = licenses.bsd3; + }; + }; + + + detox = self.buildPythonPackage rec { name = "detox-0.9.3"; - propagatedBuildInputs = with pythonPackages; [ tox py eventlet ]; + propagatedBuildInputs = with self; [ tox py eventlet ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/detox/detox-0.9.3.tar.gz"; md5 = "b52588ec61cd4c2d33e419677a5eac8c"; }; @@ -1475,7 +2021,7 @@ rec { pbkdf2 = buildPythonPackage rec { name = "pbkdf2-1.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pbkdf2/${name}.tar.gz"; md5 = "40cda566f61420490206597243dd869f"; }; @@ -1491,12 +2037,12 @@ rec { bcrypt = buildPythonPackage rec { name = "bcrypt-1.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/b/bcrypt/${name}.tar.gz"; md5 = "c5df008669d17dd6eeb5e2042d5e136f"; }; - buildInputs = [ cffi pycparser mock pytest py ]; + buildInputs = with self; [ pycparser mock pytest py ] ++ optionals (!isPyPy) [ cffi ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -1504,14 +2050,14 @@ rec { }; cffi = buildPythonPackage rec { - name = "cffi-0.7.2"; + name = "cffi-0.8.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/c/cffi/${name}.tar.gz"; - md5 = "d329f5cb2053fd31dafc02e2c9ef0299"; + sha256 = "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5"; }; - propagatedBuildInputs = [ pkgs.libffi pycparser ]; + propagatedBuildInputs = with self; [ pkgs.libffi pycparser ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -1519,15 +2065,15 @@ rec { }; pycollada = buildPythonPackage rec { - name = "pycollada-0.4"; + name = "pycollada-0.4.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pycollada/${name}.tar.gz"; - md5 = "5d0f00c035491b945cdccdfd8a698ad2"; + sha256 = "0i50lh98550pwr95zgzrgiqzsspm09wl52xlv83y5nrsz4mblylv"; }; # pycollada-0.4 needs python-dateutil==1.5 - buildInputs = [ dateutil_1_5 numpy ]; + buildInputs = with self; [ dateutil_1_5 numpy ]; # Some tests fail because they refer to test data files that don't exist # (upstream packaging issue) @@ -1545,7 +2091,7 @@ rec { pycparser = buildPythonPackage rec { name = "pycparser-2.10"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pycparser/${name}.tar.gz"; md5 = "d87aed98c8a9f386aa56d365fe4d515f"; }; @@ -1559,46 +2105,124 @@ rec { }; pytest = buildPythonPackage rec { - name = "pytest-2.5.1"; + name = "pytest-2.6.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pytest/${name}.tar.gz"; - md5 = "4e155a0134e6757b37cc6698c20f3e9f"; + md5 = "0a1735fb1d481ef3864f34678607ba85"; }; preCheck = '' - # broken on python3, fixed in master, remove in next release - rm doc/en/plugins_index/test_plugins_index.py - # don't test bash builtins rm testing/test_argcomplete.py - - # yaml test are failing - rm doc/en/example/nonpython/test_simple.yml ''; - propagatedBuildInputs = [ py ] + propagatedBuildInputs = with self; [ py ] ++ (optional isPy26 argparse) ++ stdenv.lib.optional pkgs.config.pythonPackages.pytest.selenium or false - pythonPackages.selenium; + self.selenium; meta = with stdenv.lib; { - maintainers = with maintainers; [ iElectric lovek323 ]; + maintainers = with maintainers; [ iElectric lovek323 madjar ]; platforms = platforms.unix; }; }; + pytestcache = buildPythonPackage rec { + name = "pytest-cache-1.0"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pytest-cache/pytest-cache-1.0.tar.gz"; + sha256 = "1a873fihw4rhshc722j4h6j7g3nj7xpgsna9hhg3zn6ksknnhx5y"; + }; + + propagatedBuildInputs = with self ; [ pytest execnet ]; + + meta = { + license = stdenv.lib.licenses.mit; + website = "https://pypi.python.org/pypi/pytest-cache/"; + description = "pytest plugin with mechanisms for caching across test runs"; + }; + }; + + pytestflakes = buildPythonPackage rec { + name = "pytset-flakes-0.2"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pytest-flakes/pytest-flakes-0.2.zip"; + sha256 = "0n4mc2kaqasxmj8jid7jlss7nwgz4qgglcwdyrqvh08dilnp354i"; + }; + + propagatedBuildInputs = with self ; [ pytest pyflakes pytestcache ]; + + meta = { + license = stdenv.lib.licenses.mit; + website = "https://pypi.python.org/pypi/pytest-flakes"; + description = "pytest plugin to check source code with pyflakes"; + }; + }; + + pytestpep8 = buildPythonPackage rec { + name = "pytest-pep8"; + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/p/pytest-pep8/pytest-pep8-1.0.6.tar.gz"; + sha256 = "06032agzhw1i9d9qlhfblnl3dw5hcyxhagn7b120zhrszbjzfbh3"; + }; + + propagatedBuildInputs = with self ; [ pytest pytestcache pep8 ]; + + meta = { + license = stdenv.lib.licenses.mit; + website = "https://pypi.python.org/pypi/pytest-pep8"; + description = "pytest plugin to check PEP8 requirements"; + }; + }; + + pytestquickcheck = buildPythonPackage rec { + name = "pytest-quickcheck-0.8.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pytest-quickcheck/pytest-quickcheck-0.8.2.tar.gz"; + sha256 = "047w4zwdsnlzmsc5f3rapzbzd2frlvz9nnp8v4b48fjmqmxassh3"; + }; + + propagatedBuildInputs = with self ; [ pytest pytestflakes pytestpep8 tox ]; + + meta = { + license = stdenv.lib.licenses.asl20; + website = "https://pypi.python.org/pypi/pytest-quickcheck"; + description = "pytest plugin to generate random data inspired by QuickCheck"; + }; + }; + + pytestcov = buildPythonPackage (rec { + name = "pytest-cov-1.8.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pytest-cov/${name}.tar.gz"; + md5 = "76c778afa2494088270348be42d759fc"; + }; + + buildInputs = with self; [ covCore pytest ]; + + meta = { + description = "py.test plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing"; + + homepage = https://github.com/schlamar/pytest-cov; + + license = stdenv.lib.licenses.mit; + }; + }); + pytest_xdist = buildPythonPackage rec { name = "pytest-xdist-1.8"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pytest-xdist/pytest-xdist-1.8.zip"; md5 = "9c0b8efe9d43b460f8cf049fa46ce14d"; }; - buildInputs = [ pytest ]; - propagatedBuildInputs = [ execnet ]; + buildInputs = with self; [ pytest ]; + propagatedBuildInputs = with self; [ execnet ]; meta = { description = "py.test xdist plugin for distributed testing and loop-on-failing modes"; @@ -1608,7 +2232,7 @@ rec { cssselect = buildPythonPackage rec { name = "cssselect-0.7.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/c/cssselect/cssselect-0.7.1.tar.gz"; md5 = "c6c5e9a2e7ca226ce03f6f67a771379c"; }; @@ -1619,12 +2243,12 @@ rec { cssutils = buildPythonPackage (rec { name = "cssutils-0.9.9"; - src = fetchurl { + src = pkgs.fetchurl { url = http://pypi.python.org/packages/source/c/cssutils/cssutils-0.9.9.zip; sha256 = "139yfm9yz9k33kgqw4khsljs10rkhhxyywbq9i82bh2r31cil1pp"; }; - buildInputs = [ pythonPackages.mock ]; + buildInputs = with self; [ self.mock ]; # couple of failing tests doCheck = false; @@ -1642,12 +2266,12 @@ rec { name = "darcsver-1.7.4"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz"; sha256 = "1yb1c3jxqvy4r3qiwvnb86qi5plw6018h15r3yk5ji3nk54qdcb6"; }; - buildInputs = [ pythonPackages.mock ]; + buildInputs = with self; [ self.mock ]; # Note: We don't actually need to provide Darcs as a build input. # Darcsver will DTRT when Darcs isn't available. See news.gmane.org @@ -1670,12 +2294,12 @@ rec { dateutil = buildPythonPackage (rec { name = "dateutil-2.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; sha256 = "0s74ad6r789810s10dxgvaf48ni6adac2icrdad34zxygqq6bj7f"; }; - propagatedBuildInputs = [ pythonPackages.six ]; + propagatedBuildInputs = with self; [ self.six ]; meta = { description = "Powerful extensions to the standard datetime module"; @@ -1688,12 +2312,12 @@ rec { dateutil_1_5 = buildPythonPackage (rec { name = "dateutil-1.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; sha256 = "02dhw57jf5kjcp7ng1if7vdrbnlpb9yjmz7wygwwvf3gni4766bg"; }; - propagatedBuildInputs = [ pythonPackages.six ]; + propagatedBuildInputs = with self; [ self.six ]; meta = { description = "Powerful extensions to the standard datetime module"; @@ -1702,11 +2326,55 @@ rec { }; }); + # flexget requires 2.1 + dateutil_2_1 = buildPythonPackage (rec { + name = "dateutil-2.1"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; + sha256 = "1vlx0lpsxjxz64pz87csx800cwfqznjyr2y7nk3vhmzhkwzyqi2c"; + }; + + propagatedBuildInputs = with self; [ self.six ]; + + buildInputs = [ pkgs.glibcLocales ]; + + preBuild = '' + export LC_ALL="en_US.UTF-8" + ''; + + meta = { + description = "Powerful extensions to the standard datetime module"; + homepage = http://pypi.python.org/pypi/python-dateutil; + license = "BSD-style"; + }; + }); + + ddar = buildPythonPackage { + name = "ddar-1.0"; + + src = pkgs.fetchurl { + url = "https://github.com/basak/ddar/archive/v1.0.tar.gz"; + sha256 = "08lv7hrbhcv6hbl01sx8fgx3l8s2nn8rvcicdidafwm87bvi2nmr"; + }; + + preBuild = '' + make -f Makefile.prep synctus/ddar_pb2.py + ''; + + propagatedBuildInputs = with self; [ protobuf modules.sqlite3 ]; + + meta = { + description = "Unix de-duplicating archiver"; + license = licenses.gpl3; + homepage = https://github.com/basak/ddar; + }; + }; decorator = buildPythonPackage rec { name = "decorator-3.4.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/d/decorator/${name}.tar.gz"; md5 = "1e8756f719d746e2fc0dd28b41251356"; }; @@ -1720,22 +2388,22 @@ rec { deform = buildPythonPackage rec { name = "deform-0.9.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz"; sha256 = "0ympsjhxz5v8h4hi1mv811h064221bh26d68l9hv1x6m7sxbxpd0"; }; - buildInputs = [] ++ optional isPy26 unittest2; + buildInputs = with self; [] ++ optional isPy26 unittest2; propagatedBuildInputs = - [ pythonPackages.beautifulsoup4 - pythonPackages.peppercorn - pythonPackages.colander - pythonPackages.translationstring - pythonPackages.chameleon - pythonPackages.zope_deprecation - pythonPackages.coverage - pythonPackages.nose + [ self.beautifulsoup4 + self.peppercorn + self.colander + self.translationstring + self.chameleon + self.zope_deprecation + self.coverage + self.nose ]; meta = { @@ -1746,26 +2414,26 @@ rec { platforms = stdenv.lib.platforms.all; }; }; - + deform2 = buildPythonPackage rec { name = "deform-2.0a2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz"; sha256 = "1gfaf1d8zp0mp4h229srlffxdp86w1nni9g4aqsshxysr23x591z"; }; - buildInputs = [] ++ optional isPy26 unittest2; + buildInputs = with self; [] ++ optional isPy26 unittest2; propagatedBuildInputs = - [ pythonPackages.beautifulsoup4 - pythonPackages.peppercorn - pythonPackages.colander - pythonPackages.translationstring - pythonPackages.chameleon - pythonPackages.zope_deprecation - pythonPackages.coverage - pythonPackages.nose + [ self.beautifulsoup4 + self.peppercorn + self.colander + self.translationstring + self.chameleon + self.zope_deprecation + self.coverage + self.nose ]; meta = { @@ -1781,12 +2449,12 @@ rec { deform_bootstrap = buildPythonPackage rec { name = "deform_bootstrap-0.2.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/d/deform_bootstrap/${name}.tar.gz"; sha256 = "1hgq3vqsfqdmlyahnlc40w13viawhpzqf4jzigsggdb41x545fda"; }; - propagatedBuildInputs = [ deform ]; + propagatedBuildInputs = with self; [ deform ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -1798,7 +2466,7 @@ rec { demjson = buildPythonPackage rec { name = "demjson-1.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/demjson/${name}.tar.gz"; sha256 = "0abf7wqqq7rk1sycy47ayn5p93yy7gjq50cb2z69wmik1qqrr60x"; }; @@ -1819,12 +2487,12 @@ rec { }; }; - derpconf = pythonPackages.buildPythonPackage rec { + derpconf = self.buildPythonPackage rec { name = "derpconf-0.4.9"; - propagatedBuildInputs = [ six ]; + propagatedBuildInputs = with self; [ six ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/derpconf/${name}.tar.gz"; md5 = "a164807d7bf0c4adf1de781305f29b82"; }; @@ -1836,12 +2504,145 @@ rec { }; }; + discogs_client = buildPythonPackage rec { + name = "discogs-client-2.0.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/discogs-client/${name}.tar.gz"; + md5 = "2cc57e1d134aa93404e779b9311676fa"; + }; + + propagatedBuildInputs = with self; [ oauth2 requests ]; + + meta = { + description = "Official Python API client for Discogs"; + license = licenses.bsd2; + homepage = "https://github.com/discogs/discogs_client"; + }; + }; + + dns = buildPythonPackage rec { + name = "dnspython-${version}"; + version = "1.12.0"; + + src = pkgs.fetchurl { + url = "http://www.dnspython.org/kits/1.12.0/dnspython-1.12.0.tar.gz"; + sha256 = "0kvjlkp96qzh3j31szpjlzqbp02brixh4j4clnpw80b0hspq5yq3"; + }; + }; + + docker = buildPythonPackage rec { + name = "docker-py-0.4.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/docker-py/${name}.tar.gz"; + md5 = "21ab8fd729105487e6423b654d6c0860"; + }; + + propagatedBuildInputs = with self; [ six requests websocket_client ]; + + # Version conflict + doCheck = false; + + meta = { + description = "An API client for docker written in Python"; + homepage = https://github.com/docker/docker-py; + license = licenses.asl20; + }; + }; + + dockerpty = buildPythonPackage rec { + name = "dockerpty-0.3.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/dockerpty/${name}.tar.gz"; + md5 = "1f97b24d2f4b2c345f176f91655002dd"; + }; + + meta = { + description = "Functionality needed to operate the pseudo-tty (PTY) allocated to a docker container"; + homepage = https://github.com/d11wtq/dockerpty; + license = licenses.asl20; + }; + }; + + docker_registry_core = buildPythonPackage rec { + name = "docker-registry-core-2.0.3"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/docker-registry-core/${name}.tar.gz"; + md5 = "610ef9395f2e9a2f91c68d13325fce7b"; + }; + + DEPS = "loose"; + + doCheck = false; + propagatedBuildInputs = with self; [ + boto redis setuptools simplejson + ]; + + patchPhase = "> requirements/main.txt"; + + meta = { + description = "Docker registry core package"; + homepage = https://github.com/docker/docker-registry; + license = licenses.asl20; + }; + }; + + docker_registry = buildPythonPackage rec { + name = "docker-registry-0.9.1"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/docker-registry/${name}.tar.gz"; + sha256 = "1svm1h59sg4bwj5cy10m016gj0xpiin15nrz5z66h47sbkndvlw3"; + }; + + DEPS = "loose"; + + doCheck = false; # requires redis server + propagatedBuildInputs = with self; [ + setuptools docker_registry_core blinker flask gevent gunicorn pyyaml + requests2 rsa sqlalchemy9 setuptools backports_lzma pyasn1 m2crypto + ]; + + patchPhase = "> requirements/main.txt"; + + # Default config uses needed env variables + postInstall = '' + ln -s $out/lib/python2.7/site-packages/config/config_sample.yml $out/lib/python2.7/site-packages/config/config.yml + ''; + + meta = { + description = "Docker registry core package"; + homepage = https://github.com/docker/docker-registry; + license = licenses.asl20; + }; + }; + + docopt = buildPythonPackage rec { + name = "docopt-0.6.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/docopt/${name}.tar.gz"; + md5 = "4bc74561b37fad5d3e7d037f82a4c3b1"; + }; + + meta = { + description = "Pythonic argument parser, that will make you smile"; + homepage = http://docopt.org/; + license = licenses.mit; + }; + }; + dogpile_cache = buildPythonPackage rec { name = "dogpile.cache-0.5.4"; - propagatedBuildInputs = [ dogpile_core ]; + propagatedBuildInputs = with self; [ dogpile_core ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/dogpile.cache/dogpile.cache-0.5.4.tar.gz"; md5 = "513b77ba1bd0c31bb15dd9dd0d8471af"; }; @@ -1849,7 +2650,7 @@ rec { doCheck = false; meta = { - description = "A caching front-end based on the Dogpile lock."; + description = "A caching front-end based on the Dogpile lock"; homepage = http://bitbucket.org/zzzeek/dogpile.cache; license = licenses.bsd3; }; @@ -1858,7 +2659,7 @@ rec { dogpile_core = buildPythonPackage rec { name = "dogpile.core-0.4.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/dogpile.core/dogpile.core-0.4.1.tar.gz"; md5 = "01cb19f52bba3e95c9b560f39341f045"; }; @@ -1872,11 +2673,28 @@ rec { }; }; + dotfiles = buildPythonPackage rec { + name = "dotfiles-0.6.3"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/dotfiles/${name}.tar.gz"; + md5 = "95a0792eb92a8fc0db8a7e59389470fe"; + }; + + doCheck = true; + + meta = { + description = "Easily manage your dotfiles"; + homepage = https://github.com/jbernard/dotfiles; + license = licenses.isc; + }; + }; + dpkt = buildPythonPackage rec { name = "dpkt-1.8"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://dpkt.googlecode.com/files/${name}.tar.gz"; sha256 = "01q5prynymaqyfsfi2296xncicdpid2hs3yyasim8iigvkwy4vf5"; }; @@ -1896,7 +2714,7 @@ rec { urllib3 = buildPythonPackage rec { name = "urllib3-1.8"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/u/urllib3/${name}.tar.gz"; sha256 = "0pdigfxkq8mhzxxsn6isx8c4h9azqywr1k18yanwyxyj8cdzm28s"; }; @@ -1909,7 +2727,7 @@ rec { nosetests --cover-min-percentage 70 ''; - buildInputs = [ coverage tornado mock nose ]; + buildInputs = with self; [ coverage tornado mock nose ]; meta = with stdenv.lib; { description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs"; @@ -1920,14 +2738,15 @@ rec { dropbox = buildPythonPackage rec { - name = "dropbox-2.0.0"; + name = "dropbox-2.2.0"; + doCheck = false; # python 2.7.9 does verify ssl certificates - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/d/dropbox/${name}.zip"; - sha256 = "1bi2z1lql6ryylfflmizhqn98ab55777vn7n5krhqz40pdcjilkx"; + sha256 = "069jrwb67brqh0sics8fgqdf2mv5y5jl9k5729x8vf80pq2c9p36"; }; - propagatedBuildInputs = [ urllib3 mock setuptools ]; + propagatedBuildInputs = with self; [ urllib3 mock setuptools ]; meta = with stdenv.lib; { description = "A Python library for Dropbox's HTTP-based Core and Datastore APIs"; @@ -1937,17 +2756,62 @@ rec { }; + elasticsearch = buildPythonPackage (rec { + name = "elasticsearch-1.4.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/e/elasticsearch/${name}.tar.gz"; + md5 = "14a758debd2296d923cb6c958db98eba"; + }; + + # Check is disabled because running them destroy the content of the local cluster! + # https://github.com/elasticsearch/elasticsearch-py/tree/master/test_elasticsearch + doCheck = false; + + meta = { + description = "Official low-level client for Elasticsearch"; + + homepage = https://github.com/elasticsearch/elasticsearch-py; + + license = stdenv.lib.licenses.asl20; + }; + }); + + + elasticsearchdsl = buildPythonPackage (rec { + name = "elasticsearch-dsl-0.0.3"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/e/elasticsearch-dsl/${name}.tar.gz"; + md5 = "6cbc9ed7aefb3ef804be4e3b318b2570"; + }; + + buildInputs = with self; [ covCore dateutil elasticsearch mock pytest pytestcov unittest2 urllib3 ]; + + # ImportError: No module named test_elasticsearch_dsl + doCheck = false; + + meta = { + description = "Python client for Elasticsearch"; + + homepage = https://github.com/elasticsearch/elasticsearch-dsl-py; + + license = stdenv.lib.licenses.asl20; + }; + }); + + evdev = buildPythonPackage rec { - version = "0.4.5"; + version = "0.4.7"; name = "evdev-${version}"; disabled = isPy34; # see http://bugs.python.org/issue21121 - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/e/evdev/${name}.tar.gz"; - sha256 = "0w8ib3ab4mpfc1rvd335l8xkd41qbh3iyb0vfiiapgcfvqk74aq7"; + sha256 = "1mz8cfncpxc1wbk2nj7apl0ssqc0vfndysxchq3wabd9vzx5p71k"; }; - buildInputs = [ pkgs.linuxHeaders ]; + buildInputs = with self; [ pkgs.linuxHeaders ]; patchPhase = "sed -e 's#/usr/include/linux/input.h#${pkgs.linuxHeaders}/include/linux/input.h#' -i setup.py"; @@ -1963,16 +2827,37 @@ rec { }; + eventlib = buildPythonPackage rec { + name = "python-eventlib-${version}"; + version = "0.2.0"; + + src = pkgs.fetchurl { + url = "http://download.ag-projects.com/SipClient/${name}.tar.gz"; + sha256 = "0fld5lb85ql4a5bgc38sdxi5pgzqljysp1p8f7abxnd6vymh4rgi"; + }; + + propagatedBuildInputs = with self; [ greenlet ]; + + meta = with stdenv.lib; { + description = "Eventlib bindings for python."; + homepage = "http://ag-projects.com/"; + license = licenses.lgpl2; + platforms = platforms.all; + }; + }; + + eyeD3 = buildPythonPackage rec { version = "0.7.4"; name = "eyeD3-${version}"; + disabled = isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "http://eyed3.nicfit.net/releases/${name}.tgz"; sha256 = "001hzgqqnf2ig432mq78jsxidpky2rl2ilm28xwjp32vzphycf51"; }; - buildInputs = [ paver ]; + buildInputs = with self; [ paver ]; postInstall = '' for prog in "$out/bin/"*; do @@ -2000,7 +2885,7 @@ rec { execnet = buildPythonPackage rec { name = "execnet-1.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/e/execnet/${name}.zip"; md5 = "be885ccd9612966bb81839670d2da099"; }; @@ -2015,16 +2900,16 @@ rec { facebook-sdk = buildPythonPackage rec { name = "facebook-sdk-0.4.0"; - + disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/f/facebook-sdk/facebook-sdk-0.4.0.tar.gz"; md5 = "ac9f38e197e54b8ba9f3a61988cc33b7"; }; meta = with pkgs.stdenv.lib; { - description = "Client library that supports the Facebook Graph API and the official Facebook JavaScript SDK."; + description = "Client library that supports the Facebook Graph API and the official Facebook JavaScript SDK"; homepage = https://github.com/pythonforfacebook/facebook-sdk; license = licenses.asl20 ; }; @@ -2033,13 +2918,13 @@ rec { faker = buildPythonPackage rec { name = "faker-0.0.4"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = https://pypi.python.org/packages/source/F/Faker/Faker-0.0.4.tar.gz; sha256 = "09q5jna3j8di0gw5yjx0dvlndkrk2x9vvqzwyfsvg3nlp8h38js1"; }; - buildInputs = [ nose ]; + buildInputs = with self; [ nose ]; meta = with stdenv.lib; { - description = "A Python library for generating fake user data."; + description = "A Python library for generating fake user data"; homepage = http://pypi.python.org/pypi/Faker; license = licenses.mit; maintainers = with maintainers; [ lovek323 ]; @@ -2049,12 +2934,12 @@ rec { fake_factory = buildPythonPackage rec { name = "fake-factory-0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = https://pypi.python.org/packages/source/f/fake-factory/fake-factory-0.2.tar.gz; sha256 = "0qdmk8p4anrj9mf95dh9v7bkhv1pz69hvhlw380kj4iz7b44b6zn"; }; meta = with stdenv.lib; { - description = "A Python package that generates fake data for you."; + description = "A Python package that generates fake data for you"; homepage = https://pypi.python.org/pypi/fake-factory; license = licenses.mit; maintainers = with maintainers; [ lovek323 ]; @@ -2064,26 +2949,27 @@ rec { fabric = buildPythonPackage rec { name = "fabric-${version}"; - version = "1.9.1"; - src = fetchurl { + version = "1.10.0"; + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/F/Fabric/Fabric-${version}.tar.gz"; - sha256 = "103mzf0l15kyvw5nmf7bsdrqg6y3wpyxmkyl2h9lk7jxb5gdc9s1"; + sha256 = "0nikc05iz1fx2c9pvxrhrs819cpmg566azm99450yq2m8qmp1cpd"; }; disabled = isPy3k; - propagatedBuildInputs = [ paramiko pycrypto ]; - buildInputs = [ fudge nose ]; + doCheck = (!isPyPy); # https://github.com/fabric/fabric/issues/11891 + propagatedBuildInputs = with self; [ paramiko pycrypto ]; + buildInputs = with self; [ fudge nose ]; }; fedora_cert = stdenv.mkDerivation (rec { name = "fedora-cert-0.5.9.2"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://fedorahosted.org/releases/f/e/fedora-packager/fedora-packager-0.5.9.2.tar.bz2"; sha256 = "105swvzshgn3g6bjwk67xd8pslnhpxwa63mdsw6cl4c7cjp2blx9"; }; - propagatedBuildInputs = [ python python_fedora wrapPython ]; + propagatedBuildInputs = with self; [ python python_fedora wrapPython ]; postInstall = "mv $out/bin/fedpkg $out/bin/fedora-cert-fedpkg"; doCheck = false; @@ -2094,30 +2980,30 @@ rec { name = "fedpkg-1.14"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://fedorahosted.org/releases/f/e/fedpkg/fedpkg-1.14.tar.bz2"; sha256 = "0rj60525f2sv34g5llafnkmpvbwrfbmfajxjc14ldwzymp8clc02"; }; patches = [ ../development/python-modules/fedpkg-buildfix.diff ]; - propagatedBuildInputs = [ rpkg offtrac urlgrabber fedora_cert ]; + propagatedBuildInputs = with self; [ rpkg offtrac urlgrabber fedora_cert ]; }); fudge = buildPythonPackage rec { - name = "fudge-0.9.4"; - src = fetchurl { - url = https://pypi.python.org/packages/source/f/fudge/fudge-0.9.4.tar.gz; - sha256 = "03sj2x6mpzm48swpa4hnn1gi6yilgniyjfg1ylz95wm1ijggi33w"; + name = "fudge-0.9.6"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/f/fudge/${name}.tar.gz"; + sha256 = "185ia3vr3qk4f2s1a9hdxb8ci4qc0x0xidrad96pywg8j930qs9l"; }; - buildInputs = [ nose nosejs ]; - propagatedBuildInputs = [ sphinx ]; + buildInputs = with self; [ nose nosejs ]; + propagatedBuildInputs = with self; [ sphinx ]; }; funcparserlib = buildPythonPackage rec { name = "funcparserlib-0.3.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/f/funcparserlib/${name}.tar.gz"; md5 = "3aba546bdad5d0826596910551ce37c0"; }; @@ -2130,16 +3016,47 @@ rec { }; }; + singledispatch = buildPythonPackage rec { + name = "singledispatch-3.4.0.3"; + + propagatedBuildInputs = with self; [ six ]; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/s/singledispatch/${name}.tar.gz"; + md5 = "af2fc6a3d6cc5a02d0bf54d909785fcb"; + }; + + meta = with stdenv.lib; { + homepage = http://docs.python.org/3/library/functools.html; + }; + }; + gcutil = buildPythonPackage rec { - name = "gcutil-1.15.0"; + name = "gcutil-1.16.1"; meta.maintainers = [ stdenv.lib.maintainers.phreedom ]; - src = fetchurl { - url = https://dl.google.com/dl/cloudsdk/release/artifacts/gcutil-1.15.0.tar.gz; - sha256 = "12c98ivhjr01iz6lkga574xm8p0bsil6arydvpblyw8sjkgim5sq"; + src = pkgs.fetchurl { + url = https://dl.google.com/dl/cloudsdk/release/artifacts/gcutil-1.16.1.tar.gz; + sha256 = "00jaf7x1ji9y46fbkww2sg6r6almrqfsprydz3q2swr4jrnrsx9x"; }; - propagatedBuildInputs = [ gflags iso8601_0_1_4 ipaddr httplib2 google_apputils google_api_python_client ]; + patchPhase = '' + substituteInPlace setup.py \ + --replace "httplib2==0.8" "httplib2" \ + --replace "iso8601==0.1.4" "iso8601" + ''; + + propagatedBuildInputs = with self; [ gflags iso8601 ipaddr httplib2 google_apputils google_api_python_client ]; + }; + + gnutls = buildPythonPackage rec { + name = "python-gnutls"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/python-gnutls/python-gnutls-2.0.1.tar.gz"; + sha256 = "d8fb368c6a4dd58bc6cd5e61d4a12d119c4506fd344a371b3429b3ac2623b9ac"; + }; + + propagatedBuildInputs = with self; [ pkgs.gnutls ]; }; gitdb = buildPythonPackage rec { @@ -2147,25 +3064,25 @@ rec { meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; doCheck = false; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/g/gitdb/${name}.tar.gz"; sha256 = "10rpmmlln59aq44cd5vkb77hslak5pa1rbmigg6ski5f1nn2spfy"; }; - propagatedBuildInputs = [ smmap async ]; + propagatedBuildInputs = with self; [ smmap async ]; }; GitPython = buildPythonPackage rec { name = "GitPython-0.3.2"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/G/GitPython/GitPython-0.3.2.RC1.tar.gz"; sha256 = "1q4lc2ps12l517mmrxc8iq6gxyhj6d77bnk1p7mxf38d99l8crzx"; }; - buildInputs = [ nose ]; - propagatedBuildInputs = [ gitdb ]; + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ gitdb ]; }; googlecl = buildPythonPackage rec { @@ -2173,51 +3090,52 @@ rec { name = "googlecl-${version}"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://googlecl.googlecode.com/files/${name}.tar.gz"; sha256 = "0nnf7xkr780wivr5xnchfcrahlzy9bi2dxcs1w1bh1014jql0iha"; }; meta = with stdenv.lib; { - description = "Brings Google services to the command line."; - homepage = "https://code.google.com/p/googlecl/"; + description = "Brings Google services to the command line"; + homepage = https://code.google.com/p/googlecl/; license = licenses.asl20; maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; }; - propagatedBuildInputs = [ gdata ]; + propagatedBuildInputs = with self; [ gdata ]; }; gtimelog = buildPythonPackage rec { name = "gtimelog-${version}"; version = "0.9.1"; - + disabled = isPy26; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz"; sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj"; }; - + + buildInputs = [ pkgs.glibcLocales ]; + preBuild = '' - export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive export LC_ALL="en_US.UTF-8" ''; # TODO: AppIndicator - propagatedBuildInputs = [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ]; + propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ]; checkPhase = '' substituteInPlace runtests --replace "/usr/bin/env python" "${python}/bin/${python.executable}" ./runtests ''; - + preFixup = '' wrapProgram $out/bin/gtimelog \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3}/lib" \ - + ''; meta = with stdenv.lib; { @@ -2229,10 +3147,34 @@ rec { }; }; + hovercraft = buildPythonPackage rec { + disabled = ! isPy3k; + name = "hovercraft-${version}"; + version = "2.0b1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/h/hovercraft/${name}.zip"; + sha256 = "1l88xp563miwwkahil1sxn4kz9khjcx6z85j8d6mq8gjc8rxz3j6"; + }; + + propagatedBuildInputs = with self; [ docutils lxml manuel pygments svg-path watchdog ]; + + # one test assumes we have docutils 0.12 + # TODO: enable tests after upgrading docutils to 0.12 + doCheck = false; + + meta = { + description = "A tool to make impress.js presentations from reStructuredText"; + homepage = https://github.com/regebro/hovercraft; + license = licenses.mit; + maintainers = [ maintainers.goibhniu ]; + }; + }; + itsdangerous = buildPythonPackage rec { name = "itsdangerous-0.24"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/i/itsdangerous/${name}.tar.gz"; sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb"; }; @@ -2243,59 +3185,144 @@ rec { }; }; - # TODO: this shouldn't use a buildPythonPackage - koji = buildPythonPackage (rec { - name = "koji-1.8"; - meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - disabled = isPy3k; + jsonpatch = buildPythonPackage rec { + name = "jsonpatch-1.8"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/j/jsonpatch/jsonpatch-1.8.tar.gz"; + sha256 = "0xhp6prvk219vnzixbj231wymd458nqbnmsf5fn4252092prvig5"; + }; + + propagatedBuildInputs = with self; [ six jsonpointer ]; - src = fetchurl { - url = "https://fedorahosted.org/released/koji/koji-1.8.0.tar.bz2"; - sha256 = "10dph209h4jgajb5jmbjhqy4z4hd22i7s2d93vm3ikdf01i8iwf1"; + meta = { + description = "Apply JSON-Patches (RFC 6902)"; + homepage = "https://github.com/stefankoegl/python-json-patch"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.all; }; + }; - configurePhase = ":"; - buildPhase = ":"; - installPhase = "make install DESTDIR=$out/ && cp -R $out/nix/store/*/* $out/ && rm -rf $out/nix"; - doCheck = false; - propagatedBuildInputs = [ pythonPackages.pycurl ]; + jsonpointer = buildPythonPackage rec { + name = "jsonpointer-1.4"; - }); + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/j/jsonpointer/jsonpointer-1.4.tar.gz"; + sha256 = "1d0555smqwdbi0nm48hyqzywb9m2jlz5izgv56ll3zk7viz3b7fb"; + }; + + #propagatedBuildInputs = with self; [ six jsonpointer ]; + + meta = { + description = "Identify specific nodes in a JSON document (RFC 6901)"; + homepage = "https://github.com/stefankoegl/python-json-pointer"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.all; + }; + }; + + jsonwatch = buildPythonPackage rec { + name = "jsonwatch-0.2.0"; + + disabled = isPyPy; # doesn't find setuptools + + src = pkgs.fetchurl { + url = "https://github.com/dbohdan/jsonwatch/archive/v0.2.0.tar.gz"; + sha256 = "04b616ef97b9d8c3887004995420e52b72a4e0480a92dbf60aa6c50317261e06"; + }; + + propagatedBuildInputs = with self; [ six ]; + + meta = { + description = "Like watch -d but for JSON"; + longDescription = '' + jsonwatch is a command line utility with which you can track changes in + JSON data delivered by a shell command or a web (HTTP/HTTPS) API. + jsonwatch requests data from the designated source repeatedly at a set + interval and displays the differences when the data changes. It is + similar in its behavior to how watch(1) with the -d switch works + for plain-text data. + ''; + homepage = "https://github.com/dbohdan/jsonwatch"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.all; + }; + }; logilab_astng = buildPythonPackage rec { name = "logilab-astng-0.24.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://download.logilab.org/pub/astng/${name}.tar.gz"; sha256 = "0np4wpxyha7013vkkrdy54dvnil67gzi871lg60z8lap0l5h67wn"; }; - propagatedBuildInputs = [ logilab_common ]; + propagatedBuildInputs = with self; [ logilab_common ]; }; + mailchimp = buildPythonPackage rec { + + version = "2.0.9"; + name = "mailchimp-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/m/mailchimp/mailchimp-${version}.tar.gz"; + sha256 = "0351ai0jqv3dzx0xxm1138sa7mb42si6xfygl5ak8wnfc95ff770"; + }; + + # Test fails because specific version of docopt is searched + # (Possible fix: Needs upstream patching in the library) + doCheck = false; + + buildInputs = with self; [ docopt ]; + + propagatedBuildInputs = with self; [ requests ]; + + meta = { + description = "A CLI client and Python API library for the MailChimp email platform"; + homepage = "http://apidocs.mailchimp.com/api/2.0/"; + license = stdenv.lib.licenses.mit; + }; + }; logster = buildPythonPackage { name = "logster-7475c53822"; - src = fetchgit { + src = pkgs.fetchgit { url = git://github.com/etsy/logster; rev = "7475c53822"; sha256 = "1ls007qmziwb50c5iikxhqin0xbn673gbd25m5k09861435cknvr"; }; }; + pathtools = buildPythonPackage rec { + name = "pathtools-${version}"; + version = "0.1.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pathtools/${name}.tar.gz"; + sha256 = "1h7iam33vwxk8bvslfj4qlsdprdnwf8bvzhqh3jq5frr391cadbw"; + }; + + meta = { + description = "Pattern matching and various utilities for file systems paths"; + homepage = http://github.com/gorakhargosh/pathtools; + license = licenses.mit; + maintainers = [ maintainers.goibhniu ]; + }; + }; paver = buildPythonPackage rec { version = "1.2.2"; name = "Paver-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/P/Paver/Paver-${version}.tar.gz"; sha256 = "0lix9d33ndb3yk56sm1zlj80fbmxp0w60yk0d9pr2xqxiwi88sqy"; }; - buildInputs = [ cogapp mock virtualenv ]; + buildInputs = with self; [ cogapp mock virtualenv ]; - propagatedBuildInputs = [ nose ]; + propagatedBuildInputs = with self; [ nose ]; # the tests do not pass doCheck = false; @@ -2308,11 +3335,28 @@ rec { }; }; + passlib = buildPythonPackage rec { + version = "1.6.2"; + name = "passlib-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/passlib/passlib-${version}.tar.gz"; + md5 = "2f872ae7c72ca338634c618f2cff5863"; + }; + + buildInputs = with self; [ nose pybcrypt]; + + meta = with stdenv.lib; { + description = "A password hashing library for Python"; + homepage = https://code.google.com/p/passlib/; + }; + }; + peppercorn = buildPythonPackage rec { name = "peppercorn-0.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/peppercorn/${name}.tar.gz"; md5 = "464d6f2342eaf704dfb52046c1f5c320"; }; @@ -2327,32 +3371,63 @@ rec { }; pew = buildPythonPackage rec { - name = "pew-0.1.9"; + name = "pew-0.1.14"; + namePrefix = ""; - src = fetchurl { + disabled = pythonOlder "3.4"; # old versions require backported libraries + + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pew/${name}.tar.gz"; - md5 = "90a82400074b50a9e73c3045ed9ac217"; + md5 = "0a06ab0885b39f1ef3890893942f3225"; }; - propagatedBuildInputs = [ virtualenv virtualenv-clone ]; + propagatedBuildInputs = with self; [ virtualenv virtualenv-clone ]; meta = with stdenv.lib; { description = "Tools to manage multiple virtualenvs written in pure python, a virtualenvwrapper rewrite"; license = licenses.mit; platforms = platforms.all; + maintainers = [ maintainers.berdario ]; }; }; + poppler-qt4 = buildPythonPackage rec { + name = "poppler-qt4-${version}"; + version = "0.18.1"; + disabled = isPy3k || isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/python-poppler-qt4/" + + "python-poppler-qt4-${version}.tar.gz"; + md5 = "9c4c5a59b878aed78e96a6ae58c6c185"; + }; + + propagatedBuildInputs = [ pkgs.pyqt4 pkgs.pkgconfig pkgs.poppler_qt4 ]; + + preBuild = "${python}/bin/${python.executable} setup.py build_ext" + + " --include-dirs=${pkgs.poppler_qt4}/include/poppler/"; + + meta = with stdenv.lib; { + description = "A Python binding to Poppler-Qt4"; + longDescription = '' + A Python binding to Poppler-Qt4 that aims for completeness + and for being actively maintained. + ''; + license = licenses.lgpl21Plus; + maintainers = [ maintainers.sepi ]; + platforms = platforms.all; + }; + }; pudb = buildPythonPackage rec { name = "pudb-2013.3.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pudb/${name}.tar.gz"; md5 = "063030763bf914166a0b2bc8c011143b"; }; - propagatedBuildInputs = [ pythonPackages.pygments pythonPackages.urwid ]; + propagatedBuildInputs = with self; [ self.pygments self.urwid ]; meta = with stdenv.lib; { description = "A full-screen, console-based Python debugger"; @@ -2365,17 +3440,17 @@ rec { pyramid = buildPythonPackage rec { name = "pyramid-1.5.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz"; md5 = "8a1ab3b773d8e22437828f7df22852c1"; }; - + preCheck = '' # test is failing, see https://github.com/Pylons/pyramid/issues/1405 rm pyramid/tests/test_response.py ''; - buildInputs = [ + buildInputs = with self; [ docutils virtualenv webtest @@ -2383,7 +3458,7 @@ rec { zope_interface ] ++ optional isPy26 unittest2; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ paste_deploy repoze_lru repoze_sphinx_autointerface @@ -2407,12 +3482,12 @@ rec { pyramid_beaker = buildPythonPackage rec { name = "pyramid_beaker-0.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid_beaker/${name}.tar.gz"; md5 = "acb863517a98b90b5f29648ce55dd563"; }; - propagatedBuildInputs = [ beaker pyramid ]; + propagatedBuildInputs = with self; [ beaker pyramid ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2429,7 +3504,7 @@ rec { md5 = "5bb5938356dfd13fce06e095f132e137"; }; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ chameleon pyramid zope_interface @@ -2445,13 +3520,13 @@ rec { pyramid_jinja2 = buildPythonPackage rec { name = "pyramid_jinja2-1.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid_jinja2/${name}.zip"; md5 = "a6728117cad24749ddb39d2827cd9033"; }; - buildInputs = [ webtest ]; - propagatedBuildInputs = [ jinja2 pyramid ]; + buildInputs = with self; [ webtest ]; + propagatedBuildInputs = with self; [ jinja2 pyramid ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2463,38 +3538,38 @@ rec { pyramid_debugtoolbar = buildPythonPackage rec { name = "pyramid_debugtoolbar-1.0.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid_debugtoolbar/${name}.tar.gz"; sha256 = "1vnzg1qnnyisv7znxg7pasayfyr3nz7rrs5nqr4fmdgwj9q2pyv0"; }; - buildInputs = [ ]; - propagatedBuildInputs = [ pyramid pyramid_mako ]; + buildInputs = with self; [ ]; + propagatedBuildInputs = with self; [ pyramid pyramid_mako ]; }; pyramid_mako = buildPythonPackage rec { name = "pyramid_mako-0.3.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid_mako/${name}.tar.gz"; sha256 = "00811djmsc4rz20kpy2paam05fbx6dmrv2i5jf90f6xp6zw4isy6"; }; - buildInputs = [ webtest ]; - propagatedBuildInputs = [ pyramid Mako ]; + buildInputs = with self; [ webtest ]; + propagatedBuildInputs = with self; [ pyramid Mako ]; }; pyramid_exclog = buildPythonPackage rec { name = "pyramid_exclog-0.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid_exclog/${name}.tar.gz"; md5 = "05df86758b0d30ee6f8339ff36cef7a0"; }; - propagatedBuildInputs = [ pyramid ]; + propagatedBuildInputs = with self; [ pyramid ]; meta = { maintainers = [ @@ -2509,7 +3584,7 @@ rec { pyramid_tm = buildPythonPackage rec { name = "pyramid_tm-0.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid_tm/${name}.tar.gz"; md5 = "6dc917d262c69366630c542bd21859a3"; }; @@ -2517,7 +3592,7 @@ rec { # tests are failing in version 0.7 but are fixed in trunk doCheck = false; - propagatedBuildInputs = [ transaction pyramid ]; + propagatedBuildInputs = with self; [ transaction pyramid ]; meta = { maintainers = [ stdenv.lib.maintainers.garbas @@ -2533,12 +3608,12 @@ rec { name = "pyramid_multiauth-${version}"; version = "0.3.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pyramid_multiauth/${name}.tar.gz"; md5 = "044e423abc4fb76937ac0c21c1205e9c"; }; - propagatedBuildInputs = [ pyramid ]; + propagatedBuildInputs = with self; [ pyramid ]; meta = with stdenv.lib; { description = "Authentication policy for Pyramid that proxies to a stack of other authentication policies"; @@ -2546,17 +3621,29 @@ rec { }; }; + pyramid_hawkauth = buildPythonPackage rec { + name = "pyramidhawkauth-${version}"; + version = "0.1.0"; + src = pkgs.fetchgit { + url = https://github.com/mozilla-services/pyramid_hawkauth.git; + rev = "refs/tags/v${version}"; + sha256 = "1ic7xl72qnz382xaqhcy9ql17gx7pxbs78znp8xr66sp3dcx2s3c"; + }; + + propagatedBuildInputs = with self; [ pyramid hawkauthlib tokenlib webtest ]; + }; + radicale = buildPythonPackage rec { name = "radicale-${version}"; namePrefix = ""; - version = "0.9b1"; + version = "0.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/R/Radicale/Radicale-${version}.tar.gz"; - sha256 = "3a8451909de849f173f577ddec0a085f19040dbb6aa13d5256208a0f8e11d88d"; + sha256 = "77bf813fd26f0d359c1a7b7bcce9b842b4503c5516989a4a0a4f648e299e41f7"; }; - propagatedBuildInputs = with pythonPackages; [ + propagatedBuildInputs = with self; [ flup ldap sqlalchemy @@ -2566,6 +3653,7 @@ rec { meta = { homepage = "http://www.radicale.org/"; + description = "CalDAV CardDAV server"; longDescription = '' The Radicale Project is a complete CalDAV (calendar) and CardDAV (contact) server solution. Calendars and address books are available for @@ -2581,7 +3669,7 @@ rec { raven = buildPythonPackage rec { name = "raven-3.4.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/raven/${name}.tar.gz"; md5 = "6a9264133bf646149ffb9118d81445be"; }; @@ -2599,12 +3687,12 @@ rec { hypatia = buildPythonPackage rec { name = "hypatia-0.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/h/hypatia/${name}.tar.gz"; md5 = "d74c6dda31ff459a39fa5da9e98f2425"; }; - buildInputs = [ zope_interface zodb ]; + buildInputs = with self; [ zope_interface zodb ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2615,12 +3703,12 @@ rec { zope_copy = buildPythonPackage rec { name = "zope.copy-4.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.copy/${name}.zip"; md5 = "36aa2c96dec4cfeea57f54da2b733eb9"; }; - buildInputs = [ zope_interface zope_location zope_schema ]; + buildInputs = with self; [ zope_interface zope_location zope_schema ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2631,32 +3719,43 @@ rec { statsd = buildPythonPackage rec { name = "statsd-2.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/statsd/${name}.tar.gz"; md5 = "476ef5b9004f6e2cb25c7da440bb53d0"; }; - buildInputs = [ ]; + buildInputs = with self; [ ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; + py3status = buildPythonPackage rec { + name = "py3status-2.3"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/py3status/${name}.tar.gz"; + md5 = "89ad395268c7791ff5d36412b1efeeb9"; + }; + propagatedBuildInputs = with self; [ requests2 ]; + meta = { + maintainers = [ stdenv.lib.maintainers.garbas ]; + }; + }; pyramid_zodbconn = buildPythonPackage rec { name = "pyramid_zodbconn-0.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid_zodbconn/${name}.tar.gz"; md5 = "3c7746a227fbcda3e138ab8bfab7700b"; }; - + # should be fixed in next release doCheck = false; - buildInputs = [ pyramid mock ]; - propagatedBuildInputs = [ zodb zodburi ]; + buildInputs = with self; [ pyramid mock ]; + propagatedBuildInputs = with self; [ zodb zodburi ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2667,13 +3766,13 @@ rec { pyramid_mailer = buildPythonPackage rec { name = "pyramid_mailer-0.13"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyramid_mailer/${name}.tar.gz"; md5 = "43800c7c894097a23140da58e3638c93"; }; - buildInputs = [ pyramid transaction ]; - propagatedBuildInputs = [ repoze_sendmail ]; + buildInputs = with self; [ pyramid transaction ]; + propagatedBuildInputs = with self; [ repoze_sendmail ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2683,7 +3782,7 @@ rec { pyrtlsdr = buildPythonPackage rec { name = "pyrtlsdr-0.2.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyrtlsdr/${name}.zip"; md5 = "646336675a00d38e6f54e77a17011b95"; }; @@ -2705,12 +3804,12 @@ rec { repoze_sendmail = buildPythonPackage rec { name = "repoze.sendmail-4.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/repoze.sendmail/${name}.tar.gz"; md5 = "81d15f1f03cc67d6f56f2091c594ef57"; }; - buildInputs = [ transaction ]; + buildInputs = with self; [ transaction ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2721,24 +3820,24 @@ rec { zodburi = buildPythonPackage rec { name = "zodburi-2.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zodburi/${name}.tar.gz"; md5 = "7876893829c2f784506c80d49f861b67"; }; - buildInputs = [ zodb mock ZEO ]; + buildInputs = with self; [ zodb mock ZEO ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; - - ZEO = pythonPackages.buildPythonPackage rec { + + ZEO = self.buildPythonPackage rec { name = "ZEO-4.0.0"; - propagatedBuildInputs = [ random2 zodb six transaction persistent zc_lockfile zconfig zdaemon zope_interface ]; + propagatedBuildInputs = with self; [ random2 zodb six transaction persistent zc_lockfile zconfig zdaemon zope_interface ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/Z/ZEO/${name}.tar.gz"; md5 = "494d8320549185097ba4a6b6b76017d6"; }; @@ -2747,11 +3846,13 @@ rec { homepage = https://pypi.python.org/pypi/ZEO; }; }; - - random2 = pythonPackages.buildPythonPackage rec { + + random2 = self.buildPythonPackage rec { name = "random2-1.0.1"; - src = fetchurl { + doCheck = !isPyPy; + + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/random2/${name}.zip"; md5 = "48a0a86fe00e447212d0095de8cf3e21"; }; @@ -2763,15 +3864,15 @@ rec { rev = "089818bc61c3dc5eca023254e37a280b041ea8cc"; name = "substanced-${rev}"; - src = fetchgit { + src = pkgs.fetchgit { inherit rev; url = "https://github.com/Pylons/substanced.git"; sha256 = "17s7sdvydw9a9d2d36c70lq962ryny3dv9nzdxqpfvwiry9iy3jx"; }; - buildInputs = [ mock ]; + buildInputs = with self; [ mock ]; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ pyramid pytz zodb @@ -2798,10 +3899,28 @@ rec { }; + svg-path = buildPythonPackage rec { + name = "svg.path-${version}"; + version = "2.0b1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/s/svg.path/${name}.zip"; + sha256 = "038x4wqkbvcs71x6n6kzr4kn99csyv8v4gqzssr8pqylqpxi56bm"; + }; + + meta = { + description = "SVG path objects and parser"; + homepage = https://github.com/regebro/svg.path; + license = licenses.cc0; + maintainers = [ maintainers.goibhniu ]; + }; + }; + + repoze_lru = buildPythonPackage rec { name = "repoze.lru-0.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/repoze.lru/${name}.tar.gz"; md5 = "2c3b64b17a8e18b405f55d46173e14dd"; }; @@ -2820,12 +3939,12 @@ rec { repoze_sphinx_autointerface = buildPythonPackage rec { name = "repoze.sphinx.autointerface-0.7.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/repoze.sphinx.autointerface/${name}.tar.gz"; md5 = "f2fee996ae28dc16eb48f1a3e8f64801"; }; - propagatedBuildInputs = [ zope_interface sphinx ]; + propagatedBuildInputs = with self; [ zope_interface sphinx ]; meta = { maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -2838,7 +3957,7 @@ rec { version = "0.3a"; name = "rtmidi-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://chrisarndt.de/projects/python-rtmidi/download/python-${name}.tar.bz2"; sha256 = "0d2if633m3kbiricd5hgn1csccd8xab6lnab1bq9prdr9ks9i8h6"; }; @@ -2847,7 +3966,7 @@ rec { sed -i "/use_setuptools/d" setup.py ''; - buildInputs = [ pkgs.alsaLib pkgs.jack2 ]; + buildInputs = with self; [ pkgs.alsaLib pkgs.jack2 ]; meta = with stdenv.lib; { description = "A Python wrapper for the RtMidi C++ library written with Cython"; @@ -2857,12 +3976,34 @@ rec { }; }; + watchdog = buildPythonPackage rec { + name = "watchdog-${version}"; + version = "0.8.3"; + + propagatedBuildInputs = with self; [ argh pathtools pyyaml ]; + + doCheck = false; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/w/watchdog/${name}.tar.gz"; + sha256 = "0qj1vqszxwfx6d1s66s96jmfmy2j94bywxiqdydh6ikpvcm8hrby"; + }; + + meta = { + description = "Python API and shell utilities to monitor file system events"; + homepage = http://github.com/gorakhargosh/watchdog; + license = licenses.asl20; + maintainers = [ maintainers.goibhniu ]; + }; + }; + + zope_tales = buildPythonPackage rec { name = "zope.tales-4.0.2"; - propagatedBuildInputs = [ zope_interface six zope_testrunner ]; + propagatedBuildInputs = with self; [ zope_interface six zope_testrunner ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/z/zope.tales/${name}.zip"; md5 = "902b03a5f9774f6e2decf3f06d18a09d"; }; @@ -2872,12 +4013,12 @@ rec { zope_deprecation = buildPythonPackage rec { name = "zope.deprecation-3.5.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.deprecation/${name}.tar.gz"; md5 = "836cfea5fad548cd5a0d9af1300ec05e"; }; - buildInputs = [ zope_testing ]; + buildInputs = with self; [ zope_testing ]; meta = { maintainers = [ @@ -2892,7 +4033,7 @@ rec { venusian = buildPythonPackage rec { name = "venusian-1.0a7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/v/venusian/${name}.tar.gz"; md5 = "6f67506dd3cf77116f1c01682a6c3f27"; }; @@ -2913,12 +4054,12 @@ rec { chameleon = buildPythonPackage rec { name = "Chameleon-2.15"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/C/Chameleon/${name}.tar.gz"; md5 = "0214647152fcfcb9ce357624f8f9f203"; }; - buildInputs = [] ++ optionals isPy26 [ ordereddict unittest2 ]; + buildInputs = with self; [] ++ optionals isPy26 [ ordereddict unittest2 ]; # TODO: https://github.com/malthe/chameleon/issues/139 doCheck = false; @@ -2932,10 +4073,27 @@ rec { }; }; + ddt = buildPythonPackage (rec { + name = "ddt-1.0.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/ddt/${name}.tar.gz"; + md5 = "29688456f9ee42d09d7d7c864ce6e17b"; + }; + + meta = { + description = "Data-Driven/Decorated Tests, a library to multiply test cases"; + + homepage = https://github.com/txels/ddt; + + license = stdenv.lib.licenses.mit; + }; + }); + distutils_extra = buildPythonPackage rec { name = "distutils-extra-2.26"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://launchpad.net/python-distutils-extra/trunk/2.26/+download/python-${name}.tar.gz"; md5 = "7caded30a45907b5cdb10ac4182846eb"; }; @@ -2947,15 +4105,15 @@ rec { }; deluge = buildPythonPackage rec { - name = "deluge-1.3.6"; + name = "deluge-1.3.11"; - src = fetchurl { - url = "http://download.deluge-torrent.org/source/${name}.tar.gz"; - md5 = "33557678bf2f320de670ddaefaea009d"; + src = pkgs.fetchurl { + url = "http://download.deluge-torrent.org/source/${name}.tar.bz2"; + sha256 = "16681sg7yi03jqyifhalnw4vavb8sj94cisldal7nviai8dz9qc3"; }; - propagatedBuildInputs = with pkgs; [ - pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl modules.curses + propagatedBuildInputs = with self; [ + pyGtkGlade pkgs.libtorrentRasterbar twisted Mako chardet pyxdg self.pyopenssl modules.curses ]; postInstall = '' @@ -2976,7 +4134,7 @@ rec { pyxdg = buildPythonPackage rec { name = "pyxdg-0.25"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyxdg/${name}.tar.gz"; md5 = "bedcdb3a0ed85986d40044c87f23477c"; }; @@ -2995,7 +4153,7 @@ rec { chardet = buildPythonPackage rec { name = "chardet-2.1.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/c/chardet/${name}.tar.gz"; md5 = "295367fd210d20f3febda615a88e1ef0"; }; @@ -3008,15 +4166,34 @@ rec { }; }; - django = django_1_6; + django = self.django_1_7; + + django_1_7 = buildPythonPackage rec { + name = "Django-${version}"; + version = "1.7.7"; + disabled = pythonOlder "2.7"; + + src = pkgs.fetchurl { + url = "http://www.djangoproject.com/m/releases/1.7/${name}.tar.gz"; + sha256 = "0crfpnf246c25887by2fjlxinp4rnhya4ksqfydcls9m0s9gh5j8"; + }; + + # error: invalid command 'test' + doCheck = false; + + meta = { + description = "A high-level Python Web framework"; + homepage = https://www.djangoproject.com/; + }; + }; django_1_6 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.6.6"; + version = "1.6.11"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://www.djangoproject.com/m/releases/1.6/${name}.tar.gz"; - sha256 = "143yp984n8a2bs1dflxjp1s7skmji0cwkw05s9ikbfikwmabsv2k"; + sha256 = "0misvia78c14y07zs5xsb9lv54q0v217jpaindrmhhw4wiryal3y"; }; # error: invalid command 'test' @@ -3030,11 +4207,11 @@ rec { django_1_5 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.5.9"; + version = "1.5.12"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://www.djangoproject.com/m/releases/1.5/${name}.tar.gz"; - sha256 = "1lm0pa6m9f4cd6pv239lqj32z1snf8xjbvlbh8bqihs6a1f51kj7"; + sha256 = "1vbcvn6ncg7hq5i1w95h746vkq9lmp120vx63h3p56z5nsz7gpmk"; }; # error: invalid command 'test' @@ -3048,11 +4225,11 @@ rec { django_1_4 = buildPythonPackage rec { name = "Django-${version}"; - version = "1.4.14"; + version = "1.4.20"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://www.djangoproject.com/m/releases/1.4/${name}.tar.gz"; - sha256 = "173ci9ml2vs1z2x51wahssfn8mrmhd02varmg9kibm8z460svvc1"; + sha256 = "1cgb23afinmbvbaryvy3yj5m40h68mq6gvadcqyv3j64cja73b2q"; }; # error: invalid command 'test' @@ -3067,7 +4244,7 @@ rec { django_1_3 = buildPythonPackage rec { name = "Django-1.3.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://www.djangoproject.com/m/releases/1.3/${name}.tar.gz"; sha256 = "12pv8y2x3fhrcrjayfm6z40r57iwchfi5r19ajs8q8z78i3z8l7f"; }; @@ -3086,12 +4263,12 @@ rec { name = "django_evolution-0.6.9"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://downloads.reviewboard.org/releases/django-evolution/${name}.tar.gz"; md5 = "c0d7d10bc41898c88b14d434c48766ff"; }; - propagatedBuildInputs = [ django_1_5 ]; + propagatedBuildInputs = with self; [ django_1_5 ]; meta = { description = "A database schema evolution tool for the Django web framework"; @@ -3103,7 +4280,7 @@ rec { django_tagging = buildPythonPackage rec { name = "django-tagging-0.3.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/d/django-tagging/${name}.tar.gz"; md5 = "a0855f2b044db15f3f8a025fa1016ddf"; }; @@ -3111,7 +4288,7 @@ rec { # error: invalid command 'test' doCheck = false; - propagatedBuildInputs = [ django_1_3 ]; + propagatedBuildInputs = with self; [ django_1_3 ]; meta = { description = "A generic tagging application for Django projects"; @@ -3120,15 +4297,59 @@ rec { }; + django_classytags = buildPythonPackage rec { + name = "django-classy-tags-${version}"; + version = "0.6.1"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/d/django-classy-tags/${name}.tar.gz"; + md5 = "eb686aa767ad8cf88c1fa0f400a42516"; + sha256 = "0wxvpmjdzk0aajk33y4himn3wqjx7k0aqlka9j8ay3yfav78bdq0"; + }; + + propagatedBuildInputs = with self; [ django_1_7 ]; + + # tests appear to be broken on 0.6.1 at least + doCheck = ( version != "0.6.1" ); + + meta = with stdenv.lib; { + description = "Class based template tags for Django"; + homepage = https://github.com/ojii/django-classy-tags; + license = stdenv.lib.licenses.bsd3; + }; + }; + + + django_reversion = buildPythonPackage rec { + name = "django-reversion-${version}"; + version = "1.8.5"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/d/django-reversion/${name}.tar.gz"; + md5 = "2de5a3fe82aaf505c134570f96fcc7a8"; + sha256 = "0z8fxvxgbxfnalr5br74rsw6g42nry2q656rx7rsgmicd8n42v2r"; + }; + + propagatedBuildInputs = with self; [ django_1_7 ] ++ + (optionals (pythonOlder "2.7") [ importlib ordereddict ]); + + meta = with stdenv.lib; { + description = "An extension to the Django web framework that provides comprehensive version control facilities"; + homepage = https://github.com/etianen/django-reversion; + license = stdenv.lib.licenses.bsd3; + }; + }; + + djblets = buildPythonPackage rec { name = "Djblets-0.6.28"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://downloads.reviewboard.org/releases/Djblets/0.6/${name}.tar.gz"; sha256 = "11fsi911cqkjgv9j7646ljc2fgxsdfyq44kzmv01xhysm50fn6xx"; }; - propagatedBuildInputs = [ pil django_1_3 feedparser ]; + propagatedBuildInputs = with self; [ pil django_1_3 feedparser ]; meta = { description = "A collection of useful extensions for Django"; @@ -3138,40 +4359,41 @@ rec { dulwich = buildPythonPackage rec { - name = "dulwich-0.8.7"; - disabled = isPy3k || isPyPy; + name = "dulwich-${version}"; + version = "0.9.8"; - src = fetchurl { - url = "http://samba.org/~jelmer/dulwich/${name}.tar.gz"; - sha256 = "041qp5v2x8fbwkmws6hwwiny74lavkz723dj8gwbm40b2383d8vv"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/dulwich/${name}.tar.gz"; + sha256 = "0iwxp9n2c09wahq8bqnc5z431kq5bs75vbwl93nzwm2grj00l6lb"; }; - buildPhase = "make build"; + # Only test dependencies + buildInputs = with self; [ pkgs.git gevent geventhttpclient mock fastimport ]; - # For some reason "python setup.py test" doesn't work with Python 2.6. - # pretty sure that is about import behaviour. - doCheck = python.majorVersion != "2.6"; - - meta = { + meta = with stdenv.lib; { description = "Simple Python implementation of the Git file formats and protocols."; homepage = http://samba.org/~jelmer/dulwich/; + license = licenses.gpl2Plus; + maintainers = [ maintainers.koral ]; }; }; - hggit = buildPythonPackage rec { - name = "hg-git-0.3.1"; + hg-git = buildPythonPackage rec { + name = "hg-git-${version}"; + version = "0.7.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/h/hg-git/${name}.tar.gz"; - md5 = "4b15867a07abb0be985177581ce64cee"; + sha256 = "1ab1phaqa8jrba6dqsf3b0lgx912j41b8dlkna9c2wxip63wvfcx"; }; - propagatedBuildInputs = [ dulwich ]; + propagatedBuildInputs = with self; [ pkgs.mercurial dulwich ]; - meta = { + meta = with stdenv.lib; { description = "Push and pull from a Git server using Mercurial."; homepage = http://hg-git.github.com/; + maintainers = [ maintainers.koral ]; }; }; @@ -3179,7 +4401,7 @@ rec { docutils = buildPythonPackage rec { name = "docutils-0.11"; - src = fetchurl { + src = pkgs.fetchurl { url = "mirror://sourceforge/docutils/${name}.tar.gz"; sha256 = "1jbybs5a396nrjy9m13pgvsxdwaj7jw7nsawkhl4fi1nvxm1dx4s"; }; @@ -3189,14 +4411,14 @@ rec { meta = { homepage = http://docutils.sourceforge.net/; - description = "Docutils is an open-source text processing system for processing plaintext documentation into useful formats, such as HTML or LaTeX."; + description = "An open-source text processing system for processing plaintext documentation into useful formats, such as HTML or LaTeX"; }; }; doxypy = buildPythonPackage rec { name = "doxypy-0.4.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://code.foosel.org/files/${name}.tar.gz"; sha256 = "1afmb30zmy7942b53qa5vd3js883wwqqls35n8xfb3rnj0qnll8g"; }; @@ -3213,7 +4435,7 @@ rec { dtopt = buildPythonPackage rec { name = "dtopt-0.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/d/dtopt/${name}.tar.gz"; md5 = "9a41317149e926fcc408086aedee6bab"; }; @@ -3227,15 +4449,15 @@ rec { ecdsa = buildPythonPackage rec { name = "ecdsa-${version}"; - version = "0.10"; + version = "0.11"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/e/ecdsa/${name}.tar.gz"; - md5 = "e95941b3bcbf1726472bb724d7478551"; + md5 = "8ef586fe4dbb156697d756900cb41d7c"; }; # Only needed for tests - buildInputs = [ pkgs.openssl ]; + buildInputs = with self; [ pkgs.openssl ]; meta = { description = "ECDSA cryptographic signature library"; @@ -3248,12 +4470,11 @@ rec { elpy = buildPythonPackage rec { name = "elpy-1.0.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/e/elpy/elpy-1.0.1.tar.gz"; md5 = "5453f085f7871ed8fc11d51f0b68c785"; }; - buildInputs = [ ]; - propagatedBuildInputs = [ flake8 ]; + propagatedBuildInputs = with self; [ flake8 ]; doCheck = false; # there are no tests @@ -3268,41 +4489,50 @@ rec { name = "enum-0.4.4"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/e/enum/${name}.tar.gz"; md5 = "ce75c7c3c86741175a84456cc5bd531e"; }; - + doCheck = !isPyPy; - buildInputs = [ ]; + buildInputs = with self; [ ]; - propagatedBuildInputs = [ ]; + propagatedBuildInputs = with self; [ ]; meta = { homepage = http://pypi.python.org/pypi/enum/; - description = "Robust enumerated type support in Python."; + description = "Robust enumerated type support in Python"; }; }; enum34 = buildPythonPackage rec { - name = "enum34-1.0"; + name = "enum34-${version}"; + version = "1.0.4"; + disabled = pythonAtLeast "3.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/e/enum34/${name}.tar.gz"; - md5 = "9d57f5454c70c11707998ea26c1b0a7c"; + sha256 = "0iz4jjdvdgvfllnpmd92qxj5fnfxqpgmjpvpik0jjim3lqk9zhfk"; }; + buildInputs = optional isPy26 self.ordereddict; + + meta = { + homepage = https://pypi.python.org/pypi/enum34; + description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4"; + license = "BSD"; + }; }; epc = buildPythonPackage rec { name = "epc-0.0.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/e/epc/${name}.tar.gz"; md5 = "04a93c0cd32b496969ead09f414dac74"; }; - propagatedBuildInputs = [ sexpdata ]; + propagatedBuildInputs = with self; [ sexpdata ]; doCheck = false; meta = { @@ -3311,22 +4541,19 @@ rec { }; }; - eventlet = buildPythonPackage rec { - name = "eventlet-0.15.1"; + name = "eventlet-0.16.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/e/eventlet/${name}.tar.gz"; - md5 = "7155780824bb6344651a573838416f21"; + md5 = "58f6e5cd1bcd8ab78e32a2594aa0abad"; }; - buildInputs = [ nose httplib2 ]; - - propagatedBuildInputs = [ greenlet ]; + buildInputs = with self; [ nose httplib2 pyopenssl ]; - PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; + doCheck = false; # too much transient errors to bother - doCheck = false; # !!! fix; tests access the network + propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ]; meta = { homepage = http://pypi.python.org/pypi/eventlet/; @@ -3334,11 +4561,49 @@ rec { }; }; + fastimport = buildPythonPackage rec { + name = "fastimport-${version}"; + version = "0.9.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/f/fastimport/${name}.tar.gz"; + sha256 = "0k8x7552ypx9rc14vbsvg2lc6z0r8pv9laah28pdwyynbq10825d"; + }; + + meta = with stdenv.lib; { + homepage = https://launchpad.net/python-fastimport; + description = "VCS fastimport/fastexport parser"; + maintainers = [ maintainers.koral ]; + license = licenses.gpl2Plus; + }; + }; + + feedgenerator = buildPythonPackage (rec { + name = "feedgenerator-1.7"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/f/feedgenerator/${name}.tar.gz"; + md5 = "92978492871342ad64e8ae0ccfcf200c"; + }; + + buildInputs = [ pkgs.glibcLocales ]; + + preConfigure = '' + export LC_ALL="en_US.UTF-8" + ''; + + propagatedBuildInputs = with self; [ six pytz ]; + + meta = { + homepage = https://github.com/dmdm/feedgenerator-py3k.git; + description = "Standalone version of django.utils.feedgenerator, compatible with Py3k"; + }; + }); feedparser = buildPythonPackage (rec { name = "feedparser-5.1.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/f/feedparser/${name}.tar.gz"; md5 = "f2253de78085a1d5738f626fcc1d8f71"; }; @@ -3351,23 +4616,91 @@ rec { }; }); + fig = buildPythonPackage rec { + name = "fig-1.0.1"; + disabled = isPy3k || isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/f/fig/${name}.tar.gz"; + md5 = "e1c82296fe2362fae21b3cb0dfee8cb2"; + }; + + propagatedBuildInputs = with self; [ + six requests2 pyyaml texttable docopt + (dockerpty.override { + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/dockerpty/dockerpty-0.3.2.tar.gz"; + md5 = "1f97b24d2f4b2c345f176f91655002dd"; + }; + }) + (docker.override { + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/docker-py/docker-py-0.5.3.tar.gz"; + md5 = "809b7b8c144f5e37787e72b030ee353f"; + }; + }) + (websocket_client.override { + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/w/websocket-client/websocket-client-0.11.0.tar.gz"; + md5 = "fcffbb5ac10941d9ace416d14d1e3ec8"; + }; + }) + ]; + + doCheck = false; + + meta = { + homepage = http://www.fig.sh/; + description = "Fast, isolated development environments using Docker"; + license = stdenv.lib.licenses.asl20; + }; + }; + + filebrowser_safe = buildPythonPackage rec { + version = "0.3.6"; + name = "filebrowser_safe-${version}"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/f/filebrowser_safe/${name}.tar.gz"; + md5 = "12a1ad3a1ed6a9377e758c4fa7fee570"; + }; + + meta = with stdenv.lib; { + description = "A snapshot of django-filebrowser for the Mezzanine CMS"; + longDescription = '' + filebrowser_safe was created to provide a snapshot of the FileBrowser + asset manager for Django, to be referenced as a dependency for the + Mezzanine CMS for Django. + + At the time of filebrowser_safe's creation, FileBrowser was incorrectly + packaged on PyPI, and had also dropped compatibility with Django 1.1 - + filebrowser_safe was therefore created to address these specific + issues. + ''; + homepage = https://github.com/stephenmcd/filebrowser-safe; + downloadPage = https://pypi.python.org/pypi/filebrowser_safe/; + license = licenses.free; + maintainers = with maintainers; [ prikhi ]; + platforms = platforms.linux; + }; + }; flake8 = buildPythonPackage (rec { name = "flake8-2.1.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz"; md5 = "cf326cfb88a1db6c5b29a3a6d9efb257"; }; - buildInputs = [ nose mock ]; - propagatedBuildInputs = [ pyflakes pep8 mccabe ]; + buildInputs = with self; [ nose mock ]; + propagatedBuildInputs = with self; [ pyflakes pep8 mccabe ]; # 3 failing tests #doCheck = false; meta = { - description = "code checking using pep8 and pyflakes."; + description = "Code checking using pep8 and pyflakes"; homepage = http://pypi.python.org/pypi/flake8; license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; @@ -3378,12 +4711,12 @@ rec { flask = buildPythonPackage { name = "flask-0.10.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/F/Flask/Flask-0.10.1.tar.gz"; md5 = "378670fe456957eb3c27ddaef60b2b24"; }; - propagatedBuildInputs = [ werkzeug jinja2 ]; + propagatedBuildInputs = with self; [ werkzeug jinja2 ]; meta = { homepage = http://flask.pocoo.org/; @@ -3392,47 +4725,116 @@ rec { }; }; + flask_cache = buildPythonPackage rec { + name = "Flask-Cache-0.13.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/F/Flask-Cache/${name}.tar.gz"; + md5 = "ab82a9cd0844891ccdb54fbb93fd6c59"; + }; + + propagatedBuildInputs = with self; [ werkzeug flask ]; + + meta = { + homepage = https://github.com/thadeusb/flask-cache; + description = "Adds cache support to your Flask application"; + license = "BSD"; + }; + }; + + wtforms = buildPythonPackage rec { + version = "2.0.2"; + name = "wtforms-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/W/WTForms/WTForms-${version}.zip"; + md5 = "613cf723ab40537705bec02733c78d95"; + }; + + propagatedBuildInputs = with self; [ ordereddict Babel ]; + + meta = { + homepage = https://github.com/wtforms/wtforms; + description = "A flexible forms validation and rendering library for Python"; + license = licenses.bsd3; + }; + }; + flexget = buildPythonPackage rec { - name = "FlexGet-1.2.161"; + version = "1.2.278"; + name = "FlexGet-${version}"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/F/FlexGet/${name}.tar.gz"; - md5 = "f7533e7b1df49cc8027fc4a2cde0290d"; + md5 = "9c8e41d9e59d53cf2c720661b2880719"; }; - buildInputs = [ nose ]; - # dateutil dependancy: requirement is dateutil !=2.0 and != 2.2, - # dateutil_1_5 is used as it's supported, but a newer version could be used - propagatedBuildInputs = [ paver feedparser sqlalchemy pyyaml rpyc + doCheck = false; + + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ paver feedparser sqlalchemy9 pyyaml rpyc beautifulsoup4 html5lib pyrss2gen pynzb progressbar jinja2 flask - cherrypy requests dateutil_1_5 jsonschema python_tvrage tmdb3 ] + cherrypy requests dateutil_2_1 jsonschema python_tvrage tmdb3 + guessit pathpy apscheduler ] # enable deluge and transmission plugin support, if they're installed ++ stdenv.lib.optional (pkgs.config.pythonPackages.deluge or false) pythonpackages.deluge ++ stdenv.lib.optional (pkgs.transmission != null) - pythonPackages.transmissionrpc; + self.transmissionrpc; meta = { homepage = http://flexget.com/; - description = "Multipurpose automation tool for content like torrents, ..."; + description = "Multipurpose automation tool for content like torrents"; license = stdenv.lib.licenses.mit; maintainers = [ stdenv.lib.maintainers.iElectric ]; }; }; + # py3k disabled, see https://travis-ci.org/NixOS/nixpkgs/builds/48759067 + graph-tool = if isPy3k then throw "graph-tool in Nix doesn't support py3k yet" + else callPackage ../development/python-modules/graph-tool/2.x.x.nix { }; + + grappelli_safe = buildPythonPackage rec { + version = "0.3.13"; + name = "grappelli_safe-${version}"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/g/grappelli_safe/${name}.tar.gz"; + md5 = "5c8c681a0b1df94ecd6dc0b3a8b80892"; + }; + + meta = with stdenv.lib; { + description = "A snapshot of django-grappelli for the Mezzanine CMS"; + longDescription = '' + grappelli_safe was created to provide a snapshot of the Grappelli admin + skin for Django, to be referenced as a dependency for the Mezzanine CMS + for Django. + + At the time of grappelli_safe's creation, Grappelli was incorrectly + packaged on PyPI, and had also dropped compatibility with Django 1.1 - + grappelli_safe was therefore created to address these specific issues. + ''; + homepage = https://github.com/stephenmcd/grappelli-safe; + downloadPage = http://pypi.python.org/pypi/grappelli_safe/; + license = licenses.free; + maintainers = with maintainers; [ prikhi ]; + platforms = platforms.linux; + }; + }; + python_tvrage = buildPythonPackage (rec { version = "0.4.1"; name = "tvrage-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/python-tvrage/python-tvrage-${version}.tar.gz"; md5 = "cdfec252158c5047b626861900186dfb"; }; # has mostly networking dependent tests doCheck = false; - propagatedBuildInputs = [ beautifulsoup ]; + propagatedBuildInputs = with self; [ beautifulsoup ]; meta = { homepage = https://github.com/ckreutzer/python-tvrage; @@ -3446,13 +4848,13 @@ rec { version = "2.4.0"; name = "jsonschema-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/j/jsonschema/jsonschema-${version}.tar.gz"; md5 = "661f85c3d23094afbb9ac3c0673840bf"; }; - buildInputs = [ nose mock ]; - + buildInputs = with self; [ nose mock ]; + patchPhase = '' substituteInPlace jsonschema/tests/test_jsonschema_test_suite.py --replace "python" "${python}/bin/${python.executable}" ''; @@ -3469,11 +4871,30 @@ rec { }; }); + falcon = buildPythonPackage (rec { + name = "falcon-0.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/f/falcon/${name}.tar.gz"; + md5 = "bf9e8bdd20700f1ff7ce6397cd441fbd"; + }; + + propagatedBuildInputs = with self; [ coverage ddt nose pyyaml requests2 six testtools python_mimeparse ]; + + meta = { + description = "An unladen web framework for building APIs and app backends"; + + homepage = http://falconframework.org; + + license = stdenv.lib.licenses.asl20; + }; + }); + flup = buildPythonPackage (rec { name = "flup-1.0.2"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://www.saddi.com/software/flup/dist/${name}.tar.gz"; sha256 = "1nbx174g40l1z3a8arw72qz05a1qxi3didp9wm7kvkn1bxx33bab"; }; @@ -3484,16 +4905,35 @@ rec { }; }); + fonttools = buildPythonPackage (rec { + version = "2.4"; + name = "fonttools-${version}"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/F/FontTools/FontTools-${version}.tar.gz"; + sha256 = "13ggkzcj34kcca6bsxjkaqsxkp2bvxxf6ijiyhq1xlyb0z37z4qa"; + }; + + buildInputs = with self; [ + numpy + ]; + + meta = { + homepage = "http://sourceforge.net/projects/fonttools/"; + description = "Font file processing tools"; + }; + }); foolscap = buildPythonPackage (rec { name = "foolscap-0.6.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://foolscap.lothar.com/releases/${name}.tar.gz"; sha256 = "16cddyk5is0gjfn0ia5n2l4lhdzvbjzlx6sfpy7ddjd3d3fq7ckl"; }; - propagatedBuildInputs = [ twisted pkgs.pyopenssl ]; + propagatedBuildInputs = [ self.twisted self.pyopenssl ]; meta = { homepage = http://foolscap.lothar.com/; @@ -3517,7 +4957,7 @@ rec { fs = buildPythonPackage rec { name = "fs-0.5.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/f/fs/${name}.tar.gz"; sha256 = "144f4yn2nvnxh2vrnmiabpwx3s637np0d1j1w95zym790d66shir"; }; @@ -3540,25 +4980,85 @@ rec { name = "${baseName}-${version}"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz"; sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi"; }; - buildInputs = [ pkgs.pkgconfig pkgs.fuse ]; + buildInputs = with self; [ pkgs.pkgconfig pkgs.fuse ]; meta = { - description = "Python bindings for FUSE."; + description = "Python bindings for FUSE"; license = stdenv.lib.licenses.lgpl21; }; }); + fusepy = buildPythonPackage rec { + name = "fusepy-2.0.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/f/fusepy/${name}.tar.gz"; + sha256 = "1z0va3z1hzjw167skl21k9dsklbmr46k66j80qadibjc8vajjnda"; + }; + + propagatedBuildInputs = [ pkgs.fuse ]; + + patchPhase = '' + substituteInPlace fuse.py --replace \ + "find_library('fuse')" "'${pkgs.fuse}/lib/libfuse.so'" + ''; + + meta = with stdenv.lib; { + description = "Simple ctypes bindings for FUSE"; + longDescription = '' + Python module that provides a simple interface to FUSE and MacFUSE. + It's just one file and is implemented using ctypes. + ''; + homepage = http://github.com/terencehonles/fusepy; + license = with licenses; isc; + platforms = with platforms; linux; + maintainers = with maintainers; [ nckx ]; + }; + }; + + future = buildPythonPackage rec { + version = "v0.14.3"; + name = "future-${version}"; + + src = pkgs.fetchurl { + url = "http://github.com/PythonCharmers/python-future/archive/${version}.tar.gz"; + sha256 = "0hgp9kq7h4ipw8ax5xvvkyh3bkqw361d3rndvb9xix01h9j9mi3p"; + }; + + propagatedBuildInputs = with self; optionals isPy26 [ importlib argparse ]; + doCheck = false; + + meta = with stdenv.lib; { + description = "Clean single-source support for Python 3 and 2"; + longDescription = '' + python-future is the missing compatibility layer between Python 2 and + Python 3. It allows you to use a single, clean Python 3.x-compatible + codebase to support both Python 2 and Python 3 with minimal overhead. + + It provides future and past packages with backports and forward ports + of features from Python 3 and 2. It also comes with futurize and + pasteurize, customized 2to3-based scripts that helps you to convert + either Py2 or Py3 code easily to support both Python 2 and 3 in a + single clean Py3-style codebase, module by module. + ''; + homepage = https://python-future.org; + downloadPage = https://github.com/PythonCharmers/python-future/releases; + license = licenses.mit; + maintainers = with maintainers; [ prikhi ]; + platforms = platforms.linux; + }; + }; + futures = buildPythonPackage rec { name = "futures-2.1.6"; - propagatedBuildInputs = with pythonPackages; [ ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/f/futures/futures-2.1.6.tar.gz"; md5 = "cfab9ac3cd55d6c7ddd0546a9f22f453"; }; @@ -3573,7 +5073,7 @@ rec { gcovr = buildPythonPackage rec { name = "gcovr-2.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/g/gcovr/${name}.tar.gz"; md5 = "672db629469882b93c40016aebff50ac"; }; @@ -3584,10 +5084,48 @@ rec { }; }; + gdrivefs = buildPythonPackage rec { + version = "0.14.3"; + name = "gdrivefs-${version}"; + disabled = !isPy27; + + src = pkgs.fetchFromGitHub { + sha256 = "1ljkh1871lwzn5lhhgbmbf2hfnbnajr3ddz3q5n1kid25qb3l086"; + rev = version; + repo = "GDriveFS"; + owner = "dsoprea"; + }; + + buildInputs = with self; [ gipc greenlet httplib2 six ]; + propagatedBuildInputs = with self; [ dateutil fusepy google_api_python_client ]; + + patchPhase = '' + substituteInPlace gdrivefs/resources/requirements.txt \ + --replace "==" ">=" + ''; + + meta = with stdenv.lib; { + description = "Mount Google Drive as a local file system"; + longDescription = '' + GDriveFS is a FUSE wrapper for Google Drive developed. Design goals: + - Thread for monitoring changes via "changes" functionality of API. + - Complete stat() implementation. + - Seamlessly work around duplicate-file allowances in Google Drive. + - Seamlessly manage file-type versatility in Google Drive + (Google Doc files do not have a particular format). + - Allow for the same file at multiple paths. + ''; + homepage = https://github.com/dsoprea/GDriveFS; + license = with licenses; gpl2; + platforms = with platforms; linux; + maintainers = with maintainers; [ nckx ]; + }; + }; + genshi = buildPythonPackage { name = "genshi-0.7"; - src = fetchurl { + src = pkgs.fetchurl { url = http://ftp.edgewall.com/pub/genshi/Genshi-0.7.tar.gz; sha256 = "0lkkbp6fbwzv0zda5iqc21rr7rdldkwh3hfabfjl9i4bwq14858x"; }; @@ -3596,7 +5134,7 @@ rec { # FAIL: test_sanitize_remove_src_javascript (genshi.filters.tests.html.HTMLSanitizerTestCase) doCheck = false; - buildInputs = [ pkgs.setuptools ]; + buildInputs = with self; [ pkgs.setuptools ]; meta = { description = "Python components for parsing HTML, XML and other textual content"; @@ -3613,15 +5151,17 @@ rec { gevent = buildPythonPackage rec { name = "gevent-1.0.1"; - disabled = isPy3k; - - src = fetchurl { + disabled = isPy3k || isPyPy; # see https://github.com/surfly/gevent/issues/248 + + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/g/gevent/${name}.tar.gz"; sha256 = "0hyzfb0gcx9pm5c2igan8y57hqy2wixrwvdjwsaivxsqs0ay49s6"; }; - buildInputs = [ pkgs.libev ]; - propagatedBuildInputs = [ greenlet ]; + patches = [ ../development/python-modules/gevent_sslwrap.patch ]; + + buildInputs = with self; [ pkgs.libev ]; + propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ]; meta = with stdenv.lib; { description = "Coroutine-based networking library"; @@ -3632,41 +5172,59 @@ rec { }; }; + geventhttpclient = buildPythonPackage rec { + name = "geventhttpclient-${version}"; + version = "1.1.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/g/geventhttpclient/${name}.tar.gz"; + sha256 = "1k7s4dnkmcfqqkmbqi0vvb2ns53r9cl2652mq20bgg65zj26j2l6"; + }; + + propagatedBuildInputs = with self; [ gevent certifi backports_ssl_match_hostname_3_4_0_2 ]; + + meta = with stdenv.lib; { + homepage = http://github.com/gwik/geventhttpclient; + description = "HTTP client library for gevent"; + license = licenses.mit; + maintainers = [ maintainers.koral ]; + }; + }; gevent-socketio = buildPythonPackage rec { name = "gevent-socketio-0.3.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/g/gevent-socketio/${name}.tar.gz"; sha256 = "1zra86hg2l1jcpl9nsnqagy3nl3akws8bvrbpgdxk15x7ywllfak"; }; - buildInputs = [ versiontools gevent-websocket mock pytest ]; - propagatedBuildInputs = [ gevent ]; + buildInputs = with self; [ versiontools gevent-websocket mock pytest ]; + propagatedBuildInputs = with self; [ gevent ]; }; gevent-websocket = buildPythonPackage rec { name = "gevent-websocket-0.9.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/g/gevent-websocket/${name}.tar.gz"; sha256 = "07rqwfpbv13mk6gg8mf0bmvcf6siyffjpgai1xd8ky7r801j4xb4"; }; - propagatedBuildInputs = [ gevent ]; + propagatedBuildInputs = with self; [ gevent ]; }; genzshcomp = buildPythonPackage { name = "genzshcomp-0.5.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/g/genzshcomp/genzshcomp-0.5.1.tar.gz"; md5 = "7a954f1835875002e9044fe55ed1b488"; }; - buildInputs = [ pkgs.setuptools ] ++ (optional isPy26 argparse); + buildInputs = with self; [ pkgs.setuptools ] ++ (optional isPy26 argparse); meta = { description = "automatically generated zsh completion function for Python's option parser modules"; @@ -3678,7 +5236,7 @@ rec { gflags = buildPythonPackage rec { name = "gflags-2.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://python-gflags.googlecode.com/files/python-${name}.tar.gz"; sha256 = "1mkc7315bpmh39vbn0jq237jpw34zsrjr1sck98xi36bg8hnc41i"; }; @@ -3689,21 +5247,47 @@ rec { }; }; + gipc = buildPythonPackage rec { + name = "gipc-0.5.0"; + disabled = !isPy26 && !isPy27; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/g/gipc/${name}.zip"; + sha256 = "08c35xzv7nr12d9xwlywlbyzzz2igy0yy6y52q2nrkmh5d4slbpc"; + }; + + propagatedBuildInputs = with self; [ gevent ]; + + meta = with stdenv.lib; { + description = "gevent-cooperative child processes and IPC"; + longDescription = '' + Usage of Python's multiprocessing package in a gevent-powered + application may raise problems and most likely breaks the application + in various subtle ways. gipc (pronunciation "gipsy") is developed with + the motivation to solve many of these issues transparently. With gipc, + multiprocessing. Process-based child processes can safely be created + anywhere within your gevent-powered application. + ''; + homepage = http://gehrcke.de/gipc; + license = with licenses; mit; + maintainers = with maintainers; [ nckx ]; + }; + }; glance = buildPythonPackage rec { name = "glance-0.1.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/g/glance/${name}.tar.gz"; md5 = "e733713ccd23e4a6253386a47971cfb5"; }; - buildInputs = [ nose mox ]; + buildInputs = with self; [ nose mox ]; # tests fail for python2.6 doCheck = python.majorVersion != "2.6"; - propagatedBuildInputs = [ gflags sqlalchemy webob routes eventlet ]; + propagatedBuildInputs = with self; [ gflags sqlalchemy webob routes eventlet ]; PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; @@ -3714,25 +5298,27 @@ rec { }; glances = buildPythonPackage rec { - name = "glances-${meta.version}"; + name = "glances-${version}"; + version = "2.1"; + disabled = isPyPy; - src = fetchurl { - url = "https://github.com/nicolargo/glances/archive/v${meta.version}.tar.gz"; - sha256 = "19pin04whc1z4gmwv2rqa7mh08d6007r8dyrhihnxj0v35ghp5i0"; + src = pkgs.fetchFromGitHub { + owner = "nicolargo"; + repo = "glances"; + rev = "v${version}"; + sha256 = "1bgr7lif0bpnz39arcdrsfdy7ra4c3ay2pxz1lvh4fqxyxwp3gm6"; }; - buildInputs = [ pkgs.hddtemp ]; - - propagatedBuildInputs = [ psutil jinja2 modules.curses modules.curses_panel]; - doCheck = false; + buildInputs = with self; [ unittest2 ]; + propagatedBuildInputs = with self; [ modules.curses modules.curses_panel psutil setuptools bottle batinfo pkgs.hddtemp pysnmp ]; + preConfigure = '' - sed -i -r -e '/data_files.append[(][(](conf|etc)_path/ietc_path="etc/glances"; conf_path="etc/glances"' setup.py; + sed -i 's/data_files\.append((conf_path/data_files.append(("etc\/glances"/' setup.py; ''; meta = { - version = "1.7.4"; homepage = "http://nicolargo.github.io/glances/"; description = "Cross-platform curses-based monitoring tool"; }; @@ -3742,37 +5328,37 @@ rec { name = "goobook-1.5"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/g/goobook/${name}.tar.gz"; sha256 = "05vpriy391l5i05ckl5ja5bswqyvl3rwrbmks9pi46w1813j7p5z"; }; - buildInputs = [ six ]; + buildInputs = with self; [ six ]; preConfigure = '' sed -i '/distribute/d' setup.py ''; meta = with stdenv.lib; { - description = "Search your google contacts from the command-line or mutt."; - homepage = "https://pypi.python.org/pypi/goobook"; + description = "Search your google contacts from the command-line or mutt"; + homepage = https://pypi.python.org/pypi/goobook; license = licenses.gpl3; maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; }; - propagatedBuildInputs = [ gdata hcs_utils keyring simplejson ]; + propagatedBuildInputs = with self; [ gdata hcs_utils keyring simplejson ]; }; google_api_python_client = buildPythonPackage rec { name = "google-api-python-client-1.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://google-api-python-client.googlecode.com/files/google-api-python-client-1.2.tar.gz"; sha256 = "0xd619w71xk4ldmikxqhaaqn985rc2hy4ljgwfp50jb39afg7crw"; }; - propagatedBuildInputs = [ httplib2 ]; + propagatedBuildInputs = with self; [ httplib2 ]; meta = with stdenv.lib; { description = "The core Python library for accessing Google APIs"; @@ -3782,16 +5368,26 @@ rec { }; }; - google_apputils = buildPythonPackage rec { - name = "google-apputils-0.4.0"; + google_apputils = buildPythonPackage rec { + name = "google-apputils-0.4.1"; disabled = isPy3k; - src = fetchurl { - url = http://pypi.python.org/packages/source/g/google-apputils/google-apputils-0.4.0.tar.gz; - sha256 = "18wlivnqxvx1wsw177lckpl32nmr6cq7f5nhk8r72fvjy8wynq5j"; + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/g/google-apputils/${name}.tar.gz"; + sha256 = "1sxsm5q9vr44qzynj8l7p3l7ffb0zl1jdqhmmzmalkx941nbnj1b"; }; - propagatedBuildInputs = [ pytz gflags dateutil_1_5 mox ]; + preConfigure = '' + sed -i '/ez_setup/d' setup.py + ''; + + propagatedBuildInputs = with self; [ pytz gflags dateutil mox ]; + + checkPhase = '' + ${python.executable} setup.py google_test + ''; + + doCheck = true; meta = with stdenv.lib; { description = "Google Application Utilities for Python"; @@ -3799,29 +5395,49 @@ rec { }; }; + greenlet = buildPythonPackage rec { - name = "greenlet-0.4.3"; + name = "greenlet-${version}"; + version = "0.4.5"; + disabled = isPyPy; # builtin for pypy - src = fetchurl { - url = "http://pypi.python.org/packages/source/g/greenlet/${name}.zip"; - md5 = "a5e467a5876c415cd357c1ab9027e06c"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/g/greenlet/${name}.zip"; + sha256 = "1gidivqcpn6i6k01bf3hgcn0m68h4b9srhpff9kgnk0c287z145r"; }; - meta = { + meta = with stdenv.lib; { homepage = http://pypi.python.org/pypi/greenlet; description = "Module for lightweight in-process concurrent programming"; + license = licenses.lgpl2; + platforms = platforms.all; }; }; + gspread = buildPythonPackage rec { + version = "0.2.3"; + name = "gspread-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/g/gspread/${name}.tar.gz"; + md5 = "5a71e4e3fc509dc1c4d34722f102dec1"; + }; + + meta = { + description = "Google Spreadsheets client library"; + homepage = "https://github.com/burnash/gspread"; + license = licenses.mit; + }; + }; gyp = buildPythonPackage rec { - rev = "1944"; + rev = "1977"; name = "gyp-r${rev}"; - src = fetchsvn { + src = pkgs.fetchsvn { url = "http://gyp.googlecode.com/svn/trunk"; inherit rev; - sha256 = "15k3ivk3jyhx4rwdf1mn6qpyrwixvy01jpkir8d14c4g9hax1dx1"; + sha256 = "0vnr75yd3bidysiwl9lljvf1dv6v9m9xqdnx0hdgyl92w689n9j8"; }; patches = optionals pkgs.stdenv.isDarwin [ @@ -3835,15 +5451,39 @@ rec { }; }; + guessit = buildPythonPackage rec { + version = "0.9.4"; + name = "guessit-${version}"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/g/guessit/${name}.tar.gz"; + sha256 = "068d3dmyk4v04p2zna0340lsdnpkm10gyza62apd9akgjh9rfs48"; + }; + + propagatedBuildInputs = with self; [ + dateutil_2_1 requests stevedore babelfish pyyaml + ]; + + # A unicode test fails + doCheck = false; + + meta = { + homepage = http://pypi.python.org/pypi/guessit; + license = stdenv.lib.licenses.lgpl3; + description = "A library for guessing information from video files."; + }; + }; + gunicorn = buildPythonPackage rec { name = "gunicorn-19.1.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/g/gunicorn/${name}.tar.gz"; md5 = "3d759bec3c46a680ff010775258c4c56"; }; - buildInputs = [ pytest ]; + buildInputs = with self; [ pytest ]; meta = { homepage = http://pypi.python.org/pypi/gunicorn; @@ -3851,20 +5491,31 @@ rec { }; }; + hawkauthlib = buildPythonPackage rec { + name = "hawkauthlib-${version}"; + version = "0.1.1"; + src = pkgs.fetchgit { + url = https://github.com/mozilla-services/hawkauthlib.git; + rev = "refs/tags/v${version}"; + sha256 = "0b3xydii50ifs8qkgbpdlidfs2rzw63f807ahrq9flz90ahf582h"; + }; + + propagatedBuildInputs = with self; [ requests webob ]; + }; + hcs_utils = buildPythonPackage rec { name = "hcs_utils-1.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/h/hcs_utils/${name}.tar.gz"; sha256 = "1d2za9crkgzildx610w3zif2i8phcqhh6n8nzg3yvy2mg0s18mkl"; }; preBuild = '' - export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive export LC_ALL="en_US.UTF-8" ''; - buildInputs = [ six ]; + buildInputs = with self; [ six pkgs.glibcLocales ]; meta = with stdenv.lib; { description = "Library collecting some useful snippets"; @@ -3878,12 +5529,12 @@ rec { hetzner = buildPythonPackage rec { name = "hetzner-${version}"; - version = "0.7.0"; + version = "0.7.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/RedMoonStudios/hetzner/archive/" + "v${version}.tar.gz"; - sha256 = "1ldbhwy6yk18frv6n9znvdsrqfnpch4mfvc70jrpq3f9fw236src"; + sha256 = "07jnrgy9fkh1hwgsa8491ljz9spazmifqsg92m3xnamja1536qfl"; }; # not there yet, but coming soon. @@ -3901,13 +5552,13 @@ rec { htmllaundry = buildPythonPackage rec { name = "htmllaundry-2.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/h/htmllaundry/${name}.tar.gz"; md5 = "6db6909de76c4b259e65d90b5debdbda"; }; - buildInputs = [ nose ]; - propagatedBuildInputs = [ six lxml ]; + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ six lxml ]; # some tests fail, probably because of changes in lxml # not relevant for me, if releavnt for you, fix it... @@ -3921,18 +5572,32 @@ rec { html5lib = buildPythonPackage (rec { - name = "html5lib-0.95"; + version = "0.999"; + name = "html5lib-${version}"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/h/html5lib/${name}.tar.gz"; - md5 = "fe607f9917d81763e842f818f23464ee"; + src = pkgs.fetchurl { + url = "http://github.com/html5lib/html5lib-python/archive/${version}.tar.gz"; + sha256 = "1kxl36p0csssaf37zbbc9p4h8l1s7yb1qnfv3d4nixplvrxqkybp"; }; - meta = { - homepage = http://code.google.com/p/html5lib/; + buildInputs = with self; [ nose flake8 ]; + propagatedBuildInputs = with self; [ + six + ] ++ optionals isPy26 [ ordereddict ]; + + checkPhase = "nosetests"; + + meta = with stdenv.lib; { + homepage = https://github.com/html5lib/html5lib-python; + downloadPage = https://github.com/html5lib/html5lib-python/releases; description = "HTML parser based on WHAT-WG HTML5 specification"; - license = stdenv.lib.licenses.mit; - maintainers = [ stdenv.lib.maintainers.iElectric ]; + longDescription = '' + html5lib is a pure-python library for parsing HTML. It is designed to + conform to the WHATWG HTML specification, as is implemented by all + major web browsers. + ''; + license = licenses.mit; + maintainers = with maintainers; [ iElectric prikhi ]; }; }); @@ -3940,12 +5605,12 @@ rec { name = "http_signature-0.1.4"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/h/http_signature/${name}.tar.gz"; md5 = "015061846254bd5d8c5dbc2913985153"; }; - propagatedBuildInputs = [pycrypto]; + propagatedBuildInputs = with self; [pycrypto]; meta = { homepage = https://github.com/atl/py-http-signature; @@ -3957,12 +5622,12 @@ rec { httpbin = buildPythonPackage rec { name = "httpbin-0.2.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/h/httpbin/${name}.tar.gz"; md5 = "9b2bb2fab45f5fa839e9a776a64d6089"; }; - propagatedBuildInputs = [ flask markupsafe decorator itsdangerous six ]; + propagatedBuildInputs = with self; [ flask markupsafe decorator itsdangerous six ]; meta = { homepage = https://github.com/kennethreitz/httpbin; @@ -3973,11 +5638,11 @@ rec { }; httplib2 = buildPythonPackage rec { - name = "httplib2-0.8"; + name = "httplib2-0.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/h/httplib2/${name}.tar.gz"; - sha256 = "174w6rz4na1sdlfz37h95l0pkfm9igf9nqmhbd8aqh3sm7d9zrff"; + sha256 = "1asi5wpncnc6ki3bz33mhb9xh2lrkb24y4qng8bmqnczdmm8rsir"; }; meta = { @@ -3988,19 +5653,37 @@ rec { }; }; + hypothesis = pythonPackages.buildPythonPackage rec { + name = "hypothesis-0.7.0"; + + doCheck = false; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/h/hypothesis/hypothesis-0.7.0.tar.gz"; + md5 = "0c4112bab04b71979286387b033921b5"; + }; + + meta = with stdenv.lib; { + description = "A Python library for property based testing"; + homepage = https://github.com/DRMacIver/hypothesis; + license = licenses.mpl20; + }; + }; + httpretty = buildPythonPackage rec { name = "httpretty-${version}"; version = "0.8.3"; disabled = isPy3k; + doCheck = !isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/h/httpretty/${name}.tar.gz"; md5 = "50b02560a49fe928c90c53a49791f621"; }; - buildInputs = [ tornado requests httplib2 sure nose coverage ]; + buildInputs = with self; [ tornado requests httplib2 sure nose coverage ]; - propagatedBuildInputs = [ urllib3 ]; + propagatedBuildInputs = with self; [ urllib3 ]; postPatch = '' sed -i -e 's/==.*$//' *requirements.txt @@ -4021,28 +5704,67 @@ rec { }; }; + icalendar = buildPythonPackage rec { + version = "3.8.4"; + name = "icalendar-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/i/icalendar/${name}.zip"; + md5 = "d700e6e75613fd1ee882c4b11c58940c"; + }; + + buildInputs = with self; [ setuptools ]; + propagatedBuildInputs = with self; [ pytz ]; + + meta = with stdenv.lib; { + description = "A parser/generator of iCalendar files"; + homepage = "http://icalendar.readthedocs.org/"; + license = licenses.bsd2; + maintainers = [ maintainers.olcai ]; + }; + }; + importlib = if isPy26 then (buildPythonPackage { name = "importlib-1.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/i/importlib/importlib-1.0.2.tar.gz"; md5 = "4aa23397da8bd7c7426864e88e4db7e1"; }; doCheck = false; }) else null; + influxdb = buildPythonPackage rec { + name = "influxdb-0.1.12"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/i/influxdb/${name}.tar.gz"; + md5 = "6c975058ccc4df41dad8d8234c52d754"; + }; + + # ImportError: No module named tests + doCheck = false; + propagatedBuildInputs = with self; [ requests ]; + + meta = { + description = "Python client for InfluxDB"; + homepage = https://github.com/influxdb/influxdb-python; + license = licenses.mit; + }; + }; + iptools = buildPythonPackage rec { version = "0.6.1"; name = "iptools-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/i/iptools/iptools-${version}.tar.gz"; md5 = "aed4045638fd40c16f8d9bb04606f700"; }; - - buildInputs = [ nose ]; + + buildInputs = with self; [ nose ]; meta = { - description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting."; + description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting"; homepage = http://pypi.python.org/pypi/iptools; }; }; @@ -4052,7 +5774,7 @@ rec { version = "0.74"; name = "ipy-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/I/IPy/IPy-${version}.tar.gz"; md5 = "f4f7ddc7c5e55a47222a5cc6c0a87b6d"; }; @@ -4071,7 +5793,7 @@ rec { name = "ipaddr-2.1.10"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/i/ipaddr/${name}.tar.gz"; sha256 = "18ycwkfk3ypb1yd09wg20r7j7zq2a73d7j6j10qpgra7a7abzhyj"; }; @@ -4083,29 +5805,30 @@ rec { }; }; - ipdb = buildPythonPackage { - name = "ipdb-0.7"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz"; - md5 = "d879f9b2b0f26e0e999809585dcaec61"; + ipdb = buildPythonPackage rec { + name = "ipdb-0.8"; + disabled = isPyPy; # setupterm: could not find terminfo database + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/i/ipdb/${name}.zip"; + md5 = "96dca0712efa01aa5eaf6b22071dd3ed"; }; - propagatedBuildInputs = [ pythonPackages.ipythonLight ]; + propagatedBuildInputs = with self; [ self.ipythonLight ]; }; ipdbplugin = buildPythonPackage { name = "ipdbplugin-1.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/i/ipdbplugin/ipdbplugin-1.4.tar.gz"; md5 = "f9a41512e5d901ea0fa199c3f648bba7"; }; - propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipythonLight ]; + propagatedBuildInputs = with self; [ self.nose self.ipythonLight ]; }; - iso8601_0_1_4 = buildPythonPackage { - name = "iso8601-0.1.4"; - src = fetchurl { - url = https://pypi.python.org/packages/source/i/iso8601/iso8601-0.1.4.tar.gz; - sha256 = "03gnjxpfq0wwimqnsvz32xcngq0hrdqryn3zm8qh95hnnggwqa3s"; + iso8601 = buildPythonPackage { + name = "iso8601-0.1.10"; + src = pkgs.fetchurl { + url = https://pypi.python.org/packages/source/i/iso8601/iso8601-0.1.10.tar.gz; + sha256 = "1qf01afxh7j4gja71vxv345if8avg6nnm0ry0zsk6j3030xgy4p7"; }; meta = { @@ -4116,53 +5839,56 @@ rec { }; jedi = buildPythonPackage (rec { - name = "jedi-0.8.0-final0"; + name = "jedi-0.8.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/j/jedi/${name}.tar.gz"; - sha256 = "0jnhwh0b1hy5cssi3n5a4j7z9pgpcckyv5s52ba4jnq5bwgdpbcf"; + sha256 = "1a7bg159mc1la5p1zsblzpr9hmypa7nz0mpvf7dww57cgi2sw8sd"; }; meta = { - homepage = "https://github.com/davidhalter/jedi"; - description = "An autocompletion tool for Python that can be used for text editors."; + homepage = https://github.com/davidhalter/jedi; + description = "An autocompletion tool for Python that can be used for text editors"; license = licenses.lgpl3Plus; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }); jinja2 = buildPythonPackage rec { - name = "Jinja2-2.7.1"; + name = "Jinja2-2.7.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/J/Jinja2/${name}.tar.gz"; - sha256 = "12scn3zmmj76rzyc0axjzf6dsazyj9xgp0l46q41rjhxm23s1h2w"; + # md5 = "b9dffd2f3b43d673802fe857c8445b1a"; # provided by pypi website. + sha256 = "2e24ac5d004db5714976a04ac0e80c6df6e47e98c354cb2c0d82f8879d4f8fdb"; }; - propagatedBuildInputs = [ pythonPackages.markupsafe ]; + propagatedBuildInputs = with self; [ self.markupsafe ]; meta = { homepage = http://jinja.pocoo.org/; description = "Stand-alone template engine"; - license = "BSD"; + license = licenses.bsd3; longDescription = '' Jinja2 is a template engine written in pure Python. It provides a Django inspired non-XML syntax but supports inline expressions and an optional sandboxed environment. ''; + platforms = platforms.all; + maintainers = [ maintainers.pierron ]; }; }; jmespath = buildPythonPackage rec { - name = "jmespath-0.2.1"; + name = "jmespath-0.6.1"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/j/jmespath/jmespath-0.2.1.tar.gz"; - md5 = "7800775aa12c6303f9ad597b6a8fa03c"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/j/jmespath/${name}.tar.gz"; + sha256 = "1f7nxk62yifh6zwhf34w4fgwxvyls8x2daphljgrg4lh0i2sgwgr"; }; - propagatedBuildInputs = [ ply ]; + propagatedBuildInputs = with self; [ ply ]; meta = { homepage = "https://github.com/boto/jmespath"; @@ -4171,15 +5897,38 @@ rec { }; }; + + jrnl = buildPythonPackage rec { + name = "jrnl-1.9.7"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/j/jrnl/${name}.tar.gz"; + md5 = "395faff36de8a08a5bfeedbf123e9067"; + }; + + propagatedBuildInputs = with self; [ + pytz six tzlocal keyring modules.readline argparse dateutil_1_5 + parsedatetime + ]; + + meta = with stdenv.lib; { + homepage = http://maebert.github.io/jrnl/; + description = "A simple command line journal application that stores your journal in a plain text file."; + license = licenses.mit; + }; + }; + + keyring = buildPythonPackage rec { - name = "keyring-3.2"; + name = "keyring-3.3"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/k/keyring/${name}.zip"; - sha256 = "1flccphpyrb8y8dra2fq2s2v3fg615d77kjjmzl0gmiidabkkdqf"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/k/keyring/${name}.zip"; + md5 = "81291e0c7337affb71442e6c7671e77f"; }; - buildInputs = + buildInputs = with self; [ fs gdata python_keyczar mock pyasn1 pycrypto pytest six ]; meta = with stdenv.lib; { @@ -4191,13 +5940,64 @@ rec { }; }; + kombu = buildPythonPackage rec { + name = "kombu-${version}"; + version = "3.0.24"; + + disabled = pythonOlder "2.6"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/k/kombu/${name}.tar.gz"; + sha256 = "13dzybciispin9c4znpiyvgha354mz124lgx06ksw4vic0vh9zxr"; + md5 = "37c8b5084ac83b8a6f5ff9f157cac0e9"; + }; + + buildInputs = with self; optionals (!isPy3k) [ anyjson mock unittest2 nose ]; + + propagatedBuildInputs = with self; [ amqp ] ++ + (optionals (pythonOlder "2.7") [ importlib ordereddict ]); + + # tests broken on python 2.6? https://github.com/nose-devs/nose/issues/806 + # tests also appear to depend on anyjson, which has Py3k problems + doCheck = (pythonAtLeast "2.7") && !isPy3k ; + + meta = with stdenv.lib; { + description = "Messaging library for Python"; + homepage = "http://github.com/celery/kombu"; + license = licenses.bsd3; + }; + }; + + konfig = buildPythonPackage rec { + name = "konfig-${version}"; + version = "0.9"; + + # 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 = "1v9pjb9idapjlc75p6h06kx7bi8zxhfgj93yxq1bn337kmyk1xdf"; + }; + + propagatedBuildInputs = with self; [ configparser argparse ]; + + meta = with stdenv.lib; { + description = "Yet Another Config Parser"; + homepage = "https://github.com/mozilla-services/konfig"; + license = licenses.mpl20; + }; + }; + kitchen = buildPythonPackage (rec { name = "kitchen-1.1.1"; disabled = isPy3k; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/k/kitchen/kitchen-1.1.1.tar.gz"; sha256 = "0ki840hjk1q19w6icv0dj2jxb00966nwy9b1jib0dgdspj00yrr5"; }; @@ -4207,7 +6007,7 @@ rec { name = "pylast-${version}"; version = "0.5.11"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pylast/${name}.tar.gz"; md5 = "506cf1b13020b3ed2f3c845ea0c9830e"; }; @@ -4226,14 +6026,14 @@ rec { libcloud = buildPythonPackage (rec { name = "libcloud-0.14.1"; - src = fetchurl { + src = pkgs.fetchurl { url = https://pypi.python.org/packages/source/a/apache-libcloud/apache-libcloud-0.14.1.tar.bz2; sha256 = "1l6190pjv54c7y8pzr089ij727qv7bqhhaznr2mkvimgr1wzsql5"; }; - buildInputs = [ mock ]; + buildInputs = with self; [ mock ]; - propagatedBuildInputs = [ pycrypto ]; + propagatedBuildInputs = with self; [ pycrypto ]; preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py"; # failing tests for 26 and 27 @@ -4249,14 +6049,14 @@ rec { limnoria = buildPythonPackage (rec { name = "limnoria-20130327"; - src = fetchurl { + src = pkgs.fetchurl { url = https://pypi.python.org/packages/source/l/limnoria/limnoria-2013-06-01T10:32:51+0200.tar.gz; name = "limnoria-2013-06-01.tar.gz"; sha256 = "1i8q9zzf43sr3n1q4h6h1z8nz31g4aa8dq94ywvfbh7hklmchq6n"; }; - buildInputs = [ pkgs.git ]; - propagatedBuildInputs = [ modules.sqlite3 ]; + buildInputs = with self; [ pkgs.git ]; + propagatedBuildInputs = with self; [ modules.sqlite3 ]; doCheck = false; @@ -4269,10 +6069,65 @@ rec { }); + linode = buildPythonPackage rec { + name = "linode-${version}"; + version = "0.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/l/linode/linode-${version}.tar.gz"; + md5 = "03a306575cf274719b3206ecee0bda9e"; + }; + + propagatedBuildInputs = with self; [ requests2 ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/ghickman/linode"; + description = "A thin python wrapper around Linode's API"; + license = licenses.mit; + maintainers = [ maintainers.nslqqq ]; + }; + }; + + llfuse = buildPythonPackage rec { + name = "llfuse-0.40"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/l/llfuse/${name}.tar.bz2"; + sha256 = "0mx87n6j2g63mgiimjqn0gj6jgqfdkc04xkxc56r1azjlqji32zf"; + }; + + buildInputs = [ pkgs.pkgconfig pkgs.fuse pkgs.attr ]; + + meta = with stdenv.lib; { + description = "Python bindings for the low-level FUSE API"; + homepage = https://code.google.com/p/python-llfuse/; + license = licenses.lgpl2Plus; + platforms = platforms.unix; + maintainers = [ maintainers.bjornfor ]; + }; + }; + + locustio = buildPythonPackage rec { + name = "locustio-0.7.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/l/locustio/${name}.tar.gz"; + md5 = "90cf4d029d58ad58d19ea17a16e59c34"; + }; + + propagatedBuildInputs = [ self.msgpack self.requests2 self.flask self.gevent self.pyzmq ]; + buildInputs = [ self.mock self.unittest2 ]; + + meta = { + homepage = http://locust.io/; + description = "A load testing tool"; + }; + }; + lockfile = buildPythonPackage rec { name = "lockfile-0.9.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pylockfile.googlecode.com/files/${name}.tar.gz"; sha1 = "1eebaee375641c9f29aeb21768f917dd2b985752"; }; @@ -4287,42 +6142,46 @@ rec { }; logilab_common = buildPythonPackage rec { - name = "logilab-common-0.61.0"; + name = "logilab-common-0.63.2"; - src = fetchurl { - url = "http://download.logilab.org/pub/common/${name}.tar.gz"; - sha256 = "09apsrcvjliawbxmfrmi1l8hlbaj87mb7n4lrlivy5maxs6yg4hd"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/l/logilab-common/${name}.tar.gz"; + sha256 = "1rr81zlmlgdma3s75i5c1l8q2m25v4ac41i9pniik4mhkc6a0fv0"; }; - propagatedBuildInputs = [ unittest2 ]; + propagatedBuildInputs = with self; [ unittest2 six ]; }; - "lxml-2.3.6" = buildPythonPackage rec { - name = "lxml-2.3.6"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/l/lxml/lxml-2.3.6.tar.gz"; - md5 = "d5d886088e78b1bdbfd66d328fc2d0bc"; + loxodo = buildPythonPackage { + name = "loxodo-0.20150124"; + disabled = isPy3k; + + src = pkgs.fetchgit { + url = "https://github.com/sommer/loxodo.git"; + rev = "6c56efb4511fd6f645ad0f8eb3deafc8071c5795"; + sha256 = "02whmv4am8cz401rplplqzbipkyf0wd69z43sd3yw05rh7f3xbs2"; }; - buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; - propagatedBuildInputs = [ ]; - doCheck = false; - meta = { - description = "Pythonic binding for the libxml2 and libxslt libraries"; - homepage = http://codespeak.net/lxml/index.html; - license = "BSD"; + propagatedBuildInputs = with self; [ wxPython modules.readline ]; + postInstall = "mv $out/bin/loxodo.py $out/bin/loxodo"; + + meta = with stdenv.lib; { + description = "A Password Safe V3 compatible password vault"; + homepage = http://www.christoph-sommer.de/loxodo/; + license = licenses.gpl2Plus; + platforms = platforms.linux; }; }; lxml = buildPythonPackage ( rec { - name = "lxml-3.0.2"; + name = "lxml-3.3.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/l/lxml/${name}.tar.gz"; - md5 = "38b15b0dd5e9292cf98be800e84a3ce4"; + md5 = "a804b36864c483fe7abdd7f493a0c379"; }; - buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; + buildInputs = with self; [ pkgs.libxml2 pkgs.libxslt ]; meta = { description = "Pythonic binding for the libxml2 and libxslt libraries"; @@ -4335,17 +6194,17 @@ rec { python_magic = buildPythonPackage rec { name = "python-magic-0.4.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/python-magic/${name}.tar.gz"; md5 = "07e7a0fea78dd81ed609414c3484df58"; }; - propagatedBuildInputs = [ pkgs.file ]; + propagatedBuildInputs = with self; [ pkgs.file ]; patchPhase = '' substituteInPlace magic.py --replace "ctypes.CDLL(dll)" "ctypes.CDLL('${pkgs.file}/lib/libmagic.so')" ''; - + doCheck = false; # TODO: tests are failing @@ -4365,7 +6224,7 @@ rec { src = pkgs.file.src; patches = [ ../tools/misc/file/python.patch ]; - buildInputs = [ python pkgs.file ]; + buildInputs = with self; [ python pkgs.file ]; preConfigure = "cd python"; @@ -4380,12 +6239,12 @@ rec { version = "0.21.1"; name = "m2crypto-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${version}.tar.gz"; md5 = "f93d8462ff7646397a9f77a2fe602d17"; }; - buildInputs = [ pkgs.swig pkgs.openssl ]; + buildInputs = with self; [ pkgs.swig pkgs.openssl ]; preBuild = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}"; @@ -4399,18 +6258,18 @@ rec { Mako = buildPythonPackage rec { - name = "Mako-0.9.1"; + name = "Mako-1.0.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/M/Mako/${name}.tar.gz"; - md5 = "fe3f394ef714776d09ec6133923736a7"; + md5 = "9f0aafd177b039ef67b90ea350497a54"; }; - buildInputs = [ markupsafe nose ]; - propagatedBuildInputs = [ markupsafe ]; + buildInputs = with self; [ markupsafe nose mock ]; + propagatedBuildInputs = with self; [ markupsafe ]; meta = { - description = "Super-fast templating language."; + description = "Super-fast templating language"; homepage = http://www.makotemplates.org; license = stdenv.lib.licenses.mit; maintainers = [ stdenv.lib.maintainers.iElectric ]; @@ -4421,7 +6280,7 @@ rec { markupsafe = buildPythonPackage rec { name = "markupsafe-0.15"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/M/MarkupSafe/${name}.tar.gz"; md5 = "4e7c4d965fe5e033fa2d7bb7746bb186"; }; @@ -4438,17 +6297,17 @@ rec { name = "manuel-${version}"; version = "1.8.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/m/manuel/${name}.tar.gz"; sha256 = "1diyj6a8bvz2cdf9m0g2bbx9z2yjjnn3ylbg1zinpcjj6vldfx59"; }; - propagatedBuildInputs = [ six zope_testing ]; + propagatedBuildInputs = with self; [ six zope_testing ]; meta = { description = "A documentation builder"; homepage = http://pypi.python.org/pypi/manuel; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; }; }; @@ -4456,7 +6315,7 @@ rec { version = "2.3.1"; name = "markdown-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/M/Markdown/Markdown-${version}.tar.gz"; sha256 = "147j9hznv2r187a86d28glmg3pckfrdp0nz9yh7s1aqpawwdkszz"; }; @@ -4470,39 +6329,21 @@ rec { }; - matplotlib = buildPythonPackage rec { - name = "matplotlib-1.3.1"; - - src = fetchurl { - url = "mirror://sourceforge/matplotlib/${name}.tar.gz"; - sha256 = "0smgpn7lwbn02nbyhawyn0n6r3pb65zk501f21bjgavnjjfnf5pa"; - }; - - buildInputs = [ python pkgs.which pkgs.ghostscript ] ++ - (if stdenv.isDarwin then [ pkgs.clangStdenv ] else [ pkgs.stdenv ]); - - propagatedBuildInputs = - [ dateutil nose numpy pyparsing tornado pkgs.freetype pkgs.libpng pkgs.pkgconfig - ]; - - meta = with stdenv.lib; { - description = "python plotting library, making publication quality plots"; - homepage = "http://matplotlib.sourceforge.net/"; - maintainers = with maintainers; [ lovek323 ]; - platforms = platforms.unix; - }; + matplotlib = callPackage ../development/python-modules/matplotlib/default.nix { + stdenv = if stdenv.isDarwin then pkgs.clangStdenv else pkgs.stdenv; + enableGhostscript = true; }; mccabe = buildPythonPackage (rec { name = "mccabe-0.2.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/m/mccabe/${name}.tar.gz"; md5 = "5a3f3fa6a4bad126c88aaaa7dab682f5"; }; - buildInputs = [ ]; + buildInputs = with self; [ ]; meta = { description = "McCabe checker, plugin for flake8"; @@ -4517,12 +6358,12 @@ rec { name = "mechanize-0.1.11"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://wwwsearch.sourceforge.net/mechanize/src/${name}.tar.gz"; sha256 = "1h62mwy4iz09jqz17nrb9j8y0djd500zdfqwrz9xmdwqzqwixkj2"; }; - propagatedBuildInputs = [ clientform ]; + propagatedBuildInputs = with self; [ clientform ]; meta = { description = "Stateful programmatic web browsing in Python"; @@ -4537,7 +6378,7 @@ rec { meld3 = buildPythonPackage rec { name = "meld3-1.0.0"; - src = fetchurl { + src = pkgs.fetchurl { url = https://pypi.python.org/packages/source/m/meld3/meld3-1.0.0.tar.gz; md5 = "ca270506dd4ecb20ae26fa72fbd9b0be"; }; @@ -4547,18 +6388,17 @@ rec { meta = { description = "An HTML/XML templating engine used by supervisor"; homepage = https://github.com/supervisor/meld3; - license = "free-non-copyleft"; + license = stdenv.lib.licenses.free; }; }; - memcached = buildPythonPackage rec { name = "memcached-1.51"; - src = if isPy3k then fetchurl { + src = if isPy3k then pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/python3-memcached/python3-${name}.tar.gz"; sha256 = "0na8b369q8fivh3y0nvzbvhh3lgvxiyyv9xp93cnkvwfsr8mkgkw"; - } else fetchurl { + } else pkgs.fetchurl { url = "http://ftp.tummy.com/pub/python-memcached/old-releases/python-${name}.tar.gz"; sha256 = "124s98m6hvxj6x90d7aynsjfz878zli771q96ns767r2mbqn7192"; }; @@ -4573,7 +6413,7 @@ rec { memory_profiler = buildPythonPackage rec { name = "memory_profiler-0.27"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/m/memory_profiler/memory_profiler-0.27.tar.gz"; md5 = "212c0d7452dbaffb6b09474ac07b0668"; }; @@ -4587,16 +6427,68 @@ rec { }; }; + mezzanine = buildPythonPackage rec { + version = "3.1.10"; + name = "mezzanine-${version}"; + + src = pkgs.fetchurl { + url = "https://github.com/stephenmcd/mezzanine/archive/${version}.tar.gz"; + sha256 = "1cd7d3dji8q4mvcnf9asxn8j109pd5g5d5shr6xvn0iwr35qprgi"; + }; + + buildInputs = with self; [ pyflakes pep8 ]; + propagatedBuildInputs = with self; [ + django_1_6 filebrowser_safe grappelli_safe bleach tzlocal beautifulsoup4 + requests2 requests_oauthlib future pillow modules.sqlite3 + ]; + + # Tests Fail Due to Syntax Warning, Fixed for v3.1.11+ + doCheck = false; + # sed calls will be unecessary in v3.1.11+ + preConfigure = '' + sed -i 's/future == 0.9.0/future>=0.9.0/' setup.py + sed -i 's/tzlocal == 1.0/tzlocal>=1.0/' setup.py + sed -i 's/pep8==1.4.1/pep8>=1.4.1/' setup.py + sed -i 's/pyflakes==0.6.1/pyflakes>=0.6.1/' setup.py + export LC_ALL="en_US.UTF-8" + ''; + + meta = with stdenv.lib; { + description = '' + A content management platform built using the Django framework. + ''; + longDescription = '' + Mezzanine is a powerful, consistent, and flexible content management + platform. Built using the Django framework, Mezzanine provides a + simple yet highly extensible architecture that encourages diving in and + hacking on the code. Mezzanine is BSD licensed and supported by a + diverse and active community. + + In some ways, Mezzanine resembles tools such as Wordpress that provide + an intuitive interface for managing pages, blog posts, form data, store + products, and other types of content. But Mezzanine is also different. + Unlike many other platforms that make extensive use of modules or + reusable applications, Mezzanine provides most of its functionality by + default. This approach yields a more integrated and efficient platform. + ''; + homepage = http://mezzanine.jupo.org/; + downloadPage = https://github.com/stephenmcd/mezzanine/releases; + license = licenses.free; + maintainers = with maintainers; [ prikhi ]; + platforms = platforms.linux; + }; + }; + minimock = buildPythonPackage rec { version = "1.2.8"; name = "minimock-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://bitbucket.org/jab/minimock/get/${version}.zip"; sha256 = "c88fa8a7120623f23990a7f086a9657f6ced09025a55e3be8649a30b4945441a"; }; - buildInputs = [ nose ]; + buildInputs = with self; [ nose ]; checkPhase = "./test"; @@ -4606,17 +6498,52 @@ rec { }; }; + rainbowstream = buildPythonPackage rec { + name = "rainbowstream-${version}"; + version = "1.1.6"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/r/rainbowstream/${name}.tar.gz"; + sha256 = "04i2a8a5k6n6lgfpa9bzzbkhvywgd4bn3qlspl97pn8ply9kgszm"; + }; + + doCheck = false; + + preBuild = '' + export LC_ALL="en_US.UTF-8" + ''; + + postInstall = '' + for prog in "$out/bin/"*; do + wrapProgram "$prog" \ + --prefix PYTHONPATH : "$PYTHONPATH" + done + ''; + + buildInputs = with self; [ + pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales + pillow twitter pyfiglet requests arrow dateutil modules.readline pysocks + ]; + + meta = { + description = "Streaming command-line twitter client"; + homepage = "http://www.rainbowstream.org/"; + license = licenses.mit; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + mitmproxy = buildPythonPackage rec { baseName = "mitmproxy"; name = "${baseName}-${meta.version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "${meta.homepage}/download/${name}.tar.gz"; sha256 = "0mpyw8iw4l4jv175qlbn0rrlgiz1k79m44jncbdxfj8ddvvvyz2j"; }; - buildInputs = [ - pkgs.pyopenssl pyasn1 urwid pil lxml flask protobuf netlib + buildInputs = with self; [ + pyopenssl pyasn1 urwid pil lxml flask protobuf netlib ]; doCheck = false; @@ -4639,12 +6566,12 @@ rec { mock = buildPythonPackage (rec { name = "mock-1.0.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/m/mock/${name}.tar.gz"; md5 = "c3971991738caa55ec7c356bbc154ee2"; }; - buildInputs = [ unittest2 ]; + buildInputs = with self; [ unittest2 ]; meta = { description = "Mock objects for Python"; @@ -4660,7 +6587,7 @@ rec { disabled = isPy3k; ver = "1.9.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://static.moinmo.in/files/moin-${ver}.tar.gz"; sha256 = "f4ba1b5c956bd96d2a61e27e68d297aa63d1afbc80d5740e139dcdf0affb4db5"; }; @@ -4674,11 +6601,29 @@ rec { }; }); + moretools = buildPythonPackage rec { + name = "moretools-0.1a41"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/m/moretools/${name}.tar.gz"; + sha256 = "1n442wprbl3cmg08233m1sr3g4z0i8hv9g6bhch7kzdmbl21399f"; + }; + + buildInputs = with self; [ six pathpy setuptools ]; + propagatedBuildInputs = with self; [ decorator ]; + + meta = with stdenv.lib; { + description = "Many more basic tools for python 2/3 extending itertools, functools, operator and collections"; + homepage = https://bitbucket.org/userzimmermann/python-moretools; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; + }; mox = buildPythonPackage rec { name = "mox-0.5.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pymox.googlecode.com/files/${name}.tar.gz"; sha1 = "b71aeaacf31898c3b38d8b9ca5bcc0664499c0de"; }; @@ -4688,15 +6633,38 @@ rec { meta = { homepage = http://code.google.com/p/pymox/; - description = "A mock object framework for Python."; + description = "A mock object framework for Python"; }; }; + mozsvc = buildPythonPackage rec { + name = "mozsvc-${version}"; + version = "0.8"; + + src = pkgs.fetchgit { + url = https://github.com/mozilla-services/mozservices.git; + rev = "refs/tags/${version}"; + sha256 = "0k1d7v8aa4xd3f9h8m5crl647136ba15i9nzdrpxg5aqmv2n0i0p"; + }; + + patches = singleton (pkgs.fetchurl { + url = https://github.com/nbp/mozservices/commit/f86c0b0b870cd8f80ce90accde9e16ecb2e88863.diff; + sha256 = "1lnghx821f6dqp3pa382ka07cncdz7hq0mkrh44d0q3grvrlrp9n"; + }); + + doCheck = false; # lazy packager + propagatedBuildInputs = with self; [ pyramid simplejson konfig ]; + + meta = { + homepage = https://github.com/mozilla-services/mozservices; + description = "Various utilities for Mozilla apps"; + }; + }; mpmath = buildPythonPackage rec { name = "mpmath-0.17"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://mpmath.googlecode.com/files/${name}.tar.gz"; sha256 = "1blgzwq4irzaf8abb4z0d2r48903n9zxf51fhnv3gv09bgxjqzxh"; }; @@ -4718,14 +6686,14 @@ rec { name = "python-mpd-0.3.0"; disabled = isPy3k; - - src = fetchurl { + + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/python-mpd/python-mpd-0.3.0.tar.gz"; md5 = "5b3849b131e2fb12f251434597d65635"; }; meta = with pkgs.stdenv.lib; { - description = "An MPD (Music Player Daemon) client library written in pure Python."; + description = "An MPD (Music Player Daemon) client library written in pure Python"; homepage = http://jatreuman.indefero.net/p/python-mpd/; license = licenses.gpl3; }; @@ -4735,18 +6703,19 @@ rec { name = "mrbob-${version}"; version = "0.1.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/m/mr.bob/mr.bob-${version}.zip"; md5 = "84a117c9a75b86842b0fa5f5c9c767f3"; }; + buildInputs = [ pkgs.glibcLocales ]; + # some files in tests dir include unicode names preBuild = '' - export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive export LC_ALL="en_US.UTF-8" ''; - propagatedBuildInputs = [ argparse jinja2 six modules.readline ] ++ + propagatedBuildInputs = with self; [ argparse jinja2 six modules.readline ] ++ (optionals isPy26 [ importlib ordereddict ]); meta = { @@ -4755,11 +6724,35 @@ rec { }; }; + msgpack = buildPythonPackage rec { + name = "msgpack-python-${version}"; + version = "0.4.6"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/m/msgpack-python/${name}.tar.gz"; + md5 = "8b317669314cf1bc881716cccdaccb30"; + }; + + propagatedBuildInputs = with self; [ ]; + }; + + msrplib = buildPythonPackage rec { + name = "python-msrplib-${version}"; + version = "0.15.0"; + + src = pkgs.fetchurl { + url = "http://download.ag-projects.com/SipClient/${name}.tar.gz"; + sha256 = "1sm03jcz663xkbhfmrk7rr5l3wlkydn8xs56fvqjxyapx0m5sw6f"; + }; + + propagatedBuildInputs = with self; [ eventlib application gnutls ]; + }; + munkres = buildPythonPackage rec { name = "munkres-1.0.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/m/munkres/${name}.tar.gz"; md5 = "d7ba3b8c5001578ae229a2d5a655872f"; }; @@ -4779,13 +6772,14 @@ rec { musicbrainzngs = buildPythonPackage rec { name = "musicbrainzngs-0.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/m/musicbrainzngs/${name}.tar.gz"; md5 = "9e17a181af72d04a291c9a960bc73d44"; }; - + + buildInputs = [ pkgs.glibcLocales ]; + preCheck = '' - export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive export LC_ALL="en_US.UTF-8" ''; @@ -4797,17 +6791,34 @@ rec { }; }; + mutag = buildPythonPackage rec { + disabled = ! isPy3k; + name = "mutag-0.0.2-2ffa0258ca"; + src = pkgs.fetchgit { + url = "https://github.com/aroig/mutag.git"; + sha256 = "0azq2sb32mv6wyjlw1hk01c23isl4x1hya52lqnhknak299s5fml"; + rev = "2ffa0258cadaf79313241f43bf2c1caaf197d9c2"; + }; + + propagatedBuildInputs = with self; [ pyparsing ]; + + meta = { + homepage = https://github.com/aroig/mutag; + license = stdenv.lib.licenses.gpl3; + maintainers = [ stdenv.lib.maintainers.DamienCassou ]; + }; + }; mutagen = buildPythonPackage (rec { - name = "mutagen-1.23"; + name = "mutagen-1.27"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/m/mutagen/${name}.tar.gz"; - sha256 = "12f70aaf5ggdzll76bhhkn64b27xy9s1acx417dbsaqnnbis8s76"; + md5 = "6a9bb5cc33214add35348f1bb3448340"; }; - - # one unicode test fails - doCheck = false; + + # Needed for tests only + buildInputs = [ pkgs.faad2 pkgs.flac pkgs.vorbisTools pkgs.liboggz ]; meta = { description = "Python multimedia tagging library"; @@ -4821,7 +6832,7 @@ rec { name = "muttils-1.3"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = http://www.blacktrash.org/hg/muttils/archive/8bb26094df06.tar.bz2; sha256 = "1a4kxa0fpgg6rdj5p4kggfn8xpniqh8v5kbiaqc6wids02m7kag6"; }; @@ -4836,23 +6847,50 @@ rec { }; }); + pymysql = buildPythonPackage rec { + name = "pymysql-${version}"; + version = "0.6.3"; + src = pkgs.fetchgit { + url = https://github.com/PyMySQL/PyMySQL.git; + rev = "refs/tags/pymysql-${version}"; + sha256 = "1m9fr2x49s3aixlmccr3w80skl19dya9h3x69wgl6ly1z27iyg24"; + }; + }; + + pymysqlsa = self.buildPythonPackage rec { + name = "pymysqlsa-${version}"; + version = "1.0"; + + propagatedBuildInputs = with self; [ pymysql sqlalchemy9 ]; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pymysql_sa/pymysql_sa-1.0.tar.gz"; + sha256 = "a2676bce514a29b2d6ab418812259b0c2f7564150ac53455420a20bd7935314a"; + }; + + meta = { + description = "PyMySQL dialect for SQL Alchemy"; + homepage = https://pypi.python.org/pypi/pymysql_sa; + license = licenses.mit; + }; + }; MySQL_python = buildPythonPackage { name = "MySQL-python-1.2.3"; - + disabled = isPy3k; # plenty of failing tests doCheck = false; - src = fetchurl { + src = pkgs.fetchurl { url = mirror://sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz; sha256 = "0vkyg9dmj29hzk7fy77f42p7bfj28skyzsjsjry4wqr3z6xnzrkx"; }; - buildInputs = [ nose ]; + buildInputs = with self; [ nose pkgs.openssl ]; - propagatedBuildInputs = [ pkgs.mysql pkgs.zlib ]; + propagatedBuildInputs = with self; [ pkgs.mysql pkgs.zlib ]; meta = { description = "MySQL database binding for Python"; @@ -4865,7 +6903,7 @@ rec { mysql_connector_repackaged = buildPythonPackage rec { name = "mysql-connector-repackaged-0.3.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/m/mysql-connector-repackaged/${name}.tar.gz"; md5 = "0b17ad1cb3fe763fd44487cb97cf45b2"; }; @@ -4884,7 +6922,7 @@ rec { name = "namebench-1.0.5"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://namebench.googlecode.com/files/${name}.tgz"; sha256 = "6cbde35ce94d1f31e7d48f5d8eec13238b4dbc505675a33f1e183e600c1482c3"; }; @@ -4916,13 +6954,29 @@ rec { }); + nameparser = buildPythonPackage rec { + name = "nameparser-${version}"; + version = "0.3.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/n/nameparser/${name}.tar.gz"; + sha256 = "1zi94m99ziwwd6kkip3w2xpnl05r2cfv9iq68inz7np81c3g8vag"; + }; + + meta = { + description = "A simple Python module for parsing human names into their individual components"; + homepage = https://github.com/derek73/python-nameparser; + license = stdenv.lib.licenses.lgpl21Plus; + }; + }; + nbxmpp = buildPythonPackage rec { - name = "nbxmpp-0.5"; + name = "nbxmpp-0.5.2"; - src = fetchurl { + src = pkgs.fetchurl { name = "${name}.tar.gz"; - url = "https://python-nbxmpp.gajim.org/downloads/5"; - sha256 = "0y270c9v4i9n58p4ghlm18h50qcfichmfkgcpqd3bypx4fkmdx90"; + url = "https://python-nbxmpp.gajim.org/downloads/7"; + sha256 = "0q2iph07aahwn6hlr38v0cvzlfc9hrf5mz6qs1kp4b4x9l8x5mqn"; }; meta = { @@ -4936,7 +6990,7 @@ rec { netaddr = buildPythonPackage rec { name = "netaddr-0.7.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/downloads/drkjam/netaddr/${name}.tar.gz"; sha256 = "0ssxic389rdc79zkz8dxcjpqdi5qs80h12khkag410cl9cwk11f2"; }; @@ -4954,7 +7008,7 @@ rec { version = "0.10.4"; name = "netifaces-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/n/netifaces/${name}.tar.gz"; sha256 = "1plw237a4zib4z8s62g0mrs8gm3kjfrp5sxh6bbk9nl3rdls2mln"; }; @@ -4970,14 +7024,14 @@ rec { name = "${baseName}-${meta.version}"; disabled = (!isPy27); - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/cortesi/netlib/archive/v${meta.version}.tar.gz"; name = "${name}.tar.gz"; sha256 = "1x2n126b7fal64fb5fzkp4by7ym0iswn3w9mh6pm4c1vjdpnk592"; }; - buildInputs = [ - pkgs.pyopenssl pyasn1 + buildInputs = with self; [ + pyopenssl pyasn1 ]; doCheck = false; @@ -4994,13 +7048,13 @@ rec { name = "nevow-${version}"; version = "0.10.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/N/Nevow/Nevow-${version}.tar.gz"; sha256 = "90631f68f626c8934984908d3df15e7c198939d36be7ead1305479dfc67ff6d0"; name = "${name}.tar.gz"; }; - propagatedBuildInputs = [ twisted ]; + propagatedBuildInputs = with self; [ twisted ]; postInstall = "twistd --help > /dev/null"; @@ -5032,17 +7086,17 @@ rec { }); nose = buildPythonPackage rec { - version = "1.3.3"; + version = "1.3.4"; name = "nose-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz"; - sha256 = "09h3a74hzw1cfx4ic19ibxq8kg6sl1n64px2mmb57f5yd3r2y35l"; + sha256 = "00qymfgwg4iam4xi0w9bnv7lcb3fypq1hzfafzgs1rfmwaj67g3n"; }; - buildInputs = [ coverage ]; + buildInputs = with self; [ coverage ]; - doCheck = ! stdenv.isDarwin; + doCheck = false; # lot's of transient errors, too much hassle checkPhase = if python.is_py3k or false then '' ${python}/bin/${python.executable} setup.py build_tests '' else "" + '' @@ -5059,12 +7113,12 @@ rec { version = "0.4"; name = "nose-selecttests-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/n/nose-selecttests/${name}.zip"; sha256 = "0lgrfgp3sq8xi8d9grrg0z8jsyk0wl8a3rxw31hb7vdncin5b7n5"; }; - propagatedBuildInputs = [ nose ]; + propagatedBuildInputs = with self; [ nose ]; meta = { description = "Simple nose plugin that enables developers to run subset of collected tests to spare some waiting time for better things"; @@ -5074,53 +7128,91 @@ rec { nose2 = if isPy26 then null else (buildPythonPackage rec { name = "nose2-0.4.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/n/nose2/${name}.tar.gz"; md5 = "d7e51c848227488e3cc0424faf5511cd"; }; meta = { description = "nose2 is the next generation of nicer testing for Python"; }; - propagatedBuildInputs = [ six ]; + propagatedBuildInputs = with self; [ six ]; # AttributeError: 'module' object has no attribute 'collector' doCheck = false; }); + nose-cover3 = buildPythonPackage rec { + name = "nose-cover3-${version}"; + version = "0.1.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/n/nose-cover3/${name}.tar.gz"; + sha256 = "1la4hhc1yszjpcchvkqk5xmzlb2g1b3fgxj9wwc58qc549whlcc1"; + md5 = "82f981eaa007b430679899256050fa0c"; + }; + + propagatedBuildInputs = with self; [ nose ]; + + meta = { + description = "Coverage 3.x support for Nose"; + homepage = https://github.com/ask/nosecover3; + license = stdenv.lib.licenses.lgpl21; + }; + }; + + nosexcover = buildPythonPackage (rec { + name = "nosexcover-1.0.10"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/n/nosexcover/${name}.tar.gz"; + md5 = "12bf494a801b376debeb6a167c247391"; + }; + + propagatedBuildInputs = with self; [ coverage nose ]; + + meta = { + description = "Extends nose.plugins.cover to add Cobertura-style XML reports"; + + homepage = http://github.com/cmheisel/nose-xcover/; + + license = stdenv.lib.licenses.bsd3; + }; + }); + nosejs = buildPythonPackage { name = "nosejs-0.9.4"; - src = fetchurl { + src = pkgs.fetchurl { url = https://pypi.python.org/packages/source/N/NoseJS/NoseJS-0.9.4.tar.gz; sha256 = "0qrhkd3sga56qf6k0sqyhwfcladwi05gl6aqmr0xriiq1sgva5dy"; }; - buildInputs = [ nose ]; + buildInputs = with self; [ nose ]; }; nose-cprof = buildPythonPackage rec { name = "nose-cprof-0.1-0"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/n/nose-cprof/${name}.tar.gz"; md5 = "5db27c3b8f01915335ae6fc5fd3afd44"; }; meta = { - description = "A python nose plugin to profile using cProfile rather than the default Hotshot profiler."; + description = "A python nose plugin to profile using cProfile rather than the default Hotshot profiler"; }; - buildInputs = [ nose ]; + buildInputs = with self; [ nose ]; }; notify = pkgs.stdenv.mkDerivation (rec { name = "python-notify-0.1.1"; - src = fetchurl { + src = pkgs.fetchurl { url = http://www.galago-project.org/files/releases/source/notify-python/notify-python-0.1.1.tar.bz2; sha256 = "1kh4spwgqxm534qlzzf2ijchckvs0pwjxl1irhicjmlg7mybnfvx"; }; - patches = singleton (fetchurl { + patches = singleton (pkgs.fetchurl { name = "libnotify07.patch"; url = "http://pkgs.fedoraproject.org/cgit/notify-python.git/plain/" + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c"; @@ -5128,11 +7220,11 @@ rec { }); postPatch = '' - sed -i -e '/^PYGTK_CODEGEN/s|=.*|="${pygtk}/bin/pygtk-codegen-2.0"|' \ + sed -i -e '/^PYGTK_CODEGEN/s|=.*|="${self.pygtk}/bin/pygtk-codegen-2.0"|' \ configure ''; - buildInputs = [ python pkgs.pkgconfig pkgs.libnotify pygobject pygtk pkgs.glib pkgs.gtk pkgs.dbus_glib ]; + buildInputs = with self; [ python pkgs.pkgconfig pkgs.libnotify pygobject pygtk pkgs.glib pkgs.gtk pkgs.dbus_glib ]; postInstall = "cd $out/lib/python*/site-packages && ln -s gtk-*/pynotify ."; @@ -5147,9 +7239,9 @@ rec { src = pkgs.notmuch.src; - sourceRoot = "${pkgs.notmuch.name}/bindings/python"; + sourceRoot = pkgs.notmuch.pythonSourceRoot; - buildInputs = [ python pkgs.notmuch ]; + buildInputs = with self; [ python pkgs.notmuch ]; meta = { description = "A Python wrapper around notmuch"; @@ -5158,17 +7250,29 @@ rec { }; }; + ntplib = buildPythonPackage rec { + name = "ntplib-0.3.2"; + src = pkgs.fetchurl { + url = https://pypi.python.org/packages/source/n/ntplib/ntplib-0.3.2.tar.gz; + md5 = "0f386dc00c0056ac4d77af0b4c21bb8e"; + }; + + meta = { + description = "Python NTP library"; + }; + }; + numexpr = buildPythonPackage rec { version = "2.4"; name = "numexpr-${version}"; - src = fetchgit { + src = pkgs.fetchgit { url = https://github.com/pydata/numexpr.git; rev = "606cc9a110711e947d35ac2770749c00dab184c8"; sha256 = "1gxgkg7ncgjhnifn444iha5nrjhyr8sr6w5yp204186a1ysz858g"; }; - propagatedBuildInputs = with pkgs; [ numpy ]; + propagatedBuildInputs = with self; [ numpy ]; # Run the test suite. # It requires the build path to be in the python search path. @@ -5197,20 +7301,22 @@ rec { }; numpy = buildPythonPackage ( rec { - name = "numpy-1.7.1"; + name = "numpy-1.8.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "mirror://sourceforge/numpy/${name}.tar.gz"; - sha256 = "0jh832j439jj2b7m1z5a4rv5cpdn1yiw1r6gwrhdihw562d029am"; + sha256 = "1gcxlk3mf43pzpxvbw8kcfg173g4105j9szsfc1kxwablail6myf"; }; + disabled = isPyPy; # WIP + preConfigure = '' sed -i 's/-faltivec//' numpy/distutils/system_info.py sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py ''; preBuild = '' - export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack} + export BLAS=${pkgs.openblas} LAPACK=${pkgs.openblas} ''; setupPyBuildFlags = ["--fcompiler='gnu95'"]; @@ -5218,8 +7324,8 @@ rec { # error: invalid command 'test' doCheck = false; - buildInputs = [ pkgs.gfortran ]; - propagatedBuildInputs = [ pkgs.liblapack pkgs.blas ]; + buildInputs = with self; [ pkgs.gfortran ]; + propagatedBuildInputs = with self; [ pkgs.openblas ]; meta = { description = "Scientific tools for Python"; @@ -5229,16 +7335,16 @@ rec { nwdiag = buildPythonPackage rec { - name = "nwdiag-1.0.0"; + name = "nwdiag-1.0.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/n/nwdiag/${name}.tar.gz"; - md5 = "d81581a028840f8f7362ab21bf73e941"; + sha256 = "0n7ary1fngxk8bk15vabc8fhnmxlh098piciwaviwn7l4a5q1zys"; }; - buildInputs = [ pep8 nose unittest2 docutils ]; + buildInputs = with self; [ pep8 nose unittest2 docutils ]; - propagatedBuildInputs = [ blockdiag ]; + propagatedBuildInputs = with self; [ blockdiag ]; # tests fail doCheck = false; @@ -5252,17 +7358,18 @@ rec { }; }; - livestreamer = if isPy34 then null else (buildPythonPackage rec { - version = "1.8.2"; + livestreamer = buildPythonPackage rec { + version = "1.11.1"; name = "livestreamer-${version}"; + disabled = isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz"; - sha256 = "130h97qdb7qx8xg0gz54p5a6cb2zbffi5hsi305xf0ah9nf4rbrc"; + sha256 = "1hic3z5any64gn2b0gs1b7m34bzgzv71inr8wgjq59pwf8mbrqk9"; }; - buildInputs = [ pkgs.makeWrapper ]; - propagatedBuildInputs = [ requests pkgs.rtmpdump pycrypto ]; + buildInputs = with self; [ pkgs.makeWrapper ]; + propagatedBuildInputs = with self; [ requests2 pkgs.rtmpdump pycrypto singledispatch futures ]; postInstall = '' wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin ''; @@ -5273,7 +7380,23 @@ rec { Livestreamer is CLI program that extracts streams from various services and pipes them into a video player of choice. ''; - license = "bsd"; + license = stdenv.lib.licenses.bsd2; + }; + }; + + oauth = buildPythonPackage (rec { + name = "oauth-1.0.1"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/o/oauth/oauth-1.0.1.tar.gz"; + sha256 = "0pdgi35hczsslil4890xqawnbpdazkgf2v1443847h5hy2gq2sg7"; + }; + + meta = { + homepage = "http://code.google.com/p/oauth"; + description = "Library for OAuth version 1.0a."; + license = licenses.mit; + platforms = stdenv.lib.platforms.all; }; }); @@ -5281,14 +7404,14 @@ rec { name = "oauth2-1.5.211"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/o/oauth2/oauth2-1.5.211.tar.gz"; sha256 = "82a38f674da1fa496c0fc4df714cbb058540bed72a30c50a2e344b0d984c4d21"; }; - propagatedBuildInputs = [ httplib2 ]; + propagatedBuildInputs = with self; [ httplib2 ]; - buildInputs = [ mock coverage ]; + buildInputs = with self; [ mock coverage ]; # ServerNotFoundError: Unable to find the server at oauth-sandbox.sevengoslings.net doCheck = false; @@ -5304,37 +7427,45 @@ rec { oauthlib = buildPythonPackage rec { - name = "oauthlib-0.5.0"; + version = "0.7.2"; + name = "oauthlib-${version}"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/o/oauthlib/${name}.tar.gz"; - md5 = "d12c507de33403ebdf290fbffdb98213"; + src = pkgs.fetchurl { + url = "https://github.com/idan/oauthlib/archive/${version}.tar.gz"; + sha256 = "08b7swyswhxh90k9mp54rk1qks2l2s2pdcjap6x118y27p7dhp4h"; }; - buildInputs = [ mock nose unittest2 ]; + buildInputs = with self; [ mock nose unittest2 ]; - propagatedBuildInputs = [ pycrypto ]; + propagatedBuildInputs = with self; [ pycrypto blinker pyjwt ]; meta = { homepage = https://github.com/idan/oauthlib; + downloadPage = https://github.com/idan/oauthlib/releases; description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"; + maintainers = with maintainers; [ prikhi ]; }; }; obfsproxy = buildPythonPackage ( rec { - name = "obfsproxy-0.2.2"; - src = fetchgit { - url = https://git.torproject.org/pluggable-transports/obfsproxy.git; - rev = "3c4e843a30c430aec1de03e0e09ef654072efc03"; - sha256 = "8fd1e63a37bc42add7609d97d50ecd81da81881bcf7015a9e2958531dbf39018"; + name = "obfsproxy-${version}"; + version = "0.2.12"; + + src = pkgs.fetchgit { + url = meta.repositories.git; + rev = "refs/tags/${name}"; + sha256 = "82d694aa7f3de7327fc4dc517fb262ab076f536ed6d4377573c76df8cf019dcf"; }; - propagatedBuildInputs = [ pyptlib argparse twisted pycrypto ]; + propagatedBuildInputs = with self; + [ pyptlib argparse twisted pycrypto pyyaml ]; meta = { description = "a pluggable transport proxy"; homepage = https://www.torproject.org/projects/obfsproxy; + repositories.git = https://git.torproject.org/pluggable-transports/obfsproxy.git; + maintainers = with stdenv.lib.maintainers; [ phreedom thoughtpolice ]; }; }); @@ -5342,7 +7473,7 @@ rec { name = "offtrac-0.1.0"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/o/offtrac/${name}.tar.gz"; sha256 = "06vd010pa1z7lyfj1na30iqzffr4kzj2k2sba09spik7drlvvl56"; }; @@ -5373,7 +7504,7 @@ rec { ordereddict = if isPy26 then (buildPythonPackage { name = "ordereddict-1.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/o/ordereddict/ordereddict-1.1.tar.gz"; md5 = "a0ed854ee442051b249bfad0f638bbec"; }; @@ -5383,7 +7514,7 @@ rec { ply = buildPythonPackage (rec { name = "ply-3.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://www.dabeaz.com/ply/${name}.tar.gz"; sha256 = "0sslnbpws847r1j1f41fjpn76w0asywfqgxwzyjrvmmxnw8myhxg"; }; @@ -5417,7 +7548,7 @@ rec { name = "osc-0.133+git"; disabled = isPy3k; - src = fetchgit { + src = pkgs.fetchgit { url = git://gitorious.org/opensuse/osc.git; rev = "6cd541967ee2fca0b89e81470f18b97a3ffc23ce"; sha256 = "a39ce0e321e40e9758bf7b9128d316c71b35b80eabc84f13df492083bb6f1cc6"; @@ -5427,20 +7558,31 @@ rec { doCheck = false; postInstall = "ln -s $out/bin/osc-wrapper.py $out/bin/osc"; - propagatedBuildInputs = [ pythonPackages.m2crypto ]; + propagatedBuildInputs = with self; [ self.m2crypto ]; }); + pagerduty = buildPythonPackage rec { + name = "pagerduty-${version}"; + version = "0.2.1"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pagerduty/pagerduty-${version}.tar.gz"; + md5 = "8109a330d16751a7f4041c0ccedec787"; + }; + }; + pandas = buildPythonPackage rec { - name = "pandas-0.14.0"; + name = "pandas-0.15.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pandas/${name}.tar.gz"; - sha256 = "f7997debca756c4dd5ccdf5a010dfe3d1c7dac98ee706b715d994cf7c9d35528"; + sha256 = "1w3wjnn3v37hf3hrd24lfgk6vpykarv9mihhpcfq6y7rg586bgjk"; }; - buildInputs = [ nose ]; - propagatedBuildInputs = [ dateutil numpy pytz modules.sqlite3 ]; + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ dateutil numpy pytz modules.sqlite3 ]; # Tests require networking to pass doCheck = false; @@ -5454,20 +7596,34 @@ rec { }; }; + parsedatetime = buildPythonPackage rec { + name = "parsedatetime-${version}"; + version = "1.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/parsedatetime/${name}.tar.gz"; + md5 = "3aca729761be5259a508ed184df73c68"; + }; + }; + paramiko = buildPythonPackage rec { - name = "paramiko-1.14.0"; + name = "paramiko-1.15.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/paramiko/${name}.tar.gz"; - md5 = "e26324fd398af68ad506fe98853835c3"; + md5 = "48c274c3f9b1282932567b21f6acf3b5"; }; - propagatedBuildInputs = [ pycrypto ecdsa ]; + propagatedBuildInputs = with self; [ pycrypto ecdsa ]; - # tests failures since 1.14.0 release.. - doCheck = false; - - checkPhase = "${python}/bin/${python.executable} test.py"; + # https://github.com/paramiko/paramiko/issues/449 + doCheck = !(isPyPy || isPy33); + checkPhase = '' + # test_util needs to resolve an hostname, thus failing when the fw blocks it + sed '/UtilTest/d' -i test.py + + ${python}/bin/${python.executable} test.py --no-sftp --no-big-file + ''; meta = { homepage = "https://github.com/paramiko/paramiko/"; @@ -5489,12 +7645,12 @@ rec { name = "paste-1.7.5.1"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = http://pypi.python.org/packages/source/P/Paste/Paste-1.7.5.1.tar.gz; md5 = "7ea5fabed7dca48eb46dc613c4b6c4ed"; }; - buildInputs = [ nose ]; + buildInputs = with self; [ nose ]; doCheck = false; # some files required by the test seem to be missing @@ -5509,12 +7665,12 @@ rec { version = "1.5.2"; name = "paste-deploy-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-${version}.tar.gz"; md5 = "352b7205c78c8de4987578d19431af3b"; }; - buildInputs = [ nose ]; + buildInputs = with self; [ nose ]; meta = { description = "Load, configure, and compose WSGI applications and servers"; @@ -5523,15 +7679,68 @@ rec { }; }; + pasteScript = buildPythonPackage rec { + version = "1.7.5"; + name = "PasterScript-${version}"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/P/PasteScript/${name}.tar.gz"; + sha256 = "2b685be69d6ac8bc0fe6f558f119660259db26a15e16a4943c515fbee8093539"; + }; + + doCheck = false; + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ paste paste_deploy cheetah argparse ]; + + meta = { + description = "A pluggable command-line frontend, including commands to setup package file layouts"; + homepage = http://pythonpaste.org/script/; + platforms = stdenv.lib.platforms.all; + }; + }; + + pathlib = buildPythonPackage rec { + name = "pathlib-${version}"; + version = "1.0.1"; + disabled = pythonAtLeast "3.4"; # Was added to std library in Python 3.4 + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pathlib/${name}.tar.gz"; + sha256 = "17zajiw4mjbkkv6ahp3xf025qglkj0805m9s41c45zryzj6p2h39"; + }; + + meta = { + description = "Object-oriented filesystem paths"; + homepage = "https://pathlib.readthedocs.org/"; + license = stdenv.lib.licenses.mit; + }; + }; + + pathpy = buildPythonPackage rec { + name = "path.py-5.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/path.py/${name}.zip"; + sha256 = "0n1kpbbm1dg5f484yzxr7gb3ak6vjp92j70nw3bgjzsj9fh26afq"; + }; + + meta = with stdenv.lib; { + description = "A module wrapper for os.path"; + homepage = http://github.com/jaraco/path.py; + license = licenses.mit; + platforms = platforms.linux; + }; + }; + paypalrestsdk = buildPythonPackage rec { name = "paypalrestsdk-0.7.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/paypalrestsdk/${name}.tar.gz"; sha256 = "117kfipzfahf9ysv414bh1mmm5cc9ck5zb6rhpslx1f8gk3frvd6"; }; - propagatedBuildInputs = [ httplib2 ]; + propagatedBuildInputs = with self; [ httplib2 ]; meta = { homepage = https://developer.paypal.com/; @@ -5543,7 +7752,7 @@ rec { pbr = buildPythonPackage rec { name = "pbr-0.9.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pbr/${name}.tar.gz"; sha256 = "e5a57c434b1faa509a00bf458d2c7af965199d9cced3d05a547bff9880f7e8cb"; }; @@ -5553,7 +7762,7 @@ rec { doCheck = false; - buildInputs = [ pip ]; + buildInputs = with self; [ pip ]; meta = { description = "Python Build Reasonableness"; @@ -5562,11 +7771,43 @@ rec { }; }; + pelican = buildPythonPackage rec { + name = "pelican-${version}"; + version = "3.5.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pelican/${name}.tar.gz"; + sha256 = "0dl8i26sa20iijlg3z9gxn3p6f1d9v44b9742929xfaqwj4amvdp"; + }; + + preConfigure = '' + export LC_ALL="en_US.UTF-8" + ''; + + # Test data not provided + #buildInputs = [nose mock]; + doCheck = false; + + buildInputs = [ pkgs.glibcLocales ]; + + propagatedBuildInputs = with self; [ + jinja2 pygments docutils pytz unidecode six dateutil feedgenerator + blinker pillow beautifulsoup4 + ]; + + meta = { + homepage = http://getpelican.com/; + description = "A tool to generate a static blog from reStructuredText or Markdown input files"; + license = licenses.agpl3; + maintainers = with stdenv.lib.maintainers; [ offline prikhi ]; + }; + }; + pep8 = buildPythonPackage rec { name = "pep8-${version}"; version = "1.5.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz"; md5 = "f6adbdd69365ecca20513c709f9b7c93"; }; @@ -5579,11 +7820,31 @@ rec { }; }; + percol = buildPythonPackage rec { + name = "percol-${version}"; + version = "0.0.8"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/percol/${name}.tar.gz"; + sha256 = "169s5mhw1s60qbsd6pkf9bb2x6wfgx8hn8nw9d4qgc68qnnpp2cj"; + }; + + propagatedBuildInputs = with self; [ modules.curses ]; + + meta = { + homepage = https://github.com/mooz/percol; + description = "Adds flavor of interactive filtering to the traditional pipe concept of shell"; + license = licenses.mit; + maintainers = with stdenv.lib.maintainers; [ koral ]; + }; + }; + pexpect = buildPythonPackage { name = "pexpect-2.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "mirror://sourceforge/pexpect/pexpect-2.3.tar.gz"; sha256 = "0x8bfjjqygriry1iyygm5048ykl5qpbpzqfp6i8dhkslm3ryf5fk"; }; @@ -5592,8 +7853,8 @@ rec { doCheck = false; meta = { - homepage = "http://www.noah.org/wiki/Pexpect"; - description = "Automate interactive console applications such as ssh, ftp, etc."; + homepage = http://www.noah.org/wiki/Pexpect; + description = "Automate interactive console applications such as ssh, ftp, etc"; license = stdenv.lib.licenses.mit; longDescription = '' @@ -5618,12 +7879,12 @@ rec { pg8000 = buildPythonPackage rec { name = "pg8000-1.9.14"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pg8000/${name}.tar.gz"; sha256 = "1vandvfaf1m3a1fbc7nbm6syfqr9bazhzsnmai0jpjkbmb349izs"; }; - propagatedBuildInputs = [ pytz ]; + propagatedBuildInputs = with self; [ pytz ]; meta = { maintainers = [ @@ -5634,59 +7895,94 @@ rec { }; }; + pgcli = buildPythonPackage rec { + name = "pgcli-${version}"; + version = "0.16.3"; + + src = pkgs.fetchFromGitHub { + sha256 = "12zizpj3fqbf90kj43zylpaqi3hhlihfg9xpzqa0aysiqri0ydx2"; + rev = "v${version}"; + repo = "pgcli"; + owner = "amjith"; + }; + + propagatedBuildInputs = with self; [ click jedi prompt_toolkit psycopg2 pygments sqlparse ]; + + meta = with stdenv.lib; { + description = "Command-line interface for PostgreSQL"; + longDescription = '' + Rich command-line interface for PostgreSQL with auto-completion and + syntax highlighting. + ''; + homepage = http://pgcli.com; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ nckx ]; + }; + }; + pip = buildPythonPackage rec { version = "1.5.6"; name = "pip-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pip/pip-${version}.tar.gz"; md5 = "01026f87978932060cc86c1dc527903e"; }; - buildInputs = [ mock scripttest virtualenv pytest ]; + buildInputs = with self; [ mock scripttest virtualenv pytest ]; }; pika = buildPythonPackage { name = "pika-0.9.12"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = https://pypi.python.org/packages/source/p/pika/pika-0.9.12.tar.gz; md5 = "7174fc7cc5570314fa3cfaa729106482"; }; - buildInputs = [ nose mock pyyaml ]; + buildInputs = with self; [ nose mock pyyaml ]; - propagatedBuildInputs = [ unittest2 ]; + propagatedBuildInputs = with self; [ unittest2 ]; }; - + + + python3pika = buildPythonPackage { + name = "python3-pika-0.9.14"; + disabled = !isPy3k; + src = pkgs.fetchurl { + url = https://pypi.python.org/packages/source/p/python3-pika/python3-pika-0.9.14.tar.gz; + md5 = "f3a3ee58afe0ae06f1fa553710e1aa28"; + }; + buildInputs = with self; [ nose mock pyyaml ]; + + propagatedBuildInputs = with self; [ unittest2 ]; + }; + + pil = buildPythonPackage rec { name = "PIL-${version}"; version = "1.1.7"; - - src = fetchurl { + + src = pkgs.fetchurl { url = "http://effbot.org/downloads/Imaging-${version}.tar.gz"; sha256 = "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9"; }; - - buildInputs = [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ]; - + + buildInputs = with self; [ python pkgs.libjpeg pkgs.zlib pkgs.freetype ]; + disabled = isPy3k; - doCheck = true; - + + postInstall = "ln -s $out/lib/${python.libPrefix}/site-packages $out/lib/${python.libPrefix}/site-packages/PIL"; + preConfigure = '' sed -i "setup.py" \ -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = libinclude("${pkgs.freetype}")|g ; s|^JPEG_ROOT =.*$|JPEG_ROOT = libinclude("${pkgs.libjpeg}")|g ; s|^ZLIB_ROOT =.*$|ZLIB_ROOT = libinclude("${pkgs.zlib}")|g ;' ''; - - checkPhase = "${python}/bin/${python.executable} selftest.py"; - buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i"; - - postInstall = '' - cd "$out"/lib/python*/site-packages - ln -s $PWD PIL - ''; - + + checkPhase = "${python}/bin/${python.executable} selftest.py"; + buildPhase = "${python}/bin/${python.executable} setup.py build_ext -i"; + meta = { homepage = http://www.pythonware.com/products/pil/; description = "The Python Imaging Library (PIL)"; @@ -5704,12 +8000,15 @@ rec { pillow = buildPythonPackage rec { name = "Pillow-2.3.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/P/Pillow/${name}.zip"; md5 = "56b6614499aacb7d6b5983c4914daea7"; }; - buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp ]; + buildInputs = with self; [ + pkgs.freetype pkgs.libjpeg pkgs.zlib pkgs.libtiff pkgs.libwebp pkgs.tcl ] + ++ optionals (isPy26 || isPy33 || isPyPy) [ pkgs.lcms2 ] + ++ optionals (isPyPy) [ pkgs.tk pkgs.xlibs.libX11 ]; # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp. preConfigure = '' @@ -5718,11 +8017,10 @@ rec { s|^JPEG_ROOT =.*$|JPEG_ROOT = _lib_include("${pkgs.libjpeg}")|g ; s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ; s|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ; - s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;' + s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ; + s|^TCL_ROOT=.*$|TCL_ROOT = _lib_include("${pkgs.tcl}")|g ;' ''; - - meta = { homepage = http://python-imaging.github.com/Pillow; @@ -5737,16 +8035,16 @@ rec { license = "http://www.pythonware.com/products/pil/license.htm"; - maintainers = [ stdenv.lib.maintainers.goibhniu ]; + maintainers = with stdenv.lib.maintainers; [ goibhniu prikhi ]; }; }; plumbum = buildPythonPackage rec { name = "plumbum-1.4.2"; - buildInputs = [ pythonPackages.six ]; + buildInputs = with self; [ self.six ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/plumbum/${name}.tar.gz"; md5 = "38b526af9012a5282ae91dfe372cefd3"; }; @@ -5757,7 +8055,7 @@ rec { name = "polib-${version}"; version = "1.0.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://bitbucket.org/izi/polib/downloads/${name}.tar.gz"; sha256 = "16klwlswfbgmkzrra80fgzhic9447pk3mnr75r2fkz72bkvpcclb"; }; @@ -5773,17 +8071,36 @@ rec { }; + polylint = buildPythonPackage rec { + name = "polylint-${version}"; + version = "158125c6ab"; + + src = pkgs.fetchgit { + url = "https://github.com/bendavis78/polylint"; + rev = version; + sha256 = "ea10c67e9ce6df0936d6e2015382acba4f9cc559e2d6a9471f474f6bda78a266"; + }; + + propagatedBuildInputs = with self; [ html5lib lxml cssselect ]; + + meta = { + description = "Fast HTML linter for polymer"; + homepage = https://github.com/bendavis78/polylint; + }; + }; + + powerline = buildPythonPackage rec { rev = "db80fc95ed01d2c559c4bdc7da8514ed3cc7fcd9"; name = "powerline-beta_${rev}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/Lokaltog/powerline/tarball/${rev}"; name = "${name}.tar.bz"; sha256 = "1csd4vasy0avwfxrpdr61plj6k1nzf36f6qvd9kl15s3lnspsfaz"; }; - propagatedBuildInputs = [ pkgs.git pkgs.mercurial pkgs.bazaar pythonPackages.psutil pythonPackages.pygit2 ]; + propagatedBuildInputs = with self; [ pkgs.git pkgs.mercurial pkgs.bazaar self.psutil self.pygit2 ]; # error: This is still beta and some tests still fail doCheck = false; @@ -5806,7 +8123,7 @@ rec { meta = with stdenv.lib; { homepage = https://github.com/Lokaltog/powerline; - description = "The ultimate statusline/prompt utility."; + description = "The ultimate statusline/prompt utility"; license = licenses.mit; maintainers = with maintainers; [ lovek323 ]; platforms = platforms.all; @@ -5814,17 +8131,39 @@ rec { }; + + praw = pythonPackages.buildPythonPackage rec { + name = "praw-2.1.21"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/praw/praw-2.1.21.tar.gz"; + md5 = "3b0388c9105662f8be8f1a4d3a38216d"; + }; + + propagatedBuildInputs = with pythonPackages; [ update_checker six mock flake8 ]; + + # can't find the tests module? + doCheck = false; + + meta = with stdenv.lib; { + description = "Python Reddit API wrapper"; + homepage = http://praw.readthedocs.org/; + license = licenses.gpl3; + }; + }; + prettytable = buildPythonPackage rec { name = "prettytable-0.7.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/P/PrettyTable/${name}.tar.bz2"; sha1 = "ad346a18d92c1d95f2295397c7a8a4f489e48851"; }; - + + buildInputs = [ pkgs.glibcLocales ]; + preCheck = '' export LANG="en_US.UTF-8" - export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive ''; meta = { @@ -5834,26 +8173,79 @@ rec { }; - protobuf = buildPythonPackage rec { - inherit (pkgs.protobuf) name src; + prompt_toolkit = buildPythonPackage rec { + name = "prompt_toolkit-${version}"; + version = "0.26"; - propagatedBuildInputs = [ pkgs.protobuf google_apputils ]; - sourceRoot = "${name}/python"; - + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/prompt_toolkit/${name}.tar.gz"; + sha256 = "1rd9gy3bcwp08agw5hiqckhaxbsz1i1kgkhjqw6vwhjdfgdjiq9l"; + }; + + buildInputs = with self; [ jedi ipython pygments ]; + propagatedBuildInputs = with self; [ docopt six wcwidth ]; + + meta = with stdenv.lib; { + description = "Python library for building powerful interactive command lines"; + longDescription = '' + prompt_toolkit could be a replacement for readline, but it can be + much more than that. It is cross-platform, everything that you build + with it should run fine on both Unix and Windows systems. Also ships + with a nice interactive Python shell (called ptpython) built on top. + ''; + homepage = https://github.com/jonathanslenders/python-prompt-toolkit; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ nckx ]; + }; + }; + + protobuf = self.protobuf2_6; + protobuf2_6 = self.protobufBuild pkgs.protobuf2_6; + protobuf2_5 = self.protobufBuild pkgs.protobuf2_5; + protobufBuild = protobuf: buildPythonPackage rec { + inherit (protobuf) name src; + disabled = isPy3k; + + propagatedBuildInputs = with self; [ protobuf google_apputils ]; + + prePatch = '' + while [ ! -d python ]; do + cd * + done + cd python + ''; + + preConfigure = optionalString (versionAtLeast protobuf.version "2.6.0") '' + PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp + PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION=2 + ''; + + checkPhase = if versionAtLeast protobuf.version "2.6.0" then '' + ${python.executable} setup.py google_test --cpp_implementation + '' else '' + ${python.executable} setup.py test + ''; + + installFlags = optional (versionAtLeast protobuf.version "2.6.0") "--cpp_implementation"; + + doCheck = true; meta = { - description = "Protocol Buffers are Google's data interchange format."; + description = "Protocol Buffers are Google's data interchange format"; homepage = http://code.google.com/p/protobuf/; }; + + passthru.protobuf = protobuf; }; psutil = buildPythonPackage rec { - name = "psutil-1.0.1"; + name = "psutil-${version}"; + version = "2.1.1"; - src = fetchurl { - url = "http://psutil.googlecode.com/files/${name}.tar.gz"; - sha256 = "1zrzh7hi0f79sf9axwrw3c2kl86qs72kvx8xbbrdwlp39rfa1i1f"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/psutil/${name}.tar.gz"; + sha256 = "14smqj57yjrm6hjz5n2annkgv0kmxckdhqvfx784f4d4lr52m0dz"; }; # failed tests: https://code.google.com/p/psutil/issues/detail?id=434 @@ -5867,21 +8259,22 @@ rec { psycopg2 = buildPythonPackage rec { - name = "psycopg2-2.5.3"; + name = "psycopg2-2.5.4"; + disabled = isPyPy; # error: invalid command 'test' doCheck = false; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/psycopg2/${name}.tar.gz"; - sha256 = "02h33barxigsczpympnwa0yvw9hgdv8d63bxm5x251ri26xz6b9s"; + sha256 = "07ivzl7bq8bjcq5n90w4bsl29gjfm5l8yamw0paxh25si8r3zfi4"; }; - propagatedBuildInputs = [ pkgs.postgresql ]; + propagatedBuildInputs = with self; [ pkgs.postgresql ]; meta = { description = "PostgreSQL database adapter for the Python programming language"; - license = "GPLv2/ZPL"; + license = with stdenv.lib.licenses; [ gpl2 zpt20 ]; }; }; @@ -5890,7 +8283,7 @@ rec { name = "publicsuffix-${version}"; version = "1.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/publicsuffix/${name}.tar.gz"; md5 = "f86babf56f6e58b564d3853adebcf37a"; }; @@ -5904,11 +8297,55 @@ rec { py = buildPythonPackage rec { - name = "py-1.4.20"; + name = "py-1.4.24"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/py/${name}.tar.gz"; - md5 = "5f1708be5482f3ff6711dfd6cafd45e0"; + md5 = "8f32ee0cd1e01472a255fe1d28d81217"; + }; + }; + + + pyacoustid = buildPythonPackage rec { + name = "pyacoustid-1.1.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyacoustid/${name}.tar.gz"; + md5 = "b27c714d530300b917eb869726334226"; + }; + + propagatedBuildInputs = with self; [ requests audioread ]; + + patches = [ ../development/python-modules/pyacoustid-py3.patch ]; + + postPatch = '' + sed -i \ + -e '/^FPCALC_COMMAND *=/s|=.*|= "${pkgs.chromaprint}/bin/fpcalc"|' \ + acoustid.py + ''; + + meta = { + description = "Bindings for Chromaprint acoustic fingerprinting"; + homepage = "https://github.com/sampsyo/pyacoustid"; + license = stdenv.lib.licenses.mit; + }; + }; + + + pyalgotrade = buildPythonPackage { + name = "pyalogotrade-0.16"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/P/PyAlgoTrade/PyAlgoTrade-0.16.tar.gz"; + md5 = "01d70583ab15eb3bad21027bdeb30ae5"; + }; + + propagatedBuildInputs = with self; [ numpy scipy pytz ]; + + meta = { + description = "Python Algorithmic Trading"; + homepage = http://gbeced.github.io/pyalgotrade/; + license = stdenv.lib.licenses.asl20; }; }; @@ -5916,7 +8353,7 @@ rec { pyasn1 = buildPythonPackage ({ name = "pyasn1-0.1.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "mirror://sourceforge/pyasn1/0.1.7/pyasn1-0.1.7.tar.gz"; sha256 = "1aqy21fb564gmnkw2fbkn55c40diyx3z0ixh4savvxikqm9ivy74"; }; @@ -5929,17 +8366,36 @@ rec { }; }); + pyasn1-modules = buildPythonPackage rec { + name = "pyasn1-modules-${version}"; + version = "0.0.5"; + disabled = isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyasn1-modules/${name}.tar.gz"; + sha256 = "0hcr6klrzmw4d9j9s5wrhqva5014735pg4zk3rppac4fs87g0rdy"; + }; + + propagatedBuildInputs = with self; [ pyasn1 ]; + + meta = { + description = "A collection of ASN.1-based protocols modules"; + homepage = https://pypi.python.org/pypi/pyasn1-modules; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.unix; # same as pyasn1 + }; + }; pyaudio = pkgs.stdenv.mkDerivation rec { name = "python-pyaudio-${version}"; version = "0.2.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-${version}.tar.gz"; md5 = "623809778f3d70254a25492bae63b575"; }; - buildInputs = [ python pkgs.portaudio ]; + buildInputs = with self; [ python pkgs.portaudio ]; buildPhase = if stdenv.isDarwin then '' PORTAUDIO_PATH="${pkgs.portaudio}" ${python}/bin/${python.executable} setup.py build --static-link @@ -5956,11 +8412,74 @@ rec { }; }; + vobject = buildPythonPackage rec { + version = "0.8.1c"; + name = "vobject-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/v/vobject/vobject-${version}.tar.gz"; + sha256 = "1xanqn7rn96841s3lim5lnx5743gc4kyfg4ggj1ys5r0gw8i6har"; + }; + + disabled = isPy3k || isPyPy; + + propagatedBuildInputs = with self; [ dateutil ]; + + meta = with stdenv.lib; { + description = "Module for reading vCard and vCalendar files"; + homepage = http://vobject.skyhouseconsulting.com/; + license = licenses.asl20; + maintainers = [ maintainers.DamienCassou ]; + }; + }; + + pycarddav = buildPythonPackage rec { + version = "0.7.0"; + name = "pycarddav-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyCardDAV/pyCardDAV-${version}.tar.gz"; + sha256 = "0avkrcpisfvhz103v7vmq2jd83hvmpqrb4mlbx6ikkk1wcvclsx8"; + }; + + disabled = isPy3k || isPyPy; + + propagatedBuildInputs = with self; [ sqlite3 vobject lxml requests urwid pyxdg ]; + + meta = with stdenv.lib; { + description = "Command-line interface carddav client"; + homepage = http://lostpackets.de/pycarddav; + license = licenses.mit; + maintainers = [ maintainers.DamienCassou ]; + }; + }; + + pycosat = pythonPackages.buildPythonPackage rec { + name = "pycosat-0.6.0"; + + propagatedBuildInputs = with pythonPackages; [ ]; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pycosat/${name}.tar.gz"; + sha256 = "02sdn2998jlrm35smn1530hix3kzwyc1jv49cjdcnvfvrqqi3rww"; + }; + + meta = with stdenv.lib; { + description = ''PicoSAT is a popular SAT solver written by Armin + Biere in pure C. This package provides efficient Python bindings + to picosat on the C level, i.e. when importing pycosat, the + picosat solver becomes part of the Python process itself. For + ease of deployment, the picosat source (namely picosat.c and + picosat.h) is included in this project.''; + homepage = https://github.com/ContinuumIO/pycosat; + license = licenses.mit; + }; + }; pygit2 = buildPythonPackage rec { name = "pygit2-0.21.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pygit2/${name}.tar.gz"; sha256 = "0lya4v91d4y5fwrb55n8m8avgmz0l81jml2spvx6r7j1czcx3zic"; }; @@ -5969,7 +8488,7 @@ rec { export DYLD_LIBRARY_PATH="${pkgs.libgit2}/lib" '' else "" ); - propagatedBuildInputs = [ pkgs.libgit2 cffi ]; + propagatedBuildInputs = with self; [ pkgs.libgit2 ] ++ optionals (!isPyPy) [ cffi ]; preCheck = '' # disable tests that require networking @@ -5979,7 +8498,7 @@ rec { meta = { homepage = https://pypi.python.org/pypi/pygit2; - description = "Pygit2 is a set of Python bindings to the libgit2 shared library."; + description = "A set of Python bindings to the libgit2 shared library"; license = with stdenv.lib.licenses; gpl2; platforms = with stdenv.lib.platforms; all; }; @@ -5989,28 +8508,62 @@ rec { Babel = buildPythonPackage (rec { name = "Babel-1.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/B/Babel/${name}.tar.gz"; sha256 = "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz"; }; - propagatedBuildInputs = [ pytz ]; + propagatedBuildInputs = with self; [ pytz ]; meta = { homepage = http://babel.edgewall.org; - description = "A collection of tools for internationalizing Python applications."; + description = "A collection of tools for internationalizing Python applications"; license = "BSD"; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; }; }); + pybfd = buildPythonPackage rec { + name = "pybfd-0.1.1"; + + disabled = isPyPy || isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pybfd/${name}.tar.gz"; + md5 = "79dd6e12c90ad0515d0ad7fb1bd2f571"; + }; + + preConfigure = '' + substituteInPlace setup.py \ + --replace '"/usr/include"' '"${pkgs.gdb}/include"' \ + --replace '"/usr/lib"' '"${pkgs.binutils}/lib"' + ''; + + # --old-and-unmanageable not supported by this setup.py + installPhase = '' + mkdir -p "$out/lib/${python.libPrefix}/site-packages" + + export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + + ${python}/bin/${python.executable} setup.py install \ + --install-lib=$out/lib/${python.libPrefix}/site-packages \ + --prefix="$out" + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/Groundworkstech/pybfd; + description = "A Python interface to the GNU Binary File Descriptor (BFD) library"; + license = licenses.gpl2; + platforms = platforms.linux; + }; + }; pyblock = stdenv.mkDerivation rec { name = "pyblock-${version}"; version = "0.53"; - src = fetchurl rec { + src = pkgs.fetchurl rec { url = "http://pkgs.fedoraproject.org/repo/pkgs/python-pyblock/" + "${name}.tar.bz2/${md5}/${name}.tar.bz2"; md5 = "f6d33a8362dee358517d0a9e2ebdd044"; @@ -6021,7 +8574,7 @@ rec { -e 's/-Werror *//' -e 's|/usr/|'"$out"'/|' Makefile ''; - buildInputs = [ python pkgs.lvm2 pkgs.dmraid ]; + buildInputs = with self; [ python pkgs.lvm2 pkgs.dmraid ]; makeFlags = [ "USESELINUX=0" @@ -6034,34 +8587,88 @@ rec { }; }; + pybcrypt = buildPythonPackage rec { + name = "pybcrypt"; + version = "0.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/py-bcrypt/py-bcrypt-${version}.tar.gz"; + md5 = "dd8b367d6b716a2ea2e72392525f4e36"; + }; + + meta = { + description = "bcrypt password hashing and key derivation"; + homepage = https://code.google.com/p/py-bcrypt2; + license = "BSD"; + }; + }; + pycapnp = buildPythonPackage rec { - name = "pycapnp-0.4.4"; - homepage = "http://jparyani.github.io/pycapnp/index.html"; + name = "pycapnp-0.5.1"; + disabled = isPyPy || isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pycapnp/${name}.tar.gz"; - sha256 = "33b2b79438bb9bf37097966e1c90403c34ab49be1eb647ee251b62f362ee3537"; + sha256 = "1kp97il34419gcrhn866n6a10lvh8qr13bnllnnh9473n4cq0cvk"; }; - buildInputs = with pkgs; [ capnproto cython ]; + buildInputs = with pkgs; [ capnproto self.cython ]; # import setuptools as soon as possible, to minimize monkeypatching mayhem. postConfigure = '' - sed -i '2iimport setuptools' setup.py + sed -i '3iimport setuptools' setup.py ''; meta = with stdenv.lib; { maintainers = with maintainers; [ cstrahan ]; license = stdenv.lib.licenses.bsd2; platforms = stdenv.lib.platforms.all; + homepage = "http://jparyani.github.io/pycapnp/index.html"; }; }; + pycdio = buildPythonPackage rec { + name = "pycdio-0.20"; + disabled = !isPy27; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pycdio/${name}.tar.gz"; + sha256 = "1mrh233pj584gf7la64d4xlmvdnfl4jwpxs95lnd3i4zd5drid14"; + }; + + preConfigure = '' + patchShebangs . + ''; + + buildInputs = [ + self.setuptools self.nose pkgs.pkgconfig pkgs.swig pkgs.libcdio + ]; + + patches = [ ../development/python-modules/pycdio/add-cdtext-toc.patch ]; + + # Run tests using nosetests but first need to install the binaries + # to the root source directory where they can be found. + checkPhase = '' + ./setup.py install_lib -d . + nosetests + ''; + + meta = with stdenv.lib; { + homepage = http://www.gnu.org/software/libcdio/; + description = "Wrapper around libcdio (CD Input and Control library)"; + maintainers = with maintainers; [ rycee ]; + license = licenses.gpl3Plus; + }; + + }; + + pycryptopp = buildPythonPackage (rec { name = "pycryptopp-0.6.0.1206569328141510525648634803928199668821045408958"; + disabled = isPy3k || isPyPy; # see https://bitbucket.org/pypy/pypy/issue/1190/ - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz"; sha256 = "0n90h1yg7bfvlbhnc54xb6dbqm286ykaksyg04kxlhyjgf8mhq8i"; }; @@ -6070,7 +8677,7 @@ rec { # in the pycryptopp distribution. preConfigure = "export PYCRYPTOPP_DISABLE_EMBEDDED_CRYPTOPP=1"; - buildInputs = [ setuptoolsDarcs darcsver pkgs.cryptopp ]; + buildInputs = with self; [ setuptoolsDarcs darcsver pkgs.cryptopp ]; meta = { homepage = http://allmydata.org/trac/pycryptopp; @@ -6087,13 +8694,14 @@ rec { pycurl = buildPythonPackage (rec { name = "pycurl-7.19.5"; + disabled = isPyPy; # https://github.com/pycurl/pycurl/issues/208 - src = fetchurl { + src = pkgs.fetchurl { url = "http://pycurl.sourceforge.net/download/${name}.tar.gz"; sha256 = "0hqsap82zklhi5fxhc69kxrwzb0g9566f7sdpz7f9gyxkmyam839"; }; - propagatedBuildInputs = [ pkgs.curl pkgs.openssl ]; + propagatedBuildInputs = with self; [ pkgs.curl pkgs.openssl ]; # error: invalid command 'test' doCheck = false; @@ -6115,7 +8723,7 @@ rec { name = "pycurl2-7.20.0"; disabled = isPy3k; - src = fetchgit { + src = pkgs.fetchgit { url = "https://github.com/Lispython/pycurl.git"; rev = "0f00109950b883d680bd85dc6e8a9c731a7d0d13"; sha256 = "0mhg7f9y5zl0m2xgz3rf1yqjd6l8n0qhfk7bpf36r44jfnhj75ld"; @@ -6124,7 +8732,7 @@ rec { # error: (6, "Couldn't resolve host 'h.wrttn.me'") doCheck = false; - buildInputs = [ pkgs.curl simplejson unittest2 nose ]; + buildInputs = with self; [ pkgs.curl simplejson unittest2 nose ]; meta = { homepage = https://pypi.python.org/pypi/pycurl2; @@ -6138,25 +8746,52 @@ rec { name = "pydot-1.0.2"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pydot/${name}.tar.gz"; md5 = "cd739651ae5e1063a89f7efd5a9ec72b"; }; - propagatedBuildInputs = [pyparsing pkgs.graphviz]; + propagatedBuildInputs = with self; [pyparsing pkgs.graphviz]; meta = { homepage = http://code.google.com/p/pydot/; - description = "pydot allows to easily create both directed and non directed graphs from Python."; + description = "Allows to easily create both directed and non directed graphs from Python"; + }; + }; + + + pyenchant = pythonPackages.buildPythonPackage rec { + name = "pyenchant-1.6.6"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyenchant/pyenchant-1.6.6.tar.gz"; + md5 = "9f5acfd87d04432bf8df5f9710a17358"; + }; + + propagatedBuildInputs = with pythonPackages; [ pkgs.enchant ]; + + patchPhase = let + path_hack_script = "s|LoadLibrary(e_path)|LoadLibrary('${pkgs.enchant}/lib/' + e_path)|"; + in '' + sed -i "${path_hack_script}" enchant/_enchant.py + ''; + + # dictionaries needed for tests + doCheck = false; + + meta = with stdenv.lib; { + description = "pyenchant: Python bindings for the Enchant spellchecker"; + homepage = https://pythonhosted.org/pyenchant/; + license = licenses.lgpl21; }; }; pyfeed = buildPythonPackage rec { url = "http://www.blarg.net/%7Esteveha/pyfeed-0.7.4.tar.gz"; name = stdenv.lib.nameFromURL url ".tar"; - src = fetchurl { + src = pkgs.fetchurl { inherit url; sha256 = "1h4msq573m7wm46h3cqlx4rsn99f0l11rhdqgf50lv17j8a8vvy1"; }; - propagatedBuildInputs = [xe]; + propagatedBuildInputs = with self; [xe]; # error: invalid command 'test' doCheck = false; @@ -6167,30 +8802,66 @@ rec { }; }; + pyfiglet = buildPythonPackage rec { + name = "pyfiglet-${version}"; + version = "0.7.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyfiglet/${name}.tar.gz"; + sha256 = "0v8a18wvaqnb1jksyv5dc5n6zj0vrkyhz0ivmm8gfwpa0ky6n68y"; + }; + + doCheck = false; + + meta = { + description = "FIGlet in pure Python"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + pyflakes = buildPythonPackage rec { name = "pyflakes-0.8.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyflakes/${name}.tar.gz"; md5 = "905fe91ad14b912807e8fdc2ac2e2c23"; }; - buildInputs = [ unittest2 ]; - + buildInputs = with self; [ unittest2 ]; + doCheck = !isPyPy; meta = { - homepage = "https://launchpad.net/pyflakes"; - description = "A simple program which checks Python source files for errors."; + homepage = https://launchpad.net/pyflakes; + description = "A simple program which checks Python source files for errors"; license = licenses.mit; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; + + pygeoip = pythonPackages.buildPythonPackage rec { + name = "pygeoip-0.3.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pygeoip/pygeoip-0.3.2.tar.gz"; + md5 = "861664f8be3bed44820356539f2ea5b6"; + }; + + propagatedBuildInputs = with pythonPackages; [ ]; + + meta = with stdenv.lib; { + description = "Pure Python GeoIP API"; + homepage = https://github.com/appliedsec/pygeoip; + license = licenses.lgpl3Plus; + }; + }; + pyglet = buildPythonPackage rec { name = "pyglet-1.1.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pyglet.googlecode.com/files/${name}.tar.gz"; sha256 = "048n20d606i3njnzhajadnznnfm8pwchs43hxs50da9p79g2m6qx"; }; @@ -6211,16 +8882,19 @@ rec { }; pygments = buildPythonPackage rec { - name = "Pygments-1.6"; + version = "2.0.2"; + name = "Pygments-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz"; - md5 = "a18feedf6ffd0b0cc8c8b0fbdb2027b1"; + sha256 = "0lagrwifsgn0s8bzqahpr87p7gd38xja8f06akscinp6hj89283k"; }; - meta = { + meta = with stdenv.lib; { homepage = http://pygments.org/; description = "A generic syntax highlighter"; + license = with licenses; [ bsd2 ]; + maintainers = with maintainers; [ nckx ]; }; }; @@ -6228,8 +8902,9 @@ rec { pygpgme = buildPythonPackage rec { version = "0.3"; name = "pygpgme-${version}"; + disabled = isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "https://launchpad.net/pygpgme/trunk/${version}/+download/${name}.tar.gz"; sha256 = "5fd887c407015296a8fd3f4b867fe0fcca3179de97ccde90449853a3dfb802e1"; }; @@ -6237,7 +8912,7 @@ rec { # error: invalid command 'test' doCheck = false; - propagatedBuildInputs = [ pkgs.gpgme ]; + propagatedBuildInputs = with self; [ pkgs.gpgme ]; meta = { homepage = "https://launchpad.net/pygpgme"; @@ -6247,18 +8922,127 @@ rec { }; }; + mmpython = buildPythonPackage rec { + version = "0.4.10"; + name = "mmpython-${version}"; + + src = pkgs.fetchurl { + url = http://sourceforge.net/projects/mmpython/files/latest/download; + sha256 = "1b7qfad3shgakj37gcj1b9h78j1hxlz6wp9k7h76pb4sq4bfyihy"; + name = "${name}.tar.gz"; + }; + + disabled = isPyPy || isPy3k; + + meta = with stdenv.lib; { + description = "Media Meta Data retrieval framework"; + homepage = http://sourceforge.net/projects/mmpython/; + license = licenses.gpl2; + maintainers = [ maintainers.DamienCassou ]; + }; + }; + + kaa-base = buildPythonPackage rec { + version = "0.99.2dev-384-2b73caca"; + name = "kaa-base-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/k/kaa-base/kaa-base-0.99.2dev-384-2b73caca.tar.gz"; + sha256 = "0k3zzz84wzz9q1fl3vvqr2ys96z9pcf4viq9q6s2a63zaysmcfd2"; + }; + + doCheck = false; + + disabled = isPyPy || isPy3k; + + # Same as in buildPythonPackage except that it does not pass --old-and-unmanageable + installPhase = '' + runHook preInstall + + mkdir -p "$out/lib/${python.libPrefix}/site-packages" + + export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + + ${python}/bin/${python.executable} setup.py install \ + --install-lib=$out/lib/${python.libPrefix}/site-packages \ + --prefix="$out" + + eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth + if [ -e "$eapth" ]; then + mv "$eapth" $(dirname "$eapth")/${name}.pth + fi + + rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Generic application framework, providing the foundation for other modules"; + homepage = https://github.com/freevo/kaa-base; + license = licenses.lgpl21; + maintainers = [ maintainers.DamienCassou ]; + }; + }; + + kaa-metadata = buildPythonPackage rec { + version = "0.7.8dev-r4569-20111003"; + name = "kaa-metadata-${version}"; + + doCheck = false; + + buildInputs = [ pkgs.libdvdread ]; + + disabled = isPyPy || isPy3k; + + # Same as in buildPythonPackage except that it does not pass --old-and-unmanageable + installPhase = '' + runHook preInstall + + mkdir -p "$out/lib/${python.libPrefix}/site-packages" + + export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + + ${python}/bin/${python.executable} setup.py install \ + --install-lib=$out/lib/${python.libPrefix}/site-packages \ + --prefix="$out" + + eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth + if [ -e "$eapth" ]; then + mv "$eapth" $(dirname "$eapth")/${name}.pth + fi + + rm -f "$out/lib/${python.libPrefix}"/site-packages/site.py* + + runHook postInstall + ''; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/k/kaa-metadata/kaa-metadata-0.7.8dev-r4569-20111003.tar.gz"; + sha256 = "0bkbzfgxvmby8lvzkqjp86anxvv3vjd9nksv2g4l7shsk1n7y27a"; + }; + + propagatedBuildInputs = with self; [ kaa-base ]; + + meta = with stdenv.lib; { + description = "Python library for parsing media metadata, which can extract metadata (e.g., such as id3 tags) from a wide range of media files"; + homepage = https://github.com/freevo/kaa-metadata; + license = licenses.gpl2; + maintainers = [ maintainers.DamienCassou ]; + }; + }; pyinotify = pkgs.stdenv.mkDerivation rec { name = "python-pyinotify-${version}"; version = "0.9.3"; - src = fetchgit { + src = pkgs.fetchgit { url = "git://github.com/seb-m/pyinotify.git"; rev = "refs/tags/${version}"; sha256 = "d38ce95e4af00391e58246a8d7fe42bdb51d63054b09809600b2faef2a803472"; }; - buildInputs = [ python ]; + buildInputs = with self; [ python ]; installPhase = '' ${python}/bin/${python.executable} setup.py install --prefix=$out @@ -6271,12 +9055,33 @@ rec { }; }; + pyjwt = buildPythonPackage rec { + version = "0.3.2"; + name = "pyjwt-${version}"; + + src = pkgs.fetchurl { + url = "http://github.com/progrium/pyjwt/archive/${version}.tar.gz"; + sha256 = "118rzhpyvx1h4hslms4fdizyv6mnyd4g34fv089lvs116pj08k9c"; + }; + + propagatedBuildInputs = with self; [ pycrypto ecdsa ]; + + meta = with stdenv.lib; { + description = "JSON Web Token implementation in Python"; + longDescription = "A Python implementation of JSON Web Token draft 01."; + homepage = https://github.com/progrium/pyjwt; + downloadPage = https://github.com/progrium/pyjwt/releases; + license = licenses.mit; + maintainers = with maintainers; [ prikhi ]; + platforms = platforms.linux; + }; + }; pykickstart = buildPythonPackage rec { name = "pykickstart-${version}"; version = "1.99.39"; - src = fetchurl rec { + src = pkgs.fetchurl rec { url = "http://pkgs.fedoraproject.org/repo/pkgs/pykickstart/" + "${name}.tar.gz/${md5}/${name}.tar.gz"; md5 = "d249f60aa89b1b4facd63f776925116d"; @@ -6287,7 +9092,7 @@ rec { key=lambda m: m.__name__)/" tests/baseclass.py ''; - propagatedBuildInputs = [ urlgrabber ]; + propagatedBuildInputs = with self; [ urlgrabber ]; checkPhase = '' export PYTHONPATH="$PYTHONPATH:." @@ -6304,13 +9109,14 @@ rec { pyodbc = buildPythonPackage rec { name = "pyodbc-3.0.7"; + disabled = isPyPy; # use pypypdbc instead - src = fetchurl { + src = pkgs.fetchurl { url = "https://pyodbc.googlecode.com/files/${name}.zip"; sha256 = "0ldkm8xws91j7zbvpqb413hvdz8r66bslr451q3qc0xi8cnmydfq"; }; - buildInputs = [ pkgs.libiodbc ]; + buildInputs = with self; [ pkgs.libiodbc ]; meta = with stdenv.lib; { description = "Python ODBC module to connect to almost any database"; @@ -6325,7 +9131,7 @@ rec { pyparsing = buildPythonPackage rec { name = "pyparsing-2.0.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyparsing/${name}.tar.gz"; sha256 = "1r742rjbagf2i166k2w0r192adfw7l9lnsqz7wh4mflf00zws1q0"; }; @@ -6343,12 +9149,24 @@ rec { pyparted = buildPythonPackage rec { name = "pyparted-${version}"; version = "3.10"; + disabled = isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "https://fedorahosted.org/releases/p/y/pyparted/${name}.tar.gz"; sha256 = "17wq4invmv1nfazaksf59ymqyvgv3i8h4q03ry2az0s9lldyg3dv"; }; + patches = singleton (pkgs.fetchurl { + url = "https://www.redhat.com/archives/pyparted-devel/" + + "2014-April/msg00000.html"; + postFetch = '' + sed -i -ne '/<!--X-Body-of-Message-->/,/<!--X-Body-of-Message-End-->/ { + s/^<[^>]*>//; /^$/!p + }' "$downloadedFile" + ''; + sha256 = "1lakhz3nvx0qacn90bj1nq13zqxphiw4d9dsc44gwa8nj24j2zws"; + }); + postPatch = '' sed -i -e 's|/sbin/mke2fs|${pkgs.e2fsprogs}&|' tests/baseclass.py sed -i -e ' @@ -6364,9 +9182,9 @@ rec { PATH="${pkgs.parted}/sbin:$PATH" ''; - buildInputs = [ pkgs.pkgconfig ]; + buildInputs = with self; [ pkgs.pkgconfig ]; - propagatedBuildInputs = [ pkgs.parted ]; + propagatedBuildInputs = with self; [ pkgs.parted ]; checkPhase = '' patchShebangs Makefile @@ -6384,10 +9202,14 @@ rec { pyptlib = buildPythonPackage (rec { name = "pyptlib-${version}"; - version = "0.0.3"; - src = fetchurl { + disabled = isPyPy || isPy3k; + version = "0.0.6"; + + doCheck = false; # No such file or directory errors on 32bit + + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pyptlib/pyptlib-${version}.tar.gz"; - sha256 = "0mklak456jqifx57j9jmpb69h3ybxc880qk86pg4g8jk0i14pxh3"; + sha256 = "01y6vbwncqb0hxlnin6whd9wrrm5my4qzjhk76fnix78v7ip515r"; }; meta = { description = "A python implementation of the Pluggable Transports for Circumvention specification for Tor"; @@ -6395,11 +9217,33 @@ rec { }; }); + pyqtgraph = buildPythonPackage rec { + name = "pyqtgraph-${version}"; + version = "0.9.10"; + + doCheck = false; # "PyQtGraph requires either PyQt4 or PySide; neither package could be imported." + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyqtgraph/${name}.tar.gz"; + sha256 = "188pcxf3sxxjf0aipjn820lx2rf9f42zzp0sibmcl90955a3ipf1"; + }; + + propagatedBuildInputs = with self; [ scipy numpy pyqt4 pyopengl ]; + + meta = with stdenv.lib; { + description = "Scientific Graphics and GUI Library for Python"; + homepage = http://www.pyqtgraph.org/; + license = licenses.mit; + platforms = platforms.unix; + maintainers = [ maintainers.koral ]; + }; + }; + pyro3 = buildPythonPackage (rec { name = "Pyro-3.16"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/P/Pyro/${name}.tar.gz"; md5 = "59d4d3f4a8786776c9d7f9051b8f1a69"; }; @@ -6416,7 +9260,7 @@ rec { pyrss2gen = buildPythonPackage (rec { name = "PyRSS2Gen-1.0.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/P/PyRSS2Gen/${name}.tar.gz"; md5 = "eae2bc6412c5679c287ecc1a59588f75"; }; @@ -6429,22 +9273,72 @@ rec { }; }); + pysnmp = buildPythonPackage rec { + version = "4.2.5"; + name = "pysnmp-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pysnmp/${name}.tar.gz"; + sha256 = "0zq7yx8732ad9dxpxqgpqyixj7kfwbvf402q7l5njkv0kbcnavn4"; + }; + + propagatedBuildInputs = with self; [ pyasn1 pycrypto ]; + + meta = with stdenv.lib; { + homepage = http://pysnmp.sf.net; + description = "A pure-Python SNMPv1/v2c/v3 library"; + license = licenses.bsd2; + platforms = platforms.all; + maintainers = [ maintainers.koral ]; + }; + }; + + pysocks = buildPythonPackage rec { + name = "pysocks-${version}"; + version = "1.5.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/P/PySocks/PySocks-${version}.tar.gz"; + sha256 = "10wq5311qrnk8rvzsh6gwzxi7h51pgvzw3d7s1mb39fsvf0vyjdk"; + }; + + doCheck = false; + + meta = { + description = "SOCKS module for Python"; + license = licenses.bsd3; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + python_fedora = buildPythonPackage (rec { name = "python-fedora-0.3.33"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://fedorahosted.org/releases/p/y/python-fedora/${name}.tar.gz"; sha256 = "1g05bh7d5d0gzrlnhpnca7jpqbgs2rgnlzzbvzzxmdbmlkqi3mws"; }; - propagatedBuildInputs = [ kitchen requests bunch paver ]; + propagatedBuildInputs = with self; [ kitchen requests bunch paver ]; doCheck = false; }); + python_simple_hipchat = buildPythonPackage rec { + name = "python-simple-hipchat-${version}"; + version = "0.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/python-simple-hipchat/python-simple-hipchat-${version}.zip"; + md5 = "3806b3729a021511bac065360832f197"; + }; + + buildInputs = [ pkgs.unzip ]; + }; + python_keyczar = buildPythonPackage rec { name = "python-keyczar-0.71c"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/python-keyczar/${name}.tar.gz"; sha256 = "18mhiwqq6vp65ykmi8x3i5l3gvrvrrr8z2kv11z1rpixmyr7sw1p"; }; @@ -6457,14 +9351,14 @@ rec { platforms = platforms.unix; }; - buildInputs = [ pyasn1 pycrypto ]; + buildInputs = with self; [ pyasn1 pycrypto ]; }; pyudev = buildPythonPackage rec { name = "pyudev-${version}"; version = "0.16.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pyudev/${name}.tar.gz"; md5 = "4034de584b6d9efcbfc590a047c63285"; }; @@ -6475,7 +9369,7 @@ rec { }' pyudev/_libudev.py ''; - propagatedBuildInputs = [ pkgs.udev ]; + propagatedBuildInputs = with self; [ pkgs.udev ]; meta = { homepage = "http://pyudev.readthedocs.org/"; @@ -6489,7 +9383,7 @@ rec { pynzb = buildPythonPackage (rec { name = "pynzb-0.1.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pynzb/${name}.tar.gz"; md5 = "63c74a36348ac28aa99732dcb8be8c59"; }; @@ -6505,7 +9399,7 @@ rec { progressbar = buildPythonPackage (rec { name = "progressbar-2.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/progressbar/${name}.tar.gz"; md5 = "8ea4e2c17a8ec9e7d153767c5f2a7b28"; }; @@ -6522,23 +9416,23 @@ rec { }); ldap = buildPythonPackage rec { - name = "ldap-2.4.15"; + name = "ldap-2.4.19"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/python-ldap/python-${name}.tar.gz"; - sha256 = "0w0nn5yj0nbbkvpbqgfni56v7sjx6jf6s6zvp9zmahyrvqrsrg1h"; + sha256 = "0j5hzaar4d0vhnrlpmkczgwm7ci2wibr99a7zx04xddzrhxdpz82"; }; NIX_CFLAGS_COMPILE = "-I${pkgs.cyrus_sasl}/include/sasl"; - propagatedBuildInputs = [pkgs.openldap pkgs.cyrus_sasl pkgs.openssl]; + propagatedBuildInputs = with self; [pkgs.openldap pkgs.cyrus_sasl pkgs.openssl]; }; pylibacl = buildPythonPackage (rec { name = "pylibacl-0.5.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/downloads/iustin/pylibacl/${name}.tar.gz"; sha256 = "1idks7j9bn62xzsaxkvhl7bdq6ws8kv8aa0wahfh7724qlbbcf1k"; }; @@ -6547,31 +9441,37 @@ rec { # IOError: [Errno 0] Error doCheck = false; - buildInputs = [ pkgs.acl ]; + buildInputs = with self; [ pkgs.acl ]; meta = { - description = "A Python extension module for POSIX ACLs. It can be used to query, list, add, and remove ACLs from files and directories under operating systems that support them."; + description = "A Python extension module for POSIX ACLs, it can be used to query, list, add, and remove ACLs from files and directories under operating systems that support them"; license = stdenv.lib.licenses.lgpl21Plus; }; }); - pymacs = pkgs.stdenv.mkDerivation rec { + pymacs = buildPythonPackage rec { version = "0.25"; - name = "Pymacs-${version}"; + name = "pymacs-${version}"; + disabled = isPy3k || isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/pinard/Pymacs/tarball/v${version}"; name = "${name}.tar.gz"; sha256 = "1hmy76c5igm95rqbld7gvk0az24smvc8hplfwx2f5rhn6frj3p2i"; }; - buildInputs = [ python ]; + configurePhase = "make"; - patchPhase = '' - sed -e "s@ install@ install --prefix=$out@g" -i Makefile + # Doesn't work with --old-and-unmanagable + installPhase = '' + ${python}/bin/${python.executable} setup.py install \ + --install-lib=$out/lib/${python.libPrefix}/site-packages \ + --prefix="$out" ''; + doCheck = false; + meta = with stdenv.lib; { description = "Emacs Lisp to Python interface"; homepage = http://pymacs.progiciels-bpi.ca; @@ -6580,58 +9480,67 @@ rec { }; }; - pyopengl = - let version = "3.0.2"; - in - buildPythonPackage { - name = "pyopengl-${version}"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/P/PyOpenGL/PyOpenGL-${version}.tar.gz"; - sha256 = "9ef93bbea2c193898341f574e281c3ca0dfe87c53aa25fbec4b03581f6d1ba03"; - }; + pyopengl = buildPythonPackage rec { + name = "pyopengl-${version}"; + version = "3.0.2"; - propagatedBuildInputs = with pkgs; [ mesa freeglut pil ]; + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/P/PyOpenGL/PyOpenGL-${version}.tar.gz"; + sha256 = "9ef93bbea2c193898341f574e281c3ca0dfe87c53aa25fbec4b03581f6d1ba03"; + }; + propagatedBuildInputs = [ pkgs.mesa pkgs.freeglut self.pillow ]; + patchPhase = '' + sed -i "s|util.find_library( name )|name|" OpenGL/platform/ctypesloader.py + sed -i "s|'GL',|'libGL.so',|" OpenGL/platform/glx.py + sed -i "s|'GLU',|'${pkgs.mesa}/lib/libGLU.so',|" OpenGL/platform/glx.py + sed -i "s|'glut',|'${pkgs.freeglut}/lib/libglut.so',|" OpenGL/platform/glx.py + ''; + meta = { + homepage = http://pyopengl.sourceforge.net/; + description = "PyOpenGL, the Python OpenGL bindings"; + longDescription = '' + PyOpenGL is the cross platform Python binding to OpenGL and + related APIs. The binding is created using the standard (in + Python 2.5) ctypes library, and is provided under an extremely + liberal BSD-style Open-Source license. + ''; + license = "BSD-style"; + platforms = stdenv.lib.platforms.mesaPlatforms; + }; + }; - patchPhase = '' - sed -i "s|util.find_library( name )|name|" OpenGL/platform/ctypesloader.py - sed -i "s|'GL',|'libGL.so',|" OpenGL/platform/glx.py - sed -i "s|'GLU',|'${pkgs.mesa}/lib/libGLU.so',|" OpenGL/platform/glx.py - sed -i "s|'glut',|'${pkgs.freeglut}/lib/libglut.so',|" OpenGL/platform/glx.py - ''; + pyopenssl = buildPythonPackage rec { + name = "pyopenssl-${version}"; + version = "0.14"; - meta = { - homepage = http://pyopengl.sourceforge.net/; - description = "PyOpenGL, the Python OpenGL bindings"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.14.tar.gz"; + sha256 = "0vpfqhng4cky7chliknkxv910iabqbfcxvkjiankh08jkkjvi7d9"; + }; - longDescription = '' - PyOpenGL is the cross platform Python binding to OpenGL and - related APIs. The binding is created using the standard (in - Python 2.5) ctypes library, and is provided under an extremely - liberal BSD-style Open-Source license. - ''; + # 17 tests failing + doCheck = false; - license = "BSD-style"; - platforms = stdenv.lib.platforms.mesaPlatforms; - }; - }; + propagatedBuildInputs = [ self.cryptography ]; + }; pyquery = buildPythonPackage rec { name = "pyquery-1.2.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyquery/${name}.tar.gz"; md5 = "268f08258738d21bc1920d7522f2a63b"; }; - propagatedBuildInputs = [ cssselect lxml ]; + propagatedBuildInputs = with self; [ cssselect lxml ]; }; pyrax = buildPythonPackage rec { name = "pyrax-1.8.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyrax/${name}.tar.gz"; sha256 = "0hvim60bhgfj91m7pp8jfmb49f087xqlgkqa505zw28r7yl0hcfp"; }; @@ -6650,7 +9559,7 @@ rec { name = "pyreport-0.3.4c"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyreport/${name}.tar.gz"; md5 = "3076164a7079891d149a23f9435581db"; }; @@ -6661,15 +9570,34 @@ rec { meta = { homepage = http://pypi.python.org/pypi/pyreport; license = "BSD"; - description = "Pyreport makes notes out of a python script."; + description = "Pyreport makes notes out of a python script"; }; }); + pyscss = buildPythonPackage rec { + name = "pyScss-${version}"; + version = "1.3.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyScss/${name}.tar.gz"; + sha256 = "03lcp853kgr66aqrw2jd1q9jhs9h049w7zlwp7bfmly7xh832cnh"; + }; + + propagatedBuildInputs = with self; [ six ] + ++ (optionals (pythonOlder "3.4") [ enum34 pathlib ]) + ++ (optionals (pythonOlder "2.7") [ ordereddict ]); + + meta = { + description = "A Scss compiler for Python"; + homepage = http://pyscss.readthedocs.org/en/latest/; + license = stdenv.lib.licenses.mit; + }; + }; pyserial = buildPythonPackage rec { name = "pyserial-2.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyserial/${name}.tar.gz"; sha256 = "3542ec0838793e61d6224e27ff05e8ce4ba5a5c5cc4ec5c6a3e8d49247985477"; }; @@ -6683,10 +9611,27 @@ rec { }; }; + pymongo = buildPythonPackage rec { + name = "pymongo-2.8"; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/p/pymongo/${name}.tar.gz"; + sha256 = "0d9rlxghqg9dqmcmrlf1lw9ap2g6npv6q4slp5agnm7vci9zchq5"; + }; + + doCheck = false; + + meta = { + homepage = "http://github.com/mongodb/mongo-python-driver"; + license = [ "Apache-2.0" ]; + description = "Python driver for MongoDB "; + }; + }; + pysphere = buildPythonPackage rec { name = "pysphere-0.1.8"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pysphere.googlecode.com/files/${name}.zip"; md5 = "c57cba33626ac4b1e3d1974923d59232"; }; @@ -6702,7 +9647,7 @@ rec { name = "pysqlite-2.6.3"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pysqlite/${name}.tar.gz"; sha256 = "13djzgnbi71znjjyaw4nybg6smilgszcid646j5qav7mdchkb77y"; }; @@ -6710,7 +9655,7 @@ rec { # Since the `.egg' file is zipped, the `NEEDED' of the `.so' files # it contains is not taken into account. Thus, we must explicitly make # it a propagated input. - propagatedBuildInputs = [ pkgs.sqlite ]; + propagatedBuildInputs = with self; [ pkgs.sqlite ]; patchPhase = '' substituteInPlace "setup.cfg" \ @@ -6756,12 +9701,12 @@ rec { pysvn = pkgs.stdenv.mkDerivation { name = "pysvn-1.7.8"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.8.tar.gz"; sha256 = "1qk7af0laby1f79bd07l9p0dxn5xmcmfwlcb9l1hk29zwwq6x4v0"; }; - buildInputs = [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ] + buildInputs = with self; [ python pkgs.subversion pkgs.apr pkgs.aprutil pkgs.expat pkgs.neon pkgs.openssl ] ++ (if stdenv.isLinux then [pkgs.e2fsprogs] else []); # There seems to be no way to pass that path to configure. @@ -6801,7 +9746,7 @@ rec { pytz = buildPythonPackage rec { name = "pytz-2013.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pytz/${name}.tar.bz2"; md5 = "ec7076947a46a8a3cb33cbf2983a562c"; }; @@ -6816,13 +9761,13 @@ rec { pyutil = buildPythonPackage (rec { name = "pyutil-1.7.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyutil/${name}.tar.gz"; sha256 = "c303bb779f96073820e2eb7c9692fe15a57df491eb356839f3cb3377ed03b844"; }; - buildInputs = [ setuptoolsDarcs setuptoolsTrial ] ++ (if doCheck then [ simplejson ] else []); - propagatedBuildInputs = [ zbase32 argparse twisted ]; + buildInputs = with self; [ setuptoolsDarcs setuptoolsTrial ] ++ (if doCheck then [ simplejson ] else []); + propagatedBuildInputs = with self; [ zbase32 argparse twisted ]; # Tests fail because they try to write new code into the twisted # package, apparently some kind of plugin. doCheck = false; @@ -6851,13 +9796,14 @@ rec { name = "pywebkitgtk-${version}"; version = "1.1.8"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pywebkitgtk.googlecode.com/files/${name}.tar.bz2"; sha256 = "1svlwyl61rvbqbcbalkg6pbf38yjyv7qkq9sx4x35yk69lscaac2"; }; - buildInputs = with pkgs; [ - pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkitgtk2 icu + buildInputs = [ + pkgs.pkgconfig pkgs.gtk2 self.pygtk pkgs.libxml2 + pkgs.libxslt pkgs.libsoup pkgs.webkitgtk2 pkgs.icu ]; meta = { @@ -6871,7 +9817,7 @@ rec { pyxattr = buildPythonPackage (rec { name = "pyxattr-0.5.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/downloads/iustin/pyxattr/${name}.tar.gz"; sha256 = "0jmkffik6hdzs7ng8c65bggss2ai40nm59jykswdf5lpd36cxddq"; }; @@ -6879,30 +9825,48 @@ rec { # error: invalid command 'test' doCheck = false; - buildInputs = [ pkgs.attr ]; + buildInputs = with self; [ pkgs.attr ]; meta = { - description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems."; + description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems"; license = stdenv.lib.licenses.lgpl21Plus; }; }); + pyaml = buildPythonPackage (rec { + name = "pyaml-15.02.1"; + disabled = !isPy27; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pyaml/${name}.tar.gz"; + md5 = "e98cf27f50b9ca291ca4937c135db1c9"; + }; + + buildInputs = with self; [ pyyaml ]; + + meta = { + description = "PyYAML-based module to produce pretty and readable YAML-serialized data"; + homepage = https://github.com/mk-fg/pretty-yaml; + }; + }); + + pyyaml = buildPythonPackage (rec { name = "PyYAML-3.10"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pyyaml.org/download/pyyaml/${name}.zip"; sha256 = "1r127fa354ppb667f4acxlzwxixap1jgzjrr790bw8mcpxv2hqaa"; }; - buildInputs = [ pkgs.pyrex ]; - propagatedBuildInputs = [ pkgs.libyaml ]; + buildInputs = with self; [ pkgs.pyrex ]; + propagatedBuildInputs = with self; [ pkgs.libyaml ]; meta = { description = "The next generation YAML parser and emitter for Python"; homepage = http://pyyaml.org; - license = "free"; # !? + license = stdenv.lib.licenses.free; # !? }; }); @@ -6910,7 +9874,7 @@ rec { recaptcha_client = buildPythonPackage rec { name = "recaptcha-client-1.0.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/recaptcha-client/${name}.tar.gz"; md5 = "74228180f7e1fb76c4d7089160b0d919"; }; @@ -6927,74 +9891,108 @@ rec { in buildPythonPackage rec { name = "reportlab-3.1.8"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/reportlab/${name}.tar.gz"; md5 = "820a9fda647078503597b85cdba7ed7f"; }; - buildInputs = [freetype]; + buildInputs = with self; [freetype]; # error: invalid command 'test' doCheck = false; meta = { - description = "The ReportLab Toolkit. An Open Source Python library for generating PDFs and graphics."; + description = "An Open Source Python library for generating PDFs and graphics"; homepage = http://www.reportlab.com/; }; }; requests = buildPythonPackage rec { - name = "requests-1.2.0"; + name = "requests-1.2.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz"; - md5 = "22af2682233770e5468a986f451c51c0"; + md5 = "adbd3f18445f7fe5e77f65c502e264fb"; }; meta = { - description = "Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.."; + description = "An Apache2 licensed HTTP library, written in Python, for human beings"; homepage = http://docs.python-requests.org/en/latest/; }; }; requests2 = buildPythonPackage rec { - name = "requests-2.2.1"; + name = "requests-${version}"; + version = "2.6.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/requests/${name}.tar.gz"; - md5 = "ac27081135f58d1a43e4fb38258d6f4e"; + sha256 = "0xadnw27m257scrhjcc66zm4z3ikg8n9h6g9akpkavr31qgyvnqw"; }; meta = { - description = "Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.."; + description = "An Apache2 licensed HTTP library, written in Python, for human beings"; homepage = http://docs.python-requests.org/en/latest/; }; }; requests_oauthlib = buildPythonPackage rec { - name = "requests-oauthlib-0.3.2"; + version = "v0.4.1"; + name = "requests-oauthlib-${version}"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/r/requests-oauthlib/${name}.tar.gz"; - md5 = "35b3b750493c231145c39db0216813e7"; + src = pkgs.fetchurl { + url = "http://github.com/requests/requests-oauthlib/archive/${version}.tar.gz"; + sha256 = "0vx252nzq5h9m9brwnw2ph8aj526y26jr2dqcafzzcdx6z4l8vj4"; }; - propagatedBuildInputs = [ oauthlib requests ]; + doCheck = false; # Internet tests fail when building in chroot + propagatedBuildInputs = with self; [ oauthlib requests2 ]; meta = { description = "OAuthlib authentication support for Requests"; homepage = https://github.com/requests/requests-oauthlib; + maintainers = with maintainers; [ prikhi ]; }; }; + requests_toolbelt = buildPythonPackage rec { + version = "0.3.0"; + name = "requests-toolbelt-${version}"; + + src = pkgs.fetchurl { + url = "https://github.com/sigmavirus24/requests-toolbelt/archive/${version}.tar.gz"; + sha256 = "177lqpm2czx81pjg0zfs1dkbbmcn5yf1y5qxj23x6y5d28518qwl"; + }; + + propagatedBuildInputs = with self; [ requests2 ]; + + meta = { + description = "A toolbelt of useful classes and functions to be used with python-requests"; + homepage = http://toolbelt.rtfd.org; + maintainers = with maintainers; [ matthiasbeyer ]; + }; + + }; + + retry_decorator = buildPythonPackage rec { + name = "retry_decorator-1.0.0"; + src = pkgs.fetchurl { + url = https://pypi.python.org/packages/source/r/retry_decorator/retry_decorator-1.0.0.tar.gz; + sha256 = "086zahyb6yn7ggpc58909c5r5h3jz321i1694l1c28bbpaxnlk88"; + }; + meta = { + homepage = https://github.com/pnpnpn/retry-decorator; + license = stdenv.lib.licenses.mit; + }; + }; quantities = buildPythonPackage rec { name = "quantities-0.10.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/q/quantities/quantities-0.10.1.tar.gz"; md5 = "e924e21c0a5ddc9ebcdacbbe511b8ec7"; }; @@ -7009,15 +10007,15 @@ rec { qutip = buildPythonPackage rec { name = "qutip-2.2.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://qutip.googlecode.com/files/QuTiP-2.2.0.tar.gz"; sha1 = "76ba4991322a991d580e78a197adc80d58bd5fb3"; }; - propagatedBuildInputs = [ numpy scipy matplotlib pkgs.pyqt4 + propagatedBuildInputs = with self; [ numpy scipy matplotlib pyqt4 cython ]; - buildInputs = with pkgs; [ gcc qt4 blas ] ++ [ nose ]; + buildInputs = [ pkgs.gcc pkgs.qt4 pkgs.blas self.nose ]; meta = { description = "QuTiP - Quantum Toolbox in Python"; @@ -7040,7 +10038,7 @@ rec { redis = buildPythonPackage rec { name = "redis-2.9.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/redis/${name}.tar.gz"; sha256 = "1r7lrh4kxccyhr4pyp13ilymmvh22pi7aa9514dmnhi74zn4g5xg"; }; @@ -7057,12 +10055,12 @@ rec { requests_oauth2 = buildPythonPackage rec { name = "requests-oauth2-0.1.1"; - src = fetchurl { + src = pkgs.fetchurl { url = https://github.com/maraujop/requests-oauth2/archive/0.1.1.tar.gz; sha256 = "1aij66qg9j5j4vzyh64nbg72y7pcafgjddxsi865racsay43xfqg"; }; - propagatedBuildInputs = [ requests_oauthlib ]; + propagatedBuildInputs = with self; [ requests_oauthlib ]; meta = { description = "Python's Requests OAuth2 (Open Authentication) plugin"; @@ -7071,18 +10069,39 @@ rec { }; + restview = buildPythonPackage rec { + name = "restview-${version}"; + version = "2.2.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/r/restview/${name}.tar.gz"; + sha256 = "070qx694bpk2n67grm82jvvar4nqvvfmmibbnv8snl4qn41jw66s"; + }; + + propagatedBuildInputs = with self; [ docutils mock pygments ]; + + meta = with stdenv.lib; { + description = "ReStructuredText viewer"; + homepage = http://mg.pov.lt/restview/; + license = licenses.gpl2; + platforms = platforms.all; + maintainers = [ maintainers.koral ]; + }; + }; + + reviewboard = buildPythonPackage rec { name = "ReviewBoard-1.6.16"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://downloads.reviewboard.org/releases/ReviewBoard/1.6/${name}.tar.gz"; sha256 = "0vg3ypm57m43bscv8vswjdllv3d2j8lxqwwvpd65cl7jd1in0yr1"; }; - propagatedBuildInputs = + propagatedBuildInputs = with self; [ django_1_3 recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments djblets django_evolution pycrypto modules.sqlite3 - pysvn pil psycopg2 + pysvn pil psycopg2 ]; }; @@ -7090,26 +10109,26 @@ rec { rdflib = buildPythonPackage (rec { name = "rdflib-4.1.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/rdflib/${name}.tar.gz"; sha256 = "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w"; }; # error: invalid command 'test' doCheck = false; - - propagatedBuildInputs = [ isodate ]; + + propagatedBuildInputs = with self; [ isodate ]; meta = { - description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information."; + description = "A Python library for working with RDF, a simple yet powerful language for representing information"; homepage = http://www.rdflib.net/; }; }); - + isodate = buildPythonPackage rec { name = "isodate-0.5.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/i/isodate/${name}.tar.gz"; md5 = "9a267e9327feb3d021cae26002ba6e0e"; }; @@ -7120,15 +10139,37 @@ rec { }; }; + robomachine = buildPythonPackage rec { + name = "robomachine-0.6"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/R/RoboMachine/RoboMachine-0.6.tar.gz"; + md5 = "4e95eaa43afda0f363c78a88e9da7159"; + }; + + propagatedBuildInputs = with self; [ pyparsing argparse robotframework ]; + + # Remove Windows .bat files + postInstall = '' + rm "$out"/bin/*.bat + ''; + + meta = with stdenv.lib; { + description = "Test data generator for Robot Framework"; + homepage = https://github.com/mkorpela/RoboMachine; + license = licenses.asl20; + maintainers = [ maintainers.bjornfor ]; + }; + }; robotframework = buildPythonPackage rec { - version = "2.8.5"; + version = "2.8.6"; name = "robotframework-${version}"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/robotframework/${name}.tar.gz"; - sha256 = "0rzdn2gvmcrxs2fvxm11h55w4j5pv0lf443fc4hl8kzwjwgjckga"; + sha256 = "0hl44pwfkagr5272s90y0bkfllj0q1l4yw4rvkdrc6ikn6l61d9v"; }; # error: invalid command 'test' @@ -7145,18 +10186,18 @@ rec { robotframework-selenium2library = buildPythonPackage rec { - version = "1.5.0"; + version = "1.6.0"; name = "robotframework-selenium2library-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/robotframework-selenium2library/${name}.tar.gz"; - sha256 = "0hjmar9766jqfpbckac8zncyal546vm059wnkbn33f68djdcnwz1"; + sha256 = "1asdwrpb4s7q08bx641yrh3yicgba14n3hxmsqs58mqf86ignwly"; }; # error: invalid command 'test' #doCheck = false; - propagatedBuildInputs = [ robotframework selenium docutils decorator ]; + propagatedBuildInputs = with self; [ robotframework selenium docutils decorator ]; meta = with stdenv.lib; { description = ""; @@ -7166,11 +10207,31 @@ rec { }; + robotframework-tools = buildPythonPackage rec { + version = "0.1a115"; + name = "robotframework-tools-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/r/robotframework-tools/${name}.tar.gz"; + sha256 = "04gkn1zpf3rsvbqdxrrjqqi8sa0md9gqwh6n5w2m03fdwjg4lc7q"; + }; + + propagatedBuildInputs = with self; [ robotframework moretools pathpy six setuptools ]; + + meta = with stdenv.lib; { + description = "Python Tools for Robot Framework and Test Libraries"; + homepage = http://bitbucket.org/userzimmermann/robotframework-tools; + license = licenses.gpl3; + platforms = platforms.linux; + }; + }; + + robotsuite = buildPythonPackage rec { version = "1.4.2"; name = "robotsuite-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/robotsuite/${name}.zip"; sha256 = "0sw09vrvwv3gzqb6jvhbrz09l6nzzj3i9av34qjddqfwq7cr1bla"; }; @@ -7178,8 +10239,8 @@ rec { # error: invalid command 'test' #doCheck = false; - buildInputs = [ unittest2 ]; - propagatedBuildInputs = [ robotframework lxml ]; + buildInputs = with self; [ unittest2 ]; + propagatedBuildInputs = with self; [ robotframework lxml ]; meta = with stdenv.lib; { description = "Python unittest test suite for Robot Framework"; @@ -7194,12 +10255,12 @@ rec { name = "robotframework-ride-${version}"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://robotframework-ride.googlecode.com/files/${name}.tar.gz"; sha256 = "1lf5f4x80f7d983bmkx12sxcizzii21kghs8kf63a1mj022a5x5j"; }; - propagatedBuildInputs = [ pygments wxPython modules.sqlite3 ]; + propagatedBuildInputs = with self; [ pygments wxPython modules.sqlite3 ]; # ride_postinstall.py checks that needed deps are installed and creates a # desktop shortcut. We don't really need it and it clutters up bin/ so @@ -7222,14 +10283,14 @@ rec { rope = buildPythonPackage rec { - version = "0.9.4"; + version = "0.10.2"; name = "rope-${version}"; - + disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/rope/${name}.tar.gz"; - sha256 = "1fm6ahff50b10mlnc0ar4x1fv9sxmcp1g651myyqy7c50hk39h1d"; + sha256 = "0rdlvp8h74qs49wz1hx6qy8mgp2ddwlfs7z13h9139ynq04a3z7z"; }; meta = with stdenv.lib; { @@ -7244,12 +10305,12 @@ rec { version = "0.7"; name = "ropemacs-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/ropemacs/${name}.tar.gz"; sha256 = "1x5qf1drcdz9jfiiakc60kzqkb3ahsg9j902c5byf3gjfacdrmqj"; }; - propagatedBuildInputs = [ ropemode ]; + propagatedBuildInputs = with self; [ ropemode ]; meta = with stdenv.lib; { description = "a plugin for performing python refactorings in emacs"; @@ -7263,12 +10324,12 @@ rec { version = "0.2"; name = "ropemode-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/r/ropemode/${name}.tar.gz"; sha256 = "0jw6h1wvk6wk0wknqdf7s9pw76m8472jv546lqdd88jbl2scgcjl"; }; - propagatedBuildInputs = [ rope ]; + propagatedBuildInputs = with self; [ rope ]; meta = with stdenv.lib; { description = "a plugin for performing python refactorings in emacs"; @@ -7283,12 +10344,12 @@ rec { routes = buildPythonPackage rec { name = "routes-1.12.3"; - src = fetchurl { + src = pkgs.fetchurl { url = http://pypi.python.org/packages/source/R/Routes/Routes-1.12.3.tar.gz; md5 = "9740ff424ff6b841632c784a38fb2be3"; }; - propagatedBuildInputs = [ paste webtest ]; + propagatedBuildInputs = with self; [ paste webtest ]; meta = { description = "A Python re-implementation of the Rails routes system for mapping URLs to application actions"; @@ -7300,7 +10361,7 @@ rec { name = "rpkg-1.14"; meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://fedorahosted.org/releases/r/p/rpkg/rpkg-1.14.tar.gz"; sha256 = "0d053hdjz87aym1sfm6c4cxmzmy5g0gkrmrczly86skj957r77a7"; }; @@ -7309,7 +10370,7 @@ rec { # buildPhase = "python setup.py build"; # doCheck = false; - propagatedBuildInputs = [ pycurl koji GitPython pkgs.git + propagatedBuildInputs = with self; [ pycurl pkgs.koji GitPython pkgs.git pkgs.rpm pkgs.pyopenssl ]; }); @@ -7318,12 +10379,12 @@ rec { name = "rpyc-${version}"; version = "3.3.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/r/rpyc/${name}.tar.gz"; md5 = "6931cb92c41f547591b525142ccaeef1"; }; - propagatedBuildInputs = [ nose plumbum ]; + propagatedBuildInputs = with self; [ nose plumbum ]; meta = { description = "Remote Python Call (RPyC), a transparent and symmetric RPC library"; @@ -7335,12 +10396,12 @@ rec { rsa = buildPythonPackage rec { name = "rsa-3.1.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://bitbucket.org/sybren/python-rsa/get/version-3.1.2.tar.bz2"; sha256 = "0ag2q4gaapi74x47q74xhcjzs4b7r2bb6zrj2an4sz5d3yd06cgf"; }; - buildInputs = [ pythonPackages.pyasn1 ]; + buildInputs = with self; [ self.pyasn1 ]; meta = { homepage = http://stuvel.eu/rsa; @@ -7349,11 +10410,45 @@ rec { }; }; + squaremap = buildPythonPackage rec { + name = "squaremap-1.0.4"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/S/SquareMap/SquareMap-1.0.4.tar.gz"; + md5 = "e36a453baddb97c19af6f79d5ba51f38"; + }; + + meta = with stdenv.lib; { + description = "Hierarchic visualization control for wxPython"; + homepage = https://launchpad.net/squaremap; + license = licenses.bsd3; + }; + }; + + runsnakerun = buildPythonPackage rec { + name = "runsnakerun-2.0.4"; + + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/R/RunSnakeRun/RunSnakeRun-2.0.4.tar.gz"; + md5 = "3220b5b89994baee70b1c24d7e42a306"; + }; + + propagatedBuildInputs = [ self.squaremap self.wxPython28 ]; + + meta = with stdenv.lib; { + description = "GUI Viewer for Python profiling runs"; + homepage = http://www.vrplumber.com/programming/runsnakerun/; + license = licenses.bsd3; + }; + }; + rtslib_fb = buildPythonPackage rec { version = "2.1.fb43"; name = "rtslib-fb-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/agrover/rtslib-fb/archive/v${version}.tar.gz"; sha256 = "1b59vyy12g6rix9l2fxx0hjiq33shkb79v57gwffs57vh74wc53v"; }; @@ -7366,16 +10461,16 @@ rec { }; seqdiag = buildPythonPackage rec { - name = "seqdiag-0.9.0"; + name = "seqdiag-0.9.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/seqdiag/${name}.tar.gz"; - md5 = "92946555ce219df18002e6c88b4055d3"; + sha256 = "1qa7d0m1wahvmrj95rxkb6128cbwd4w3gy8gbzncls66h46bifiz"; }; - buildInputs = [ pep8 nose unittest2 docutils ]; + buildInputs = with self; [ pep8 nose unittest2 docutils ]; - propagatedBuildInputs = [ blockdiag ]; + propagatedBuildInputs = with self; [ blockdiag ]; # Tests fail: # ... @@ -7392,16 +10487,38 @@ rec { }; + scapy = buildPythonPackage rec { + name = "scapy-2.2.0"; + + disabled = isPy3k || isPyPy; + + src = pkgs.fetchurl { + url = "http://www.secdev.org/projects/scapy/files/${name}.tar.gz"; + sha256 = "1bqmp0xglkndrqgmybpwmzkv462mir8qlkfwsxwbvvzh9li3ndn5"; + }; + + propagatedBuildInputs = [ modules.readline ]; + + meta = with stdenv.lib; { + description = "Powerful interactive network packet manipulation program"; + homepage = http://www.secdev.org/projects/scapy/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; + }; + }; + + scipy = buildPythonPackage rec { - name = "scipy-0.12.0"; + name = "scipy-0.14.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/scipy/${name}.tar.gz"; - md5 = "8fb4da324649f655e8557ea92b998786"; + md5 = "d7c7f4ccf8b07b08d6fe49d5cd51f85d"; }; - buildInputs = [pkgs.gfortran]; - propagatedBuildInputs = [ numpy ]; + buildInputs = [ pkgs.gfortran ]; + propagatedBuildInputs = with self; [ numpy ]; # TODO: add ATLAS=${pkgs.atlas} preConfigure = '' @@ -7421,16 +10538,44 @@ rec { }; + scikitlearn = buildPythonPackage { + name = "scikit-learn-0.15.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/s/scikit-learn/scikit-learn-0.15.2.tar.gz"; + md5 = "d9822ad0238e17b382a3c756ea94fe0d"; + }; + + buildInputs = with self; [ nose pillow pkgs.gfortran pkgs.glibcLocales ]; + propagatedBuildInputs = with self; [ numpy scipy pkgs.atlas ]; + + buildPhase = '' + export ATLAS=${pkgs.atlas} + ${self.python.executable} setup.py build_ext -i --fcompiler='gnu95' + ''; + + checkPhase = '' + LC_ALL="en_US.UTF-8" HOME=$TMPDIR ATLAS="" nosetests + ''; + + meta = { + description = "A set of python modules for machine learning and data mining"; + homepage = http://scikit-learn.org; + license = stdenv.lib.licenses.bsd3; + }; + }; + + scripttest = buildPythonPackage rec { version = "1.3"; name = "scripttest-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/scripttest/scripttest-${version}.tar.gz"; md5 = "1d1c5117ccfc7b5961cae6c1020c0848"; }; - buildInputs = [ nose pytest ]; + buildInputs = with self; [ nose pytest ]; meta = { description = "A library for testing interactive command-line applications"; @@ -7439,32 +10584,32 @@ rec { }; selenium = buildPythonPackage rec { - name = "selenium-2.39.0"; + name = "selenium-2.44.0"; src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/selenium/${name}.tar.gz"; - sha256 = "1kisndzl9s0vs0a5paqx35hxq28id3xyi1gfsjaixsi6rs0ibhhh"; + sha256 = "0l70pqwg88imbylcd831vg8nj8ipy4zr331f6qjccss7vn56i2h5"; }; - buildInputs = [pkgs.xlibs.libX11]; + buildInputs = with self; [pkgs.xlibs.libX11]; # Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some # absolute paths. Replaced by relative path so it is found when used in nix. x_ignore_nofocus = - pkgs.fetchsvn { - url = http://selenium.googlecode.com/svn/tags/selenium-2.25.0/cpp/linux-specific; - rev = 17641; - sha256 = "1wif9r6307qhlcp2zbg6n05yvxxn9ppkxh8gpsplcbyh22zi7bcd"; + pkgs.fetchFromGitHub { + owner = "SeleniumHQ"; + repo = "selenium"; + rev = "selenium-2.44.0"; + sha256 = "13aqm0dwy17ghimy7m2mxjwlyc1k7zk5icxzrs1sa896056f1dyy"; }; - preInstall = '' - cp "${x_ignore_nofocus}/"* . - sed -i 's|dlopen(library,|dlopen("libX11.so.6",|' x_ignore_nofocus.c + patchPhase = '' + cp "${x_ignore_nofocus}/cpp/linux-specific/"* . + substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${pkgs.xlibs.libX11}/lib/libX11.so.6" gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o gcc -shared \ -Wl,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \ -o x_ignore_nofocus.so \ - x_ignore_nofocus.o \ - ${if stdenv.isDarwin then "-lx11" else ""} + x_ignore_nofocus.o cp -v x_ignore_nofocus.so py/selenium/webdriver/firefox/${if pkgs.stdenv.is64bit then "amd64" else "x86"}/ ''; }; @@ -7472,14 +10617,14 @@ rec { setuptoolsDarcs = buildPythonPackage { name = "setuptools-darcs-1.2.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/setuptools_darcs/setuptools_darcs-1.2.9.tar.gz"; sha256 = "d37ce11030addbd729284c441facd0869cdc6e5c888dc5fa0a6f1edfe3c3e617"; }; # In order to break the dependency on darcs -> ghc, we don't add # darcs as a propagated build input. - propagatedBuildInputs = [ darcsver ]; + propagatedBuildInputs = with self; [ darcsver ]; meta = { description = "setuptools plugin for the Darcs version control system"; @@ -7494,12 +10639,12 @@ rec { setuptoolsTrial = buildPythonPackage { name = "setuptools-trial-0.5.12"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/setuptools_trial/setuptools_trial-0.5.12.tar.gz"; md5 = "f16f4237c9ee483a0cd13208849d96ad"; }; - propagatedBuildInputs = [ twisted ]; + propagatedBuildInputs = with self; [ twisted ]; meta = { description = "setuptools plug-in that helps run unit tests built with the \"Trial\" framework (from Twisted)"; @@ -7514,7 +10659,7 @@ rec { simplejson = buildPythonPackage (rec { name = "simplejson-3.3.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz"; md5 = "0e29b393bceac8081fa4e93ff9f6a001"; }; @@ -7536,15 +10681,34 @@ rec { }; }); + simpleparse = buildPythonPackage rec { + version = "2.1.1"; + name = "simpleparse-${version}"; + + disabled = isPy3k || isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/S/SimpleParse/SimpleParse-${version}.tar.gz"; + sha256 = "1n8msk71lpl3kv086xr2sv68ppgz6228575xfnbszc6p1mwr64rg"; + }; + + meta = with stdenv.lib; { + description = "A Parser Generator for Python"; + homepage = https://pypi.python.org/pypi/SimpleParse; + platforms = platforms.all; + maintainers = [ maintainers.DamienCassou ]; + }; + }; + sigal = buildPythonPackage rec { name = "sigal-0.7.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/sigal/${name}.tar.gz"; md5 = "d2386706ac8543378aebde1ea4edeba4"; }; - propagatedBuildInputs = [ jinja2 markdown pillow pilkit clint argh pytest ]; + propagatedBuildInputs = with self; [ jinja2 markdown pillow pilkit clint argh pytest ]; meta = with stdenv.lib; { description = "Yet another simple static gallery generator"; @@ -7554,15 +10718,30 @@ rec { }; }; + pgpdump = self.buildPythonPackage rec { + name = "pgpdump-1.5"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pgpdump/pgpdump-1.5.tar.gz"; + md5 = "040a451c8e63de3e61fc5b66efa7fca5"; + }; + + meta = with stdenv.lib; { + description = "Python library for parsing PGP packets"; + homepage = https://github.com/toofishes/python-pgpdump; + license = licenses.bsd3; + }; + }; + spambayes = buildPythonPackage rec { - name = "spambayes-1.1a6"; + name = "spambayes-1.1b1"; - src = fetchurl { + src = pkgs.fetchurl { url = "mirror://sourceforge/spambayes/${name}.tar.gz"; - sha256 = "0lqhn2v0avgwxmk4dq9lkwr2g39ls2p6x8hqk5w07wd462cjsx8l"; + sha256 = "0kqvjb89b02wp41p650ydfspi1s8d7akx1igcrw62diidqbxp04n"; }; - propagatedBuildInputs = [ pydns lockfile ]; + propagatedBuildInputs = with self; [ pydns lockfile ]; meta = with stdenv.lib; { description = "Statistical anti-spam filter, initially based on the work of Paul Graham"; @@ -7573,17 +10752,15 @@ rec { shapely = buildPythonPackage rec { name = "Shapely-1.3.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/S/Shapely/${name}.tar.gz"; sha256 = "099sc7ajpp6hbgrx3c0bl6hhkz1mhnr0ahvc7s4i3f3b7q1zfn7l"; }; - buildInputs = [ pkgs.geos ]; + buildInputs = with self; [ pkgs.geos pkgs.glibcLocales ]; preConfigure = '' export LANG="en_US.UTF-8"; - '' + stdenv.lib.optionalString stdenv.isLinux '' - export LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive"; ''; patchPhase = '' @@ -7601,14 +10778,14 @@ rec { stevedore = buildPythonPackage rec { name = "stevedore-0.15"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/stevedore/${name}.tar.gz"; sha256 = "bec9269cbfa58de4f0849ec79bb7d54eeeed9df8b5fbfa1637fbc68062822847"; }; - buildInputs = [ pbr pip ]; + buildInputs = with self; [ pbr pip ] ++ optional isPy26 argparse; - propagatedBuildInputs = [ setuptools ]; + propagatedBuildInputs = with self; [ setuptools ]; meta = { description = "Manage dynamic plugins for Python applications"; @@ -7621,7 +10798,7 @@ rec { name = "pydns-2.3.6"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pydns/${name}.tar.gz"; sha256 = "0qnv7i9824nb5h9psj0rwzjyprwgfiwh5s5raa9avbqazy5hv5pi"; }; @@ -7631,22 +10808,24 @@ rec { }; sympy = buildPythonPackage rec { - name = "sympy-0.7.4"; + name = "sympy-0.7.6"; + disabled = isPy34 || isPyPy; # some tests fail - src = fetchurl { - url = "https://github.com/sympy/sympy/releases/download/${name}/${name}.tar.gz"; - sha256 = "0h1b9mx0snyyybj1x1ga69qssgjzkkgx2rw6nddjhyz1fknf8ywh"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/s/sympy/${name}.tar.gz"; + sha256 = "19yp0gy4i7p4g6l3b8vaqkj9qj7yqb5kqy0qgbdagpzgkdz958yz"; }; - + + buildInputs = [ pkgs.glibcLocales ]; + preCheck = '' export LANG="en_US.UTF-8" - export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive ''; meta = with stdenv.lib; { description = "A Python library for symbolic mathematics"; homepage = http://www.sympy.org/; - license = "free"; + license = licenses.bsd3; maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; }; @@ -7655,7 +10834,7 @@ rec { pilkit = buildPythonPackage rec { name = "pilkit-1.1.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pilkit/${name}.tar.gz"; md5 = "659dd67440f4b576889f2cd350f43d7b"; }; @@ -7667,7 +10846,7 @@ rec { # tests fail, see https://github.com/matthewwithanm/pilkit/issues/9 doCheck = false; - buildInputs = [ pillow nose_progressive nose mock blessings ]; + buildInputs = with self; [ pillow nose_progressive nose mock blessings ]; meta = with stdenv.lib; { maintainers = [ maintainers.iElectric ]; @@ -7677,7 +10856,7 @@ rec { clint = buildPythonPackage rec { name = "clint-0.3.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/c/clint/${name}.tar.gz"; md5 = "7dcd43fb08bfb84c7d63e9356ada7b73"; }; @@ -7686,7 +10865,7 @@ rec { nosetests ''; - buildInputs = [ pillow nose_progressive nose mock blessings nose ]; + buildInputs = with self; [ pillow nose_progressive nose mock blessings nose ]; meta = with stdenv.lib; { maintainers = [ maintainers.iElectric ]; @@ -7694,19 +10873,19 @@ rec { }; argh = buildPythonPackage rec { - name = "argh-0.23.3"; + name = "argh-0.26.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/a/argh/${name}.tar.gz"; - md5 = "25bb02c6552b42875f2c36714e0ff16c"; + sha256 = "1nqham81ihffc9xmw85dz3rg3v90rw7h0dp3dy0bh3qkp4n499q6"; }; - preCheck = '' + checkPhase = '' export LANG="en_US.UTF-8" - export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive + py.test ''; - buildInputs = [ pytest py mock ]; + buildInputs = with self; [ pytest py mock pkgs.glibcLocales ]; meta = with stdenv.lib; { maintainers = [ maintainers.iElectric ]; @@ -7716,13 +10895,13 @@ rec { nose_progressive = buildPythonPackage rec { name = "nose-progressive-1.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/n/nose-progressive/${name}.tar.gz"; md5 = "180be93929c5962044a35489f193259d"; }; - buildInputs = [ pillow blessings nose ]; - propagatedBuildInputs = [ modules.curses ]; + buildInputs = with self; [ pillow blessings nose ]; + propagatedBuildInputs = with self; [ modules.curses ]; meta = with stdenv.lib; { maintainers = [ maintainers.iElectric ]; @@ -7732,7 +10911,7 @@ rec { blessings = buildPythonPackage rec { name = "blessings-1.5.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/b/blessings/${name}.tar.gz"; md5 = "fbbddbf20b1f9a13e3fa612b1e086fd8"; }; @@ -7740,7 +10919,7 @@ rec { # 4 failing tests doCheck = false; - buildInputs = [ nose modules.curses ]; + buildInputs = with self; [ nose modules.curses ]; meta = with stdenv.lib; { maintainers = [ maintainers.iElectric ]; @@ -7749,12 +10928,12 @@ rec { semantic = buildPythonPackage rec { name = "semantic-1.0.3"; - + disabled = isPy3k; - propagatedBuildInputs = [ quantities numpy ]; + propagatedBuildInputs = with self; [ quantities numpy ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/semantic/semantic-1.0.3.tar.gz"; md5 = "78a150190e3e7d0f6f357b4c828e5f0d"; }; @@ -7771,7 +10950,7 @@ rec { sexpdata = buildPythonPackage rec { name = "sexpdata-0.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/sexpdata/${name}.tar.gz"; md5 = "efc44265bc27cb3d6ffed4fbf5733fc1"; }; @@ -7788,7 +10967,7 @@ rec { sh = buildPythonPackage rec { name = "sh-1.08"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/sh/${name}.tar.gz"; md5 = "4028bcba85daa0aef579ed24261e88a3"; }; @@ -7802,12 +10981,34 @@ rec { }; + sipsimple = buildPythonPackage rec { + name = "sipsimple-${version}"; + version = "2.3.1"; + disabled = isPy3k; + + configurePhase = "find -name 'configure' -exec chmod a+x {} \\; ; find -name 'aconfigure' -exec chmod a+x {} \\; ; ${python}/bin/${python.executable} setup.py build_ext --pjsip-clean-compile"; + + src = pkgs.fetchurl { + url = "http://download.ag-projects.com/SipClient/python-${name}.tar.gz"; + sha256 = "1n3g1zg3zgdybikdla0qdqvpa06vn1ka2asr61lb8kk6xbvqkljv"; + }; + + propagatedBuildInputs = with self; [ cython pkgs.openssl dns dateutil xcaplib msrplib lxml ]; + + buildInputs = with pkgs; [ alsaLib ffmpeg libv4l pkgconfig sqlite ]; + + installPhase = "${python}/bin/${python.executable} setup.py install --prefix=$out"; + + doCheck = false; + }; + + six = buildPythonPackage rec { - name = "six-1.7.3"; + name = "six-1.9.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/six/${name}.tar.gz"; - md5 = "784c6e5541c3c4952de9c0a966a0a80b"; + sha256 = "1mci5i8mjqmljmv33h0q3d4djc13zk1kfmb3fbvd3yy43x0m4h72"; }; # error: invalid command 'test' @@ -7822,9 +11023,9 @@ rec { skype4py = buildPythonPackage (rec { name = "Skype4Py-1.0.32.0"; - disabled = isPy3k; + disabled = isPy3k || isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = mirror://sourceforge/skype4py/Skype4Py-1.0.32.0.tar.gz; sha256 = "0cmkrv450wa8v50bng5dflpwkl5c1p9pzysjkb2956w5kvwh6f5b"; }; @@ -7838,7 +11039,7 @@ rec { # error: invalid command 'test' doCheck = false; - propagatedBuildInputs = [ pkgs.xlibs.libX11 pkgs.pythonDBus pygobject ]; + propagatedBuildInputs = with self; [ pkgs.xlibs.libX11 pkgs.pythonDBus pygobject ]; meta = { description = "High-level, platform independent Skype API wrapper for Python"; @@ -7855,12 +11056,12 @@ rec { smartdc = buildPythonPackage rec { name = "smartdc-0.1.12"; - src = fetchurl { + src = pkgs.fetchurl { url = https://pypi.python.org/packages/source/s/smartdc/smartdc-0.1.12.tar.gz; md5 = "b960f61facafc879142b699050f6d8b4"; }; - propagatedBuildInputs = [ requests http_signature ]; + propagatedBuildInputs = with self; [ requests http_signature ]; meta = { description = "Joyent SmartDataCenter CloudAPI connector using http-signature authentication via Requests"; @@ -7869,10 +11070,23 @@ rec { }; }; + socksipy-branch = buildPythonPackage rec { + name = "SocksiPy-branch-1.01"; + src = pkgs.fetchurl { + url = https://pypi.python.org/packages/source/S/SocksiPy-branch/SocksiPy-branch-1.01.tar.gz; + sha256 = "01l41v4g7fy9fzvinmjxy6zcbhgqaif8dhdqm4w90fwcw9h51a8p"; + }; + meta = { + homepage = http://code.google.com/p/socksipy-branch/; + description = "This Python module allows you to create TCP connections through a SOCKS proxy without any special effort"; + license = stdenv.lib.licenses.bsd3; + }; + }; + sorl_thumbnail = buildPythonPackage rec { name = "sorl-thumbnail-11.12"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/sorl-thumbnail/${name}.tar.gz"; sha256 = "050b9kzbx7jvs3qwfxxshhis090hk128maasy8pi5wss6nx5kyw4"; }; @@ -7889,16 +11103,16 @@ rec { supervisor = buildPythonPackage rec { name = "supervisor-3.1.1"; - + disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/supervisor/${name}.tar.gz"; md5 = "8c9714feaa63902f03871317e3ebf62e"; }; - buildInputs = [ mock ]; - propagatedBuildInputs = [ meld3 ]; + buildInputs = with self; [ mock ]; + propagatedBuildInputs = with self; [ meld3 ]; # failing tests when building under chroot as root user doesn't exist doCheck = false; @@ -7913,30 +11127,46 @@ rec { name = "subprocess32-3.2.6"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/subprocess32/${name}.tar.gz"; md5 = "754c5ab9f533e764f931136974b618f1"; }; - doCheck = false; + buildInputs = [ pkgs.bash ]; + + doCheck = !isPyPy; + + preConfigure = '' + substituteInPlace test_subprocess32.py \ + --replace '/usr/' '${pkgs.bash}/' + ''; + + checkPhase = '' + TMP_PREFIX=`pwd`/tmp/$name + TMP_INSTALL_DIR=$TMP_PREFIX/lib/${pythonPackages.python.libPrefix}/site-packages + PYTHONPATH="$TMP_INSTALL_DIR:$PYTHONPATH" + mkdir -p $TMP_INSTALL_DIR + python setup.py develop --prefix $TMP_PREFIX + python test_subprocess32.py + ''; meta = { - homepage = "https://pypi.python.org/pypi/subprocess32"; - description = "Backport of the subprocess module from Python 3.2.5 for use on 2.x."; + homepage = https://pypi.python.org/pypi/subprocess32; + description = "Backport of the subprocess module from Python 3.2.5 for use on 2.x"; maintainers = [ stdenv.lib.maintainers.garbas ]; }; }; sphinx = buildPythonPackage (rec { - name = "Sphinx-1.2"; + name = "Sphinx-1.2.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/S/Sphinx/${name}.tar.gz"; - md5 = "8516046aad73fe46dedece4e8e434328"; + md5 = "a98c93124035b4cd7183604aec656cb3"; }; - propagatedBuildInputs = [docutils jinja2 pygments]; + propagatedBuildInputs = with self; [docutils jinja2 pygments]; meta = { description = "Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects."; @@ -7949,14 +11179,18 @@ rec { sphinxcontrib_httpdomain = buildPythonPackage (rec { - name = "sphinxcontrib-httpdomain-1.1.9"; + name = "sphinxcontrib-httpdomain-1.3.0"; + + # Check is disabled due to this issue: + # https://bitbucket.org/pypa/setuptools/issue/137/typeerror-unorderable-types-str-nonetype + doCheck = false; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/sphinxcontrib-httpdomain/${name}.tar.gz"; - md5 = "0f63aea612cc9e0b55a6c39e5b0f87b7"; + md5 = "ad7ea42bd4c7c0ee57b1cb25bbf24aab"; }; - propagatedBuildInputs = [sphinx]; + propagatedBuildInputs = with self; [sphinx]; meta = { description = "Provides a Sphinx domain for describing RESTful HTTP APIs"; @@ -7968,10 +11202,30 @@ rec { }); + sphinxcontrib_plantuml = buildPythonPackage (rec { + name = "sphinxcontrib-plantuml-0.5"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/s/sphinxcontrib-plantuml/${name}.tar.gz"; + md5 = "4a8840fe3475a19c2af3fa877ab9d296"; + }; + + propagatedBuildInputs = with self; [sphinx plantuml]; + + meta = { + description = "Provides a Sphinx domain for embedding UML diagram with PlantUML"; + + homepage = http://bitbucket.org/birkenfeld/sphinx-contrib; + + license = "BSD"; + }; + }); + + sphinx_pypi_upload = buildPythonPackage (rec { name = "Sphinx-PyPI-upload-0.2.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/S/Sphinx-PyPI-upload/${name}.tar.gz"; md5 = "b9f1df5c8443197e4d49abbba1cfddc4"; }; @@ -7985,10 +11239,12 @@ rec { }; }); - sqlalchemy = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { + sqlalchemy = self.sqlalchemy9.override rec { name = "SQLAlchemy-0.7.10"; - disabled = isPy3k; - src = fetchurl { + disabled = isPy34; + doCheck = !isPyPy; + + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp"; }; @@ -7997,27 +11253,38 @@ rec { # waiting for 0.7.11 release ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch ]; - }); + preConfigure = optionalString isPy3k '' + python3 sa2to3.py --no-diffs -w lib test examples + ''; + }; - sqlalchemy8 = pkgs.lib.overrideDerivation sqlalchemy9 (args: rec { + sqlalchemy8 = self.sqlalchemy9.override rec { name = "SQLAlchemy-0.8.7"; - src = fetchurl { + disabled = isPy34; + doCheck = !isPyPy; + + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; md5 = "4f3377306309e46739696721b1785335"; }; - }); + preConfigure = optionalString isPy3k '' + python3 sa2to3.py --no-diffs -w lib test examples + ''; + }; sqlalchemy9 = buildPythonPackage rec { - name = "SQLAlchemy-0.9.4"; + name = "SQLAlchemy-0.9.8"; + + disabled = isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/S/SQLAlchemy/${name}.tar.gz"; - md5 = "c008ea5e2565ec1418ee8461393a99b1"; + md5 = "470ca4da4a0081efc830f0d90dd91682"; }; - buildInputs = [ nose mock ]; + buildInputs = with self; [ nose mock ]; - propagatedBuildInputs = [ modules.sqlite3 ]; + propagatedBuildInputs = with self; [ modules.sqlite3 ]; checkPhase = '' ${python.executable} sqla_nose.py @@ -8032,16 +11299,17 @@ rec { sqlalchemy_imageattach = buildPythonPackage rec { name = "SQLAlchemy-ImageAttach-${version}"; - version = "0.8.1"; + version = "0.8.2"; + disabled = isPy33; - src = fetchgit { + src = pkgs.fetchgit { url = https://github.com/crosspop/sqlalchemy-imageattach.git; rev = "refs/tags/${version}"; - md5 = "051dd9de0757714d33c3ecd5ab37b97d"; + md5 = "cffdcde30952176e35fccf385f579dda"; }; - buildInputs = [ pytest webob pkgs.imagemagick nose ]; - propagatedBuildInputs = [ sqlalchemy8 wand ]; + buildInputs = with self; [ pytest webob pkgs.imagemagick nose ]; + propagatedBuildInputs = with self; [ sqlalchemy8 wand ]; checkPhase = '' cd tests @@ -8050,6 +11318,7 @@ rec { py.test cd .. ''; + doCheck = !isPyPy; # failures due to sqla version mismatch meta = { homepage = https://github.com/crosspop/sqlalchemy-imageattach; @@ -8062,14 +11331,14 @@ rec { sqlalchemy_migrate = buildPythonPackage rec { name = "sqlalchemy-migrate-0.6.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://sqlalchemy-migrate.googlecode.com/files/${name}.tar.gz"; sha1 = "17168b5fa066bd56fd93f26345525377e8a83d8a"; }; - buildInputs = [ nose unittest2 scripttest ]; + buildInputs = with self; [ nose unittest2 scripttest ]; - propagatedBuildInputs = [ tempita decorator sqlalchemy ]; + propagatedBuildInputs = with self; [ tempita decorator sqlalchemy ]; preCheck = '' @@ -8086,17 +11355,37 @@ rec { }; + sqlparse = buildPythonPackage rec { + name = "sqlparse-${version}"; + version = "0.1.14"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/s/sqlparse/${name}.tar.gz"; + sha256 = "1w6shyh7n139cp636sym0frdyiwybw1m7gd2l4s3d7xbaccf6qg5"; + }; + + meta = with stdenv.lib; { + description = "Non-validating SQL parser for Python"; + longDescription = '' + Provides support for parsing, splitting and formatting SQL statements. + ''; + homepage = https://github.com/andialbrecht/sqlparse; + license = with licenses; [ bsd3 ]; + maintainers = with maintainers; [ nckx ]; + }; + }; + python_statsd = buildPythonPackage rec { name = "python-statsd-${version}"; version = "1.6.0"; disabled = isPy3k; # next release will be py3k compatible - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/python-statsd/${name}.tar.gz"; md5 = "3a0c71a160b504b843703c3041c7d7fb"; }; - buildInputs = [ mock nose coverage ]; + buildInputs = with self; [ mock nose coverage ]; meta = { description = "A client for Etsy's node-js statsd server"; @@ -8110,12 +11399,12 @@ rec { name = "stompclient-0.3.2"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/stompclient/${name}.tar.gz"; md5 = "af0a314b6106dd80da24a918c24a1eab"; }; - buildInputs = [ mock nose ]; + buildInputs = with self; [ mock nose ]; # XXX: Ran 0 tests in 0.217s @@ -8126,17 +11415,80 @@ rec { }; }); + subdownloader = buildPythonPackage rec { + version = "2.0.18"; + name = "subdownloader-${version}"; - subunit = buildPythonPackage rec { + src = pkgs.fetchurl { + url = "https://launchpad.net/subdownloader/trunk/2.0.18/+download/subdownloader_2.0.18.orig.tar.gz"; + sha256 = "0manlfdpb585niw23ibb8n21mindd1bazp0pnxvmdjrp2mnw97ig"; + }; + + propagatedBuildInputs = with self; [ mmpython pyqt4 ]; + + setup = '' + import os + import sys + + try: + if os.environ.get("NO_SETUPTOOLS"): + raise ImportError() + from setuptools import setup, Extension + SETUPTOOLS = True + except ImportError: + SETUPTOOLS = False + # Use distutils.core as a fallback. + # We won t be able to build the Wheel file on Windows. + from distutils.core import setup, Extension + + with open("README") as fp: + long_description = fp.read() + + requirements = [ ] + + install_options = { + "name": "subdownloader", + "version": "2.0.18", + "description": "Tool for automatic download/upload subtitles for videofiles using fast hashing", + "long_description": long_description, + "url": "http://www.subdownloader.net", + + "scripts": ["run.py"], + "packages": ["cli", "FileManagement", "gui", "languages", "modules"], + + } + if SETUPTOOLS: + install_options["install_requires"] = requirements + + setup(**install_options) + ''; + + postUnpack = '' + echo '${setup}' > $sourceRoot/setup.py + ''; + + meta = with stdenv.lib; { + description = "Tool for automatic download/upload subtitles for videofiles using fast hashing"; + homepage = http://www.subdownloader.net; + license = licenses.gpl3; + maintainers = [ maintainers.DamienCassou ]; + }; + }; + + subunit = stdenv.mkDerivation rec { name = "subunit-${version}"; - version = "0.0.16"; + version = "1.0.0"; - src = fetchurl { - url = "https://launchpad.net/subunit/trunk/${version}/+download/python-${name}.tar.gz"; - sha256 = "1ylla1wlmv29vdr76r5kgr7y21bz4ahi3v26mxsys42w90rfkahi"; + src = pkgs.fetchurl { + url = "https://launchpad.net/subunit/trunk/${version}/+download/${name}.tar.gz"; + sha256 = "1fnhrrwww90746an2nz2kn9qdf9pklmaf5lm22gssl6648f2rp2m"; }; - propagatedBuildInputs = [ testtools ]; + buildInputs = (with pkgs; [ pkgconfig check cppunit perl ]) ++ [ self.wrapPython ]; + + propagatedBuildInputs = with self; [ testtools testscenarios ]; + + postFixup = "wrapPythonPrograms"; meta = { description = "A streaming protocol for test results"; @@ -8148,25 +11500,24 @@ rec { sure = buildPythonPackage rec { name = "sure-${version}"; - version = "1.2.7"; - + version = "1.2.8"; + preBuild = '' - export LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale/locale-archive export LC_ALL="en_US.UTF-8" ''; - # Not picking up from PyPI because it doesn't contain tests. - src = fetchgit { - url = "git://github.com/gabrielfalcao/sure.git"; - rev = "86ab9faa97aa9c1720c7d090deac2be385ed3d7a"; - sha256 = "02vffcdgr6vbj80lhl925w7zqy6cqnfvs088i0rbkjs5lxc511b3"; + # https://github.com/gabrielfalcao/sure/issues/71 + doCheck = !isPy3k; + disabled = isPyPy; + + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/s/sure/${name}.tar.gz"; + sha256 = "0pgi9xg00wcw0m1pv5qp7jv53q38yffcmkf2fj1zlfi2b9c3njid"; }; - - - buildInputs = [ nose ]; + buildInputs = with self; [ nose pkgs.glibcLocales ]; - propagatedBuildInputs = [ six mock ]; + propagatedBuildInputs = with self; [ six mock ]; meta = { description = "Utility belt for automated testing"; @@ -8176,6 +11527,22 @@ rec { }; + structlog = buildPythonPackage rec { + name = "structlog-0.4.2"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/s/structlog/${name}.tar.gz"; + md5 = "062cda36069e8573e00c265f451f899e"; + }; + + meta = { + description = "Painless structural logging"; + homepage = http://www.structlog.org/; + license = licenses.asl20; + }; + }; + + # XXX: ValueError: ZIP does not support timestamps before 1980 # svneverever = buildPythonPackage rec { # name = "svneverever-778489a8"; @@ -8186,7 +11553,7 @@ rec { # sha256 = "41c9da1dab2be7b60bff87e618befdf5da37c0a56287385cb0cbd3f91e452bb6"; # }; # - # propagatedBuildInputs = [ pysvn argparse ]; + # propagatedBuildInputs = with self; [ pysvn argparse ]; # # doCheck = false; # }; @@ -8195,12 +11562,12 @@ rec { version = "2.1.fb33"; name = "targetcli-fb-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/agrover/targetcli-fb/archive/v${version}.tar.gz"; sha256 = "1zcm0agdpf866020b43fl8zyyyzz6r74mn1sz4xpaa0pinpwjk42"; }; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ configshell_fb rtslib_fb ]; @@ -8212,17 +11579,46 @@ rec { }; }; + syncthing-gtk = buildPythonPackage rec { + version = "0.6.3"; + name = "syncthing-gtk-${version}"; + src = pkgs.fetchFromGitHub { + owner = "syncthing"; + repo = "syncthing-gtk"; + rev = "v${version}"; + sha256 = "1qa5bw2qizjiqvkms8i31wsjf8cw9p0ciamxgfgq6n37wcalv6ms"; + }; + + disabled = isPy3k; + + propagatedBuildInputs = with self; [ pkgs.syncthing pygobject3 dateutil pkgs.gtk3 pyinotify pkgs.libnotify pkgs.psmisc ]; + + patchPhase = '' + substituteInPlace "scripts/syncthing-gtk" \ + --replace "/usr/share" "$out/share" \ + ''; + + + meta = with stdenv.lib; { + description = " GTK3 & python based GUI for Syncthing "; + maintainers = [ maintainers.DamienCassou ]; + platforms = pkgs.syncthing.meta.platforms; + homepage = "https://github.com/syncthing/syncthing-gtk"; + license = stdenv.lib.licenses.gpl2; + }; + }; + tarsnapper = buildPythonPackage rec { name = "tarsnapper-0.2.1"; disabled = isPy3k; - src = fetchgit { + src = pkgs.fetchgit { url = https://github.com/miracle2k/tarsnapper.git; rev = "620439bca68892f2ffaba1079a34b18496cc6596"; sha256 = "06pp499qm2dxpja2jgmmq2jrcx3m4nq52x5hhil9r1jxvyiq962p"; }; - propagatedBuildInputs = [ argparse pyyaml ]; + propagatedBuildInputs = with self; [ argparse pyyaml ]; patches = [ ../development/python-modules/tarsnapper-path.patch ]; @@ -8236,12 +11632,12 @@ rec { name = "TaskCoach-1.3.22"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "mirror://sourceforge/taskcoach/${name}.tar.gz"; sha256 = "1ddx56bqmh347synhgjq625ijv5hqflr0apxg0nl4jqdsqk1zmxh"; }; - propagatedBuildInputs = [ wxPython ]; + propagatedBuildInputs = with self; [ wxPython ]; # I don't know why I need to add these libraries. Shouldn't they # be part of wxPython? @@ -8261,18 +11657,45 @@ rec { }; }; + taskw = buildPythonPackage rec { + version = "1.0.2"; + name = "taskw-${version}"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/t/taskw/${name}.tar.gz"; + sha256 = "0wa2hwplss2r56jrwib6j9sxxm02dz78878975jk9fj10p84w5kr"; + }; + + patches = [ ../development/python-modules/taskw/use-template-for-taskwarrior-install-path.patch ]; + postPatch = '' + substituteInPlace taskw/warrior.py \ + --replace '@@taskwarrior@@' '${pkgs.taskwarrior}' + ''; + + buildInputs = with self; [ nose pkgs.taskwarrior tox ]; + propagatedBuildInputs = with self; [ six dateutil pytz ]; + + meta = { + homepage = http://github.com/ralphbean/taskw; + description = "Python bindings for your taskwarrior database"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = [ maintainers.pierron ]; + }; + }; + tempita = buildPythonPackage rec { version = "0.5.2"; name = "tempita-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/T/Tempita/Tempita-${version}.tar.gz"; md5 = "4c2f17bb9d481821c41b6fbee904cea1"; }; - + disabled = isPy3k; - - buildInputs = [ nose ]; + + buildInputs = with self; [ nose ]; meta = { homepage = http://pythonpaste.org/tempita/; @@ -8281,16 +11704,35 @@ rec { }; + testscenarios = buildPythonPackage rec { + name = "testscenarios-${version}"; + version = "0.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/t/testscenarios/${name}.tar.gz"; + sha256 = "1671jvrvqlmbnc42j7pc5y6vc37q44aiwrq0zic652pxyy2fxvjg"; + }; + + propagatedBuildInputs = with self; [ testtools ]; + + meta = { + description = "a pyunit extension for dependency injection"; + homepage = https://pypi.python.org/pypi/testscenarios; + license = licenses.asl20; + }; + }; + + testtools = buildPythonPackage rec { name = "testtools-${version}"; version = "0.9.34"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/testtools/${name}.tar.gz"; sha256 = "0s6sn9h26dif2c9sayf875x622kq8jb2f4qbc6if7gwh2sssgicn"; }; - propagatedBuildInputs = [ pythonPackages.python_mimeparse pythonPackages.extras lxml ]; + propagatedBuildInputs = with self; [ self.python_mimeparse self.extras lxml ]; meta = { description = "A set of extensions to the Python standard library's unit testing framework"; @@ -8304,7 +11746,7 @@ rec { name = "python-mimeparse-${version}"; version = "0.1.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/python-mimeparse/${name}.tar.gz"; sha256 = "1hyxg09kaj02ri0rmwjqi86wk4nd1akvv7n0dx77azz76wga4s9w"; }; @@ -8313,7 +11755,7 @@ rec { doCheck = false; meta = { - description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges."; + description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges"; homepage = https://code.google.com/p/mimeparse/; license = licenses.mit; }; @@ -8324,7 +11766,7 @@ rec { name = "extras-${version}"; version = "0.0.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/e/extras/extras-${version}.tar.gz"; sha256 = "1h7zx4dfyclalg0fqnfjijpn0f793a9mx8sy3b27gd31nr6dhq3s"; }; @@ -8333,53 +11775,96 @@ rec { doCheck = false; meta = { - description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges."; + description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges"; homepage = https://code.google.com/p/mimeparse/; license = licenses.mit; }; }; + texttable = self.buildPythonPackage rec { + name = "texttable-0.8.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/t/texttable/${name}.tar.gz"; + md5 = "4fe37704f16ecf424b91e122defedd7e"; + }; + + meta = with stdenv.lib; { + description = "A module to generate a formatted text table, using ASCII characters"; + homepage = http://foutaise.org/code/; + license = licenses.lgpl2; + }; + }; + + tlslite = buildPythonPackage rec { + name = "tlslite-${version}"; + version = "0.4.8"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/t/tlslite/${name}.tar.gz"; + sha256 = "1fxx6d3nw5r1hqna1h2jvqhcygn9fyshlm0gh3gp0b1ji824gd6r"; + }; + + meta = { + description = "A pure Python implementation of SSL and TLS"; + homepage = https://pypi.python.org/pypi/tlslite; + license = stdenv.lib.licenses.bsd3; + }; + }; + + qrcode = buildPythonPackage rec { + name = "qrcode-${version}"; + version = "5.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/q/qrcode/${name}.tar.gz"; + sha256 = "0skzrvhjnnacrz52jml4i050vdx5lfcd3np172srxjaghdgfxg9k"; + }; + + propagatedBuildInputs = with self; [ six ]; + + meta = { + description = "Quick Response code generation for Python"; + home = "https://pypi.python.org/pypi/qrcode"; + license = stdenv.lib.licenses.bsd3; + }; + }; + tmdb3 = buildPythonPackage rec { name = "tmdb3-${version}"; version = "0.6.17"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/tmdb3/${name}.zip"; md5 = "cd259427454472164c9a2479504c9cbb"; }; meta = { - description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information."; + description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information"; homepage = http://pypi.python.org/pypi/tmdb3; license = stdenv.lib.licenses.bsd3; }; }; - # TODO - # Installs correctly but fails tests that involve simple things like: - # cmd.run("tox", "-h") - # also, buildPythonPackage needs to supply the tox.ini correctly for projects that use tox for their tests - # - tox = buildPythonPackage rec { - name = "tox-1.7.2"; - - propagatedBuildInputs = [ py virtualenv ]; + name = "tox-1.8.1"; + + propagatedBuildInputs = with self; [ py virtualenv ]; doCheck = false; - - src = fetchurl { + + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz"; - md5 = "0d9b3acb1a9252659d753b0ae6b9b264"; + md5 = "c4423cc6512932b37e5b0d1faa87bef2"; }; }; smmap = buildPythonPackage rec { name = "smmap-0.8.2"; - disabled = isPy3k; # next release will have py3k support + disabled = isPy3k || isPyPy; # next release will have py3k/pypy support meta.maintainers = [ stdenv.lib.maintainers.mornfall ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/s/smmap/${name}.tar.gz"; sha256 = "0vrdgr6npmajrv658fv8bij7zgm5jmz2yxkbv8kmbv25q1f9b8ny"; }; @@ -8389,7 +11874,7 @@ rec { name = "trac-1.0.1"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = http://ftp.edgewall.com/pub/trac/Trac-1.0.1.tar.gz; sha256 = "1nqa95fcnkpyq4jk6az7l7sqgm3b3pjq3bx1n7y4v3bad5jr1m4x"; }; @@ -8399,7 +11884,7 @@ rec { PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; - propagatedBuildInputs = [ genshi pkgs.setuptools modules.sqlite3 ]; + propagatedBuildInputs = with self; [ genshi pkgs.setuptools modules.sqlite3 ]; meta = { description = "Enhanced wiki and issue tracking system for software development projects"; @@ -8413,17 +11898,17 @@ rec { name = "transaction-${version}"; version = "1.4.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/t/transaction/${name}.tar.gz"; md5 = "b4ca5983c9e3a0808ff5ff7648092c76"; }; - propagatedBuildInputs = [ zope_interface ]; + propagatedBuildInputs = with self; [ zope_interface ]; meta = { description = "Transaction management"; homepage = http://pypi.python.org/pypi/transaction; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; }; }; @@ -8431,15 +11916,15 @@ rec { name = "transmissionrpc-${version}"; version = "0.11"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/transmissionrpc/${name}.tar.gz"; md5 = "b2f918593e509f0e66e2e643291b436d"; }; - propagatedBuildInputs = [ six ]; + propagatedBuildInputs = with self; [ six ]; meta = { - description = "Python implementation of the Transmission bittorent client RPC protocol."; + description = "Python implementation of the Transmission bittorent client RPC protocol"; homepage = http://pypi.python.org/pypi/transmissionrpc/; license = stdenv.lib.licenses.mit; }; @@ -8449,7 +11934,7 @@ rec { name = "eggdeps-${version}"; version = "0.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/t/tl.eggdeps/tl.${name}.tar.gz"; md5 = "2472204a2abd0d8cd4d11ff0fbf36ae7"; }; @@ -8457,11 +11942,11 @@ rec { # tests fail, see http://hydra.nixos.org/build/4316603/log/raw doCheck = false; - propagatedBuildInputs = [ zope_interface zope_testing ]; + propagatedBuildInputs = with self; [ zope_interface zope_testing ]; meta = { description = "A tool which computes a dependency graph between active Python eggs"; homepage = http://thomas-lotze.de/en/software/eggdeps/; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; }; }; @@ -8469,20 +11954,20 @@ rec { turses = buildPythonPackage (rec { name = "turses-0.2.22"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz"; sha256 = "1dqgvdqly4c4d6819mbkqy4g8r7zch4dkmxicfwck7q8h96wmyx3"; }; - propagatedBuildInputs = [ oauth2 urwid tweepy ] ++ optional isPy26 argparse; + propagatedBuildInputs = with self; [ oauth2 urwid tweepy ] ++ optional isPy26 argparse; #buildInputs = [ tox ]; # needs tox doCheck = false; meta = { - homepage = "https://github.com/alejandrogomez/turses"; - description = "A Twitter client for the console."; + homepage = https://github.com/alejandrogomez/turses; + description = "A Twitter client for the console"; license = licenses.gpl3; maintainers = [ stdenv.lib.maintainers.garbas ]; platforms = stdenv.lib.platforms.linux; @@ -8493,7 +11978,7 @@ rec { name = "tweepy-2.3.0"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz"; sha256 = "0wcj5g21brcqr1g7m4by4rs72lfiib4scg19qynn2wz1x77jyrzp"; }; @@ -8507,18 +11992,58 @@ rec { }; }); + twiggy = buildPythonPackage rec { + name = "Twiggy-${version}"; + version = "0.4.5"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/T/Twiggy/Twiggy-0.4.5.tar.gz"; + # md5 = "b0dfbbb7f56342e448af4d22a47a339c"; # provided by pypi website. + sha256 = "4e8f1894e5aee522db6cb245ccbfde3c5d1aa08d31330c7e3af783b0e66eec23"; + }; + + doCheck = false; + + meta = { + homepage = http://twiggy.wearpants.org; + # Taken from http://i.wearpants.org/blog/meet-twiggy/ + description = "Twiggy is the first totally new design for a logger since log4j"; + license = licenses.bsd3; + platforms = platforms.all; + maintainers = [ maintainers.pierron ]; + }; + }; + + twitter = buildPythonPackage rec { + name = "twitter-${version}"; + version = "1.15.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/t/twitter/${name}.tar.gz"; + sha256 = "1m6b17irb9klc345k8174pni724jzy2973z2x2jg69h83hipjw2c"; + }; + + doCheck = false; + + meta = { + description = "Twitter API library"; + license = licenses.mit; + maintainers = [ maintainers.thoughtpolice ]; + }; + }; + twisted = buildPythonPackage rec { # NOTE: When updating please check if new versions still cause issues # to packages like carbon (http://stackoverflow.com/questions/19894708/cant-start-carbon-12-04-python-error-importerror-cannot-import-name-daem) disabled = isPy3k; - + name = "Twisted-11.1.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/T/Twisted/${name}.tar.bz2"; sha256 = "05agfp17cndhv2w0p559lvknl7nv0xqkg10apc47fm53m8llbfvz"; }; - propagatedBuildInputs = [ zope_interface ]; + propagatedBuildInputs = with self; [ zope_interface ]; # Generate Twisted's plug-in cache. Twited users must do it as well. See # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3 @@ -8545,9 +12070,9 @@ rec { tzlocal = buildPythonPackage rec { name = "tzlocal-1.1.1"; - propagatedBuildInputs = with pythonPackages; [ pytz ]; + propagatedBuildInputs = with self; [ pytz ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/tzlocal/tzlocal-1.1.1.zip"; md5 = "56c2a04501b98f2a1188d003fd6d3dba"; }; @@ -8556,22 +12081,39 @@ rec { doCheck = false; meta = with pkgs.stdenv.lib; { - description = "Tzinfo object for the local timezone."; + description = "Tzinfo object for the local timezone"; homepage = https://github.com/regebro/tzlocal; license = licenses.cddl; }; }; + umemcache = buildPythonPackage rec { + name = "umemcache-${version}"; + version = "1.6.3"; + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/u/umemcache/${name}.zip"; + sha256 = "211031a03576b7796bf277dbc9c9e3e754ba066bbb7fb601ab5c6291b8ec1918"; + }; + + meta = { + description = "Ultra fast memcache client written in highly optimized C++ with Python bindings"; + homepage = https://github.com/esnme/ultramemcache; + license = licenses.bsdOriginal; + }; + }; + unittest2 = buildPythonPackage rec { version = "0.5.1"; name = "unittest2-${version}"; src = if python.is_py3k or false - then fetchurl { + then pkgs.fetchurl { url = "http://pypi.python.org/packages/source/u/unittest2py3k/unittest2py3k-${version}.tar.gz"; sha256 = "00yl6lskygcrddx5zspkhr0ibgvpknl4678kkm6s626539grq93q"; } - else fetchurl { + else pkgs.fetchurl { url = "http://pypi.python.org/packages/source/u/unittest2/unittest2-${version}.tar.gz"; md5 = "a0af5cac92bbbfa0c3b0e99571390e0f"; }; @@ -8587,11 +12129,31 @@ rec { }; + + update_checker = pythonPackages.buildPythonPackage rec { + name = "update_checker-0.11"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/u/update_checker/update_checker-0.11.tar.gz"; + md5 = "1daa54bac316be6624d7ee77373144bb"; + }; + + propagatedBuildInputs = with pythonPackages; [ requests2 ]; + + doCheck = false; + + meta = with stdenv.lib; { + description = "A python module that will check for package updates"; + homepage = https://github.com/bboe/update_checker; + license = licenses.bsd2; + }; + }; + urlgrabber = buildPythonPackage rec { name = "urlgrabber-3.9.1"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://urlgrabber.baseurl.org/download/${name}.tar.gz"; sha256 = "4437076c8708e5754ea04540e46c7f4f233734ee3590bb8a96389264fb0650d0"; }; @@ -8599,7 +12161,7 @@ rec { # error: invalid command 'test' doCheck = false; - propagatedBuildInputs = [ pycurl ]; + propagatedBuildInputs = with self; [ pycurl ]; meta = { homepage = "urlgrabber.baseurl.org"; @@ -8616,7 +12178,7 @@ rec { # multiple: NameError: name 'evl' is not defined doCheck = false; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/u/urwid/${name}.tar.gz"; md5 = "6a05ada11b87e7b026b01fc5150855b0"; }; @@ -8632,15 +12194,16 @@ rec { pyuv = buildPythonPackage rec { name = "pyuv-0.11.5"; + disabled = isPyPy; # see https://github.com/saghul/pyuv/issues/49 - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/saghul/pyuv/archive/${name}.tar.gz"; sha256 = "c251952cb4e54c92ab0e871decd13cf73d11ca5dba9f92962de51d12e3a310a9"; }; patches = [ ../development/python-modules/pyuv-external-libuv.patch ]; - buildInputs = [ pkgs.libuvVersions.v0_11_29 ]; + buildInputs = with self; [ pkgs.libuvVersions.v0_11_29 ]; meta = { description = "Python interface for libuv"; @@ -8652,19 +12215,18 @@ rec { virtualenv = buildPythonPackage rec { name = "virtualenv-1.11.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz"; md5 = "f61cdd983d2c4e6aeabb70b1060d6f49"; }; - inherit recursivePthLoader; - pythonPath = [ recursivePthLoader ]; + pythonPath = [ self.recursivePthLoader ]; patches = [ ../development/python-modules/virtualenv-change-prefix.patch ]; - propagatedBuildInputs = [ modules.readline modules.sqlite3 modules.curses ]; + propagatedBuildInputs = with self; [ modules.readline modules.sqlite3 modules.curses ]; - buildInputs = [ mock nose ]; + buildInputs = with self; [ mock nose ]; # XXX: Ran 0 tests in 0.003s @@ -8677,15 +12239,15 @@ rec { }; virtualenv-clone = buildPythonPackage rec { - name = "virtualenv-clone-0.2.4"; + name = "virtualenv-clone-0.2.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/v/virtualenv-clone/${name}.tar.gz"; - md5 = "71168b975eaaa91e65559bcc79290b3b"; + md5 = "23e71d255058b2543d839af7f4ce3208"; }; - buildInputs = [pytest]; - propagatedBuildInputs = [virtualenv]; + buildInputs = with self; [pytest]; + propagatedBuildInputs = with self; [virtualenv]; # needs tox to run the tests doCheck = false; @@ -8700,7 +12262,7 @@ rec { virtualenvwrapper = buildPythonPackage (rec { name = "virtualenvwrapper-4.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/v/virtualenvwrapper/${name}.tar.gz"; sha256 = "514cbc22218347bf7b54bdbe49e1a5f550d2d53b1ad2491c10e91ddf48fb528f"; }; @@ -8708,12 +12270,30 @@ rec { # pip depend on $HOME setting preConfigure = "export HOME=$TMPDIR"; - buildInputs = [ pbr pip pkgs.which ]; - propagatedBuildInputs = [ stevedore virtualenv virtualenv-clone ]; + buildInputs = with self; [ pbr pip pkgs.which ]; + propagatedBuildInputs = with self; [ + stevedore + virtualenv + virtualenv-clone + ] ++ optional isPy26 argparse; patchPhase = '' - substituteInPlace "virtualenvwrapper.sh" --replace "which" "${pkgs.which}/bin/which" - substituteInPlace "virtualenvwrapper_lazy.sh" --replace "which" "${pkgs.which}/bin/which" + for file in "virtualenvwrapper.sh" "virtualenvwrapper_lazy.sh"; do + substituteInPlace "$file" --replace "which" "${pkgs.which}/bin/which" + + # We can't set PYTHONPATH in a normal way (like exporting in a wrapper + # script) because the user has to evaluate the script and we don't want + # modify the global PYTHONPATH which would affect the user's + # environment. + # Furthermore it isn't possible to just use VIRTUALENVWRAPPER_PYTHON + # for this workaround, because this variable is well quoted inside the + # shell script. + # (the trailing " -" is required to only replace things like these one: + # "$VIRTUALENVWRAPPER_PYTHON" -c "import os,[...] and not in + # if-statements or anything like that. + # ...and yes, this "patch" is hacky :) + substituteInPlace "$file" --replace '"$VIRTUALENVWRAPPER_PYTHON" -' 'env PYTHONPATH="$VIRTUALENVWRAPPER_PYTHONPATH" "$VIRTUALENVWRAPPER_PYTHON" -' + done ''; postInstall = '' @@ -8727,8 +12307,8 @@ rec { mv "$wrapper" "$wrapped" cat > "$wrapper" <<- EOF - export PATH=$PATH:\$PATH - export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out):\$PYTHONPATH + export PATH="$PATH:\$PATH" + export VIRTUALENVWRAPPER_PYTHONPATH="$PYTHONPATH:$(toPythonPath $out)" source "$wrapped" EOF @@ -8747,7 +12327,7 @@ rec { waitress = buildPythonPackage rec { name = "waitress-0.8.7"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/w/waitress/${name}.tar.gz"; md5 = "714f3d458d82a47f12fb168460de8366"; }; @@ -8767,7 +12347,7 @@ rec { webcolors = buildPythonPackage rec { name = "webcolors-1.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/w/webcolors/${name}.tar.gz"; md5 = "35de9d785b5c04a9cc66a2eae0519254"; }; @@ -8787,12 +12367,12 @@ rec { wand = buildPythonPackage rec { name = "Wand-0.3.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/W/Wand/${name}.tar.gz"; md5 = "10bab03bf86ce8da2a95a3b15197ae2e"; }; - buildInputs = [ pkgs.imagemagick pytest psutil memory_profiler pytest_xdist ]; + buildInputs = with self; [ pkgs.imagemagick pytest psutil memory_profiler pytest_xdist ]; meta = { description = "Ctypes-based simple MagickWand API binding for Python"; @@ -8802,16 +12382,42 @@ rec { }; + wcwidth = buildPythonPackage rec { + name = "wcwidth-${version}"; + version = "0.1.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/w/wcwidth/${name}.tar.gz"; + sha256 = "0awx28xi938nv55qlmai3b5ddqd1w5c294gy95xh4xsx0hik2vch"; + }; + + # Checks fail due to missing tox.ini file: + doCheck = false; + + meta = with stdenv.lib; { + description = "Measures number of Terminal column cells of wide-character codes"; + longDescription = '' + This API is mainly for Terminal Emulator implementors -- any Python + program that attempts to determine the printable width of a string on + a Terminal. It is implemented in python (no C library calls) and has + no 3rd-party dependencies. + ''; + homepage = https://github.com/jquast/wcwidth; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ nckx ]; + }; + }; + webob = buildPythonPackage rec { - version = "1.3.1"; + version = "1.4"; name = "webob-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/W/WebOb/WebOb-${version}.tar.gz"; - md5 = "20918251c5726956ba8fef22d1556177"; + md5 = "8437607c0cc00c35f658f972516ffb55"; }; - propagatedBuildInputs = [ nose modules.ssl ]; + propagatedBuildInputs = with self; [ nose ]; meta = { description = "WSGI request and response object"; @@ -8825,12 +12431,12 @@ rec { version = "0.3.0"; name = "websockify-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/w/websockify/websockify-${version}.tar.gz"; md5 = "29b6549d3421907de4bbd881ecc2e1b1"; }; - propagatedBuildInputs = [ numpy ]; + propagatedBuildInputs = with self; [ numpy ]; meta = { description = "WebSockets support for any application/server"; @@ -8843,11 +12449,11 @@ rec { version = "2.0.15"; name = "webtest-${version}"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/W/WebTest/WebTest-${version}.zip"; md5 = "49314bdba23f4d0bd807facb2a6d3f90"; }; - + preConfigure = '' substituteInPlace setup.py --replace "nose<1.3.0" "nose" ''; @@ -8855,9 +12461,9 @@ rec { # XXX: skipping two tests fails in python2.6 doCheck = ! isPy26; - buildInputs = optionals isPy26 [ pythonPackages.ordereddict unittest2 ]; + buildInputs = optionals isPy26 [ self.ordereddict unittest2 ]; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ nose webob six @@ -8878,15 +12484,15 @@ rec { }; - werkzeug = buildPythonPackage { - name = "werkzeug-0.9.4"; + werkzeug = buildPythonPackage rec { + name = "Werkzeug-0.9.6"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/W/Werkzeug/Werkzeug-0.9.4.tar.gz"; - md5 = "670fad41f57c13b71a6816765765a3dd"; + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/W/Werkzeug/${name}.tar.gz"; + md5 = "f7afcadc03b0f2267bdc156c34586043"; }; - propagatedBuildInputs = [ itsdangerous ]; + propagatedBuildInputs = with self; [ itsdangerous ]; doCheck = false; # tests fail, not sure why @@ -8898,15 +12504,33 @@ rec { }; + + willie = pythonPackages.buildPythonPackage rec { + name = "willie-5.2.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/w/willie/willie-5.2.0.tar.gz"; + md5 = "a19f8c34e10e3c2d0d915c894224e521"; + }; + + propagatedBuildInputs = with pythonPackages; [ feedparser pytz lxml praw pyenchant pygeoip backports_ssl_match_hostname_3_4_0_2 ]; + + meta = with stdenv.lib; { + description = "Willie is a simple, lightweight, open source, easy-to-use IRC utility bot, written in Python."; + homepage = http://willie.dftba.net/; + license = licenses.efl20; + }; + }; + wokkel = buildPythonPackage (rec { url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz"; name = nameFromURL url ".tar"; - src = fetchurl { + src = pkgs.fetchurl { inherit url; sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml"; }; - propagatedBuildInputs = [twisted dateutil]; + propagatedBuildInputs = with self; [twisted dateutil]; meta = { description = "Some (mainly XMPP-related) additions to twisted"; @@ -8919,12 +12543,12 @@ rec { wsgiproxy2 = buildPythonPackage rec { name = "WSGIProxy2-0.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/W/WSGIProxy2/${name}.tar.gz"; md5 = "157049212f1c81a8790efa31146fbabf"; }; - propagatedBuildInputs = [ six webob ]; + propagatedBuildInputs = with self; [ six webob ]; meta = { maintainers = [ @@ -8935,26 +12559,32 @@ rec { }; }; + wxPython = self.wxPython28; - wxPython = wxPython28; - - - wxPython28 = import ../development/python-modules/wxPython/2.8.nix { - inherit (pkgs) stdenv fetchurl pkgconfig; - inherit pythonPackages; + wxPython28 = callPackage ../development/python-modules/wxPython/2.8.nix { wxGTK = pkgs.wxGTK28; }; - wxPython30 = import ../development/python-modules/wxPython/3.0.nix { - inherit (pkgs) stdenv fetchurl pkgconfig; - inherit pythonPackages; + wxPython30 = callPackage ../development/python-modules/wxPython/3.0.nix { wxGTK = pkgs.wxGTK30; }; + xcaplib = buildPythonPackage rec { + name = "python-xcaplib-${version}"; + version = "1.0.17"; + + src = pkgs.fetchurl { + url = "http://download.ag-projects.com/SipClient/${name}.tar.gz"; + sha256 = "1bf8n9ghmgxz8kjgnwy4y7ajijy5hi7viabgh0pvzkhz9gfvck86"; + }; + + propagatedBuildInputs = with self; [ eventlib application ]; + }; + xe = buildPythonPackage rec { url = "http://www.blarg.net/%7Esteveha/xe-0.7.4.tar.gz"; name = stdenv.lib.nameFromURL url ".tar"; - src = fetchurl { + src = pkgs.fetchurl { inherit url; sha256 = "0v9878cl0y9cczdsr6xjy8v9l139lc23h4m5f86p4kpf2wlnpi42"; }; @@ -8971,7 +12601,7 @@ rec { xlib = buildPythonPackage (rec { name = "xlib-0.15rc1"; - src = fetchurl { + src = pkgs.fetchurl { url = "mirror://sourceforge/python-xlib/python-${name}.tar.bz2"; sha256 = "0mvzz605pxzj7lfp2w6z4qglmr4rjza9xrb7sl8yn12cklzfky0m"; }; @@ -8979,7 +12609,7 @@ rec { # Tests require `pyutil' so disable them to avoid circular references. doCheck = false; - propagatedBuildInputs = [ pkgs.xlibs.libX11 ]; + propagatedBuildInputs = with self; [ pkgs.xlibs.libX11 ]; meta = { description = "Fully functional X client library for Python programs"; @@ -8993,7 +12623,7 @@ rec { zbase32 = buildPythonPackage (rec { name = "zbase32-1.1.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zbase32/${name}.tar.gz"; sha256 = "2f44b338f750bd37b56e7887591bf2f1965bfa79f163b6afcbccf28da642ec56"; }; @@ -9001,7 +12631,7 @@ rec { # Tests require `pyutil' so disable them to avoid circular references. doCheck = false; - buildInputs = [ setuptoolsDarcs ]; + buildInputs = with self; [ setuptoolsDarcs ]; meta = { description = "zbase32, a base32 encoder/decoder"; @@ -9017,17 +12647,17 @@ rec { name = "zconfig-${version}"; version = "3.0.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/Z/ZConfig/ZConfig-${version}.tar.gz"; md5 = "60a107c5857c3877368dfe5930559804"; }; - propagatedBuildInputs = [ zope_testrunner ]; + propagatedBuildInputs = with self; [ zope_testrunner ]; meta = { description = "Structured Configuration Library"; homepage = http://pypi.python.org/pypi/ZConfig; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; @@ -9037,7 +12667,7 @@ rec { name = "zc.lockfile-${version}"; version = "1.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zc.lockfile/${name}.tar.gz"; md5 = "f099d4cf2583a0c7bea0146a44dc4d59"; }; @@ -9045,7 +12675,7 @@ rec { meta = { description = "Inter-process locks"; homepage = http://www.python.org/pypi/zc.lockfile; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; @@ -9055,20 +12685,20 @@ rec { name = "zdaemon-${version}"; version = "4.0.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zdaemon/${name}.tar.gz"; md5 = "4056e2ea35855695ed15389d9c168b92"; }; - propagatedBuildInputs = [ zconfig ]; - + propagatedBuildInputs = [ self.zconfig ]; + # too many deps.. doCheck = false; meta = { description = "A daemon process control library and tools for Unix-based systems"; homepage = http://pypi.python.org/pypi/zdaemon; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; @@ -9076,14 +12706,15 @@ rec { zfec = buildPythonPackage (rec { name = "zfec-1.4.24"; + disabled = isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz"; sha256 = "1ks94zlpy7n8sb8380gf90gx85qy0p9073wi1wngg6mccxp9xsg3"; }; - buildInputs = [ setuptoolsDarcs ]; - propagatedBuildInputs = [ pyutil argparse ]; + buildInputs = with self; [ setuptoolsDarcs ]; + propagatedBuildInputs = with self; [ pyutil argparse ]; meta = { homepage = http://allmydata.org/trac/zfec; @@ -9106,55 +12737,59 @@ rec { zodb3 = buildPythonPackage rec { name = "zodb3-${version}"; version = "3.11.0"; + disabled = isPyPy; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/Z/ZODB3/ZODB3-${version}.tar.gz"; md5 = "21975c1609296e7834e8cf4025af3039"; }; - propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zope_interface zope_event BTrees persistent ZEO ]; + propagatedBuildInputs = with self; [ manuel transaction zc_lockfile zconfig zdaemon zope_interface zope_event BTrees persistent ZEO ]; meta = { description = "An object-oriented database for Python"; homepage = http://pypi.python.org/pypi/ZODB3; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; - + zodb = buildPythonPackage rec { name = "zodb-${version}"; + disabled = isPyPy; + version = "4.0.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/Z/ZODB/ZODB-${version}.tar.gz"; md5 = "092d787524b095164231742c96b32f50"; }; - propagatedBuildInputs = [ manuel transaction zc_lockfile zconfig zdaemon zope_interface persistent BTrees ] + propagatedBuildInputs = with self; [ manuel transaction zc_lockfile zconfig zdaemon zope_interface persistent BTrees ] ++ optionals isPy3k [ zodbpickle ]; preCheck = if isPy3k then '' # test failure on py3.4 rm src/ZODB/tests/testDB.py '' else ""; - + meta = { description = "An object-oriented database for Python"; homepage = http://pypi.python.org/pypi/ZODB; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; - - zodbpickle = pythonPackages.buildPythonPackage rec { + + zodbpickle = self.buildPythonPackage rec { name = "zodbpickle-0.5.2"; + disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10 - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/z/zodbpickle/${name}.tar.gz"; md5 = "d401bd89f99ec8d56c22493e6f8c0443"; }; - + # fails.. doCheck = false; @@ -9163,15 +12798,15 @@ rec { }; }; - - BTrees = pythonPackages.buildPythonPackage rec { + + BTrees = self.buildPythonPackage rec { name = "BTrees-4.0.8"; - + patches = [ ./../development/python-modules/btrees_interger_overflow.patch ]; - propagatedBuildInputs = [ persistent zope_interface transaction ]; + propagatedBuildInputs = with self; [ persistent zope_interface transaction ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/B/BTrees/${name}.tar.gz"; md5 = "7f5df4cf8dd50fb0c584c0929a406c92"; }; @@ -9182,13 +12817,13 @@ rec { }; }; - - persistent = pythonPackages.buildPythonPackage rec { + + persistent = self.buildPythonPackage rec { name = "persistent-4.0.8"; - propagatedBuildInputs = [ zope_interface ]; + propagatedBuildInputs = with self; [ zope_interface ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/persistent/${name}.tar.gz"; md5 = "2942f1ca7764b1bef8d48fa0d9a236b7"; }; @@ -9199,16 +12834,32 @@ rec { }; }; + xdot = buildPythonPackage rec { + name = "xdot-0.6"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/x/xdot/xdot-0.6.tar.gz"; + md5 = "a8e5fc5208657b03ad1bd4c46de75724"; + }; + + propagatedBuildInputs = with self; [ pygtk pygobject pkgs.graphviz ]; + + meta = with stdenv.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; + }; + }; zope_broken = buildPythonPackage rec { name = "zope.broken-3.6.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.broken/${name}.zip"; md5 = "eff24d7918099a3e899ee63a9c31bee6"; }; - buildInputs = [ zope_interface ]; + buildInputs = with self; [ zope_interface ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9217,24 +12868,24 @@ rec { zope_browser = buildPythonPackage rec { - name = "zope.browser-1.3"; + name = "zope.browser-2.0.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.browser/${name}.zip"; - md5 = "4ff0ddbf64c45bfcc3189e35f4214ded"; + sha256 = "0f9r5rn9lzgi4hvkhgb6vgw8kpz9sv16jsfb9ws4am8gbqcgv2iy"; }; - propagatedBuildInputs = [ zope_interface ]; + propagatedBuildInputs = with self; [ zope_interface ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; - + zope_browserresource = buildPythonPackage rec { name = "zope.browserresource-4.0.1"; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ zope_component zope_configuration zope_contenttype zope_i18n zope_interface zope_location zope_publisher zope_schema zope_traversing ]; @@ -9242,7 +12893,7 @@ rec { # all tests fail doCheck = false; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/z/zope.browserresource/zope.browserresource-4.0.1.zip"; md5 = "81bbe92c1f04725561470f89d73222c5"; }; @@ -9251,14 +12902,14 @@ rec { zope_component = buildPythonPackage rec { - name = "zope.component-4.0.2"; + name = "zope.component-4.2.1"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.0.2.tar.gz"; - md5 = "8c2fd4414ca23cbbe014dcaf911acebc"; + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.component/zope.component-4.2.1.tar.gz"; + sha256 = "1gzbr0j6c2h0cqnpi2cjss38wrz1bcwx8xahl3vykgz5laid15l6"; }; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ zope_configuration zope_event zope_i18nmessageid zope_interface zope_testing ]; @@ -9273,14 +12924,14 @@ rec { zope_configuration = buildPythonPackage rec { - name = "zope.configuration-4.0.2"; + name = "zope.configuration-4.0.3"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.2.tar.gz"; - md5 = "40b3c7ad0b748ede532d8cfe2544e44e"; + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.configuration/zope.configuration-4.0.3.tar.gz"; + sha256 = "1x9dfqypgympnlm25p9m43xh4qv3p7d75vksv9pzqibrb4cggw5n"; }; - propagatedBuildInputs = [ zope_i18nmessageid zope_schema ]; + propagatedBuildInputs = with self; [ zope_i18nmessageid zope_schema ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9291,7 +12942,7 @@ rec { zope_container = buildPythonPackage rec { name = "zope.container-4.0.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.container/${name}.tar.gz"; md5 = "b24d2303ece65a2d9ce23a5bd074c335"; }; @@ -9299,7 +12950,7 @@ rec { # a test is failing doCheck = false; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ zodb3 zope_broken zope_dottedname zope_publisher zope_filerepresentation zope_lifecycleevent zope_size zope_traversing @@ -9314,7 +12965,7 @@ rec { zope_contenttype = buildPythonPackage rec { name = "zope.contenttype-4.0.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.contenttype/${name}.tar.gz"; md5 = "171be44753e86742da8c81b3ad008ce0"; }; @@ -9328,7 +12979,7 @@ rec { zope_dottedname = buildPythonPackage rec { name = "zope.dottedname-3.4.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.dottedname/${name}.tar.gz"; md5 = "62d639f75b31d2d864fe5982cb23959c"; }; @@ -9340,17 +12991,17 @@ rec { zope_event = buildPythonPackage rec { name = "zope.event-${version}"; - version = "4.0.2"; + version = "4.0.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.event/${name}.tar.gz"; - md5 = "e08dd299d428d77a1cfcbfe841b81872"; + sha256 = "1w858k9kmgzfj36h65kp27m9slrmykvi5cjq6c119xqnaz5gdzgm"; }; meta = { description = "An event publishing system"; homepage = http://pypi.python.org/pypi/zope.event; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; @@ -9360,17 +13011,17 @@ rec { name = "zope.exceptions-${version}"; version = "4.0.5"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.exceptions/${name}.tar.gz"; md5 = "c95569fcb444ae541777de7ae5297492"; }; - propagatedBuildInputs = [ zope_interface ]; + propagatedBuildInputs = with self; [ zope_interface ]; meta = { description = "Exception interfaces and implementations"; homepage = http://pypi.python.org/pypi/zope.exceptions; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; @@ -9379,12 +13030,12 @@ rec { zope_filerepresentation = buildPythonPackage rec { name = "zope.filerepresentation-3.6.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.filerepresentation/${name}.tar.gz"; md5 = "4a7a434094f4bfa99a7f22e75966c359"; }; - propagatedBuildInputs = [ zope_schema ]; + propagatedBuildInputs = with self; [ zope_schema ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9393,14 +13044,14 @@ rec { zope_i18n = buildPythonPackage rec { - name = "zope.i18n-3.7.4"; + name = "zope.i18n-3.8.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.i18n/${name}.tar.gz"; - md5 = "a6fe9d9ad53dd7e94e87cd58fb67d3b7"; + sha256 = "045nnimmshibcq71yym2d8yrs6wzzhxq5gl7wxjnkpyjm5y0hfkm"; }; - propagatedBuildInputs = [ pytz zope_component ]; + propagatedBuildInputs = with self; [ pytz zope_component ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9409,11 +13060,11 @@ rec { zope_i18nmessageid = buildPythonPackage rec { - name = "zope.i18nmessageid-4.0.2"; + name = "zope.i18nmessageid-4.0.3"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.2.tar.gz"; - md5 = "c4550f7a0b4a736186e6e0fa3b2471f7"; + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.i18nmessageid/zope.i18nmessageid-4.0.3.tar.gz"; + sha256 = "1rslyph0klk58dmjjy4j0jxy21k03azksixc3x2xhqbkv97cmzml"; }; meta = { @@ -9423,14 +13074,14 @@ rec { zope_lifecycleevent = buildPythonPackage rec { - name = "zope.lifecycleevent-3.6.2"; + name = "zope.lifecycleevent-3.7.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.lifecycleevent/${name}.tar.gz"; - md5 = "3ba978f3ba7c0805c81c2c79ea3edb33"; + sha256 = "0s5brphqzzz89cykg61gy7zcmz0ryq1jj2va7gh2n1b3cccllp95"; }; - propagatedBuildInputs = [ zope_event zope_component ]; + propagatedBuildInputs = with self; [ zope_event zope_component ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9439,14 +13090,14 @@ rec { zope_location = buildPythonPackage rec { - name = "zope.location-4.0.0"; + name = "zope.location-4.0.3"; - src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.0.tar.gz"; - md5 = "cd0e10d5923c95e352bcde505cc11324"; + src = pkgs.fetchurl { + url = "http://pypi.python.org/packages/source/z/zope.location/zope.location-4.0.3.tar.gz"; + sha256 = "1nj9da4ksiyv3h8n2vpzwd0pb03mdsh7zy87hfpx72b6p2zcwg74"; }; - propagatedBuildInputs = [ zope_proxy ]; + propagatedBuildInputs = with self; [ zope_proxy ]; # ignore circular dependency on zope_schema preBuild = '' @@ -9464,12 +13115,12 @@ rec { zope_proxy = buildPythonPackage rec { name = "zope.proxy-4.1.4"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.proxy/${name}.tar.gz"; md5 = "3bcaf8b8512a99649ecf2f158c11d05b"; }; - propagatedBuildInputs = [ zope_interface ]; + propagatedBuildInputs = with self; [ zope_interface ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9480,12 +13131,12 @@ rec { zope_publisher = buildPythonPackage rec { name = "zope.publisher-3.12.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.publisher/${name}.tar.gz"; md5 = "495131970cc7cb14de8e517fb3857ade"; }; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ zope_browser zope_contenttype zope_i18n zope_security ]; @@ -9496,14 +13147,14 @@ rec { zope_schema = buildPythonPackage rec { - name = "zope.schema-4.2.2"; + name = "zope.schema-4.4.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.schema/${name}.tar.gz"; - md5 = "e7e581af8193551831560a736a53cf58"; + sha256 = "1p943jdxb587dh7php4vx04qvn7b2877hr4qs5zyckvp5afhhank"; }; - propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict; + propagatedBuildInputs = with self; [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9514,12 +13165,12 @@ rec { zope_security = buildPythonPackage rec { name = "zope.security-4.0.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.security/${name}.tar.gz"; md5 = "27d1f2873a0ee9c1f485f7b8f22d8e1c"; }; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ zope_component zope_configuration zope_i18nmessageid zope_schema zope_proxy zope_testrunner ]; @@ -9531,14 +13182,14 @@ rec { zope_size = buildPythonPackage rec { - name = "zope.size-3.4.1"; + name = "zope.size-3.5.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.size/${name}.tar.gz"; - md5 = "55d9084dfd9dcbdb5ad2191ceb5ed03d"; + sha256 = "006xfkhvmypwd3ww9gbba4zly7n9w30bpp1h74d53la7l7fiqk2f"; }; - propagatedBuildInputs = [ zope_i18nmessageid zope_interface ]; + propagatedBuildInputs = with self; [ zope_i18nmessageid zope_interface ]; meta = { maintainers = [ stdenv.lib.maintainers.goibhniu ]; @@ -9547,15 +13198,17 @@ rec { zope_sqlalchemy = buildPythonPackage rec { - name = "zope.sqlalchemy-0.7.3"; + name = "zope.sqlalchemy-0.7.5"; + + doCheck = !isPyPy; # https://github.com/zopefoundation/zope.sqlalchemy/issues/12 - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.sqlalchemy/${name}.zip"; - md5 = "8b317b41244fc2e67f2f286890ba59a0"; + md5 = "0a468bd5b8884cd29fb71acbf7eaa31e"; }; - buildInputs = [ zope_testing zope_interface ]; - propagatedBuildInputs = [ sqlalchemy9 transaction ]; + buildInputs = with self; [ zope_testing zope_interface ]; + propagatedBuildInputs = with self; [ sqlalchemy9 transaction ]; meta = { maintainers = [ @@ -9571,19 +13224,19 @@ rec { name = "zope.testing-${version}"; version = "4.1.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz"; md5 = "6c73c5b668a67fdc116a25b884058ed9"; }; - + doCheck = !(python.isPypy or false); - propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ]; + propagatedBuildInputs = with self; [ zope_interface zope_exceptions zope_location ]; meta = { description = "Zope testing helpers"; homepage = http://pypi.python.org/pypi/zope.testing; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; @@ -9591,22 +13244,21 @@ rec { zope_testrunner = buildPythonPackage rec { name = "zope.testrunner-${version}"; - version = "4.4.1"; + version = "4.4.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.testrunner/${name}.zip"; - md5 = "1d689abad000419891494b30dd7d8190"; + sha256 = "1dwk35kg0bmj2lzp4fd2bgp6dv64q5sda09bf0y8j63y53vqbsw8"; }; - propagatedBuildInputs = [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit; + propagatedBuildInputs = with self; [ zope_interface zope_exceptions zope_testing six ] ++ optional (!python.is_py3k or false) subunit; - # a test is failing - doCheck = false; + doCheck = !isPy27; meta = { description = "A flexible test runner with layer support"; homepage = http://pypi.python.org/pypi/zope.testrunner; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; @@ -9615,12 +13267,12 @@ rec { zope_traversing = buildPythonPackage rec { name = "zope.traversing-4.0.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.traversing/${name}.zip"; md5 = "5cc40c552f953939f7c597ebbedd586f"; }; - propagatedBuildInputs = [ zope_location zope_security zope_publisher transaction zope_tales ]; + propagatedBuildInputs = with self; [ zope_location zope_security zope_publisher transaction zope_tales ]; # circular dependency on zope_browserresource doCheck = false; @@ -9634,58 +13286,56 @@ rec { zope_interface = buildPythonPackage rec { name = "zope.interface-4.1.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/z/zope.interface/${name}.tar.gz"; md5 = "edcd5f719c5eb2e18894c4d06e29b6c6"; }; - propagatedBuildInputs = [ zope_event ]; + propagatedBuildInputs = with self; [ zope_event ]; meta = { description = "Zope.Interface"; homepage = http://zope.org/Products/ZopeInterface; - license = "ZPL"; + license = stdenv.lib.licenses.zpt20; maintainers = [ stdenv.lib.maintainers.goibhniu ]; }; }; + hgsvn = buildPythonPackage rec { + name = "hgsvn-0.3.5"; + src = pkgs.fetchurl rec { + url = "http://pypi.python.org/packages/source/h/hgsvn/${name}.zip"; + sha256 = "043yvkjf9hgm0xzhmwj1qk3fsmbgwm39f4wsqkscib9wfvxs8wbg"; + }; + disabled = isPy3k || isPyPy; - # XXX: link broken - # hgsvn = buildPythonPackage rec { - # name = "hgsvn-0.1.8"; - # src = fetchurl rec { - # name = "hgsvn-0.1.8.tar.gz"; - # url = "http://pypi.python.org/packages/source/h/hgsvn/${name}.tar.gz#md5=56209eae48b955754e09185712123428"; - # sha256 = "18a7bj1i0m4shkxmdvw1ci5i0isq5vqf0bpwgrhnk305rijvbpch"; - # }; - # - # buildInputs = [ pkgs.setuptools ]; - # doCheck = false; - # - # meta = { - # description = "HgSVN"; - # homepage = http://pypi.python.org/pypi/hgsvn; - # }; - # }; + buildInputs = with self; [ pkgs.setuptools ]; + doCheck = false; + + meta = { + description = "HgSVN"; + homepage = http://pypi.python.org/pypi/hgsvn; + }; + }; cliapp = buildPythonPackage rec { name = "cliapp-${version}"; version = "1.20140719"; disabled = isPy3k; - src = fetchurl rec { + src = pkgs.fetchurl rec { url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz"; sha256 = "0kxl2q85n4ggvbw2m8crl11x8n637mx6y3a3b5ydw8nhlsiqijgp"; }; - buildInputs = [ sphinx ]; + buildInputs = with self; [ sphinx ]; # error: invalid command 'test' doCheck = false; meta = { homepage = http://liw.fi/cliapp/; - description = "Python framework for Unix command line programs."; + description = "Python framework for Unix command line programs"; maintainers = [ stdenv.lib.maintainers.rickynils ]; }; }; @@ -9694,9 +13344,9 @@ rec { tornado = buildPythonPackage rec { name = "tornado-3.2"; - propagatedBuildInputs = [ backports_ssl_match_hostname_3_4_0_2 ]; + propagatedBuildInputs = with self; [ backports_ssl_match_hostname_3_4_0_2 ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/tornado/${name}.tar.gz"; md5 = "bd83cee5f1a5c5e139e87996d00b251b"; }; @@ -9704,38 +13354,80 @@ rec { doCheck = false; }; + tokenlib = buildPythonPackage rec { + name = "tokenlib-${version}"; + version = "0.3.1"; + src = pkgs.fetchgit { + url = https://github.com/mozilla-services/tokenlib.git; + rev = "refs/tags/${version}"; + sha256 = "0dmq41sy64jmkj7n49jgbpii5n5d41ci263lyhqbff5slr289m51"; + }; + + propagatedBuildInputs = with self; [ requests webob ]; + }; tornadokick = buildPythonPackage rec { - name = "tornadokick-2014.07.23"; + name = "tornadokick-0.2.1"; - propagatedBuildInputs = [ tornado ]; + propagatedBuildInputs = with self; [ tornado ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/tornadokick/${name}.tar.gz"; - md5 = "201d26de2993a554b16140af3b4ee1b6"; + md5 = "95ee5a295ce3f361c6f843c4f39cbb8c"; }; meta = { - description = "The TornadoKick Web Toolkit for Tornado Web Framework."; + description = "A Toolkit for the Tornado Web Framework"; homepage = http://github.com/multoncore/tornadokick; license = stdenv.lib.licenses.asl20; }; }; + screenkey = buildPythonPackage rec { + version = "0.2-b3634a2c6eb6d6936c3b2c1ef5078bf3a84c40c6"; + name = "screenkey-${version}"; + + propagatedBuildInputs = with self; [ pygtk distutils_extra xlib pkgs.xorg.xmodmap ]; + + preConfigure = '' + substituteInPlace setup.py --replace "/usr/share" "./share" + + # disable the feature that binds a shortcut to turning on/off + # screenkey. This is because keybinder is not packages in Nix as + # of today. + substituteInPlace Screenkey/screenkey.py \ + --replace "import keybinder" "" \ + --replace " keybinder.bind(self.options['hotkey'], self.hotkey_cb, show_item)" "" + ''; + + src = pkgs.fetchgit { + url = https://github.com/scs3jb/screenkey.git; + rev = "b3634a2c6eb6d6936c3b2c1ef5078bf3a84c40c6"; + sha256 = "eb754917e98e03cb9d528eb5f57a08c88fa7a8172f92325a9fe796b2daf14db0"; + }; + + meta = with stdenv.lib; { + homepage = https://github.com/scs3jb/screenkey; + description = "A screencast tool to show your keys"; + license = stdenv.lib.licenses.gpl3Plus; + maintainers = [ maintainers.DamienCassou ]; + platforms = platforms.linux; + }; + }; tarman = buildPythonPackage rec { version = "0.1.3"; name = "tarman-${version}"; - + disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/tarman/tarman-${version}.zip"; sha256 = "0ri6gj883k042xaxa2d5ymmhbw2bfcxdzhh4bz7700ibxwxxj62h"; }; - buildInputs = [ unittest2 nose mock ]; - propagatedBuildInputs = [ modules.curses libarchive ]; + buildInputs = with self; [ unittest2 nose mock ]; + propagatedBuildInputs = with self; [ modules.curses libarchive ]; # tests are still failing doCheck = false; @@ -9747,36 +13439,79 @@ rec { name = "libarchive-${version}"; disabled = isPy3k; - src = fetchurl { + src = pkgs.fetchurl { url = "http://python-libarchive.googlecode.com/files/python-libarchive-${version}.tar.gz"; sha256 = "0j4ibc4mvq64ljya9max8832jafi04jciff9ia9qy0xhhlwkcx8x"; }; - propagatedBuildInputs = [ pkgs.libarchive ]; + propagatedBuildInputs = with self; [ pkgs.libarchive ]; }; + pybrowserid = buildPythonPackage rec { + name = "PyBrowserID-${version}"; + version = "0.9.2"; + disabled = isPy3k; # Errors in the test suite. + + src = pkgs.fetchgit { + url = https://github.com/mozilla/PyBrowserID.git; + rev = "refs/tags/${version}"; + sha256 = "0nyqb0v8yrkqnrqsh1hlhvzr2pyvkxvkw701p3gpsvk29c0gb5n6"; + }; + + doCheck = false; # some tests use networking + + buildInputs = with self; [ mock unittest2 ]; + propagatedBuildInputs = with self; [ requests ]; + + meta = with stdenv.lib; { + description = "Python library for the BrowserID Protocol"; + homepage = "https://github.com/mozilla/PyBrowserID"; + license = licenses.mpl20; + }; + }; pyzmq = buildPythonPackage rec { name = "pyzmq-13.0.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/pyzmq/pyzmq-13.0.0.zip"; md5 = "fa2199022e54a393052d380c6e1a0934"; }; - buildInputs = [ pkgs.zeromq3 ]; - propagatedBuildInputs = [ ]; + buildInputs = with self; [ pkgs.zeromq3 ]; doCheck = false; }; + tokenserver = buildPythonPackage rec { + name = "tokenserver-${version}"; + version = "1.2.11"; + + src = pkgs.fetchgit { + url = https://github.com/mozilla-services/tokenserver.git; + rev = "refs/tags/${version}"; + sha256 = "1pjrw7xhhqx7h4s08h1lsaa499r2ymc41zdknjimn6zlqdjdk1fb"; + }; + + doCheck = false; + propagatedBuildInputs = with self; [ cornice mozsvc pybrowserid tokenlib ]; + + patchPhase = '' + sed -i "s|'testfixtures'||" setup.py + ''; + + meta = { + maintainers = [ ]; + platforms = stdenv.lib.platforms.all; + }; + }; tissue = buildPythonPackage rec { name = "tissue-0.9.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/t/tissue/${name}.tar.gz"; md5 = "87dbcdafff41bfa1b424413f79aa9153"; }; - buildInputs = [ nose ]; - propagatedBuildInputs = [ pep8 ]; + buildInputs = with self; [ nose ]; + propagatedBuildInputs = with self; [ pep8 ]; meta = { maintainers = [ @@ -9792,19 +13527,19 @@ rec { name = "tracing-${version}"; version = "0.8"; - src = fetchurl rec { + src = pkgs.fetchurl rec { url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_${version}.orig.tar.gz"; sha256 = "1l4ybj5rvrrcxf8csyq7qx52izybd502pmx70zxp46gxqm60d2l0"; }; - buildInputs = [ sphinx ]; + buildInputs = with self; [ sphinx ]; # error: invalid command 'test' doCheck = false; meta = { homepage = http://liw.fi/tracing/; - description = "Python debug logging helper."; + description = "Python debug logging helper"; maintainers = [ stdenv.lib.maintainers.rickynils ]; }; }; @@ -9812,7 +13547,7 @@ rec { translationstring = buildPythonPackage rec { name = "translationstring-1.1"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/t/translationstring/${name}.tar.gz"; md5 = "0979b46d8f0f852810c8ec4be5c26cf2"; }; @@ -9832,19 +13567,19 @@ rec { version = "0.23"; disabled = isPy3k; - src = fetchurl rec { + src = pkgs.fetchurl rec { url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_${version}.orig.tar.gz"; sha256 = "0ymimviyjyh2iizqilg88g4p26f5vpq1zm3cvg7dr7q4y3gmik8y"; }; - buildInputs = [ sphinx ]; + buildInputs = with self; [ sphinx ]; # error: invalid command 'test' doCheck = false; meta = { homepage = http://liw.fi/ttystatus/; - description = "Progress and status updates on terminals for Python."; + description = "Progress and status updates on terminals for Python"; maintainers = [ stdenv.lib.maintainers.rickynils ]; }; }; @@ -9853,34 +13588,52 @@ rec { name = "larch-${version}"; version = "1.20131130"; - src = fetchurl rec { + src = pkgs.fetchurl rec { url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_${version}.orig.tar.gz"; sha256 = "1hfanp9l6yc5348i3f5sb8c5s4r43y382hflnbl6cnz4pm8yh5r7"; }; - buildInputs = [ sphinx ]; - propagatedBuildInputs = [ tracing ttystatus cliapp ]; + buildInputs = with self; [ sphinx ]; + propagatedBuildInputs = with self; [ tracing ttystatus cliapp ]; # error: invalid command 'test' doCheck = false; meta = { homepage = http://liw.fi/larch/; - description = "Python B-tree library."; + description = "Python B-tree library"; maintainers = [ stdenv.lib.maintainers.rickynils ]; }; }; + websocket_client = buildPythonPackage rec { + name = "websocket-client-0.17.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/w/websocket-client/${name}.tar.gz"; + md5 = "c86591719085eaf4a01c2275e0c834fc"; + }; + + propagatedBuildInputs = with self; [ six backports_ssl_match_hostname_3_4_0_2 unittest2 argparse ]; + + meta = { + homepage = https://github.com/liris/websocket-client; + description = "Websocket client for python"; + license = licenses.lgpl2; + }; + }; + + webhelpers = buildPythonPackage rec { name = "WebHelpers-1.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/W/WebHelpers/${name}.tar.gz"; md5 = "32749ffadfc40fea51075a7def32588b"; }; - buildInputs = [ routes markupsafe webob nose ]; + buildInputs = with self; [ routes markupsafe webob nose ]; # TODO: failing tests https://bitbucket.org/bbangert/webhelpers/pull-request/1/fix-error-on-webob-123/diff doCheck = false; @@ -9898,7 +13651,7 @@ rec { name = "whisper-${version}"; version = "0.9.12"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/w/whisper/${name}.tar.gz"; md5 = "5fac757cc4822ab0678dbe0d781d904e"; }; @@ -9917,12 +13670,12 @@ rec { name = "carbon-${version}"; version = "0.9.12"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/c/carbon/${name}.tar.gz"; md5 = "66967d5a622fd29973838fcd10eb34f3"; }; - propagatedBuildInputs = [ whisper txamqp zope_interface twisted ]; + propagatedBuildInputs = with self; [ whisper txamqp zope_interface twisted ]; # error: invalid command 'test' doCheck = false; @@ -9935,10 +13688,28 @@ rec { }; + ujson = buildPythonPackage rec { + name = "ujson-1.33"; + + disabled = isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/u/ujson/${name}.zip"; + md5 = "8148a2493fff78940feab1e11dc0a893"; + }; + + meta = { + homepage = http://pypi.python.org/pypi/ujson; + description = "Ultra fast JSON encoder and decoder for Python"; + license = licenses.bsd3; + }; + }; + + unidecode = buildPythonPackage rec { name = "Unidecode-0.04.12"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/U/Unidecode/${name}.tar.gz"; md5 = "351dc98f4512bdd2e93f7a6c498730eb"; }; @@ -9955,7 +13726,7 @@ rec { pyusb = buildPythonPackage rec { name = "pyusb-1.0.0b1"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pyusb/${name}.tar.gz"; md5 = "5cc9c7dd77b4d12fcc22fee3b39844bc"; }; @@ -9978,14 +13749,14 @@ rec { usbtmc = buildPythonPackage rec { name = "usbtmc-${version}"; - version = "0.5"; + version = "0.6"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://github.com/python-ivi/python-usbtmc/archive/v${version}.tar.gz"; - sha256 = "0xn8whjcdn8wgs9j1gj7sw7fh425akdmq3hi448m36fywldbhryg"; + sha256 = "1wnw6ndc3s1i8zpbikz5zc40ijvpraqdb0xn8zmqlyn95xxfizw2"; }; - propagatedBuildInputs = [ pyusb ]; + propagatedBuildInputs = with self; [ pyusb ]; meta = { description = "Python implementation of the USBTMC instrument control protocol"; @@ -10000,12 +13771,12 @@ rec { name = "txamqp-${version}"; version = "0.3"; - src = fetchurl rec { + src = pkgs.fetchurl rec { url = "https://launchpad.net/txamqp/trunk/${version}/+download/python-txamqp_${version}.orig.tar.gz"; sha256 = "1r2ha0r7g14i4b5figv2spizjrmgfpspdbl1m031lw9px2hhm463"; }; - buildInputs = [ twisted ]; + buildInputs = with self; [ twisted ]; meta = { homepage = https://launchpad.net/txamqp; @@ -10018,7 +13789,7 @@ rec { name = "versiontools-1.9.1"; doCheck = (!isPy3k); - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/v/versiontools/${name}.tar.gz"; sha256 = "1xhl6kl7f4srgnw6zw4lr8j2z5vmrbaa83nzn2c9r2m1hwl36sd9"; }; @@ -10029,12 +13800,12 @@ rec { name = "graphite-web-${version}"; version = "0.9.12"; - src = fetchurl rec { + src = pkgs.fetchurl rec { url = "https://pypi.python.org/packages/source/g/graphite-web/${name}.tar.gz"; md5 = "8edbb61f1ffe11c181bd2cb9ec977c72"; }; - propagatedBuildInputs = [ django_1_3 django_tagging modules.sqlite3 whisper pkgs.pycairo ldap memcached ]; + propagatedBuildInputs = with self; [ django_1_3 django_tagging modules.sqlite3 whisper pkgs.pycairo ldap memcached ]; postInstall = '' wrapProgram $out/bin/run-graphite-devel-server.py \ @@ -10058,17 +13829,104 @@ rec { }; }; + graphite_api = buildPythonPackage rec { + name = "graphite-api-1.0.1"; + disabled = isPyPy; + + src = pkgs.fetchgit { + url = "https://github.com/brutasse/graphite-api.git"; + rev = "b6f75e8a08fae695c094fece6de611b893fc65fb"; + sha256 = "41b90d5f35e99a020a6b1b77938690652521d1841b3165574fcfcee807ce4e6a"; + }; + + checkPhase = "nosetests"; + + propagatedBuildInputs = with self; [ + flask + flask_cache + cairocffi + pyparsing + pytz + pyyaml + raven + six + structlog + tzlocal + ]; + + buildInputs = with self; [ + nose + mock + ]; + + LD_LIBRARY_PATH = "${pkgs.cairo}/lib"; + + meta = { + description = "Graphite-web, without the interface. Just the rendering HTTP API."; + homepage = https://github.com/brutasse/graphite-api; + license = licenses.asl20; + }; + }; + + graphite_influxdb = buildPythonPackage rec { + name = "graphite-influxdb-0.3"; + + src = pkgs.fetchgit { + url = "https://github.com/vimeo/graphite-influxdb.git"; + rev = "2273d12a24e1d804685a36debfd4224b7416b62f"; + sha256 = "e386eaf190793d3ad0a42a74b9e137a968a51fc3806f602ff756e09c0c0648a8"; + }; + + propagatedBuildInputs = with self; [ influxdb graphite_api ]; + + passthru.moduleName = "graphite_influxdb.InfluxdbFinder"; + + meta = { + description = "An influxdb backend for Graphite-web and graphite-api"; + homepage = https://github.com/vimeo/graphite-influxdb; + license = licenses.asl20; + }; + }; + + graphite_pager = buildPythonPackage rec { + name = "graphite-pager-${version}"; + version = "2bbfe91220ec1e0ca1cdf4b5564386482a44ed7d"; + + src = pkgs.fetchgit { + url = "https://github.com/offlinehacker/graphite-pager.git"; + sha256 = "aa932f941efe4ed89971fe7572218b020d1a144259739ef78db6397b968eef62"; + rev = version; + }; + + buildInputs = with self; [ nose mock ]; + propagatedBuildInputs = with self; [ + jinja2 pyyaml redis requests pagerduty + python_simple_hipchat pushbullet + ]; + + patchPhase = "> requirements.txt"; + checkPhase = "nosetests"; + + meta = { + description = "A simple alerting application for Graphite metrics"; + homepage = https://github.com/seatgeek/graphite-pager; + maintainers = [ maintainers.offline ]; + license = licenses.bsd2; + }; + }; + + pyspotify = buildPythonPackage rec { name = "pyspotify-${version}"; - version = "1.11"; + version = "1.12"; - src = fetchurl { - url = "https://github.com/mopidy/pyspotify/archive/v1.11.tar.gz"; - sha256 = "089ml6pqr3f2d15n70jpzbaqjp5pjgqlyv4algkxw92xscjw2izg"; + src = pkgs.fetchurl { + url = "https://github.com/mopidy/pyspotify/archive/v${version}.tar.gz"; + sha256 = "0bj6p4hafj1yp0j5n1rxww39nvi3w6y3azadz8a8nxb3b4a8f1xn"; }; - buildInputs = [ pkgs.libspotify ] + buildInputs = with self; [ pkgs.libspotify ] ++ stdenv.lib.optional stdenv.isDarwin pkgs.install_name_tool; # python zip complains about old timestamps @@ -10101,7 +13959,7 @@ rec { version = "1.2.0"; - src = fetchgit { + src = pkgs.fetchgit { url = "https://github.com/jodal/pykka.git"; rev = "refs/tags/v${version}"; sha256 = "17vv2q636zp2fvxrp7ckgnz1ifaffcj5vdxvfb4isd1d32c49amb"; @@ -10122,7 +13980,7 @@ rec { version = "git-20130303"; - src = fetchgit { + src = pkgs.fetchgit { url = "https://github.com/Lawouach/WebSocket-for-Python.git"; rev = "ace276500ca7e4c357595e3773be151d37bcd6e2"; sha256 = "04m4m3ncn7g4rb81xg5n28imns7rsq8d2w98gjpaib6vlmyly3g1"; @@ -10147,7 +14005,7 @@ rec { name = "gdata-${version}"; version = "2.0.17"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://gdata-python-client.googlecode.com/files/${name}.tar.gz"; # sha1 = "d2d9f60699611f95dd8c328691a2555e76191c0c"; sha256 = "0bdaqmicpbj9v3p0swvyrqs7m35bzwdw1gy56d3k09np692jfwmd"; @@ -10168,12 +14026,12 @@ rec { version = "0.11"; disabled = isPy34; - src = fetchurl { + src = pkgs.fetchurl { url = "http://freshfoo.com/projects/IMAPClient/${name}.tar.gz"; sha256 = "1w54h8gz25qf6ggazzp6xf7kvsyiadsjfkkk17gm0p6pmzvvccbn"; }; - - buildInputs = [ mock ]; + + buildInputs = with self; [ mock ]; preConfigure = '' sed -i '/distribute_setup/d' setup.py @@ -10191,7 +14049,7 @@ rec { name = "Logbook-${version}"; version = "0.4.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/L/Logbook/${name}.tar.gz"; # md5 = "143cb15af4c4a784ca785a1546ad1b93"; sha256 = "1g2pnhxh7m64qsrs0ifwcmpfk7gqjvrawd8z66i001rsdnq778v0"; @@ -10206,18 +14064,18 @@ rec { libvirt = pkgs.stdenv.mkDerivation rec { name = "libvirt-python-${version}"; - version = "1.2.7"; + version = "1.2.12"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://libvirt.org/sources/python/${name}.tar.gz"; - sha256 = "0wg0pnvrwfjdl8haxr2dyfhdasddq97zy6l27xwrvd1hnh1394f1"; + sha256 = "17w4mpsp4pxhbzs128ig3gxp12rr0j41mxch8i11dqjrjy7l6bs3"; }; - buildInputs = [ python pkgs.pkgconfig pkgs.libvirt lxml ]; + buildInputs = with self; [ python pkgs.pkgconfig pkgs.libvirt lxml ]; - buildPhase = "python setup.py build"; + buildPhase = "${python.interpreter} setup.py build"; - installPhase = "python setup.py install --prefix=$out"; + installPhase = "${python.interpreter} setup.py install --prefix=$out"; meta = { homepage = http://www.libvirt.org/; @@ -10227,17 +14085,15 @@ rec { }; searx = buildPythonPackage rec { - name = "searx-${rev}"; - rev = "44d3af9fb2482cd0df1a8ababbe2fdf27ab33172"; + name = "searx-0.7.0"; - src = fetchgit { - url = "git://github.com/asciimoo/searx"; - inherit rev; - sha256 = "1w505pzdkkcglq782wg7f5fxrw9i5jzp7px20c2xz18pps2m3rsm"; + src = pkgs.fetchurl { + url = "https://github.com/asciimoo/searx/archive/v0.7.0.tar.gz"; + sha256 = "0vq2zjdr1c8mr3zkycqq3732zf4pybbbrs3kzplqgf851k9zfpbw"; }; - propagatedBuildInputs = [ pyyaml lxml grequests flaskbabel flask requests - gevent speaklater Babel pytz dateutil ]; + propagatedBuildInputs = with self; [ pyyaml lxml grequests flaskbabel flask requests + gevent speaklater Babel pytz dateutil pygments ]; meta = { homepage = https://github.com/asciimoo/searx; @@ -10247,18 +14103,19 @@ rec { }; }; + grequests = buildPythonPackage rec { name = "grequests-0.2.0"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/g/grequests/${name}.tar.gz"; sha256 = "0lafzax5igbh8y4x0krizr573wjsxz7bhvwygiah6qwrzv83kv5c"; }; - buildInputs = [ requests gevent ]; + buildInputs = with self; [ requests gevent ]; meta = { - description = "GRequests allows you to use Requests with Gevent to make asyncronous HTTP Requests easily."; + description = "GRequests allows you to use Requests with Gevent to make asynchronous HTTP Requests easily."; homepage = https://github.com/kennethreitz/grequests; license = "bsd"; maintainers = [ stdenv.lib.maintainers.matejc ]; @@ -10268,12 +14125,12 @@ rec { flaskbabel = buildPythonPackage rec { name = "Flask-Babel-0.9"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/F/Flask-Babel/${name}.tar.gz"; sha256 = "0k7vk4k54y55ma0nx2k5s0phfqbriwslhy5shh3b0d046q7ibzaa"; }; - buildInputs = [ flask jinja2 speaklater Babel pytz ]; + buildInputs = with self; [ flask jinja2 speaklater Babel pytz ]; meta = { description = "Adds i18n/l10n support to Flask applications"; @@ -10286,7 +14143,7 @@ rec { speaklater = buildPythonPackage rec { name = "speaklater-1.3"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/s/speaklater/${name}.tar.gz"; sha256 = "1ab5dbfzzgz6cnz4xlwx79gz83id4bhiw67k1cgqrlzfs0va7zjr"; }; @@ -10299,10 +14156,22 @@ rec { }; }; + pushbullet = buildPythonPackage rec { + name = "pushbullet.py-${version}"; + version = "0.5.0"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/pushbullet.py/pushbullet.py-0.5.0.tar.gz"; + md5 = "36c83ba5f7d5208bb86c00eba633f921"; + }; + + propagatedBuildInputs = with self; [requests websocket_client python_magic ]; + }; + power = buildPythonPackage rec { name = "power-1.2"; - src = fetchurl { + src = pkgs.fetchurl { url = "http://pypi.python.org/packages/source/p/power/${name}.tar.gz"; sha256 = "09a00af8357f63dbb1a1eb13b82e39ccc0a14d6d2e44e5b235afe60ce8ee8195"; }; @@ -10315,55 +14184,225 @@ rec { }; udiskie = buildPythonPackage rec { - name = "udiskie-0.8.0"; + version = "1.1.2"; + name = "udiskie-${version}"; - src = fetchurl { - url = "https://github.com/coldfix/udiskie/archive/0.8.0.tar.gz"; - sha256 = "0yzrnl7bq0dkcd3wh55kbf41c4dbh7dky0mqx0drvnpxlrvzhvp2"; + src = pkgs.fetchurl { + url = "https://github.com/coldfix/udiskie/archive/${version}.tar.gz"; + sha256 = "07fyvwp4rga47ayfsmb79p2784sqrih0sglwnd9c4x6g63xgljvb"; }; - propagatedBuildInputs = with pythonPackages; [ pygtk pyyaml dbus notify pkgs.udisks2 ]; + preConfigure = '' + export XDG_RUNTIME_DIR=/tmp + ''; + + propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pkgs.gtk3 pyyaml pygobject3 pkgs.libnotify pkgs.udisks2 pkgs.gettext self.docopt ]; + + preFixup = '' + wrapProgram $out/bin/* \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" + ''; # tests require dbusmock doCheck = false; meta = with stdenv.lib; { - description = "Removable disk automounter for udisks."; + description = "Removable disk automounter for udisks"; license = licenses.mit; homepage = https://github.com/coldfix/udiskie; + maintainers = [ maintainers.AndersonTorres ]; }; }; - pythonefl = buildPythonPackage rec { + pythonefl_1_13 = buildPythonPackage rec { name = "python-efl-${version}"; - version = "1.10.0"; - src = fetchurl { - url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.gz"; - sha256 = "1inv2qalnm9paifdwyh9q3ffxcp9bjj92phvfw1rgkaildvfji5i"; + version = "1.13.0"; + src = pkgs.fetchurl { + url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.bz2"; + sha256 = "0yy4v0f04dgdz21wd2c09x9w6lzsbq6g12s8895laln44l5aqd82"; }; preConfigure = '' - export NIX_CFLAGS_COMPILE="-I${pkgs.e18.efl}/include/eo-1 -I${pkgs.e18.efl}/include/eina-1 -I${pkgs.e18.efl}/include/eina-1/eina -I${pkgs.e18.efl}/include/evas-1 -I${dbus}/include/dbus-1.0 -I${pkgs.e18.efl}/include/efl-1 -I${pkgs.e18.efl}/include/eet-1 -I${pkgs.e18.efl}/include/ecore-1 -I${pkgs.e18.efl}/include/ecore-evas-1 -I${pkgs.e18.efl}/include/ecore-file-1 -I${pkgs.e18.efl}/include/ecore-input-1 -I${pkgs.e18.efl}/include/ecore-imf-1 -I${pkgs.e18.efl}/include/ecore-con-1 -I${pkgs.e18.efl}/include/edje-1 -I${pkgs.e18.efl}/include/eldbus-1 -I${pkgs.e18.efl}/include/efreet-1 -I${pkgs.e18.efl}/include/ethumb-client-1 -I${pkgs.e18.efl}/include/ethumb-1 -I${pkgs.e18.efl}/include/ecore-x-1 $NIX_CFLAGS_COMPILE" + export NIX_CFLAGS_COMPILE="-I${pkgs.e19.efl}/include/eo-1 -I${pkgs.e19.efl}/include/eina-1 -I${pkgs.e19.efl}/include/eina-1/eina -I${pkgs.e19.efl}/include/evas-1 -I${self.dbus}/include/dbus-1.0 -I${pkgs.e19.efl}/include/efl-1 -I${pkgs.e19.efl}/include/eet-1 -I${pkgs.e19.efl}/include/ecore-1 -I${pkgs.e19.efl}/include/ecore-evas-1 -I${pkgs.e19.efl}/include/ecore-file-1 -I${pkgs.e19.efl}/include/ecore-input-1 -I${pkgs.e19.efl}/include/ecore-imf-1 -I${pkgs.e19.efl}/include/ecore-con-1 -I${pkgs.e19.efl}/include/edje-1 -I${pkgs.e19.efl}/include/eldbus-1 -I${pkgs.e19.efl}/include/efreet-1 -I${pkgs.e19.efl}/include/ethumb-client-1 -I${pkgs.e19.efl}/include/ethumb-1 -I${pkgs.e19.efl}/include/ecore-x-1 $NIX_CFLAGS_COMPILE" ''; - buildInputs = [ pkgs.pkgconfig pkgs.e18.efl pkgs.e18.elementary ]; + buildInputs = with self; [ pkgs.pkgconfig pkgs.e19.efl pkgs.e19.elementary ]; meta = { description = "Python bindings for EFL and Elementary."; homepage = http://enlightenment.org/; - maintainers = [ stdenv.lib.maintainers.matejc ]; + maintainers = [ stdenv.lib.maintainers.matejc stdenv.lib.maintainers.tstrobel ]; platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.gpl3; }; }; + toposort = buildPythonPackage rec { + name = "toposort-${version}"; + version = "1.1"; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/t/toposort/toposort-1.1.tar.gz"; + sha256 = "1izmirbwmd9xrk7rq83p486cvnsslfa5ljvl7rijj1r64zkcnf3a"; + }; + meta = { + description = "A topological sort algorithm"; + homepage = https://pypi.python.org/pypi/toposort/1.1; + maintainers = [ stdenv.lib.maintainers.tstrobel ]; + platforms = stdenv.lib.platforms.linux; + #license = stdenv.lib.licenses.apache; + }; + }; + + snapperGUI = buildPythonPackage rec { + name = "Snapper-GUI"; + + src = pkgs.fetchgit { + url = "https://github.com/ricardomv/snapper-gui"; + rev = "11d98586b122180c75a86fccda45c4d7e3137591"; + sha256 = "7a9f86fc17dbf130526e70c3e925eac30e2c74d6b932efbf7e7cd9fbba6dc4b1"; + }; + + # no tests available + doCheck = false; + + propagatedBuildInputs = with self; [ pygobject3 dbus ]; + + meta = { + homepage = https://github.com/ricardomv/snapper-gui; + description = "Graphical frontend for snapper"; + license = licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.tstrobel ]; + }; + }; + -# python2.7 specific packages -} // optionalAttrs isPy27 ( - with pythonPackages; + redNotebook = buildPythonPackage rec { + name = "rednotebook-1.8.1"; -{ + src = pkgs.fetchurl { + url = "mirror://sourceforge/rednotebook/${name}.tar.gz"; + sha256 = "00b7s4xpqpxsbzjvjx9qsx5d84m9pvn383c5di1nsfh35pig0rzn"; + }; - pypi2nix = pythonPackages.buildPythonPackage rec { + # no tests available + doCheck = false; + + propagatedBuildInputs = with self; [ pygtk pywebkitgtk pyyaml chardet ]; + + meta = { + homepage = http://rednotebook.sourceforge.net/index.html; + description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds"; + license = licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.tstrobel ]; + }; + }; + + + moreItertools = buildPythonPackage rec { + name = "more-itertools-2.2"; + + disabled = isPy3k; + + src = pkgs.fetchurl { + url = "https://github.com/erikrose/more-itertools/archive/2.2.tar.gz"; + sha256 = "4606417182e0a1289e23fb7f964a64ca9fdaafb7c1999034dc4fa0cc5850c478"; + }; + + propagatedBuildInputs = with self; [ nose ]; + + meta = { + homepage = "https://more-itertools.readthedocs.org"; + description = "Expansion of the itertools module."; + license = licenses.mit; + }; + }; + + + uncertainties = buildPythonPackage rec { + name = "uncertainties-2.4.6.1"; + + src = pkgs.fetchurl { + url = "https://github.com/lebigot/uncertainties/archive/2.4.6.1.tar.gz"; + sha256 = "993ad1a380185ff9548510401ed89fe96cf1f18ca48b44657356c8dcd3ad5032"; + }; + + buildInputs = with self; [ nose numpy ]; + + meta = { + homepage = "http://pythonhosted.org/uncertainties/"; + description = "Transparent calculations with uncertainties on the quantities involved (aka error propagation)"; + license = licenses.bsd3; + }; + }; + + + funcy = buildPythonPackage rec { + name = "funcy-1.4"; + + src = pkgs.fetchurl { + url = "https://github.com/Suor/funcy/archive/1.4.tar.gz"; + sha256 = "694e29aa67d03a6ab006f1854740b65f4f87e581afb33853f80e647ddb5f24e7"; + }; + + meta = with stdenv.lib; { + description = "Collection of fancy functional tools focused on practicality."; + homepage = "http://funcy.readthedocs.org/"; + license = stdenv.lib.licenses.bsd3; + + }; + }; + + boto-230 = buildPythonPackage rec { + name = "boto-2.30.0"; + disabled = ! isPy27; + src = pkgs.fetchurl { + url = https://pypi.python.org/packages/source/b/boto/boto-2.30.0.tar.gz; + sha256 = "12gl8azmx1vv8dbv9jhnsbhjpc2dd1ng0jlbcg734k6ggwq1h6hh"; + }; + doCheck = false; + meta = { + homepage = https://github.com/boto/boto; + license = licenses.mit; + description = "Python interface to Amazon Web Services"; + }; + }; + + gcs-oauth2-boto-plugin = buildPythonPackage rec { + name = "gcs-oauth2-boto-plugin-1.8"; + disabled = ! isPy27; + src = pkgs.fetchurl { + url = https://pypi.python.org/packages/source/g/gcs-oauth2-boto-plugin/gcs-oauth2-boto-plugin-1.8.tar.gz; + sha256 = "0jy62y5bmaf1mb735lqwry1s5nx2qqrxvl5sxip9yg4miih3qkyb"; + }; + propagatedBuildInputs = with self; [ boto-230 httplib2 google_api_python_client retry_decorator pkgs.pyopenssl socksipy-branch ]; + meta = { + homepage = https://developers.google.com/storage/docs/gspythonlibrary; + description = "Provides OAuth 2.0 credentials that can be used with Google Cloud Storage"; + license = stdenv.lib.licenses.asl20; + }; + }; + + gsutil = buildPythonPackage rec { + name = "gsutil-4.6"; + disabled = ! isPy27; + meta = { + homepage = https://developers.google.com/storage/docs/gsutil; + description = "Google Cloud Storage Tool"; + maintainers = [ "Russell O'Connor <oconnorr@google.com>" ]; + license = stdenv.lib.licenses.asl20; + }; + doCheck = false; + + src = pkgs.fetchurl { + url = https://pypi.python.org/packages/source/g/gsutil/gsutil-4.6.tar.gz; + sha256 = "1i0clm60162rbk45ljr8nsw4ndkzjnwb7r440shcqjrvw8jq49mn"; + }; + + propagatedBuildInputs = with self; [ boto-230 crcmod httplib2 gcs-oauth2-boto-plugin google_api_python_client gflags + retry_decorator pkgs.pyopenssl socksipy-branch crcmod ]; + }; + + pypi2nix = self.buildPythonPackage rec { rev = "04a68d8577acbceb88bdf51b1231a9dbdead7003"; name = "pypi2nix-1.0_${rev}"; + disabled = ! isPy27; src = pkgs.fetchurl { url = "https://github.com/garbas/pypi2nix/tarball/${rev}"; @@ -10380,11 +14419,73 @@ rec { }; }; + svg2tikz = self.buildPythonPackage { + name = "svg2tikz-1.0.0"; + disabled = ! isPy27; + + propagatedBuildInputs = with self; [lxml]; + + src = pkgs.fetchgit { + url = "https://github.com/kjellmf/svg2tikz"; + sha256 = "429428ec435e53672b85cdfbb89bb8af0ff9f8238f5d05970729e5177d252d5f"; + rev = "ad36f2c3818da13c4136d70a0fd8153acf8daef4"; + }; + + meta = { + homepage = https://github.com/kjellmf/svg2tikz; + description = "An SVG to TikZ converter"; + license = stdenv.lib.licenses.gpl2Plus; + maintainers = with pkgs.stdenv.lib.maintainers; [gal_bolle]; + }; + }; + + syncserver = buildPythonPackage rec { + name = "syncserver-${version}"; + version = "1.5.0"; + disabled = ! isPy27; + + src = pkgs.fetchgit { + url = https://github.com/mozilla-services/syncserver.git; + rev = "refs/tags/${version}"; + sha256 = "1xljylycxg7351hmqh7aa6fvvsjg06zvd4r7hcjqyd0k0sxvk7y6"; + }; + + buildInputs = with self; [ unittest2 ]; + propagatedBuildInputs = with self; [ + cornice gunicorn pyramid requests simplejson sqlalchemy9 mozsvc tokenserver + serversyncstorage configparser + ]; + + meta = { + maintainers = [ ]; + platforms = stdenv.lib.platforms.all; + }; + }; + + serversyncstorage = buildPythonPackage rec { + name = "serversyncstorage-${version}"; + version = "1.5.11"; + disabled = ! isPy27; + src = pkgs.fetchgit { + url = https://github.com/mozilla-services/server-syncstorage.git; + rev = "refs/tags/${version}"; + sha256 = "1byq2k2f36f1jli9599ygfm2qsb4adl9140sxjpgfjbznb74q90q"; + }; + + propagatedBuildInputs = with self; [ + pyramid sqlalchemy9 simplejson mozsvc cornice pyramid_hawkauth pymysql + pymysqlsa umemcache wsgiproxy2 requests pybrowserid + ]; + + doCheck = false; # lazy packager + }; + - thumbor = pythonPackages.buildPythonPackage rec { + thumbor = self.buildPythonPackage rec { name = "thumbor-4.0.4"; + disabled = ! isPy27; - propagatedBuildInputs = [ + propagatedBuildInputs = with self; [ tornado pycrypto pycurl @@ -10400,7 +14501,7 @@ rec { ffmpeg = null; }) ]; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/thumbor/${name}.tar.gz"; md5 = "cf639a1cc57ee287b299ace450444408"; }; @@ -10412,10 +14513,11 @@ rec { }; }; - thumborPexif = pythonPackages.buildPythonPackage rec { + thumborPexif = self.buildPythonPackage rec { name = "thumbor-pexif-0.14"; + disabled = ! isPy27; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/t/thumbor-pexif/${name}.tar.gz"; md5 = "fb4cdb60f4a0bead5193fb483ccd3430"; }; @@ -10431,18 +14533,19 @@ rec { version = "1.4"; baseName = "pync"; name = "${baseName}-${version}"; + disabled = ! isPy27; - src = fetchurl { + src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/${baseName}/${name}.tar.gz"; md5 = "5cc79077f386a17b539f1e51c05a3650"; }; - buildInputs = [ pkgs.coreutils ]; + buildInputs = with self; [ pkgs.coreutils ]; - propagatedBuildInputs = [ dateutil ]; + propagatedBuildInputs = with self; [ dateutil ]; preInstall = stdenv.lib.optionalString stdenv.isDarwin '' - sed -i 's|^\([ ]*\)self.bin_path.*$|\1self.bin_path = "${pkgs.rubyLibs.terminal_notifier}/bin/terminal-notifier"|' build/lib/pync/TerminalNotifier.py + sed -i 's|^\([ ]*\)self.bin_path.*$|\1self.bin_path = "${pkgs.terminal-notifier}/bin/terminal-notifier"|' build/lib/pync/TerminalNotifier.py ''; meta = with stdenv.lib; { @@ -10454,6 +14557,180 @@ rec { }; }; + weboob = buildPythonPackage rec { + name = "weboob-1.0"; + disabled = ! isPy27; + + src = pkgs.fetchurl { + url = "https://symlink.me/attachments/download/289/${name}.tar.gz"; + md5 = "38f832f1b8654441adafe8558faa7109"; + }; + + setupPyBuildFlags = ["--qt" "--xdg"]; + + propagatedBuildInputs = with self; [ pillow prettytable pyyaml dateutil gdata requests2 mechanize feedparser lxml pkgs.gnupg pyqt4 pkgs.libyaml simplejson cssselect futures ]; + + meta = { + homepage = http://weboob.org; + description = "Collection of applications and APIs to interact with websites without requiring the user to open a browser"; + license = stdenv.lib.licenses.agpl3; + maintainers = [ stdenv.lib.maintainers.DamienCassou ]; + }; + }; + + datadiff = buildPythonPackage rec { + name = "datadiff-1.1.6"; + disabled = ! isPy27; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/datadiff/datadiff-1.1.6.zip"; + md5 = "c34a690db75eead148aa5fa89e575d1e"; + }; + + buildInputs = with self; [ nose ]; + + meta = with stdenv.lib; { + description = "DataDiff"; + homepage = http://sourceforge.net/projects/datadiff/; + license = licenses.asl20; + }; + }; + + termcolor = buildPythonPackage rec { + name = "termcolor-1.1.0"; + disabled = ! isPy27; + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/t/termcolor/termcolor-1.1.0.tar.gz"; + md5 = "043e89644f8909d462fbbfa511c768df"; + }; + + meta = with stdenv.lib; { + description = "Termcolor"; + homepage = http://pypi.python.org/pypi/termcolor; + license = licenses.mit; + }; + }; + + html2text = buildPythonPackage rec { + name = "html2text-2014.12.29"; + disabled = ! isPy27; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/h/html2text/html2text-2014.12.29.tar.gz"; + md5 = "c5bd796bdf7d1bfa43f55f1e2b5e4826"; + }; + + propagatedBuildInputs = with pythonPackages; [ ]; + + meta = with stdenv.lib; { + homepage = https://github.com/Alir3z4/html2text/; + }; + }; + + pychart = buildPythonPackage rec { + name = "pychart-1.39"; + disabled = ! isPy27; + + src = pkgs.fetchurl { + url = "http://download.gna.org/pychart/PyChart-1.39.tar.gz"; + sha256 = "882650928776a7ca72e67054a9e0ac98f78645f279c0cfb5910db28f03f07c2e"; + }; + + meta = with stdenv.lib; { + description = "Library for creating high quality encapsulated Postscript, PDF, PNG, or SVG charts"; + homepage = http://home.gna.org/pychart/; + license = licenses.gpl2; + }; + }; + + parsimonious = buildPythonPackage rec { + name = "parsimonious-0.6.0"; + disabled = ! isPy27; + src = pkgs.fetchurl { + url = "https://github.com/erikrose/parsimonious/archive/0.6.tar.gz"; + sha256 = "7ad992448b69a3f3d943bac0be132bced3f13937c8ca150ba2fd1d7b6534f846"; + }; + + propagatedBuildInputs = with self; [ nose ]; + + meta = { + homepage = "https://github.com/erikrose/parsimonious"; + description = "Fast arbitrary-lookahead packrat parser written in pure Python."; + license = licenses.mit; + }; + }; + + networkx = buildPythonPackage rec { + name = "networkx-1.9.1"; + disabled = ! isPy27; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/n/networkx/networkx-1.9.1.tar.gz"; + sha256 = "6380eb38d0b5770d7e50813c8a48ff7c373b2187b4220339c1adce803df01c59"; + }; + + buildInputs = with self; [ nose decorator ]; + + meta = { + homepage = "https://networkx.github.io/"; + description = "Library for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks."; + license = licenses.bsd3; + }; + }; + + basemap = buildPythonPackage rec { + name = "basemap-1.0.7"; + disabled = ! isPy27; + + src = pkgs.fetchurl { + url = "mirror://sourceforge/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz"; + sha256 = "0ca522zirj5sj10vg3fshlmgi615zy5gw2assapcj91vsvhc4zp0"; + }; + + propagatedBuildInputs = with self; [ numpy matplotlib pillow ]; + buildInputs = with self; with pkgs ; [ setuptools geos proj ]; + + # Standard configurePhase from `buildPythonPackage` seems to break the setup.py script + configurePhase = '' + export GEOS_DIR=${pkgs.geos} + ''; + + # The installer does not support the '--old-and-unmanageable' option + installPhase = '' + ${python.interpreter} setup.py install --prefix $out + ''; + + # The 'check' target is not supported by the `setup.py` script. + # TODO : do the post install checks (`cd examples && ${python.interpreter} run_all.py`) + doCheck = false; + + meta = { + homepage = "http://matplotlib.org/basemap/"; + description = "Plot data on map projections with matplotlib"; + longDescription = '' + An add-on toolkit for matplotlib that lets you plot data on map projections with + coastlines, lakes, rivers and political boundaries. See + http://matplotlib.github.com/basemap/users/examples.html for examples of what it can do. + ''; + licences = [ licenses.mit licenses.gpl2 ]; + }; + }; + + dicttoxml = buildPythonPackage rec { + name = "dicttoxml-1.6.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/d/dicttoxml/dicttoxml-1.6.4.tar.gz"; + md5 = "154b47d2b7405280b871a81502a05657"; + }; + + propagatedBuildInputs = with self; [ ]; + + meta = with stdenv.lib; { + description = "Summary"; + homepage = https://github.com/quandyfactory/dicttoxml; + }; + }; -}); in pythonPackages +}; in pythonPackages |