Unverified Commit ecafaddf authored by Guy Chronister's avatar Guy Chronister
Browse files

linode-cli: modernize derivation

parent c9c86d8b
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -19,39 +19,42 @@ let

in

python3Packages.buildPythonApplication rec {
python3Packages.buildPythonApplication (finalAttrs: {
  pname = "linode-cli";
  version = "5.56.2";
  pyproject = true;

  src = fetchPypi {
    pname = "linode_cli";
    inherit version;
    inherit (finalAttrs) version;
    hash = hash;
  };

  build-system = [
    python3Packages.setuptools
  ];

  patches = [ ./remove-update-check.patch ];

  # remove need for git history
  prePatch = ''
    substituteInPlace setup.py \
      --replace "version = get_version()" "version='${version}',"
      --replace "version = get_version()" "version='${finalAttrs.version}',"
  '';

  postConfigure = ''
    python3 -m linodecli bake ${spec} --skip-config
    cp data-3 linodecli/
    echo "${version}" > baked_version
    echo "${finalAttrs.version}" > baked_version
  '';

  nativeBuildInputs = [ installShellFiles ];

  propagatedBuildInputs = [
  dependencies = [
    python3Packages.colorclass
    python3Packages.linode-metadata
    python3Packages.pyyaml
    python3Packages.requests
    python3Packages.setuptools
    python3Packages.terminaltables
    python3Packages.rich
    python3Packages.openapi3
@@ -60,7 +63,7 @@ python3Packages.buildPythonApplication rec {

  doInstallCheck = true;
  installCheckPhase = ''
    $out/bin/linode-cli --skip-config --version | grep ${version} > /dev/null
    $out/bin/linode-cli --skip-config --version | grep ${finalAttrs.version} > /dev/null
  '';

  postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
@@ -74,7 +77,7 @@ python3Packages.buildPythonApplication rec {

  meta = {
    description = "Linode Command Line Interface";
    changelog = "https://github.com/linode/linode-cli/releases/tag/v${version}";
    changelog = "https://github.com/linode/linode-cli/releases/tag/v${finalAttrs.version}";
    downloadPage = "https://pypi.org/project/linode-cli";
    homepage = "https://github.com/linode/linode-cli";
    license = lib.licenses.bsd3;
@@ -84,4 +87,4 @@ python3Packages.buildPythonApplication rec {
    ];
    mainProgram = "linode-cli";
  };
}
})