containers/apps/ci-os/packages/flux-local/default.nix

54 lines
1.2 KiB
Nix

{ pkgs, lib, ... }:
with pkgs;
python312Packages.buildPythonApplication rec {
pname = "flux-local";
version = "6.0.1";
src = python312Packages.fetchPypi {
pname = "flux_local";
inherit version;
sha256 = "sha256-rACAgO52U8u6R1Ufr7BGhQCrDEDfGshC9hIxwzEUYMI=";
};
# Use the PEP 517 build system
format = "pyproject";
# Do not run tests during the build
doCheck = false;
# Runtime dependencies
propagatedBuildInputs = with python312Packages; [
setuptools
pyyaml
aiofiles
gitpython
nest-asyncio
python-slugify
mashumaro
pytest
pytest-asyncio
] ++ [
pkgs.kustomize
pkgs.kubernetes-helm
pkgs.flux
pkgs.git
];
# Include makeWrapper to wrap the executable
nativeBuildInputs = [ pkgs.makeWrapper ];
# Wrap the flux-local executable to include necessary tools in PATH
postInstall = ''
wrapProgram $out/bin/flux-local \
--prefix PATH : ${lib.makeBinPath [ pkgs.kustomize pkgs.kubernetes-helm pkgs.flux pkgs.git ]}
'';
meta = with lib; {
homepage = "https://github.com/allenporter/flux-local";
description = "Perform Flux diffs locally";
license = licenses.mit;
maintainers = with maintainers; [ "tommy-skaug" ];
};
}