From e2a374799fc9e93034fbb75b12f597b874cb00dd Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 21 Apr 2010 10:51:15 +0000 Subject: [PATCH] * Reverted most of the recent Python refactorings, as discussed. It's a worthy goal to move the Python packages that are currently in all-packages.nix into a single attribute set, but this doesn't require moving python-packages.nix or the other changes made to that file. The Python packages in all-packages.nix should simply be moved to python-packages.nix, and ideally changed to use buildPythonPackage. svn path=/nixpkgs/trunk/; revision=21196 --- pkgs/desktops/kde-4.4/default.nix | 6 +- .../4suite/default.nix | 0 .../bsddb3/default.nix | 0 .../dbus/default.nix | 0 .../flup/default.nix | 0 .../generic/default.nix | 0 .../irclib/default.nix | 0 .../libsexy/default.nix | 0 .../numeric/default.nix | 0 .../pil/default.nix | 0 .../psyco/default.nix | 0 .../pycairo/default.nix | 0 .../pycrypto/default.nix | 0 .../pycups/default.nix | 0 .../pygame/default.nix | 0 .../pygobject/default.nix | 0 .../pygtk/default.nix | 0 .../pyopenssl/default.nix | 0 .../pyqt/default.nix} | 6 +- .../python-sip/default.nix} | 4 +- .../pyx/default.nix | 0 .../pyxml/default.nix | 0 .../rhpl/builder.sh | 0 .../rhpl/default.nix | 0 .../setuptools/default.nix | 0 .../stringtemplate/default.nix | 0 .../wxPython/2.6.nix | 0 .../wxPython/2.8.nix | 0 .../wxPython/builder.sh | 0 .../xmpppy/default.nix | 0 .../python-modules/zope/default.nix | 15 + .../zope/zope_python-2.4.4.patch | 0 .../zope/zope_python-readline.patch | 0 pkgs/development/python2-packages/default.nix | 957 ------------------ .../python2-packages/pyopengl/default.nix | 28 - .../development/python2-packages/pyqt/4.5.nix | 22 - .../python2-packages/python-sip/default.nix | 20 - pkgs/tools/filesystems/svnfs/default.nix | 7 +- pkgs/top-level/all-packages.nix | 223 +++- pkgs/top-level/python-packages.nix | 785 ++++++++++++++ 40 files changed, 980 insertions(+), 1093 deletions(-) rename pkgs/development/{python2-packages => python-modules}/4suite/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/bsddb3/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/dbus/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/flup/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/generic/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/irclib/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/libsexy/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/numeric/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/pil/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/psyco/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/pycairo/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/pycrypto/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/pycups/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/pygame/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/pygobject/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/pygtk/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/pyopenssl/default.nix (100%) rename pkgs/development/{python2-packages/pyqt/4.7.nix => python-modules/pyqt/default.nix} (81%) rename pkgs/development/{python2-packages/python-sip/4.10.nix => python-modules/python-sip/default.nix} (83%) rename pkgs/development/{python2-packages => python-modules}/pyx/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/pyxml/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/rhpl/builder.sh (100%) rename pkgs/development/{python2-packages => python-modules}/rhpl/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/setuptools/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/stringtemplate/default.nix (100%) rename pkgs/development/{python2-packages => python-modules}/wxPython/2.6.nix (100%) rename pkgs/development/{python2-packages => python-modules}/wxPython/2.8.nix (100%) rename pkgs/development/{python2-packages => python-modules}/wxPython/builder.sh (100%) rename pkgs/development/{python2-packages => python-modules}/xmpppy/default.nix (100%) create mode 100644 pkgs/development/python-modules/zope/default.nix rename pkgs/development/{python2-packages => python-modules}/zope/zope_python-2.4.4.patch (100%) rename pkgs/development/{python2-packages => python-modules}/zope/zope_python-readline.patch (100%) delete mode 100644 pkgs/development/python2-packages/default.nix delete mode 100644 pkgs/development/python2-packages/pyopengl/default.nix delete mode 100644 pkgs/development/python2-packages/pyqt/4.5.nix delete mode 100644 pkgs/development/python2-packages/python-sip/default.nix create mode 100644 pkgs/top-level/python-packages.nix diff --git a/pkgs/desktops/kde-4.4/default.nix b/pkgs/desktops/kde-4.4/default.nix index 3e71c3aad5e7..9623f309fc98 100644 --- a/pkgs/desktops/kde-4.4/default.nix +++ b/pkgs/desktops/kde-4.4/default.nix @@ -102,8 +102,7 @@ pkgs.recurseIntoAttrs (rec { }; kdeadmin = import ./admin { - inherit (pkgs) stdenv fetchurl lib cmake qt4 pkgconfig perl python sip pyqt4 system_config_printer; - inherit (pkgs.pythonPackages) pycups rhpl; + inherit (pkgs) stdenv fetchurl lib cmake qt4 pkgconfig perl python sip pyqt4 pycups rhpl system_config_printer; inherit kdelibs kdepimlibs kdebindings; inherit automoc4 phonon; }; @@ -187,8 +186,7 @@ pkgs.recurseIntoAttrs (rec { }; kdeutils = import ./utils { - inherit (pkgs) stdenv fetchurl lib cmake qt4 perl python gmp libzip libarchive xz sip pyqt4 system_config_printer; - inherit (pkgs.pythonPackages) pycups rhpl; + inherit (pkgs) stdenv fetchurl lib cmake qt4 perl python gmp libzip libarchive xz sip pyqt4 pycups rhpl system_config_printer; inherit kdelibs kdepimlibs kdebase kdebindings; inherit automoc4 phonon qimageblitz qca2; }; diff --git a/pkgs/development/python2-packages/4suite/default.nix b/pkgs/development/python-modules/4suite/default.nix similarity index 100% rename from pkgs/development/python2-packages/4suite/default.nix rename to pkgs/development/python-modules/4suite/default.nix diff --git a/pkgs/development/python2-packages/bsddb3/default.nix b/pkgs/development/python-modules/bsddb3/default.nix similarity index 100% rename from pkgs/development/python2-packages/bsddb3/default.nix rename to pkgs/development/python-modules/bsddb3/default.nix diff --git a/pkgs/development/python2-packages/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix similarity index 100% rename from pkgs/development/python2-packages/dbus/default.nix rename to pkgs/development/python-modules/dbus/default.nix diff --git a/pkgs/development/python2-packages/flup/default.nix b/pkgs/development/python-modules/flup/default.nix similarity index 100% rename from pkgs/development/python2-packages/flup/default.nix rename to pkgs/development/python-modules/flup/default.nix diff --git a/pkgs/development/python2-packages/generic/default.nix b/pkgs/development/python-modules/generic/default.nix similarity index 100% rename from pkgs/development/python2-packages/generic/default.nix rename to pkgs/development/python-modules/generic/default.nix diff --git a/pkgs/development/python2-packages/irclib/default.nix b/pkgs/development/python-modules/irclib/default.nix similarity index 100% rename from pkgs/development/python2-packages/irclib/default.nix rename to pkgs/development/python-modules/irclib/default.nix diff --git a/pkgs/development/python2-packages/libsexy/default.nix b/pkgs/development/python-modules/libsexy/default.nix similarity index 100% rename from pkgs/development/python2-packages/libsexy/default.nix rename to pkgs/development/python-modules/libsexy/default.nix diff --git a/pkgs/development/python2-packages/numeric/default.nix b/pkgs/development/python-modules/numeric/default.nix similarity index 100% rename from pkgs/development/python2-packages/numeric/default.nix rename to pkgs/development/python-modules/numeric/default.nix diff --git a/pkgs/development/python2-packages/pil/default.nix b/pkgs/development/python-modules/pil/default.nix similarity index 100% rename from pkgs/development/python2-packages/pil/default.nix rename to pkgs/development/python-modules/pil/default.nix diff --git a/pkgs/development/python2-packages/psyco/default.nix b/pkgs/development/python-modules/psyco/default.nix similarity index 100% rename from pkgs/development/python2-packages/psyco/default.nix rename to pkgs/development/python-modules/psyco/default.nix diff --git a/pkgs/development/python2-packages/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix similarity index 100% rename from pkgs/development/python2-packages/pycairo/default.nix rename to pkgs/development/python-modules/pycairo/default.nix diff --git a/pkgs/development/python2-packages/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix similarity index 100% rename from pkgs/development/python2-packages/pycrypto/default.nix rename to pkgs/development/python-modules/pycrypto/default.nix diff --git a/pkgs/development/python2-packages/pycups/default.nix b/pkgs/development/python-modules/pycups/default.nix similarity index 100% rename from pkgs/development/python2-packages/pycups/default.nix rename to pkgs/development/python-modules/pycups/default.nix diff --git a/pkgs/development/python2-packages/pygame/default.nix b/pkgs/development/python-modules/pygame/default.nix similarity index 100% rename from pkgs/development/python2-packages/pygame/default.nix rename to pkgs/development/python-modules/pygame/default.nix diff --git a/pkgs/development/python2-packages/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix similarity index 100% rename from pkgs/development/python2-packages/pygobject/default.nix rename to pkgs/development/python-modules/pygobject/default.nix diff --git a/pkgs/development/python2-packages/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix similarity index 100% rename from pkgs/development/python2-packages/pygtk/default.nix rename to pkgs/development/python-modules/pygtk/default.nix diff --git a/pkgs/development/python2-packages/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix similarity index 100% rename from pkgs/development/python2-packages/pyopenssl/default.nix rename to pkgs/development/python-modules/pyopenssl/default.nix diff --git a/pkgs/development/python2-packages/pyqt/4.7.nix b/pkgs/development/python-modules/pyqt/default.nix similarity index 81% rename from pkgs/development/python2-packages/pyqt/4.7.nix rename to pkgs/development/python-modules/pyqt/default.nix index 820e272dee15..eb09a32d00c6 100644 --- a/pkgs/development/python2-packages/pyqt/4.7.nix +++ b/pkgs/development/python-modules/pyqt/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, python, sip, qt4}: stdenv.mkDerivation { - name = "pyqt-x11-gpl-4.7.3"; + name = "pyqt-x11-gpl-4.7.2"; src = fetchurl { - url = http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.3.tar.gz; - sha256 = "0p12m2rjsm3igpqqmgn79my2h16vhxq8dma9ih1744hpnirdcjjp"; + url = http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.2.tar.gz; + sha256 = "097gxdr7jqv5a58z89djylm2b21x83crqn2fjsr5zmwhc0zwj5yv"; }; configurePhase = "python ./configure.py --confirm-license -b $out/bin -d $out/lib/${python.libPrefix}/site-packages -v $out/share/sip -p $out/plugins"; diff --git a/pkgs/development/python2-packages/python-sip/4.10.nix b/pkgs/development/python-modules/python-sip/default.nix similarity index 83% rename from pkgs/development/python2-packages/python-sip/4.10.nix rename to pkgs/development/python-modules/python-sip/default.nix index c1812bfec223..c64d7be52f70 100644 --- a/pkgs/development/python2-packages/python-sip/4.10.nix +++ b/pkgs/development/python-modules/python-sip/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, python }: stdenv.mkDerivation rec { - name = "sip-4.10.2"; + name = "sip-4.10.1"; src = fetchurl { url = "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/${name}.tar.gz"; - sha256 = "1vw810fa3g59r3cnfizxykq7dg84zcgs278cwrksk7rsgz8gdn9q"; + sha256 = "16pdk86amcl4hnc9vv2y1ihl8ym9hjkh49andm4jahv4630qhc9h"; }; configurePhase = "python ./configure.py -d $out/lib/${python.libPrefix}/site-packages -b $out/bin -e $out/include"; diff --git a/pkgs/development/python2-packages/pyx/default.nix b/pkgs/development/python-modules/pyx/default.nix similarity index 100% rename from pkgs/development/python2-packages/pyx/default.nix rename to pkgs/development/python-modules/pyx/default.nix diff --git a/pkgs/development/python2-packages/pyxml/default.nix b/pkgs/development/python-modules/pyxml/default.nix similarity index 100% rename from pkgs/development/python2-packages/pyxml/default.nix rename to pkgs/development/python-modules/pyxml/default.nix diff --git a/pkgs/development/python2-packages/rhpl/builder.sh b/pkgs/development/python-modules/rhpl/builder.sh similarity index 100% rename from pkgs/development/python2-packages/rhpl/builder.sh rename to pkgs/development/python-modules/rhpl/builder.sh diff --git a/pkgs/development/python2-packages/rhpl/default.nix b/pkgs/development/python-modules/rhpl/default.nix similarity index 100% rename from pkgs/development/python2-packages/rhpl/default.nix rename to pkgs/development/python-modules/rhpl/default.nix diff --git a/pkgs/development/python2-packages/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix similarity index 100% rename from pkgs/development/python2-packages/setuptools/default.nix rename to pkgs/development/python-modules/setuptools/default.nix diff --git a/pkgs/development/python2-packages/stringtemplate/default.nix b/pkgs/development/python-modules/stringtemplate/default.nix similarity index 100% rename from pkgs/development/python2-packages/stringtemplate/default.nix rename to pkgs/development/python-modules/stringtemplate/default.nix diff --git a/pkgs/development/python2-packages/wxPython/2.6.nix b/pkgs/development/python-modules/wxPython/2.6.nix similarity index 100% rename from pkgs/development/python2-packages/wxPython/2.6.nix rename to pkgs/development/python-modules/wxPython/2.6.nix diff --git a/pkgs/development/python2-packages/wxPython/2.8.nix b/pkgs/development/python-modules/wxPython/2.8.nix similarity index 100% rename from pkgs/development/python2-packages/wxPython/2.8.nix rename to pkgs/development/python-modules/wxPython/2.8.nix diff --git a/pkgs/development/python2-packages/wxPython/builder.sh b/pkgs/development/python-modules/wxPython/builder.sh similarity index 100% rename from pkgs/development/python2-packages/wxPython/builder.sh rename to pkgs/development/python-modules/wxPython/builder.sh diff --git a/pkgs/development/python2-packages/xmpppy/default.nix b/pkgs/development/python-modules/xmpppy/default.nix similarity index 100% rename from pkgs/development/python2-packages/xmpppy/default.nix rename to pkgs/development/python-modules/xmpppy/default.nix diff --git a/pkgs/development/python-modules/zope/default.nix b/pkgs/development/python-modules/zope/default.nix new file mode 100644 index 000000000000..3dc5da98e769 --- /dev/null +++ b/pkgs/development/python-modules/zope/default.nix @@ -0,0 +1,15 @@ +{stdenv, fetchurl, python}: + +stdenv.mkDerivation rec { + version = "3.2.1"; + name = "zope-${version}"; + src = fetchurl { + url = "http://www.zope.org/Products/Zope3/${version}/Zope-${version}.tgz"; + sha256 = "8431984af75054e4ddfe45bf708924240f8b6b02220cd84d090138413ac82341"; + }; + patches = [ + ./zope_python-2.4.4.patch + ./zope_python-readline.patch + ]; + buildInputs = [python]; +} diff --git a/pkgs/development/python2-packages/zope/zope_python-2.4.4.patch b/pkgs/development/python-modules/zope/zope_python-2.4.4.patch similarity index 100% rename from pkgs/development/python2-packages/zope/zope_python-2.4.4.patch rename to pkgs/development/python-modules/zope/zope_python-2.4.4.patch diff --git a/pkgs/development/python2-packages/zope/zope_python-readline.patch b/pkgs/development/python-modules/zope/zope_python-readline.patch similarity index 100% rename from pkgs/development/python2-packages/zope/zope_python-readline.patch rename to pkgs/development/python-modules/zope/zope_python-readline.patch diff --git a/pkgs/development/python2-packages/default.nix b/pkgs/development/python2-packages/default.nix deleted file mode 100644 index f80062308b02..000000000000 --- a/pkgs/development/python2-packages/default.nix +++ /dev/null @@ -1,957 +0,0 @@ -{ pkgs, python, makeWrapper }: - -let inherit (pkgs) builderDefsPackage lib fetchurl fetchsvn stdenv zlib libjpeg; - -in - -rec { - - # pythonPackages - # only keep packages being known to build with this python version - b = builtins.removeAttrs allPythonPackages - ( - # these packages don't build with specific python versions.. - (pkgs.lib.optionals (python.libPrefix == "python2.6") - [ - # pythonSexy fails with: /nix/store/8ls1xar0wsxmczas4sr76n1dwpccram9-pygtk-2.16.0/bin/pygtk-codegen-2.0: line 10: exec: /nix/store/8ls1xar0wsxmczas4sr76n1dwpccram9-pygtk-2.16.0/bin/pygobject-codegen-2.0: cannot execute: No such file or directory - # Don't disable it even if it fails. Disabling breaks nixpkgs tarball - #"pythonSexy" - ]) - ++ (pkgs.lib.optionals (python.libPrefix == "python2.5") - [ - # pygtk requires at least python-2.6. The other packages in this line depend on pygtk - "pygobject" "pycairo" "pygtk" "pyGtkGlade" "pythonSexy" - # rhpl fails with: diskutil.c:24:20: error: Python.h: No such file or directory - "rhpl" - ]) - ); - - result = b // { - all = builtins.removeAttrs b ["buildPythonPackage"]; - # also pass this python version so that you can do: - # inherit (pythonXYPackages) python libA libB; - inherit python; - }; - - # intentionally not using rec. Using b so that if a depedency doesn't build - # its less work to find all depending packages - allPythonPackages = { - - setuptools = builderDefsPackage (import ./setuptools) { - inherit python; - inherit (pkgs) makeWrapper; - }; - - buildPythonPackage = - import ./generic { - inherit python makeWrapper lib; - inherit (b) setuptools; - }; - - beautifulsoap = b.buildPythonPackage (rec { - name = "beautifulsoap-3.0.8"; - - src = fetchurl { - url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.8.tar.gz"; - sha256 = "1gasiy5lwbhsxw27g36d88n36xbj52434klisvqhljgckd4xqcy7"; - }; - - # No tests implemented - doCheck = false; - - meta = { - homepage = http://www.crummy.com/software/BeautifulSoup/; - - license = "bsd"; - - description = "Undemanding HTML/XML parser"; - }; - }); - - clientform = b.buildPythonPackage (rec { - name = "clientform-0.2.10"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/C/ClientForm/ClientForm-0.2.10.tar.gz"; - sha256 = "0dydh3i1sx7rrj6d0gj375wkjpiivm7jjlsimw6hmwv4ck7yf1wm"; - }; - - meta = { - homepage = http://wwwsearch.sourceforge.net/ClientForm/; - - license = "bsd"; - - description = "Python module for handling HTML forms on the client side"; - }; - }); - - cssutils = b.buildPythonPackage (rec { - name = "cssutils-0.9.7a2"; - - src = fetchurl { - url = http://cssutils.googlecode.com/files/cssutils-0.9.7a2.zip; - sha256 = "068p14qhhczpjgn0w7v57a2swj0g4rndhimh8gkg9h9sd7rp6n07"; - }; - - buildInputs = [ pkgs.unzip ]; - - # The tests fail - I don't know why - doCheck = false; - - meta = { - description = "A Python package to parse and build CSS"; - - homepage = http://code.google.com/p/cssutils/; - - license = "LGPLv3+"; - }; - }); - - foursuite = import ./4suite { - inherit fetchurl stdenv python; - }; - - bsddb3 = import ./bsddb3 { - inherit fetchurl stdenv python; - inherit (pkgs) db4; - }; - - # python25 only? - flup = builderDefsPackage ./flup { - inherit fetchurl stdenv python; - inherit (b) setuptools; - }; - - numeric = import ./numeric { - inherit fetchurl stdenv python; - }; - - pil = import ./pil { - inherit fetchurl stdenv python; - inherit (pkgs) zlib libjpeg freetype; - }; - - #psyco = import ./psyco { - # inherit fetchurl stdenv python; - #}; - - pycairo = import ./pycairo { - inherit fetchurl stdenv python; - inherit (pkgs) cairo x11 pkgconfig; - }; - - pycrypto = import ./pycrypto { - inherit fetchurl stdenv python; - inherit (pkgs) gmp; - }; - - pycups = import ./pycups { - inherit stdenv fetchurl python; - inherit (pkgs) cups; - }; - - pygame = import ./pygame { - inherit fetchurl stdenv python; - inherit (pkgs) pkgconfig SDL SDL_image - SDL_mixer SDL_ttf numeric; - }; - - pygobject = import ./pygobject { - inherit fetchurl stdenv python; - inherit (pkgs) pkgconfig glib; - }; - - pygtk = import ./pygtk { - inherit fetchurl stdenv python; - inherit (b) pygobject pycairo; - inherit (pkgs) pkgconfig; - inherit (pkgs.gtkLibs) glib gtk; - }; - - pyGtkGlade = import ./pygtk { - inherit fetchurl stdenv python; - inherit (b) pygobject pycairo; - inherit (pkgs) pkgconfig; - inherit (pkgs.gtkLibs) glib gtk; - inherit (pkgs.gnome) libglade; - }; - - pyopengl = import ./pyopengl { - inherit fetchurl stdenv python; - inherit (b) buildPythonPackage; - inherit (pkgs) mesa freeglut pil; - }; - - pyopenssl = builderDefsPackage (import ./pyopenssl) { - inherit python; - inherit (pkgs) openssl; - }; - - pystringtemplate = import ./stringtemplate { - inherit stdenv fetchurl python; - inherit (pkgs) antlr; - }; - - pythonDBus = builderDefsPackage (import ./dbus) { - inherit python; - inherit (pkgs) pkgconfig dbus_glib; - dbus = pkgs.dbus.libs; - }; - - pythonIRClib = builderDefsPackage (import ./irclib) { - inherit python; - }; - - pythonSexy = builderDefsPackage (import ./libsexy) { - inherit python; - inherit (pkgs) pkgconfig libxml2 pygtk libsexy; - inherit (pkgs.gtkLibs) pango gtk glib; - }; - - rhpl = import ./rhpl { - inherit stdenv fetchurl python; - inherit (pkgs) rpm cpio wirelesstools gettext; - }; - - sip = b.sip410; - - sip48 = import ./python-sip { - inherit stdenv fetchurl python; - }; - - sip410 = import ./python-sip/4.10.nix { - inherit stdenv fetchurl python; - }; - - pyqt4 = b.pyqt47; - - pyqt45 = import ./pyqt/4.5.nix { - inherit stdenv fetchurl python; - inherit (b) sip; - qt4 = pkgs.qt45; - }; - - pyqt47 = import ./pyqt/4.7.nix { - inherit stdenv fetchurl python; - qt4 = pkgs.qt46; - sip = b.sip410; - }; - - pyx = import ./pyx { - inherit fetchurl stdenv python makeWrapper; - }; - - pyxml = import ./pyxml { - inherit fetchurl stdenv python makeWrapper; - }; - - wxPython = b.wxPython26; - - wxPython26 = import ./wxPython/2.6.nix { - inherit fetchurl stdenv python; - inherit (pkgs) pkgconfig; - wxGTK = pkgs.wxGTK26; - }; - - wxPython28 = import ./wxPython/2.8.nix { - inherit fetchurl stdenv python; - inherit (pkgs) pkgconfig; - inherit (pkgs) wxGTK; - }; - - argparse = b.buildPythonPackage (rec { - name = "argparse-0.9.1"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/a/argparse/${name}.zip"; - sha256 = "00jw32wwccpf9smraywjk869b93w7f99rw8gi63yfhw6379fnq6m"; - }; - - buildInputs = [ pkgs.unzip ]; - - # How do we run the tests? - doCheck = false; - - meta = { - homepage = http://code.google.com/p/argparse/; - - license = "Apache License 2.0"; - - description = "argparse: Python command line parser"; - - longDescription = '' - The argparse module makes writing command line tools in Python - easy. Just briefly describe your command line interface and - argparse will take care of the rest, including: parsing the - arguments and flags from sys.argv, converting arg strings into - objects for your program, formatting and printing any help - messages, and much more. - ''; - }; - }); - - boto = b.buildPythonPackage (rec { - name = "boto-1.9b"; - - src = fetchurl { - url = "http://boto.googlecode.com/files/${name}.tar.gz"; - sha256 = "0kir3ddm79rxdf7wb5czmxpbnqzgj3j966q4mach29kkb98p48wz"; - }; - - meta = { - homepage = http://code.google.com/p/boto/; - - license = "bsd"; - - description = "Python interface to Amazon Web Services"; - - longDescription = '' - The boto module is an integrated interface to current and - future infrastructural services offered by Amazon Web - Services. This includes S3, SQS, EC2, among others. - ''; - }; - }); - - darcsver = b.buildPythonPackage (rec { - name = "darcsver-1.3.1"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz"; - sha256 = "1a5cl2yhnd88a4vkc9r381cbjkcvga87dp9zx5av68857q1nvvvq"; - }; - - buildInputs = [ pkgs.darcs ]; - - meta = { - description = "Darcsver, generate a version number from Darcs history"; - - homepage = http://pypi.python.org/pypi/darcsver; - - license = "BSD-style"; - }; - }); - - dateutil = b.buildPythonPackage (rec { - name = "dateutil-1.4.1"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; - sha256 = "0mrkh932k8s74h4rpgksvpmwbrrkq8zn78gbgwc22i2vlp31bdkl"; - }; - - meta = { - description = "Powerful extensions to the standard datetime module"; - - homepage = http://pypi.python.org/pypi/python-dateutil; - - license = "BSD-style"; - }; - }); - - foolscap = b.buildPythonPackage (rec { - name = "foolscap-0.4.2"; - - src = fetchurl { - url = "http://foolscap.lothar.com/releases/${name}.tar.gz"; - sha256 = "14g89kjxxci3ssl9jgvpkyrcq62g361aw8pamlkclk8nnrh4f776"; - }; - - propagatedBuildInputs = [ b.twisted pkgs.pyopenssl ]; - - # For some reason "python setup.py test" doesn't work with Python 2.6. - doCheck = false; - - meta = { - homepage = http://foolscap.lothar.com/; - - description = "Foolscap, an RPC protocol for Python that follows the distributed object-capability model"; - - longDescription = '' - "Foolscap" is the name for the next-generation RPC protocol, - intended to replace Perspective Broker (part of Twisted). - Foolscap is a protocol to implement a distributed - object-capabilities model in Python. - ''; - - # See http://foolscap.lothar.com/trac/browser/LICENSE. - license = "MIT"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = python.meta.platforms; - }; - }); - - genshi = b.buildPythonPackage { - name = "genshi-0.5.1"; - - src = fetchurl { - url = http://ftp.edgewall.com/pub/genshi/Genshi-0.5.1.tar.bz2; - sha256 = "1g2xw3zvgz59ilv7mrdlnvfl6ph8lwflwd4jr6zwrca2zhj7d8rs"; - }; - - patches = - [ # Fix `make check' (http://bugs.gentoo.org/276299) - (fetchurl { - url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/dev-python/genshi/files/genshi-0.5.1_test_fix.patch?rev=1.1"; - sha256 = "019skkas07lc2kjy5br5jhhf9dqfy4fs389m5f4ws3fc62fklwhk"; - }) - ]; - - buildInputs = [ b.setuptools ]; - - meta = { - description = "Python components for parsing HTML, XML and other textual content"; - - longDescription = '' - Python library that provides an integrated set of - components for parsing, generating, and processing HTML, XML or other - textual content for output generation on the web. - ''; - - license = "BSD"; - }; - }; - - jinja2 = b.buildPythonPackage { - name = "jinja2-2.2.1"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.2.1.tar.gz"; - md5 = "fea849d68891218eb0b21c170f1c32d5"; - }; - - meta = { - homepage = http://jinja.pocoo.org/; - description = "Stand-alone template engine"; - license = "BSD"; - 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. - ''; - }; - }; - - lxml = b.buildPythonPackage ( rec { - name = "lxml-2.2.2"; - - src = fetchurl { - url = http://pypi.python.org/packages/source/l/lxml/lxml-2.2.2.tar.gz; - sha256 = "0zjpsy67wcs69qhb06ficl3a5z229hmczpr8h84rkk05vaagj8qv"; - }; - - buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; - - meta = { - description = "Pythonic binding for the libxml2 and libxslt libraries"; - homepage = http://codespeak.net/lxml/index.html; - license = "BSD"; - }; - }); - - matplotlib = b.buildPythonPackage ( rec { - name = "matplotlib-0.99.1.2"; - - src = fetchurl { - url = "http://downloads.sourceforge.net/matplotlib/${name}.tar.gz"; - sha256 = "12lhwgkahck795946hb8wp605c912zq9ds8067ybbifqs56q24b9"; - }; - - doCheck = false; - - buildInputs = [ b.dateutil b.numpy pkgs.freetype pkgs.libpng pkgs.pkgconfig pkgs.tcl pkgs.tk pkgs.xlibs.libX11 ]; - - meta = { - description = "python plotting library, making publication quality plots"; - homepage = "http://matplotlib.sourceforge.net/"; - }; - }); - - mechanize = b.buildPythonPackage (rec { - name = "mechanize-0.1.11"; - - src = fetchurl { - url = "http://wwwsearch.sourceforge.net/mechanize/src/${name}.tar.gz"; - sha256 = "1h62mwy4iz09jqz17nrb9j8y0djd500zdfqwrz9xmdwqzqwixkj2"; - }; - - propagatedBuildInputs = [ b.clientform ]; - - meta = { - description = "Stateful programmatic web browsing in Python"; - - homepage = http://wwwsearch.sourceforge.net/; - - license = "BSD-style"; - }; - }); - - namebench = b.buildPythonPackage (rec { - name = "namebench-1.0.5"; - - src = fetchurl { - url = "http://namebench.googlecode.com/files/${name}.tgz"; - sha256 = "6cbde35ce94d1f31e7d48f5d8eec13238b4dbc505675a33f1e183e600c1482c3"; - }; - - # No support of GUI yet. - - doCheck = false; - - meta = { - homepage = http://namebench.googlecode.com/; - description = "Find fastest DNS servers available"; - license = [ - "Apache-2.0" - # third-party program licenses (embedded in the sources) - "LGPL" # Crystal_Clear - "free" # dns - "Apache-2.0" # graphy - "BSD" # jinja2 - ]; - longDescription = '' - It hunts down the fastest DNS servers available for your computer to - use. namebench runs a fair and thorough benchmark using your web - browser history, tcpdump output, or standardized datasets in order - to provide an individualized recommendation. namebench is completely - free and does not modify your system in any way. - ''; - }; - }); - - nevow = b.buildPythonPackage (rec { - name = "nevow-0.9.33"; - - src = fetchurl { - url = "http://divmod.org/trac/attachment/wiki/SoftwareReleases/Nevow-0.9.33.tar.gz?format=raw"; - sha256 = "1b6zhfxx247b60n1qi2hrawhiaah88v8igg37pf7rjkmvy2z1c6c"; - name = "${name}.tar.gz"; - }; - - propagatedBuildInputs = [ b.twisted ]; - - postInstall = "twistd --help > /dev/null"; - - meta = { - description = "Nevow, a web application construction kit for Python"; - - longDescription = '' - Nevow - Pronounced as the French "nouveau", or "noo-voh", Nevow - is a web application construction kit written in Python. It is - designed to allow the programmer to express as much of the view - logic as desired in Python, and includes a pure Python XML - expression syntax named stan to facilitate this. However it - also provides rich support for designer-edited templates, using - a very small XML attribute language to provide bi-directional - template manipulation capability. - - Nevow also includes formless, a declarative syntax for - specifying the types of method parameters and exposing these - methods to the web. Forms can be rendered automatically, and - form posts will be validated and input coerced, rendering error - pages if appropriate. Once a form post has validated - successfully, the method will be called with the coerced values. - ''; - - homepage = http://divmod.org/trac/wiki/DivmodNevow; - - license = "BSD-style"; - }; - }); - - numpy = b.buildPythonPackage ( rec { - name = "numpy-1.3.0"; - - src = fetchurl { - url = "http://downloads.sourceforge.net/numpy/${name}.tar.gz"; - sha256 = "7524687cce85aa78103046db5e617c626b0ef871a203a049159f88f35647c90d"; - }; - - doCheck = false; - - buildInputs = [ pkgs.liblapack pkgs.blas /* pkgs.gfortran */ ]; - - # The build should be run as follows: - # - # python setup.py config_fc --fcompiler=gnu95 build - # python setup.py config_fc --fcompiler=gnu95 install - # - # But I con't figure out how to pass the extra flags to setuptools. - - meta = { - description = "Scientific tools for Python"; - homepage = "http://numpy.scipy.org/"; - }; - }); - - ply = b.buildPythonPackage (rec { - name = "ply-3.2"; - - src = fetchurl { - url = "http://www.dabeaz.com/ply/${name}.tar.gz"; - sha256 = "10z4xq8lc8c21v4g7z3zpnvpqbc0vidigrck1kqhwgkqi4gh0kfj"; - }; - - meta = { - homepage = http://www.dabeaz.com/ply/; - - description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python"; - - longDescription = '' - PLY is an implementation of lex and yacc parsing tools for Python. - In a nutshell, PLY is nothing more than a straightforward lex/yacc - implementation. Here is a list of its essential features: It's - implemented entirely in Python; It uses LR-parsing which is - reasonably efficient and well suited for larger grammars; PLY - provides most of the standard lex/yacc features including support for - empty productions, precedence rules, error recovery, and support for - ambiguous grammars; PLY is straightforward to use and provides very - extensive error checking; PLY doesn't try to do anything more or less - than provide the basic lex/yacc functionality. In other words, it's - not a large parsing framework or a component of some larger system. - ''; - - license = "revised-BSD"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = python.meta.platforms; - }; - }); - - psycopg2 = b.buildPythonPackage rec { - name = "psycopg2-2.0.13"; - - doCheck = false; - - src = fetchurl { - url = "http://initd.org/pub/software/psycopg/PSYCOPG-2-0/${name}.tar.gz"; - sha256 = "0arkaa1nbbd3pyn4l1bc75wi7nff3vxxh4s8sj5al5hv20p64pm1"; - }; - - propagatedBuildInputs = [ pkgs.postgresql ]; - - meta = { - description = "PostgreSQL database adapter for the Python programming language"; - license = "GPLv2/ZPL"; - }; - }; - - pycryptopp = b.buildPythonPackage (rec { - name = "pycryptopp-0.5.15"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz"; - sha256 = "0f8v3cs8vjpj423yx3ikj7qjvljrm86x0qpkckidv69kah8kndxa"; - }; - - # Use our own copy of Crypto++. - preConfigure = "export PYCRYPTOPP_DISABLE_EMBEDDED_CRYPTOPP=1"; - - buildInputs = [ b.setuptoolsDarcs b.darcsver pkgs.cryptopp ]; - - meta = { - homepage = http://allmydata.org/trac/pycryptopp; - - description = "Python wrappers for the Crypto++ library"; - - license = "GPLv2+"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.linux; - }; - }); - - pysqlite = b.buildPythonPackage (rec { - name = "pysqlite-2.5.5"; - - src = fetchurl { - url = "http://pysqlite.googlecode.com/files/${name}.tar.gz"; - sha256 = "ef7ca7f44893790e1a7084b10ea083770e138689406fddc7076d12d6bff4d44f"; - }; - - # 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 ]; - - patchPhase = '' - substituteInPlace "setup.cfg" \ - --replace "/usr/local/include" "${pkgs.sqlite}/include" \ - --replace "/usr/local/lib" "${pkgs.sqlite}/lib" - ''; - - # FIXME: How do we run the tests? - doCheck = false; - - meta = { - homepage = http://pysqlite.org/; - - description = "Python bindings for the SQLite embedded relational database engine"; - - longDescription = '' - pysqlite is a DB-API 2.0-compliant database interface for SQLite. - - SQLite is a relational database management system contained in - a relatively small C library. It is a public domain project - created by D. Richard Hipp. Unlike the usual client-server - paradigm, the SQLite engine is not a standalone process with - which the program communicates, but is linked in and thus - becomes an integral part of the program. The library - implements most of SQL-92 standard, including transactions, - triggers and most of complex queries. - - pysqlite makes this powerful embedded SQL engine available to - Python programmers. It stays compatible with the Python - database API specification 2.0 as much as possible, but also - exposes most of SQLite's native API, so that it is for example - possible to create user-defined SQL functions and aggregates - in Python. - ''; - - license = "revised BSD"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = python.meta.platforms; - }; - }); - - pyutil = b.buildPythonPackage (rec { - name = "pyutil-1.3.30"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/p/pyutil/${name}.tar.gz"; - sha256 = "1ksb4gn8x53wcyddmjv1ma8cvvhjlmfxc6kpszyhb838i7xzla19"; - }; - - buildInputs = [ b.setuptoolsDarcs ]; - propagatedBuildInputs = [ b.zbase32 b.argparse ]; - - meta = { - description = "Pyutil, a collection of mature utilities for Python programmers"; - - longDescription = '' - These are a few data structures, classes and functions which - we've needed over many years of Python programming and which - seem to be of general use to other Python programmers. Many of - the modules that have existed in pyutil over the years have - subsequently been obsoleted by new features added to the - Python language or its standard library, thus showing that - we're not alone in wanting tools like these. - ''; - - homepage = http://allmydata.org/trac/pyutil; - - license = "GPLv2+"; - }; - }); - - pyyaml = b.buildPythonPackage (rec { - name = "PyYAML-3.09"; - - src = fetchurl { - url = "http://pyyaml.org/download/pyyaml/PyYAML-3.09.zip"; - sha256 = "204aca8b42dbe90e460794d743dd16182011da85507bfd4f092f9f76e0688040"; - }; - - buildInputs = [ pkgs.unzip pkgs.pyrex ]; - propagatedBuildInputs = [ pkgs.libyaml ]; - - meta = { - description = "The next generation YAML parser and emitter for Python"; - homepage = http://pyyaml.org; - license = "free"; # !? - }; - }); - - setuptoolsDarcs = b.buildPythonPackage { - name = "setuptools-darcs-1.2.8"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/s/setuptools_darcs/setuptools_darcs-1.2.8.tar.gz"; - sha256 = "0jg9q9mhsky444mm7lpmmlxai8hmjg4pc71viv4kni8gls0gk9n8"; - }; - - propagatedBuildInputs = [ pkgs.darcs ]; - - meta = { - description = "setuptools plugin for the Darcs version control system"; - - homepage = http://allmydata.org/trac/setuptools_darcs; - - license = "BSD"; - }; - }; - - setuptoolsTrial = b.buildPythonPackage { - name = "setuptools-trial-0.5.3"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/s/setuptools_trial/setuptools_trial-0.5.3.tar.gz"; - sha256 = "0h3mgjsz3z1sjl9j0b6bv4bss8d0przamj4gnjmpyazc633hhlyi"; - }; - - propagatedBuildInputs = [ b.twisted ]; - - meta = { - description = "setuptools plug-in that helps run unit tests built with the \"Trial\" framework (from Twisted)"; - - homepage = http://allmydata.org/trac/setuptools_trial; - - license = "unspecified"; # ! - }; - }; - - simplejson = b.buildPythonPackage (rec { - name = "simplejson-2.0.9"; - - src = fetchsvn { - url = "http://simplejson.googlecode.com/svn/tags/${name}"; - sha256 = "a48d5256fdb4f258c33da3dda110ecf3c786f086dcb08a01309acde6d1ddb921"; - rev = "172"; # to be on the safe side - }; - - meta = { - description = "simplejson is a simple, fast, extensible JSON encoder/decoder for Python"; - - longDescription = '' - simplejson is compatible with Python 2.4 and later with no - external dependencies. It covers the full JSON specification - for both encoding and decoding, with unicode support. By - default, encoding is done in an encoding neutral fashion (plain - ASCII with \uXXXX escapes for unicode characters). - ''; - - homepage = http://code.google.com/p/simplejson/; - - license = "MIT"; - }; - }); - - trac = b.buildPythonPackage { - name = "trac-0.11.5"; - - src = fetchurl { - url = http://ftp.edgewall.com/pub/trac/Trac-0.11.5.tar.gz; - sha256 = "cc3362ecc533abc1755dd78e2d096d1413bc975abc3185318f4821458cd6a8ac"; - }; - - doCheck = false; - - PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; - - propagatedBuildInputs = [ b.genshi b.setuptools ]; - - meta = { - description = "Enhanced wiki and issue tracking system for software development projects"; - - license = "BSD"; - }; - }; - - twisted = b.buildPythonPackage { - name = "twisted-8.2.0"; - - src = fetchurl { - url = http://tmrc.mit.edu/mirror/twisted/Twisted/8.2/Twisted-8.2.0.tar.bz2; - sha256 = "1c6zplisjdnjzkfs0ld3a0f7m7xbjgx5rcwsdw5i1xiibsq2nq70"; - }; - - propagatedBuildInputs = [ b.zopeInterface ]; - - # Generate Twisted's plug-in cache. Twited users must do it as well. See - # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3 - # and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for - # details. - postInstall = "$out/bin/twistd --help > /dev/null"; - - meta = { - homepage = http://twistedmatrix.com/; - - description = "Twisted, an event-driven networking engine written in Python"; - - longDescription = '' - Twisted is an event-driven networking engine written in Python - and licensed under the MIT license. - ''; - - license = "MIT"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = python.meta.platforms; - }; - }; - - zbase32 = b.buildPythonPackage (rec { - name = "zbase32-1.1.1"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zbase32/${name}.tar.gz"; - sha256 = "0n59l4rs26vrhxpsfrwybjjir68aj23f09k1yjnbxqy5n0khp8gm"; - }; - - # Tests require `pyutil' so disable them to avoid circular references. - doCheck = false; - - buildInputs = [ b.setuptoolsDarcs ]; - - meta = { - description = "zbase32, a base32 encoder/decoder"; - - homepage = http://pypi.python.org/pypi/zbase32; - - license = "BSD"; - }; - }); - - zfec = b.buildPythonPackage (rec { - name = "zfec-1.4.4"; - - src = fetchurl { - url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz"; - sha256 = "0rgg7nsvbr4f9xmiclzypc39fnivg23kldv5aa8si0bgsxn6mh6w"; - }; - - buildInputs = [ b.setuptoolsDarcs ]; - propagatedBuildInputs = [ b.pyutil b.argparse ]; - - meta = { - homepage = http://allmydata.org/trac/zfec; - - description = "Zfec, a fast erasure codec which can be used with the command-line, C, Python, or Haskell"; - - longDescription = '' - Fast, portable, programmable erasure coding a.k.a. "forward - error correction": the generation of redundant blocks of - information such that if some blocks are lost then the - original data can be recovered from the remaining blocks. The - zfec package includes command-line tools, C API, Python API, - and Haskell API. - ''; - - license = "GPLv2+"; - }; - }); - - xmpppy = builderDefsPackage (import ./xmpppy) { - inherit python; - inherit (b) setuptools; - }; - - zopeInterface = b.buildPythonPackage { - name = "zope-interface-3.3.0"; - src = fetchurl { - url = http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz; - sha256 = "0xahg9cmagn4j3dbifvgzbjliw2jdrbf27fhqwkdp8j80xpyyjf0"; - }; - - meta = { - description = "Zope.Interface"; - homepage = http://zope.org/Products/ZopeInterface; - license = "ZPL"; - }; - }; - - }; - -}.result diff --git a/pkgs/development/python2-packages/pyopengl/default.nix b/pkgs/development/python2-packages/pyopengl/default.nix deleted file mode 100644 index 60746c34a822..000000000000 --- a/pkgs/development/python2-packages/pyopengl/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ fetchurl, stdenv, python, mesa, freeglut, pil, buildPythonPackage }: - -let version = "3.0.0b5"; -in - buildPythonPackage { - name = "pyopengl-${version}"; - - src = fetchurl { - url = "mirror://sourceforge/pyopengl/PyOpenGL-${version}.tar.gz"; - sha256 = "1rjpl2qdcqn4wamkik840mywdycd39q8dn3wqfaiv35jdsbifxx3"; - }; - - propagatedBuildInputs = [ mesa freeglut pil ]; - - 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"; - }; - } diff --git a/pkgs/development/python2-packages/pyqt/4.5.nix b/pkgs/development/python2-packages/pyqt/4.5.nix deleted file mode 100644 index 4357a4c0ed0d..000000000000 --- a/pkgs/development/python2-packages/pyqt/4.5.nix +++ /dev/null @@ -1,22 +0,0 @@ -{stdenv, fetchurl, python, sip, qt4}: - -stdenv.mkDerivation { - name = "pyqt-x11-gpl-4.5.4"; - - src = fetchurl { - url = http://pyqwt.sourceforge.net/support/PyQt-x11-gpl-4.5.4.tar.gz; # Not downloading from riverbank, since they remove older releases - sha256 = "1a55zng6yhnbk5swc02bkbyccdgf0f0v94yxk9v5a43hv9xnrl5k"; - }; - - configurePhase = "python ./configure.py --confirm-license -b $out/bin -d $out/lib/${python.libPrefix}/site-packages -v $out/share/sip -p $out/plugins"; - - buildInputs = [ python sip qt4 ]; - - meta = { - description = "Python bindings for Qt"; - license = "GPL"; - homepage = http://www.riverbankcomputing.co.uk; - maintainers = [ stdenv.lib.maintainers.sander ]; - platforms = stdenv.lib.platforms.mesaPlatforms; - }; -} diff --git a/pkgs/development/python2-packages/python-sip/default.nix b/pkgs/development/python2-packages/python-sip/default.nix deleted file mode 100644 index 3fb827e4600e..000000000000 --- a/pkgs/development/python2-packages/python-sip/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchurl, python }: - -stdenv.mkDerivation { - name = "sip-4.8.2"; - - src = fetchurl { - url = http://pyqwt.sourceforge.net/support/sip-4.8.2.tar.gz; # Not downloading from riverbank, since they remove older releases - sha256 = "1afr2qaibzgf8fq4fmc31jz9hvbwxbg5jvl68ygvkkdvnbg2kfrf"; - }; - - configurePhase = "python ./configure.py -d $out/lib/${python.libPrefix}/site-packages -b $out/bin -e $out/include"; - - buildInputs = [ python ]; - - meta = { - description = "Creates C++ bindings for Python modules"; - license = "GPL"; - maintainers = [ stdenv.lib.maintainers.sander ]; - }; -} diff --git a/pkgs/tools/filesystems/svnfs/default.nix b/pkgs/tools/filesystems/svnfs/default.nix index 4d04bf6ff3c9..c4cd2670e89f 100644 --- a/pkgs/tools/filesystems/svnfs/default.nix +++ b/pkgs/tools/filesystems/svnfs/default.nix @@ -1,5 +1,4 @@ -{ stdenv, fetchurl, automake, autoconf, subversion, fuse, apr, perl }: - +args: with args; stdenv.mkDerivation { name = "svnfs"; @@ -23,7 +22,7 @@ stdenv.mkDerivation { description = "SvnFs is a filesystem written using FUSE for accessing Subversion repositories"; homepage = http://www.jmadden.eu/index.php/svnfs/; license = "GPLv2"; - maintainers = [stdenv.lib.maintainers.marcweber]; - platforms = stdenv.lib.platforms.linux; + maintainers = [args.lib.maintainers.marcweber]; + platforms = args.lib.platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cdaf9aaa8c5c..2be34a33b77e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1234,10 +1234,10 @@ let # I did not find any better way of reusing buildPythonPackage+setuptools # for a python with openssl support buildPythonPackage = assert pythonFull.opensslSupport; - import ../development/python2-packages/generic { + import ../development/python-modules/generic { inherit makeWrapper lib; python = pythonFull; - setuptools = builderDefsPackage (import ../development/python2-packages/setuptools) { + setuptools = builderDefsPackage (import ../development/python-modules/setuptools) { inherit makeWrapper; python = pythonFull; }; @@ -1423,6 +1423,24 @@ let inherit fetchurl stdenv python emacs; }; + pystringtemplate = import ../development/python-modules/stringtemplate { + inherit stdenv fetchurl python antlr; + }; + + pythonDBus = builderDefsPackage (import ../development/python-modules/dbus) { + inherit python pkgconfig dbus_glib; + dbus = dbus.libs; + }; + + pythonIRClib = builderDefsPackage (import ../development/python-modules/irclib) { + inherit python; + }; + + pythonSexy = builderDefsPackage (import ../development/python-modules/libsexy) { + inherit python libsexy pkgconfig libxml2 pygtk; + inherit (gtkLibs) pango gtk glib; + }; + openmpi = import ../development/libraries/openmpi { inherit fetchurl stdenv; }; @@ -1844,6 +1862,10 @@ let inherit fetchurl perl perlPackages; }; + xmpppy = builderDefsPackage (import ../development/python-modules/xmpppy) { + inherit python setuptools; + }; + xpf = import ../tools/text/xml/xpf { inherit fetchurl stdenv python; libxml2 = libxml2Python; @@ -2642,6 +2664,16 @@ let inherit stdenv fetchurl; }; + python = if getConfig ["python" "full"] false then pythonFull else pythonBase; + python25 = if getConfig ["python" "full"] false then python25Full else python25Base; + python26 = if getConfig ["python" "full"] false then python26Full else python26Base; + pythonBase = python26Base; + pythonFull = python26Full; + + python24 = import ../development/interpreters/python/2.4 { + inherit fetchurl stdenv zlib bzip2; + }; + python25Base = composedArgsAndFun (import ../development/interpreters/python/2.5) { inherit fetchurl stdenv zlib bzip2 gdbm; }; @@ -2676,19 +2708,6 @@ let xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null; }; - - python31Base = composedArgsAndFun (import ../development/interpreters/python/3.1) { - inherit fetchurl stdenv zlib bzip2 gdbm; - arch = if stdenv.isDarwin then darwinArchUtility else null; - sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null; - }; - - python = if getConfig ["python" "full"] false then pythonFull else pythonBase; - python25 = if getConfig ["python" "full"] false then python25Full else python25Base; - python26 = if getConfig ["python" "full"] false then python26Full else python26Base; - pythonBase = python26Base; - pythonFull = python26Full; - # new python and lib proposal # - adding a python lib to buildinputs should be enough # (handles .pth files by patching site.py @@ -2699,6 +2718,12 @@ let python25New = recurseIntoAttrs ((import ../development/interpreters/python-new/2.5) pkgs); pythonNew = python25New; # the default python + python31Base = composedArgsAndFun (import ../development/interpreters/python/3.1) { + inherit fetchurl stdenv zlib bzip2 gdbm; + arch = if stdenv.isDarwin then darwinArchUtility else null; + sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null; + }; + pyrex = pyrex095; pyrex095 = import ../development/interpreters/pyrex/0.9.5.nix { @@ -5278,50 +5303,142 @@ let ### DEVELOPMENT / PYTHON MODULES - python25Packages = recurseIntoAttrs( import ../development/python2-packages { - inherit pkgs makeWrapper; - python = python25; - }); + buildPythonPackage = + import ../development/python-modules/generic { + inherit python setuptools makeWrapper lib; + }; - python26Packages = recurseIntoAttrs( import ../development/python2-packages { - inherit pkgs makeWrapper; - python = python26; - }); + buildPython26Package = + import ../development/python-modules/generic { + inherit makeWrapper lib; + python = python26; + setuptools = setuptools_python26; + }; pythonPackages = python26Packages; - buildPythonPackage = pythonPackages.buildPythonPackage; - # global python library aliases: - pycrypto = pythonPackages.pycrypto; - twisted = pythonPackages.twisted; - pygtk = pythonPackages.pygtk; - pygobject = pythonPackages.pygobject; - pycairo = pythonPackages.pycairo; - pyGtkGlade = pythonPackages.pyGtkGlade; - pythonDBus = pythonPackages.pythonDBus; - setuptools = pythonPackages.setuptools; - pil = pythonPackages.pil; - pythonIRClib = pythonPackages.pythonIRClib; - pyxml = pythonPackages.pyxml; - pyopengl = pythonPackages.pyopengl; - pygame = pythonPackages.pygame; - flup = pythonPackages.flup; - numeric = pythonPackages.numeric; - pyqt4 = pythonPackages.pyqt4; - sip410 = pythonPackages.sip410; - pyopenssl = pythonPackages.pyopenssl; - pythonSexy = pythonPackages.pythonSexy; + python25Packages = recurseIntoAttrs (import ./python-packages.nix { + inherit pkgs python buildPythonPackage; + }); + + python26Packages = recurseIntoAttrs (import ./python-packages.nix { + inherit pkgs; + python = python26; + buildPythonPackage = buildPython26Package; + }); + + foursuite = import ../development/python-modules/4suite { + inherit fetchurl stdenv python; + }; + + bsddb3 = import ../development/python-modules/bsddb3 { + inherit fetchurl stdenv python db4; + }; + + flup = builderDefsPackage ../development/python-modules/flup { + inherit fetchurl stdenv; + python = python25; + setuptools = setuptools.passthru.function {python = python25;}; + }; + + numeric = import ../development/python-modules/numeric { + inherit fetchurl stdenv python; + }; + + pil = import ../development/python-modules/pil { + inherit fetchurl stdenv python zlib libjpeg freetype; + }; + + psyco = import ../development/python-modules/psyco { + inherit fetchurl stdenv python; + }; + + pycairo = import ../development/python-modules/pycairo { + inherit fetchurl stdenv python pkgconfig cairo x11; + }; + + pycrypto = import ../development/python-modules/pycrypto { + inherit fetchurl stdenv python gmp; + }; + + pycups = import ../development/python-modules/pycups { + inherit stdenv fetchurl python cups; + }; + + pygame = import ../development/python-modules/pygame { + inherit fetchurl stdenv python pkgconfig SDL SDL_image + SDL_mixer SDL_ttf numeric; + }; + + pygobject = import ../development/python-modules/pygobject { + inherit fetchurl stdenv python pkgconfig glib; + }; + + pygtk = import ../development/python-modules/pygtk { + inherit fetchurl stdenv python pkgconfig pygobject pycairo; + inherit (gtkLibs) glib gtk; + }; + + pyGtkGlade = import ../development/python-modules/pygtk { + inherit fetchurl stdenv python pkgconfig pygobject pycairo; + inherit (gtkLibs) glib gtk; + inherit (gnome) libglade; + }; + + pyopenssl = builderDefsPackage (import ../development/python-modules/pyopenssl) { + inherit python openssl; + }; + + rhpl = import ../development/python-modules/rhpl { + inherit stdenv fetchurl rpm cpio python wirelesstools gettext; + }; + + sip = import ../development/python-modules/python-sip { + inherit stdenv fetchurl python; + }; + + pyqt4 = import ../development/python-modules/pyqt { + inherit stdenv fetchurl python qt4 sip; + }; + + pyx = import ../development/python-modules/pyx { + inherit fetchurl stdenv python makeWrapper; + }; + + pyxml = import ../development/python-modules/pyxml { + inherit fetchurl stdenv python makeWrapper; + }; + + setuptools = builderDefsPackage (import ../development/python-modules/setuptools) { + inherit python makeWrapper; + }; + + setuptools_python26 = builderDefsPackage (import ../development/python-modules/setuptools) { + inherit makeWrapper; + python = python26; + }; + wxPython = wxPython26; - sip = pythonPackages.sip; - xmpppy = pythonPackages.xmpppy; - pycups = pythonPackages.pycups; - rhpl = pythonPackages.rhpl; - nevow = pythonPackages.nevow; - # 2.6 aliases - wxPython26 = python26Packages.wxPython; - pil_python26 = python26Packages.pil; - + wxPython26 = import ../development/python-modules/wxPython/2.6.nix { + inherit fetchurl stdenv pkgconfig python; + wxGTK = wxGTK26; + }; + + wxPython28 = import ../development/python-modules/wxPython/2.8.nix { + inherit fetchurl stdenv pkgconfig python; + inherit wxGTK; + }; + + twisted = pythonPackages.twisted; + + ZopeInterface = pythonPackages.zopeInterface; + + zope = import ../development/python-modules/zope { + inherit fetchurl stdenv; + python = python24; + }; + ### SERVERS diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix new file mode 100644 index 000000000000..16a6544f3ff3 --- /dev/null +++ b/pkgs/top-level/python-packages.nix @@ -0,0 +1,785 @@ +{ pkgs, python, buildPythonPackage }: + +rec { + inherit (pkgs) fetchurl fetchsvn stdenv; + + argparse = buildPythonPackage (rec { + name = "argparse-0.9.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/a/argparse/${name}.zip"; + sha256 = "00jw32wwccpf9smraywjk869b93w7f99rw8gi63yfhw6379fnq6m"; + }; + + buildInputs = [ pkgs.unzip ]; + + # How do we run the tests? + doCheck = false; + + meta = { + homepage = http://code.google.com/p/argparse/; + + license = "Apache License 2.0"; + + description = "argparse: Python command line parser"; + + longDescription = '' + The argparse module makes writing command line tools in Python + easy. Just briefly describe your command line interface and + argparse will take care of the rest, including: parsing the + arguments and flags from sys.argv, converting arg strings into + objects for your program, formatting and printing any help + messages, and much more. + ''; + }; + }); + + beautifulsoap = buildPythonPackage (rec { + name = "beautifulsoap-3.0.8"; + + src = fetchurl { + url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.8.tar.gz"; + sha256 = "1gasiy5lwbhsxw27g36d88n36xbj52434klisvqhljgckd4xqcy7"; + }; + + # No tests implemented + doCheck = false; + + meta = { + homepage = http://www.crummy.com/software/BeautifulSoup/; + + license = "bsd"; + + description = "Undemanding HTML/XML parser"; + }; + }); + + boto = buildPythonPackage (rec { + name = "boto-1.9b"; + + src = fetchurl { + url = "http://boto.googlecode.com/files/${name}.tar.gz"; + sha256 = "0kir3ddm79rxdf7wb5czmxpbnqzgj3j966q4mach29kkb98p48wz"; + }; + + meta = { + homepage = http://code.google.com/p/boto/; + + license = "bsd"; + + description = "Python interface to Amazon Web Services"; + + longDescription = '' + The boto module is an integrated interface to current and + future infrastructural services offered by Amazon Web + Services. This includes S3, SQS, EC2, among others. + ''; + }; + }); + + clientform = buildPythonPackage (rec { + name = "clientform-0.2.10"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/C/ClientForm/ClientForm-0.2.10.tar.gz"; + sha256 = "0dydh3i1sx7rrj6d0gj375wkjpiivm7jjlsimw6hmwv4ck7yf1wm"; + }; + + meta = { + homepage = http://wwwsearch.sourceforge.net/ClientForm/; + + license = "bsd"; + + description = "Python module for handling HTML forms on the client side"; + }; + }); + + cssutils = buildPythonPackage (rec { + name = "cssutils-0.9.7a2"; + + src = fetchurl { + url = http://cssutils.googlecode.com/files/cssutils-0.9.7a2.zip; + sha256 = "068p14qhhczpjgn0w7v57a2swj0g4rndhimh8gkg9h9sd7rp6n07"; + }; + + buildInputs = [ pkgs.unzip ]; + + # The tests fail - I don't know why + doCheck = false; + + meta = { + description = "A Python package to parse and build CSS"; + + homepage = http://code.google.com/p/cssutils/; + + license = "LGPLv3+"; + }; + }); + + darcsver = buildPythonPackage (rec { + name = "darcsver-1.3.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/d/darcsver/${name}.tar.gz"; + sha256 = "1a5cl2yhnd88a4vkc9r381cbjkcvga87dp9zx5av68857q1nvvvq"; + }; + + # 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 + # http://thread.gmane.org/gmane.comp.file-systems.tahoe.devel/3200 for a + # discussion. + + meta = { + description = "Darcsver, generate a version number from Darcs history"; + + homepage = http://pypi.python.org/pypi/darcsver; + + license = "BSD-style"; + }; + }); + + dateutil = buildPythonPackage (rec { + name = "dateutil-1.4.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz"; + sha256 = "0mrkh932k8s74h4rpgksvpmwbrrkq8zn78gbgwc22i2vlp31bdkl"; + }; + + meta = { + description = "Powerful extensions to the standard datetime module"; + + homepage = http://pypi.python.org/pypi/python-dateutil; + + license = "BSD-style"; + }; + }); + + foolscap = buildPythonPackage (rec { + name = "foolscap-0.4.2"; + + src = fetchurl { + url = "http://foolscap.lothar.com/releases/${name}.tar.gz"; + sha256 = "14g89kjxxci3ssl9jgvpkyrcq62g361aw8pamlkclk8nnrh4f776"; + }; + + propagatedBuildInputs = [ twisted pkgs.pyopenssl ]; + + # For some reason "python setup.py test" doesn't work with Python 2.6. + doCheck = false; + + meta = { + homepage = http://foolscap.lothar.com/; + + description = "Foolscap, an RPC protocol for Python that follows the distributed object-capability model"; + + longDescription = '' + "Foolscap" is the name for the next-generation RPC protocol, + intended to replace Perspective Broker (part of Twisted). + Foolscap is a protocol to implement a distributed + object-capabilities model in Python. + ''; + + # See http://foolscap.lothar.com/trac/browser/LICENSE. + license = "MIT"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = python.meta.platforms; + }; + }); + + genshi = buildPythonPackage { + name = "genshi-0.5.1"; + + src = fetchurl { + url = http://ftp.edgewall.com/pub/genshi/Genshi-0.5.1.tar.bz2; + sha256 = "1g2xw3zvgz59ilv7mrdlnvfl6ph8lwflwd4jr6zwrca2zhj7d8rs"; + }; + + patches = + [ # Fix `make check' (http://bugs.gentoo.org/276299) + (fetchurl { + url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/dev-python/genshi/files/genshi-0.5.1_test_fix.patch?rev=1.1"; + sha256 = "019skkas07lc2kjy5br5jhhf9dqfy4fs389m5f4ws3fc62fklwhk"; + }) + ]; + + buildInputs = [ pkgs.setuptools ]; + + meta = { + description = "Python components for parsing HTML, XML and other textual content"; + + longDescription = '' + Python library that provides an integrated set of + components for parsing, generating, and processing HTML, XML or other + textual content for output generation on the web. + ''; + + license = "BSD"; + }; + }; + + jinja2 = buildPythonPackage { + name = "jinja2-2.2.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.2.1.tar.gz"; + md5 = "fea849d68891218eb0b21c170f1c32d5"; + }; + + meta = { + homepage = http://jinja.pocoo.org/; + description = "Stand-alone template engine"; + license = "BSD"; + 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. + ''; + }; + }; + + lxml = buildPythonPackage ( rec { + name = "lxml-2.2.2"; + + src = fetchurl { + url = http://pypi.python.org/packages/source/l/lxml/lxml-2.2.2.tar.gz; + sha256 = "0zjpsy67wcs69qhb06ficl3a5z229hmczpr8h84rkk05vaagj8qv"; + }; + + buildInputs = [ pkgs.libxml2 pkgs.libxslt ]; + + meta = { + description = "Pythonic binding for the libxml2 and libxslt libraries"; + homepage = http://codespeak.net/lxml/index.html; + license = "BSD"; + }; + }); + + matplotlib = buildPythonPackage ( rec { + name = "matplotlib-0.99.1.2"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/matplotlib/${name}.tar.gz"; + sha256 = "12lhwgkahck795946hb8wp605c912zq9ds8067ybbifqs56q24b9"; + }; + + doCheck = false; + + buildInputs = [ dateutil numpy pkgs.freetype pkgs.libpng pkgs.pkgconfig pkgs.tcl pkgs.tk pkgs.xlibs.libX11 ]; + + meta = { + description = "python plotting library, making publication quality plots"; + homepage = "http://matplotlib.sourceforge.net/"; + }; + }); + + mechanize = buildPythonPackage (rec { + name = "mechanize-0.1.11"; + + src = fetchurl { + url = "http://wwwsearch.sourceforge.net/mechanize/src/${name}.tar.gz"; + sha256 = "1h62mwy4iz09jqz17nrb9j8y0djd500zdfqwrz9xmdwqzqwixkj2"; + }; + + propagatedBuildInputs = [ clientform ]; + + meta = { + description = "Stateful programmatic web browsing in Python"; + + homepage = http://wwwsearch.sourceforge.net/; + + license = "BSD-style"; + }; + }); + + namebench = buildPythonPackage (rec { + name = "namebench-1.0.5"; + + src = fetchurl { + url = "http://namebench.googlecode.com/files/${name}.tgz"; + sha256 = "6cbde35ce94d1f31e7d48f5d8eec13238b4dbc505675a33f1e183e600c1482c3"; + }; + + # No support of GUI yet. + + doCheck = false; + + meta = { + homepage = http://namebench.googlecode.com/; + description = "Find fastest DNS servers available"; + license = [ + "Apache-2.0" + # third-party program licenses (embedded in the sources) + "LGPL" # Crystal_Clear + "free" # dns + "Apache-2.0" # graphy + "BSD" # jinja2 + ]; + longDescription = '' + It hunts down the fastest DNS servers available for your computer to + use. namebench runs a fair and thorough benchmark using your web + browser history, tcpdump output, or standardized datasets in order + to provide an individualized recommendation. namebench is completely + free and does not modify your system in any way. + ''; + }; + }); + + nevow = buildPythonPackage (rec { + name = "nevow-0.9.33"; + + src = fetchurl { + url = "http://divmod.org/trac/attachment/wiki/SoftwareReleases/Nevow-0.9.33.tar.gz?format=raw"; + sha256 = "1b6zhfxx247b60n1qi2hrawhiaah88v8igg37pf7rjkmvy2z1c6c"; + name = "${name}.tar.gz"; + }; + + propagatedBuildInputs = [ twisted ]; + + postInstall = "twistd --help > /dev/null"; + + meta = { + description = "Nevow, a web application construction kit for Python"; + + longDescription = '' + Nevow - Pronounced as the French "nouveau", or "noo-voh", Nevow + is a web application construction kit written in Python. It is + designed to allow the programmer to express as much of the view + logic as desired in Python, and includes a pure Python XML + expression syntax named stan to facilitate this. However it + also provides rich support for designer-edited templates, using + a very small XML attribute language to provide bi-directional + template manipulation capability. + + Nevow also includes formless, a declarative syntax for + specifying the types of method parameters and exposing these + methods to the web. Forms can be rendered automatically, and + form posts will be validated and input coerced, rendering error + pages if appropriate. Once a form post has validated + successfully, the method will be called with the coerced values. + ''; + + homepage = http://divmod.org/trac/wiki/DivmodNevow; + + license = "BSD-style"; + }; + }); + + numpy = buildPythonPackage ( rec { + name = "numpy-1.3.0"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/numpy/${name}.tar.gz"; + sha256 = "7524687cce85aa78103046db5e617c626b0ef871a203a049159f88f35647c90d"; + }; + + doCheck = false; + + buildInputs = [ pkgs.liblapack pkgs.blas /* pkgs.gfortran */ ]; + + # The build should be run as follows: + # + # python setup.py config_fc --fcompiler=gnu95 build + # python setup.py config_fc --fcompiler=gnu95 install + # + # But I con't figure out how to pass the extra flags to setuptools. + + meta = { + description = "Scientific tools for Python"; + homepage = "http://numpy.scipy.org/"; + }; + }); + + ply = buildPythonPackage (rec { + name = "ply-3.2"; + + src = fetchurl { + url = "http://www.dabeaz.com/ply/${name}.tar.gz"; + sha256 = "10z4xq8lc8c21v4g7z3zpnvpqbc0vidigrck1kqhwgkqi4gh0kfj"; + }; + + meta = { + homepage = http://www.dabeaz.com/ply/; + + description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python"; + + longDescription = '' + PLY is an implementation of lex and yacc parsing tools for Python. + In a nutshell, PLY is nothing more than a straightforward lex/yacc + implementation. Here is a list of its essential features: It's + implemented entirely in Python; It uses LR-parsing which is + reasonably efficient and well suited for larger grammars; PLY + provides most of the standard lex/yacc features including support for + empty productions, precedence rules, error recovery, and support for + ambiguous grammars; PLY is straightforward to use and provides very + extensive error checking; PLY doesn't try to do anything more or less + than provide the basic lex/yacc functionality. In other words, it's + not a large parsing framework or a component of some larger system. + ''; + + license = "revised-BSD"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = python.meta.platforms; + }; + }); + + psycopg2 = buildPythonPackage rec { + name = "psycopg2-2.0.13"; + + doCheck = false; + + src = fetchurl { + url = "http://initd.org/pub/software/psycopg/PSYCOPG-2-0/${name}.tar.gz"; + sha256 = "0arkaa1nbbd3pyn4l1bc75wi7nff3vxxh4s8sj5al5hv20p64pm1"; + }; + + propagatedBuildInputs = [ pkgs.postgresql ]; + + meta = { + description = "PostgreSQL database adapter for the Python programming language"; + license = "GPLv2/ZPL"; + }; + }; + + pycryptopp = buildPythonPackage (rec { + name = "pycryptopp-0.5.15"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz"; + sha256 = "0f8v3cs8vjpj423yx3ikj7qjvljrm86x0qpkckidv69kah8kndxa"; + }; + + # Use our own copy of Crypto++. + preConfigure = "export PYCRYPTOPP_DISABLE_EMBEDDED_CRYPTOPP=1"; + + buildInputs = [ setuptoolsDarcs darcsver pkgs.cryptopp ]; + + meta = { + homepage = http://allmydata.org/trac/pycryptopp; + + description = "Python wrappers for the Crypto++ library"; + + license = "GPLv2+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.linux; + }; + }); + + pyopengl = + let version = "3.0.0b5"; + in + buildPythonPackage { + name = "pyopengl-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/pyopengl/PyOpenGL-${version}.tar.gz"; + sha256 = "1rjpl2qdcqn4wamkik840mywdycd39q8dn3wqfaiv35jdsbifxx3"; + }; + + propagatedBuildInputs = with pkgs; [ mesa freeglut pil ]; + + 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"; + }; + }; + + pysqlite = buildPythonPackage (rec { + name = "pysqlite-2.5.5"; + + src = fetchurl { + url = "http://pysqlite.googlecode.com/files/${name}.tar.gz"; + sha256 = "ef7ca7f44893790e1a7084b10ea083770e138689406fddc7076d12d6bff4d44f"; + }; + + # 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 ]; + + patchPhase = '' + substituteInPlace "setup.cfg" \ + --replace "/usr/local/include" "${pkgs.sqlite}/include" \ + --replace "/usr/local/lib" "${pkgs.sqlite}/lib" + ''; + + # FIXME: How do we run the tests? + doCheck = false; + + meta = { + homepage = http://pysqlite.org/; + + description = "Python bindings for the SQLite embedded relational database engine"; + + longDescription = '' + pysqlite is a DB-API 2.0-compliant database interface for SQLite. + + SQLite is a relational database management system contained in + a relatively small C library. It is a public domain project + created by D. Richard Hipp. Unlike the usual client-server + paradigm, the SQLite engine is not a standalone process with + which the program communicates, but is linked in and thus + becomes an integral part of the program. The library + implements most of SQL-92 standard, including transactions, + triggers and most of complex queries. + + pysqlite makes this powerful embedded SQL engine available to + Python programmers. It stays compatible with the Python + database API specification 2.0 as much as possible, but also + exposes most of SQLite's native API, so that it is for example + possible to create user-defined SQL functions and aggregates + in Python. + ''; + + license = "revised BSD"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = python.meta.platforms; + }; + }); + + pyutil = buildPythonPackage (rec { + name = "pyutil-1.3.30"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/p/pyutil/${name}.tar.gz"; + sha256 = "1ksb4gn8x53wcyddmjv1ma8cvvhjlmfxc6kpszyhb838i7xzla19"; + }; + + buildInputs = [ setuptoolsDarcs ]; + propagatedBuildInputs = [ zbase32 argparse ]; + + meta = { + description = "Pyutil, a collection of mature utilities for Python programmers"; + + longDescription = '' + These are a few data structures, classes and functions which + we've needed over many years of Python programming and which + seem to be of general use to other Python programmers. Many of + the modules that have existed in pyutil over the years have + subsequently been obsoleted by new features added to the + Python language or its standard library, thus showing that + we're not alone in wanting tools like these. + ''; + + homepage = http://allmydata.org/trac/pyutil; + + license = "GPLv2+"; + }; + }); + + pyyaml = buildPythonPackage (rec { + name = "PyYAML-3.09"; + + src = fetchurl { + url = "http://pyyaml.org/download/pyyaml/PyYAML-3.09.zip"; + sha256 = "204aca8b42dbe90e460794d743dd16182011da85507bfd4f092f9f76e0688040"; + }; + + buildInputs = [ pkgs.unzip pkgs.pyrex ]; + propagatedBuildInputs = [ pkgs.libyaml ]; + + meta = { + description = "The next generation YAML parser and emitter for Python"; + homepage = http://pyyaml.org; + license = "free"; # !? + }; + }); + + setuptoolsDarcs = buildPythonPackage { + name = "setuptools-darcs-1.2.8"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/s/setuptools_darcs/setuptools_darcs-1.2.8.tar.gz"; + sha256 = "0jg9q9mhsky444mm7lpmmlxai8hmjg4pc71viv4kni8gls0gk9n8"; + }; + + propagatedBuildInputs = [ pkgs.darcs ]; + + meta = { + description = "setuptools plugin for the Darcs version control system"; + + homepage = http://allmydata.org/trac/setuptools_darcs; + + license = "BSD"; + }; + }; + + setuptoolsTrial = buildPythonPackage { + name = "setuptools-trial-0.5.3"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/s/setuptools_trial/setuptools_trial-0.5.3.tar.gz"; + sha256 = "0h3mgjsz3z1sjl9j0b6bv4bss8d0przamj4gnjmpyazc633hhlyi"; + }; + + propagatedBuildInputs = [ twisted ]; + + meta = { + description = "setuptools plug-in that helps run unit tests built with the \"Trial\" framework (from Twisted)"; + + homepage = http://allmydata.org/trac/setuptools_trial; + + license = "unspecified"; # ! + }; + }; + + simplejson = buildPythonPackage (rec { + name = "simplejson-2.0.9"; + + src = fetchsvn { + url = "http://simplejson.googlecode.com/svn/tags/${name}"; + sha256 = "a48d5256fdb4f258c33da3dda110ecf3c786f086dcb08a01309acde6d1ddb921"; + rev = "172"; # to be on the safe side + }; + + meta = { + description = "simplejson is a simple, fast, extensible JSON encoder/decoder for Python"; + + longDescription = '' + simplejson is compatible with Python 2.4 and later with no + external dependencies. It covers the full JSON specification + for both encoding and decoding, with unicode support. By + default, encoding is done in an encoding neutral fashion (plain + ASCII with \uXXXX escapes for unicode characters). + ''; + + homepage = http://code.google.com/p/simplejson/; + + license = "MIT"; + }; + }); + + trac = buildPythonPackage { + name = "trac-0.11.5"; + + src = fetchurl { + url = http://ftp.edgewall.com/pub/trac/Trac-0.11.5.tar.gz; + sha256 = "cc3362ecc533abc1755dd78e2d096d1413bc975abc3185318f4821458cd6a8ac"; + }; + + doCheck = false; + + PYTHON_EGG_CACHE = "`pwd`/.egg-cache"; + + propagatedBuildInputs = [ genshi pkgs.setuptools ]; + + meta = { + description = "Enhanced wiki and issue tracking system for software development projects"; + + license = "BSD"; + }; + }; + + twisted = buildPythonPackage { + name = "twisted-8.2.0"; + + src = fetchurl { + url = http://tmrc.mit.edu/mirror/twisted/Twisted/8.2/Twisted-8.2.0.tar.bz2; + sha256 = "1c6zplisjdnjzkfs0ld3a0f7m7xbjgx5rcwsdw5i1xiibsq2nq70"; + }; + + propagatedBuildInputs = [ zopeInterface ]; + + # Generate Twisted's plug-in cache. Twited users must do it as well. See + # http://twistedmatrix.com/documents/current/core/howto/plugin.html#auto3 + # and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477103 for + # details. + postInstall = "$out/bin/twistd --help > /dev/null"; + + meta = { + homepage = http://twistedmatrix.com/; + + description = "Twisted, an event-driven networking engine written in Python"; + + longDescription = '' + Twisted is an event-driven networking engine written in Python + and licensed under the MIT license. + ''; + + license = "MIT"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = python.meta.platforms; + }; + }; + + zbase32 = buildPythonPackage (rec { + name = "zbase32-1.1.1"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zbase32/${name}.tar.gz"; + sha256 = "0n59l4rs26vrhxpsfrwybjjir68aj23f09k1yjnbxqy5n0khp8gm"; + }; + + # Tests require `pyutil' so disable them to avoid circular references. + doCheck = false; + + buildInputs = [ setuptoolsDarcs ]; + + meta = { + description = "zbase32, a base32 encoder/decoder"; + + homepage = http://pypi.python.org/pypi/zbase32; + + license = "BSD"; + }; + }); + + zfec = buildPythonPackage (rec { + name = "zfec-1.4.4"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/z/zfec/${name}.tar.gz"; + sha256 = "0rgg7nsvbr4f9xmiclzypc39fnivg23kldv5aa8si0bgsxn6mh6w"; + }; + + buildInputs = [ setuptoolsDarcs ]; + propagatedBuildInputs = [ pyutil argparse ]; + + meta = { + homepage = http://allmydata.org/trac/zfec; + + description = "Zfec, a fast erasure codec which can be used with the command-line, C, Python, or Haskell"; + + longDescription = '' + Fast, portable, programmable erasure coding a.k.a. "forward + error correction": the generation of redundant blocks of + information such that if some blocks are lost then the + original data can be recovered from the remaining blocks. The + zfec package includes command-line tools, C API, Python API, + and Haskell API. + ''; + + license = "GPLv2+"; + }; + }); + + zopeInterface = buildPythonPackage { + name = "zope-interface-3.3.0"; + src = fetchurl { + url = http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz; + sha256 = "0xahg9cmagn4j3dbifvgzbjliw2jdrbf27fhqwkdp8j80xpyyjf0"; + }; + + doCheck = false; + + meta = { + description = "Zope.Interface"; + homepage = http://zope.org/Products/ZopeInterface; + license = "ZPL"; + }; + }; +}