My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/misc/drivers/xow/default.nix

45 lines
1.4 KiB

{ lib, stdenv, cabextract, fetchurl, fetchFromGitHub, libusb1 }:
stdenv.mkDerivation rec {
pname = "xow";
version = "unstable-2022-04-24";
src = fetchFromGitHub {
owner = "medusalix";
repo = "xow";
rev = "d335d6024f8380f52767a7de67727d9b2f867871";
sha256 = "0q5nr21p4dlx2a99hiivwz6qj9anrqqsdhiz6xi375yqkxis4251";
};
firmware = fetchurl {
url = "http://download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab";
sha256 = "013g1zngxffavqrk5jy934q3bdhsv6z05ilfixdn8dj0zy26lwv5";
};
makeFlags = [
"BUILD=RELEASE"
"VERSION=${version}-${src.rev}"
"BINDIR=${placeholder "out"}/bin"
"UDEVDIR=${placeholder "out"}/lib/udev/rules.d"
"MODLDIR=${placeholder "out"}/lib/modules-load.d"
"MODPDIR=${placeholder "out"}/lib/modprobe.d"
"SYSDDIR=${placeholder "out"}/lib/systemd/system"
];
postUnpack = ''
cabextract -F FW_ACC_00U.bin ${firmware}
mv FW_ACC_00U.bin source/firmware.bin
'';
enableParallelBuilding = true;
nativeBuildInputs = [ cabextract ];
buildInputs = [ libusb1 ];
meta = with lib; {
homepage = "https://github.com/medusalix/xow";
description = "Linux driver for the Xbox One wireless dongle";
license = licenses.gpl2Plus;
maintainers = [ maintainers.jansol ];
platforms = platforms.linux;
};
}