at 17.09-beta 71 lines 2.2 kB view raw
1{ stdenv, fetchurl, python2Packages, openssl, openssh }: 2 3python2Packages.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 # remove transient error test, see http://hydra.nixos.org/build/40203534 20 rm nova/tests/unit/compute/test_{shelve,compute_utils}.py 21 ''; 22 23 # https://github.com/openstack/nova/blob/stable/liberty/requirements.txt 24 propagatedBuildInputs = with python2Packages; [ 25 pbr sqlalchemy boto decorator eventlet jinja2 lxml routes cryptography 26 webob greenlet PasteDeploy paste prettytable sqlalchemy_migrate netaddr 27 netifaces paramiko Babel iso8601 jsonschema keystoneclient requests six 28 stevedore websockify rfc3986 os-brick psutil_1 alembic psycopg2 pymysql 29 keystonemiddleware MySQL_python 30 31 # oslo components 32 oslo-rootwrap oslo-reports oslo-utils oslo-i18n oslo-config oslo-context 33 oslo-log oslo-serialization oslo-middleware oslo-db oslo-service oslo-messaging 34 oslo-concurrency oslo-versionedobjects 35 36 # clients 37 cinderclient neutronclient glanceclient 38 ]; 39 40 buildInputs = with python2Packages; [ 41 coverage fixtures mock mox3 subunit requests-mock pillow oslosphinx 42 oslotest testrepository testresources testtools tempest-lib bandit 43 oslo-vmware pep8 barbicanclient ironicclient openssl openssh 44 ]; 45 46 postInstall = '' 47 cp -prvd etc $out/etc 48 49 # check all binaries don't crash 50 for i in $out/bin/*; do 51 case "$i" in 52 *nova-dhcpbridge*) 53 : 54 ;; 55 *nova-rootwrap*) 56 : 57 ;; 58 *) 59 $i --help 60 ;; 61 esac 62 done 63 ''; 64 65 meta = with stdenv.lib; { 66 homepage = http://nova.openstack.org/; 67 description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller"; 68 license = stdenv.lib.licenses.asl20; 69 platforms = stdenv.lib.platforms.linux; 70 }; 71}