1{ lib, pythonPackages, fetchurl, kmod, systemd, cloud-utils }:
2
3let version = "0.7.9";
4
5in pythonPackages.buildPythonApplication rec {
6 name = "cloud-init-${version}";
7 namePrefix = "";
8
9 src = fetchurl {
10 url = "https://launchpad.net/cloud-init/trunk/${version}/+download/cloud-init-${version}.tar.gz";
11 sha256 = "0wnl76pdcj754pl99wxx76hkir1s61x0bg0lh27sdgdxy45vivbn";
12 };
13
14 patches = [ ./add-nixos-support.patch ];
15 prePatch = ''
16 patchShebangs ./tools
17
18 substituteInPlace setup.py \
19 --replace /usr $out \
20 --replace /etc $out/etc \
21 --replace /lib/systemd $out/lib/systemd \
22 --replace 'self.init_system = ""' 'self.init_system = "systemd"'
23
24 substituteInPlace cloudinit/config/cc_growpart.py \
25 --replace 'util.subp(["growpart"' 'util.subp(["${cloud-utils}/bin/growpart"'
26
27 # Argparse is part of python stdlib
28 sed -i s/argparse// requirements.txt
29 '';
30
31 propagatedBuildInputs = with pythonPackages; [ cheetah jinja2 prettytable
32 oauthlib pyserial configobj pyyaml requests jsonpatch ];
33
34 meta = {
35 homepage = http://cloudinit.readthedocs.org;
36 description = "Provides configuration and customization of cloud instance";
37 maintainers = [ lib.maintainers.madjar lib.maintainers.phile314 ];
38 platforms = lib.platforms.all;
39 };
40}