nixpkgs/pkgs/applications/virtualization/driver/win-pvdrivers/default.nix
2024-04-08 14:30:42 +02:00

75 lines
2.6 KiB
Nix

{ lib, stdenvNoCC, fetchurl }:
let
# Upstream versioned download links are broken
# NOTE: the archive.org timestamp must be updated if the version changes.
# See https://xenproject.org/downloads/
files = [
{
url = "https://web.archive.org/web/20230817070451if_/https://xenbits.xenproject.org/pvdrivers/win/xenbus.tar";
hash = "sha256-sInkbVL/xkoUeZxgknLM3e2AXBVSqItF2Vpkon53Xec=";
}
{
url = "https://web.archive.org/web/20230817070811if_/https://xenbits.xenproject.org/pvdrivers/win/xencons.tar";
hash = "sha256-r8bxH5B4y0V9qgALi42KtpZW05UOevv29AqqXaIXMBo=";
}
{
url = "https://web.archive.org/web/20230817070811if_/https://xenbits.xenproject.org/pvdrivers/win/xenhid.tar";
hash = "sha256-e7ztzaXi/6irMus9IH0cfbW5HiKSaybXV1C/rd5mEfA=";
}
{
url = "https://web.archive.org/web/20230817071133if_/https://xenbits.xenproject.org/pvdrivers/win/xeniface.tar";
hash = "sha256-qPM0TjcGR2luPtOSAfXJ22k6yhwJOmOP3ot6kopEFsI=";
}
{
url = "https://web.archive.org/web/20230817071134if_/https://xenbits.xenproject.org/pvdrivers/win/xennet.tar";
hash = "sha256-Vg1wSfXjIVRd2iXCa19W4Jdaf2LTVin0yac/D70UjPM=";
}
{
url = "https://web.archive.org/web/20230817070811if_/https://xenbits.xenproject.org/pvdrivers/win/xenvbd.tar";
hash = "sha256-nLNM0TWqsEWiQBCYxARMldvRecRUcY5DBF5DNAG4490=";
}
{
url = "https://web.archive.org/web/20230817071225if_/https://xenbits.xenproject.org/pvdrivers/win/xenvif.tar";
hash = "sha256-R8G5vG6Q4g0/UkA2oxcc9/jaHZQYb+u64NShCNt7s7U=";
}
{
url = "https://web.archive.org/web/20230817071153if_/https://xenbits.xenproject.org/pvdrivers/win/xenvkbd.tar";
hash = "sha256-CaSxCKnT/KaZw8Ma60g2z+4lOOWIRisGRtzMveQqQmM=";
}
];
in
stdenvNoCC.mkDerivation {
pname = "win-pvdrivers";
version = "unstable-2023-08-17";
srcs = map ({hash, url}: fetchurl {
inherit hash url;
# Wait & retry up to 3 times as archive.org can closes connection
# when an HTTP client makes too many requests
curlOpts = "--retry 3 --retry-delay 5";
}) files;
unpackPhase = ''
runHook preUnpack
for _src in $srcs; do
mkdir -p $out
tar xfv $_src -C $out
done
runHook postUnpack
'';
meta = with lib; {
description = "Xen Subproject: Windows PV Drivers";
homepage = "https://xenproject.org/developers/teams/windows-pv-drivers/";
license = licenses.bsd2;
maintainers = with maintainers; [ anthonyroussel ];
platforms = platforms.linux;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
};
}