summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix8
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/default.nix42
-rw-r--r--pkgs/development/compilers/emscripten/default.nix40
-rw-r--r--pkgs/development/interpreters/self/default.nix44
-rwxr-xr-xpkgs/development/interpreters/self/self18
-rw-r--r--pkgs/development/libraries/glibc/2.19/multi.nix31
-rw-r--r--pkgs/development/libraries/openmpi/default.nix15
-rw-r--r--pkgs/development/libraries/protobuf/default.nix6
-rw-r--r--pkgs/development/python-modules/h5py/default.nix43
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix45
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix6
-rw-r--r--pkgs/tools/misc/flashrom/default.nix23
-rw-r--r--pkgs/tools/misc/hdf5/default.nix16
-rw-r--r--pkgs/tools/networking/spiped/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix48
-rw-r--r--pkgs/top-level/python-packages.nix32
19 files changed, 388 insertions, 55 deletions
diff --git a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix
index 7ca35a8255f9..401d5cf2f36a 100644
--- a/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/misc/gitg/default.nix
@@ -6,11 +6,11 @@
 # use packaged gnome3.gnome_icon_theme_symbolic 
 
 stdenv.mkDerivation rec {
-  name = "gitg-0.3.2";
+  name = "gitg-3.13.91";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz";
-    sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp";
+    url = "mirror://gnome/sources/gitg/3.13/${name}.tar.xz";
+    sha256 = "1c2016grvgg5f3l5xkracz85rblsc1a4brzr6vgn6kh2h494rv37";
   };
 
   preCheck = ''
