53 lines
1.5 KiB
Nix
53 lines
1.5 KiB
Nix
|
{ stdenv, lib, fetchFromGitHub, makeWrapper, substituteAll
|
||
|
, ipcalc, iproute2, util-linux, coreutils, ethtool, gnugrep, gnused, nvme-cli }:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "google-guest-configs";
|
||
|
version = "20211116.00";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "GoogleCloudPlatform";
|
||
|
repo = "guest-configs";
|
||
|
rev = version;
|
||
|
sha256 = "sha256-0SRu6p/DsHNNI20mkXJitt/Ee5S2ooiy5hNmD+ndecM=";
|
||
|
};
|
||
|
|
||
|
binDeps = lib.makeBinPath [ coreutils util-linux gnugrep gnused ethtool ipcalc iproute2 ];
|
||
|
|
||
|
nativeBuildInputs = [ makeWrapper ];
|
||
|
|
||
|
dontConfigure = true;
|
||
|
dontBuild = true;
|
||
|
|
||
|
postPatch = ''
|
||
|
substitute ${./fix-paths.patch} fix-paths.patch \
|
||
|
--subst-var out \
|
||
|
--subst-var-by nvme "${nvme-cli}/bin/nvme" \
|
||
|
--subst-var-by sh "${stdenv.shell}" \
|
||
|
--subst-var-by umount "${util-linux}/bin/umount" \
|
||
|
--subst-var-by logger "${util-linux}/bin/logger"
|
||
|
patch -p1 < ./fix-paths.patch
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir -p $out/{bin,etc,lib}
|
||
|
cp -r src/etc/{modprobe.d,sysctl.d} $out/etc
|
||
|
cp -r src/lib/udev $out/lib
|
||
|
cp -r src/sbin/* $out/bin
|
||
|
cp -r src/usr/bin/* $out/bin
|
||
|
|
||
|
for i in $out/bin/* $out/lib/udev/google_nvme_id; do
|
||
|
wrapProgram "$i" \
|
||
|
--prefix "PATH" ":" "$binDeps"
|
||
|
done
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
homepage = "https://github.com/GoogleCloudPlatform/guest-configs";
|
||
|
description = "Linux Guest Environment for Google Compute Engine";
|
||
|
license = licenses.asl20;
|
||
|
platforms = platforms.linux;
|
||
|
maintainers = with maintainers; [ abbradar ];
|
||
|
};
|
||
|
}
|