diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2011-03-30 15:00:53 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2011-03-30 15:00:53 +0000 |
commit | 1d6b63afb9462ddeb5ab634ed1c2fc946b4d4bdd (patch) | |
tree | 0538faef424e519ed845413442e8c85bc4d34b2d /pkgs/applications/virtualization/nova | |
parent | fc99d84ef249de275fa1e020e59bf14d105b07d5 (diff) | |
download | nixlib-1d6b63afb9462ddeb5ab634ed1c2fc946b4d4bdd.tar nixlib-1d6b63afb9462ddeb5ab634ed1c2fc946b4d4bdd.tar.gz nixlib-1d6b63afb9462ddeb5ab634ed1c2fc946b4d4bdd.tar.bz2 nixlib-1d6b63afb9462ddeb5ab634ed1c2fc946b4d4bdd.tar.lz nixlib-1d6b63afb9462ddeb5ab634ed1c2fc946b4d4bdd.tar.xz nixlib-1d6b63afb9462ddeb5ab634ed1c2fc946b4d4bdd.tar.zst nixlib-1d6b63afb9462ddeb5ab634ed1c2fc946b4d4bdd.zip |
* openstack-compute -> nova (upstream doesn't know what to call it either).
svn path=/nixpkgs/branches/modular-python/; revision=26610
Diffstat (limited to 'pkgs/applications/virtualization/nova')
-rw-r--r-- | pkgs/applications/virtualization/nova/default.nix | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/nova/default.nix b/pkgs/applications/virtualization/nova/default.nix new file mode 100644 index 000000000000..fc74065169b5 --- /dev/null +++ b/pkgs/applications/virtualization/nova/default.nix @@ -0,0 +1,62 @@ +{ stdenv, fetchurl, pythonPackages, intltool }: + +with stdenv.lib; + +let version = "2011.1.1"; in + +stdenv.mkDerivation rec { + name = "nova-${version}"; + + src = fetchurl { + url = "http://launchpad.net/nova/bexar/${version}/+download/nova-${version}.tar.gz"; + sha256 = "0xd7cxn60vzhkvjwnj0i6jfcxaggwwyw2pnhl4qnb759q9hvk1b9"; + }; + + 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) + + # Set the built-in state location to something sensible. + sed -i nova/flags.py \ + -e "/DEFINE.*'state_path'/ s|../|/var/lib/nova|" + ''; + + 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 + ''; + + meta = { + homepage = http://nova.openstack.org/; + description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller"; + }; +} |