diff --git a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix
index 17c3b4fa0a8c..82e2b5855094 100644
--- a/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/misc/libgit2-glib/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchurl, gnome3, libtool, pkgconfig
+{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala
 , gtk_doc, gobjectIntrospection, libgit2, glib }:
 
 stdenv.mkDerivation rec {
   name = "libgit2-glib-${version}";
-  version = "0.0.10";
+  version = "0.0.20";
 
   src = fetchurl {
     url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz";
-    sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs";
+    sha256 = "1s2hj0ji73ishniqvr6mx90l1ji5jjwwrwhp91i87fxk0d3sry5x";
   };
+  
+  cmakeFlags = "-DTHREADSAFE=ON";
 
   configureScript = "sh ./autogen.sh";
 
-  buildInputs = [ gnome3.gnome_common libtool pkgconfig
+  buildInputs = [ gnome3.gnome_common libtool pkgconfig vala
                   gtk_doc gobjectIntrospection libgit2 glib ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix
index 7ca35a8255f9..401d5cf2f36a 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gitg/default.nix
@@ -6,11 +6,11 @@
 # use packaged gnome3.gnome_icon_theme_symbolic 
 
 stdenv.mkDerivation rec {
-  name = "gitg-0.3.2";
+  name = "gitg-3.13.91";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz";
-    sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp";
+    url = "mirror://gnome/sources/gitg/3.13/${name}.tar.xz";
+    sha256 = "1c2016grvgg5f3l5xkracz85rblsc1a4brzr6vgn6kh2h494rv37";
   };
 
   preCheck = ''
diff --git a/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix
index 17c3b4fa0a8c..94776c90cf99 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/libgit2-glib/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, gnome3, libtool, pkgconfig
+{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala
 , gtk_doc, gobjectIntrospection, libgit2, glib }:
 
 stdenv.mkDerivation rec {
   name = "libgit2-glib-${version}";
-  version = "0.0.10";
+  version = "0.0.20";
 
   src = fetchurl {
     url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz";
-    sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs";
+    sha256 = "1s2hj0ji73ishniqvr6mx90l1ji5jjwwrwhp91i87fxk0d3sry5x";
   };
 
   configureScript = "sh ./autogen.sh";
 
-  buildInputs = [ gnome3.gnome_common libtool pkgconfig
+  buildInputs = [ gnome3.gnome_common libtool pkgconfig vala
                   gtk_doc gobjectIntrospection libgit2 glib ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
new file mode 100644
index 000000000000..3eb9aef528c0
--- /dev/null
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchgit, python }:
+
+let
+  tag = "1.21.0";
+in
+
+stdenv.mkDerivation rec {
+  name = "emscripten-fastcomp-${tag}";
+
+  srcFC = fetchgit {
+    url = git://github.com/kripken/emscripten-fastcomp;
+    rev = "refs/tags/${tag}";
+    sha256 = "0mcxzg2cfg0s1vfm3bh1ar4xsddb6xkv1dsdbgnpx38lbj1mvfs1";
+  };
+
+  srcFL = fetchgit {
+    url = git://github.com/kripken/emscripten-fastcomp-clang;
+    rev = "refs/tags/${tag}";
+    sha256 = "0s2jcn36d236cfpryjpgaazjp3cg83d0h78g6kk1j6vdppv3vgnp";
+  };
+
+  buildInputs = [ python ];
+  buildCommand = ''
+    cp -as ${srcFC} $TMPDIR/src
+    chmod +w $TMPDIR/src/tools
+    cp -as ${srcFL} $TMPDIR/src/tools/clang
+
+    chmod +w $TMPDIR/src
+    mkdir $TMPDIR/src/build
+    cd $TMPDIR/src/build
+
+    ../configure --enable-optimized --disable-assertions --enable-targets=host,js
+    make
+    cp -a Release/bin $out
+  '';
+  meta = with stdenv.lib; {
+    homepage = https://github.com/kripken/emscripten-fastcomp;
+    description = "emscripten llvm";
+    maintainers = with maintainers; [ bosu ];
+    license = "University of Illinois/NCSA Open Source License";
+  };
+}
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
new file mode 100644
index 000000000000..43f256b58b04
--- /dev/null
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchgit, emscriptenfastcomp, python, nodejs, closurecompiler, jre }:
+
+let
+  tag = "1.21.0";
+in
+
+stdenv.mkDerivation rec {
+  name = "emscripten-${tag}";
+
+  src = fetchgit {
+    url = git://github.com/kripken/emscripten;
+    rev = "refs/tags/${tag}";
+    sha256 = "0y17ab4nhd3521b50sv2i2667w0rlcnmlkpkgw5j3fsh8awxgf32";
+  };
+
+  buildCommand = ''
+    mkdir $out
+    cp -a $src $out/bin
+    chmod -R +w $out/bin
+    grep -rl '^#!/usr.*python' $out/bin | xargs sed -i -s 's@^#!/usr.*python.*@#!${python}/bin/python@'
+    sed -i -e "s,EM_CONFIG = '~/.emscripten',EM_CONFIG = '$out/config'," $out/bin/tools/shared.py
+    sed -i -e 's,^.*did not see a source tree above the LLVM.*$,      return True,' $out/bin/tools/shared.py
+    sed -i -e 's,def check_sanity(force=False):,def check_sanity(force=False):\n  return,' $out/bin/tools/shared.py
+
+    echo "EMSCRIPTEN_ROOT = '$out/bin'" > $out/config
+    echo "LLVM_ROOT = '${emscriptenfastcomp}'" >> $out/config
+    echo "PYTHON = '${python}/bin/python'" >> $out/config
+    echo "NODE_JS = '${nodejs}/bin/node'" >> $out/config
+    echo "JS_ENGINES = [NODE_JS]" >> $out/config
+    echo "COMPILER_ENGINE = NODE_JS" >> $out/config
+    echo "CLOSURE_COMPILER = '${closurecompiler}/bin/closure-compiler'" >> $out/config
+    echo "JAVA = '${jre}/bin/java'" >> $out/config
+  '';
+  meta = with stdenv.lib; {
+    homepage = https://github.com/kripken/emscripten;
+    description = "An LLVM-to-JavaScript Compiler";
+    maintainers = with maintainers; [ bosu ];
+    license = with licenses; ncsa;
+  };
+}
diff --git a/pkgs/development/interpreters/self/default.nix b/pkgs/development/interpreters/self/default.nix
new file mode 100644
index 000000000000..98e1edee3879
--- /dev/null
+++ b/pkgs/development/interpreters/self/default.nix
@@ -0,0 +1,44 @@
+{ fetchurl, fetchgit, stdenv, xlibs, gcc44, makeWrapper, ncurses, cmake }:
+
+stdenv.mkDerivation rec {
+  # The Self wrapper stores source in $XDG_DATA_HOME/self or ~/.local/share/self 
+  # so that it can be written to when using the Self transposer. Running 'Self'
+  # after installation runs without an image. You can then build a Self image with:
+  #   $ cd ~/.local/share/self/objects
+  #   $ Self 
+  #   > 'worldBuilder.self' _RunScript
+  #
+  # This image can later be started with:
+  #   $ Self -s myimage.snap
+  #
+  version = "4.5.0";
+  name = "self-${version}";
+
+  src = fetchgit {
+    url    = "https://github.com/russellallen/self";
+    rev    = "d16bcaad3c5092dae81ad0b16d503f2a53b8ef86";
+    sha256 = "966025b71542e44fc830b951f404f5721ad410ed24f7236fd0cd820ea0fc5731";
+  };
+
+  # gcc 4.6 and above causes crashes on Self startup but gcc 4.4 works.
+  buildInputs = [ gcc44 ncurses xlibs.libX11 xlibs.libXext makeWrapper cmake ];
+
+  selfWrapper = ./self;
+
+  installPhase = ''
+    mkdir -p "$out"/bin
+    cp ./vm/Self "$out"/bin/Self.wrapped
+    mkdir -p "$out"/share/self
+    cp -r ../objects "$out"/share/self/
+    makeWrapper $selfWrapper $out/bin/Self \
+      --set SELF_ROOT "$out"
+  '';
+
+  meta = {
+    description = "A prototype-based dynamic object-oriented programming language, environment, and virtual machine";
+    homepage = "http://selflanguage.org/";
+    license = stdenv.lib.licenses.bsd3;
+    maintainer = [ stdenv.lib.maintainers.doublec ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/interpreters/self/self b/pkgs/development/interpreters/self/self
new file mode 100755
index 000000000000..d504682086b0
--- /dev/null
+++ b/pkgs/development/interpreters/self/self
@@ -0,0 +1,18 @@
+#! /usr/bin/env bash
+
+export SELF_HOME="$HOME/.local/share/self"
+if [ -n "$XDG_DATA_HOME" ]
+  then export SELF_HOME="$XDG_DATA_HOME/self"
+fi
+
+if [ ! -d $SELF_HOME ]; then
+  mkdir -p $SELF_HOME
+fi
+
+if [ ! -d $SELF_HOME/objects ]; then
+  mkdir -p $SELF_HOME/objects
+  cp -r $SELF_ROOT/share/self/objects/* $SELF_HOME/objects
+  chmod -R +w $SELF_HOME/objects
+fi
+
+exec $SELF_ROOT/bin/Self.wrapped "$@"
diff --git a/pkgs/development/libraries/glibc/2.19/multi.nix b/pkgs/development/libraries/glibc/2.19/multi.nix
new file mode 100644
index 000000000000..ad4a34152b65
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/multi.nix
@@ -0,0 +1,31 @@
+{ runCommand, glibc, glibc32
+}:
+
+runCommand "${glibc.name}-multi"
+  { inherit glibc32;
+   glibc64 = glibc;
+  }
+  ''
+    mkdir -p $out
+    ln -s $glibc64/* $out/
+
+    rm $out/lib $out/lib64
+    mkdir -p $out/lib
+    ln -s $glibc64/lib/* $out/lib
+    ln -s $glibc32/lib $out/lib/32
+    ln -s lib $out/lib64
+
+    # fixing ldd RLTDLIST
+    rm $out/bin
+    cp -rs $glibc64/bin $out
+    chmod u+w $out/bin
+    rm $out/bin/ldd
+    sed -e "s|^RTLDLIST=.*$|RTLDLIST=\"$out/lib/ld-2.19.so $out/lib/32/ld-linux.so.2\"|g" \
+        $glibc64/bin/ldd > $out/bin/ldd
+    chmod 555 $out/bin/ldd
+
+    rm $out/include
+    cp -rs $glibc32/include $out
+    chmod -R u+w $out/include
+    cp -rsf $glibc64/include $out
+  ''
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 678a439fe0ac..15160d3afc49 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -1,4 +1,13 @@
-{stdenv, fetchurl, gfortran}:
+{stdenv, fetchurl, gfortran
+
+# Enable the Sun Grid Engine bindings
+, enableSGE ? false
+
+# Pass PATH/LD_LIBRARY_PATH to point to current mpirun by default
+, enablePrefix ? false
+}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation {
   name = "openmpi-1.6.5";
@@ -7,6 +16,10 @@ stdenv.mkDerivation {
     sha256 = "11gws4d3z7934zna2r7m1f80iay2ha17kp42mkh39wjykfwbldzy";
   };
   buildInputs = [ gfortran ];
+  configureFlags = []
+    ++ optional enableSGE "--with-sge"
+    ++ optional enablePrefix "--enable-mpirun-prefix-by-default"
+    ;
   meta = {
     homePage = http://www.open-mpi.org/;
     description = "Open source MPI-2 implementation";
diff --git a/pkgs/development/libraries/protobuf/default.nix b/pkgs/development/libraries/protobuf/default.nix
index bba8481780a5..3452335decdc 100644
--- a/pkgs/development/libraries/protobuf/default.nix
+++ b/pkgs/development/libraries/protobuf/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "protobuf-2.5.0";
+  name = "protobuf-2.6.0";
 
   src = fetchurl {
-    url = "http://protobuf.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "0xxn9gxhvsgzz2sgmihzf6pf75clr05mqj6218camwrwajpcbgqk";
+    url = "http://protobuf.googlecode.com/svn-history/r579/rc/protobuf-2.6.0.tar.bz2";
+    sha256 = "0krfkxc85vfznqwbh59qlhp7ld81al9ss35av0gfbg74i0rvjids";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
new file mode 100644
index 000000000000..9ab68ac4cd2b
--- /dev/null
+++ b/pkgs/development/python-modules/h5py/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, python, buildPythonPackage
+, numpy, hdf5, cython
+, mpiSupport ? false, mpi4py ? null, mpi ? null }:
+
+assert mpiSupport == hdf5.mpiSupport;
+assert mpiSupport -> mpi != null
+  && mpi4py != null
+  && mpi == mpi4py.mpi
+  && mpi == hdf5.mpi
+  ;
+
+with stdenv.lib;
+
+buildPythonPackage rec {
+  name = "h5py-2.3.1";
+
+  src = fetchurl {
+    url = "https://pypi.python.org/packages/source/h/h5py/${name}.tar.gz";
+    md5 = "8f32f96d653e904d20f9f910c6d9dd91";
+  };
+
+  setupPyBuildFlags = [ "--hdf5=${hdf5}" ]
+    ++ optional mpiSupport "--mpi"
+    ;
+  setupPyInstallFlags = setupPyBuildFlags;
+
+  preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
+
+  buildInputs = [ hdf5 cython ]
+    ++ optional mpiSupport mpi
+    ;
+  propagatedBuildInputs = [ numpy ]
+    ++ optional mpiSupport mpi4py
+    ;
+
+  meta = {
+    description = "
+      The h5py package is a Pythonic interface to the HDF5 binary data format.
+    ";
+    homepage = "http://www.h5py.org/";
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
new file mode 100644
index 000000000000..74d46def9074
--- /dev/null
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, python, buildPythonPackage, mpi, openssh }:
+
+buildPythonPackage rec {
+  name = "mpi4py-1.3.1";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/mpi4py/mpi4py/downloads/${name}.tar.gz";
+    sha256 = "e7bd2044aaac5a6ea87a87b2ecc73b310bb6efe5026031e33067ea3c2efc3507";
+  };
+
+  passthru = {
+    inherit mpi;
+  };
+
+  configurePhase = "";
+
+  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"
+
+    # --install-lib:
+    # sometimes packages specify where files should be installed outside the usual
+    # python lib prefix, we override that back so all infrastructure (setup hooks)
+    # work as expected
+  '';
+
+  setupPyBuildFlags = ["--mpicc=${mpi}/bin/mpicc"];
+
+  buildInputs = [ mpi ];
+  # Requires openssh for tests. Tests of dependent packages will also fail,
+  # if openssh is not present. E.g. h5py with mpi support.
+  propagatedBuildInputs = [ openssh ];
+
+  meta = {
+    description = "
+      Provides Python bindings for the Message Passing Interface standard.
+    ";
+    homepage = "http://code.google.com/p/mpi4py/";
+    license = stdenv.lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index b52801cacff7..f928dc8e657c 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -15,11 +15,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "shadow-4.1.5.1";
+  name = "shadow-4.2.1";
 
   src = fetchurl {
-    url = "http://pkg-shadow.alioth.debian.org/releases/${name}.tar.bz2";
-    sha256 = "1yvqx57vzih0jdy3grir8vfbkxp0cl0myql37bnmi2yn90vk6cma";
+    url = "http://pkg-shadow.alioth.debian.org/releases/${name}.tar.xz";
+    sha256 = "0h9x1zdbq0pqmygmc1x459jraiqw4gqz8849v268crk78z8r621v";
   };
 
   buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
diff --git a/pkgs/tools/misc/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix
new file mode 100644
index 000000000000..c4e74359b15b
--- /dev/null
+++ b/pkgs/tools/misc/flashrom/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, libftdi, pciutils }:
+
+let version = "0.9.7"; in
+stdenv.mkDerivation rec {
+  name = "flashrom-${version}";
+
+  src = fetchurl {
+    url = "http://download.flashrom.org/releases/${name}.tar.bz2";
+    sha256 = "5a55212d00791981a9a1cb0cdca9d9e58bea6d399864251e7b410b4d3d6137e9";
+  };
+
+  buildInputs = [ pkgconfig libftdi pciutils ];
+
+  makeFlags = ["PREFIX=$out"];
+
+  meta = {
+    homepage = "http://www.flashrom.org";
+    description = "Utility for reading, writing, erasing and verifying flash ROM chips";
+    license = "GPLv2";
+    maintainers = [ stdenv.lib.maintainers.funfunctor ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index a7d03d1335f0..5cdc468c2a5a 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -3,6 +3,8 @@
 , fetchurl
 , zlib ? null
 , szip ? null
+, mpi ? null
+, enableShared ? true
 }:
 stdenv.mkDerivation rec {
   version = "1.8.13";
@@ -12,11 +14,23 @@ stdenv.mkDerivation rec {
     sha256 = "1h9qdl321gzm3ihdhlijbl9sh9qcdrw94j7izg64yfqhxj7b7xl2";  			
   };
 
+  passthru = {
+    mpiSupport = (mpi != null);
+    inherit mpi;
+  };
+
   buildInputs = []
     ++ stdenv.lib.optional (zlib != null) zlib
     ++ stdenv.lib.optional (szip != null) szip;
 
-  configureFlags = if szip != null then "--with-szlib=${szip}" else "";
+  propagatedBuildInputs = []
+    ++ stdenv.lib.optional (mpi != null) mpi;
+
+  configureFlags = "
+    ${if szip != null then "--with-szlib=${szip}" else ""}
+    ${if mpi != null then "--enable-parallel" else ""}
+    ${if enableShared then "--enable-shared" else ""}
+  ";
   
   patches = [./bin-mv.patch];
   
diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix
index ac2736ffb19e..f854b92b87e5 100644
--- a/pkgs/tools/networking/spiped/default.nix
+++ b/pkgs/tools/networking/spiped/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "spiped-${version}";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchurl {
     url    = "http://www.tarsnap.com/spiped/${name}.tgz";
-    sha256 = "1viglk61v1v2ga1n31r0h8rvib5gy2h02lhhbbnqh2s6ps1sjn4a";
+    sha256 = "0pyg1llnqgfx7n7mi3dq4ra9xg3vkxlf01z5jzn7ncq5d6ii7ynq";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3d2350b661e5..c07a8994f3ef 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -965,6 +965,10 @@ let
 
   edk2 = callPackage ../development/compilers/edk2 { };
 
+  emscripten = callPackage ../development/compilers/emscripten { };
+
+  emscriptenfastcomp = callPackage ../development/compilers/emscripten-fastcomp { };
+
   efibootmgr = callPackage ../tools/system/efibootmgr { };
 
   efivar = callPackage ../tools/system/efivar { };
@@ -1045,6 +1049,8 @@ let
     platformTools = androidenv.platformTools;
   };
 
+  flashrom = callPackage ../tools/misc/flashrom { };
+
   flpsed = callPackage ../applications/editors/flpsed { };
 
   flvstreamer = callPackage ../tools/networking/flvstreamer { };
@@ -1282,6 +1288,12 @@ let
 
   hdf5 = callPackage ../tools/misc/hdf5 {
     szip = null;
+    mpi = null;
+  };
+
+  hdf5-mpi = hdf5.override {
+    szip = null;
+    mpi = pkgs.openmpi;
   };
 
   heimdall = callPackage ../tools/misc/heimdall { };
@@ -3705,6 +3717,8 @@ let
 
   scheme48 = callPackage ../development/interpreters/scheme48 { };
 
+  self = callPackage_i686 ../development/interpreters/self { };
+
   spark = callPackage ../applications/networking/cluster/spark { };
 
   spidermonkey = callPackage ../development/interpreters/spidermonkey { };
@@ -4727,36 +4741,10 @@ let
 
   glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { };
 
-  glibc_multi =
-    runCommand "${glibc.name}-multi"
-      { glibc64 = glibc;
-        glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
-      }
-      ''
-        mkdir -p $out
-        ln -s $glibc64/* $out/
-
-        rm $out/lib $out/lib64
-        mkdir -p $out/lib
-        ln -s $glibc64/lib/* $out/lib
-        ln -s $glibc32/lib $out/lib/32
-        ln -s lib $out/lib64
-
-        # fixing ldd RLTDLIST
-        rm $out/bin
-        cp -rs $glibc64/bin $out
-        chmod u+w $out/bin
-        rm $out/bin/ldd
-        sed -e "s|^RTLDLIST=.*$|RTLDLIST=\"$out/lib/ld-2.19.so $out/lib/32/ld-linux.so.2\"|g" \
-            $glibc64/bin/ldd > $out/bin/ldd
-        chmod 555 $out/bin/ldd
-
-        rm $out/include
-        cp -rs $glibc32/include $out
-        chmod -R u+w $out/include
-        cp -rsf $glibc64/include $out
-      '' # */
-      ;
+  glibc_multi = callPackage ../development/libraries/glibc/2.19/multi.nix {
+    inherit glibc;
+    glibc32 = (import ./all-packages.nix {system = "i686-linux";}).glibc;
+  };
 
   glm = callPackage ../development/libraries/glm { };
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 8374e29162a9..533f59b78d81 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -90,6 +90,19 @@ 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 {
+    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;
@@ -106,6 +119,12 @@ rec {
     pylabQtSupport = false;
   });
 
+  mpi4py = callPackage ../development/python-modules/mpi4py {
+    inherit (pkgs) stdenv fetchurl openssh;
+    inherit python buildPythonPackage;
+    mpi = pkgs.openmpi;
+  };
+
   nixpart = callPackage ../tools/filesystems/nixpart { };
 
   # This is used for NixOps to make sure we won't break it with the next major
@@ -2152,6 +2171,7 @@ rec {
   googlecl = buildPythonPackage rec {
     version = "0.9.14";
     name    = "googlecl-${version}";
+    disabled = isPy3k;
 
     src = fetchurl {
       url    = "https://googlecl.googlecode.com/files/${name}.tar.gz";
@@ -3764,6 +3784,7 @@ rec {
 
    google_apputils = buildPythonPackage rec {
     name = "google-apputils-0.4.0";
+    disabled = isPy3k;
 
     src = fetchurl {
       url = http://pypi.python.org/packages/source/g/google-apputils/google-apputils-0.4.0.tar.gz;
@@ -3917,6 +3938,7 @@ rec {
 
   http_signature = buildPythonPackage (rec {
     name = "http_signature-0.1.4";
+    disabled = isPy3k;
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/h/http_signature/${name}.tar.gz";
@@ -4797,6 +4819,7 @@ rec {
 
   muttils = buildPythonPackage (rec {
     name = "muttils-1.3";
+    disabled = isPy3k;
 
     src = fetchurl {
       url = http://www.blacktrash.org/hg/muttils/archive/8bb26094df06.tar.bz2;
@@ -4859,6 +4882,7 @@ rec {
 
   namebench = buildPythonPackage (rec {
     name = "namebench-1.0.5";
+    disabled = isPy3k;
 
     src = fetchurl {
       url = "http://namebench.googlecode.com/files/${name}.tgz";
@@ -5073,6 +5097,7 @@ rec {
 
   nose-cprof = buildPythonPackage rec {
     name = "nose-cprof-0.1-0";
+    disabled = isPy3k;
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/n/nose-cprof/${name}.tar.gz";
@@ -5812,8 +5837,9 @@ rec {
   protobuf = buildPythonPackage rec {
     inherit (pkgs.protobuf) name src;
 
-    propagatedBuildInputs = [ pkgs.protobuf setuptools ];
+    propagatedBuildInputs = [ pkgs.protobuf google_apputils  ];
     sourceRoot = "${name}/python";
+    
 
     meta = {
       description = "Protocol Buffers are Google's data interchange format.";
@@ -6150,6 +6176,8 @@ rec {
     };
 
     buildInputs = [ unittest2 ];
+    
+    doCheck = !isPyPy;
 
     meta = {
       homepage = "https://launchpad.net/pyflakes";
@@ -8206,6 +8234,7 @@ rec {
 
   taskcoach = buildPythonPackage rec {
     name = "TaskCoach-1.3.22";
+    disabled = isPy3k;
 
     src = fetchurl {
       url = "mirror://sourceforge/taskcoach/${name}.tar.gz";
@@ -8347,6 +8376,7 @@ rec {
 
   smmap = buildPythonPackage rec {
     name = "smmap-0.8.2";
+    disabled = isPy3k;  # next release will have py3k support
     meta.maintainers = [ stdenv.lib.maintainers.mornfall ];
 
     src = fetchurl {