55 lines
1.2 KiB
Nix
55 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" ];
|
||
|
};
|
||
|
}
|