aboutsummaryrefslogtreecommitdiff
path: root/.config/nixpkgs/packages/ruamel.yaml.cmd/default.nix
blob: f2dc6f9ad160487d2217d49b3285af8883fcd24c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
{ stdenv, python38 }:

with python38.pkgs;

let

  meta = with stdenv.lib; {
    license = licenses.mit;
    description = "Command line utility to manipulate YAML files";
    homepage = "https://sourceforge.net/p/ruamel-yaml-cmd/code/ci/default/tree";
  };

  ruamel.std.argparse = buildPythonPackage rec {
    pname = "ruamel.std.argparse";
    version = "0.8.3";
    src = fetchPypi {
      inherit pname version;
      sha256 = "0srv4g6jryyaz26csx315pbmfhm4rw8jhfsl7rq7krrglgqwjryi";
    };
    doCheck = false;
    inherit meta;
  };

  ruamel.std.convert = buildPythonPackage rec {
    pname = "ruamel.yaml.convert";
    version = "0.3.2";
    src = fetchPypi {
      inherit pname version;
      sha256 = "1i6919b5f5ygj7y7c4x0wi91n8y0mw4nf9f0bcfjk29i594xjph6";
    };
    propagatedBuildInputs = [ python-dateutil ruamel_yaml ];
    doCheck = false;
    inherit meta;
  };

  ruamel.yaml.cmd = buildPythonPackage rec {
    pname = "ruamel.yaml.cmd";
    version = "0.5.6";
    src = fetchPypi {
      inherit pname version;
      sha256 = "0zc2h6b721r8c05dm7y8zgrgbvifbgcm8jmqvns7ar4ajll3cvwv";
    };
    propagatedBuildInputs = [ configobj ruamel.std.argparse ruamel.std.convert ];
    patches = [ ./disable-backup-files.patch ];
    doCheck = false;
    dontWrapPythonPrograms = true;
    inherit meta;
  };

in buildPythonApplication rec {

  pname = ruamel.yaml.cmd.pname;
  version = ruamel.yaml.cmd.version;
  propagatedBuildInputs = [ ruamel.yaml.cmd ];
  pythonEnvironment = python38.withPackages (_: propagatedBuildInputs);

  installPhase = ''
    runHook preInstall
    mkdir -p $out/bin
    cp ${ruamel.yaml.cmd}/bin/yaml $out/bin
    sed -i 's|^#!.*$|#!${pythonEnvironment}/bin/python3.8|' $out/bin/yaml
    runHook postInstall
  '';

  dontUnpack = true;
  dontBuild = true;
  doCheck = false;
  inherit meta;
}