47 lines
1.5 KiB
Nix
47 lines
1.5 KiB
Nix
{ stdenv, fetchgit, pkgconfig, libuuid, openssl }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "20130507";
|
|
checkout = "25/50225/2";
|
|
|
|
name = "vboot_reference-${version}";
|
|
|
|
src = fetchgit {
|
|
url = https://chromium.googlesource.com/chromiumos/platform/vboot_reference;
|
|
rev = "refs/changes/${checkout}";
|
|
sha256 = "14d3a93ha5k4al4ib43nyn1ppx7kgb12xw6mkflhx8nxmx8827nc";
|
|
};
|
|
|
|
buildInputs = [ pkgconfig openssl stdenv.cc.libc.static ]
|
|
++ stdenv.lib.optional (libuuid != null)
|
|
(libuuid.overrideAttrs (attrs:
|
|
{ configureFlags = attrs.configureFlags ++ [ "--enable-static" ]; }));
|
|
|
|
arch = if stdenv.system == "x86_64-linux" then "x86_64"
|
|
else if stdenv.system == "i686-linux" then "x86"
|
|
else throw "vboot_reference for: ${stdenv.system} not supported!";
|
|
|
|
buildPhase = ''
|
|
make ARCH=${arch} `pwd`/build/cgpt/cgpt
|
|
make ARCH=${arch} `pwd`/build/utility/vbutil_kernel
|
|
make ARCH=${arch} `pwd`/build/utility/vbutil_key
|
|
make ARCH=${arch} `pwd`/build/utility/vbutil_keyblock
|
|
make ARCH=${arch} `pwd`/build/utility/vbutil_firmware
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
cp build/cgpt/cgpt $out/bin
|
|
cp build/utility/vbutil_kernel $out/bin
|
|
cp build/utility/vbutil_key $out/bin
|
|
cp build/utility/vbutil_keyblock $out/bin
|
|
cp build/utility/vbutil_firmware $out/bin
|
|
'';
|
|
|
|
meta = {
|
|
description = "Chrome OS partitioning and kernel signing tools";
|
|
license = stdenv.lib.licenses.bsd3;
|
|
platforms = stdenv.lib.platforms.linux;
|
|
};
|
|
}
|