at 16.09-beta 68 lines 2.0 kB view raw
1{ stdenv, fetchurl, pythonPackages, openssl, openssh }: 2 3pythonPackages.buildPythonApplication rec { 4 name = "nova-${version}"; 5 version = "12.0.0"; 6 namePrefix = ""; 7 8 PBR_VERSION = "${version}"; 9 10 src = fetchurl { 11 url = "https://github.com/openstack/nova/archive/${version}.tar.gz"; 12 sha256 = "175n1znvmy8f5vqvabc2fa4qy8y17685z4gzpq8984mdsdnpv21w"; 13 }; 14 15 # otherwise migrate.cfg is not installed 16 patchPhase = '' 17 echo "graft nova" >> MANIFEST.in 18 ''; 19 20 # https://github.com/openstack/nova/blob/stable/liberty/requirements.txt 21 propagatedBuildInputs = with pythonPackages; [ 22 pbr sqlalchemy boto decorator eventlet jinja2 lxml routes cryptography 23 webob greenlet PasteDeploy paste prettytable sqlalchemy_migrate netaddr 24 netifaces paramiko Babel iso8601 jsonschema keystoneclient requests2 six 25 stevedore websockify rfc3986 os-brick psutil_1 alembic psycopg2 pymysql 26 keystonemiddleware MySQL_python 27 28 # oslo components 29 oslo-rootwrap oslo-reports oslo-utils oslo-i18n oslo-config oslo-context 30 oslo-log oslo-serialization oslo-middleware oslo-db oslo-service oslo-messaging 31 oslo-concurrency oslo-versionedobjects 32 33 # clients 34 cinderclient neutronclient glanceclient 35 ]; 36 37 buildInputs = with pythonPackages; [ 38 coverage fixtures mock mox3 subunit requests-mock pillow oslosphinx 39 oslotest testrepository testresources testtools tempest-lib bandit 40 oslo-vmware pep8 barbicanclient ironicclient openssl openssh 41 ]; 42 43 postInstall = '' 44 cp -prvd etc $out/etc 45 46 # check all binaries don't crash 47 for i in $out/bin/*; do 48 case "$i" in 49 *nova-dhcpbridge*) 50 : 51 ;; 52 *nova-rootwrap*) 53 : 54 ;; 55 *) 56 $i --help 57 ;; 58 esac 59 done 60 ''; 61 62 meta = with stdenv.lib; { 63 homepage = http://nova.openstack.org/; 64 description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller"; 65 license = stdenv.lib.licenses.asl20; 66 platforms = stdenv.lib.platforms.linux; 67 }; 68}