diff --git a/pkgs/applications/virtualization/openstack-compute/default.nix b/pkgs/applications/virtualization/openstack-compute/default.nix index 4294ea5ec7f..d4a3efddbd5 100644 --- a/pkgs/applications/virtualization/openstack-compute/default.nix +++ b/pkgs/applications/virtualization/openstack-compute/default.nix @@ -1,26 +1,27 @@ -{ stdenv, fetchurl, pythonPackages }: +{ stdenv, fetchurl, pythonPackages, intltool }: with stdenv.lib; -let version = "2011.1"; in +let version = "2011.1.1"; in stdenv.mkDerivation rec { - name = "openstack-compute-2011.1"; + name = "openstack-compute-${version}"; src = fetchurl { - url = http://launchpad.net/nova/bexar/2011.1/+download/nova-2011.1.tar.gz; - sha256 = "1g8f75mzjpkzhqk91hga5wpjh8d0kbc9fxxjk0px0qjk20qrmb45"; + url = "http://launchpad.net/nova/bexar/${version}/+download/nova-${version}.tar.gz"; + sha256 = "0xd7cxn60vzhkvjwnj0i6jfcxaggwwyw2pnhl4qnb759q9hvk1b9"; }; - pythonPath = - [ pythonPackages.setuptools pythonPackages.eventlet pythonPackages.greenlet - pythonPackages.gflags pythonPackages.netaddr pythonPackages.sqlalchemy - pythonPackages.carrot + pythonPath = with pythonPackages; + [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes + paste_deploy m2crypto ipy boto twisted sqlalchemy_migrate + distutils_extra simplejson readline ]; buildInputs = [ pythonPackages.python pythonPackages.wrapPython + intltool ] ++ pythonPath; preConfigure = "export HOME=$(pwd)"; @@ -28,12 +29,22 @@ stdenv.mkDerivation rec { buildPhase = "python setup.py build"; installPhase = - '' + '' p=$(toPythonPath $out) export PYTHONPATH=$p:$PYTHONPATH mkdir -p $p python setup.py install --prefix=$out + # Nova doesn't like to be called ".nova-foo-wrapped" because it + # computes some stuff from its own argv[0]. So call the wrapped + # programs ".nova-foo" by overriding wrapProgram. + wrapProgram() { + local prog="$1" + local hidden="$(dirname "$prog")/.$(basename "$prog")" + mv $prog $hidden + makeWrapper $hidden $prog "$@" + } + wrapPythonPrograms '';