Done with the help of https://github.com/Mindavi/nixpkgs-mark-broken Tool is still WIP but this is one of the first results. I manually audited the results and removed some results that were not valid. Note that some of these packages maybe should have more constrained platforms set instead of broken set, but I think not being perfectly correct is better than just keep trying to build all these things and never succeeding. Some observations: - Some darwin builds require XCode tools - aarch64-linux builds sometimes suffer from using gcc9 - gcc9 is getting older and misses some new libraries/features - Sometimes tools try to do system detection or expect some explicit settings for platforms that are not x86_64-linux
40 lines
1.1 KiB
Nix
40 lines
1.1 KiB
Nix
{ stdenv, lib, fetchFromGitHub, Hypervisor, vmnet, xpc, libobjc, zlib }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "xhyve";
|
|
version = "20210203";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "machyve";
|
|
repo = "xhyve";
|
|
rev = "83516a009c692ea5d2993d1071e68d05d359b11e";
|
|
sha256 = "1pjdg4ppy6qh3vr1ls5zyw3jzcvwny9wydnmfpadwij1hvns7lj3";
|
|
};
|
|
|
|
buildInputs = [ Hypervisor vmnet xpc libobjc zlib ];
|
|
|
|
# Don't use git to determine version
|
|
prePatch = ''
|
|
substituteInPlace Makefile \
|
|
--replace 'shell git describe --abbrev=6 --dirty --always --tags' "$version"
|
|
'';
|
|
|
|
|
|
makeFlags = [ "CFLAGS+=-Wno-shift-sign-overflow" ''CFLAGS+=-DVERSION=\"${version}\"'' ];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
cp build/xhyve $out/bin
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Lightweight Virtualization on macOS Based on bhyve";
|
|
homepage = "https://github.com/mist64/xhyve";
|
|
maintainers = [ maintainers.lnl7 ];
|
|
license = licenses.bsd2;
|
|
platforms = platforms.darwin;
|
|
# never built on aarch64-darwin since first introduction in nixpkgs
|
|
broken = stdenv.isDarwin && stdenv.isAarch64;
|
|
};
|
|
}
|