ocamlPackages.hxd: 0.3.2 -> 0.3.3 (#364231)
[NixPkgs.git] / pkgs / os-specific / linux / ch9344 / default.nix
blob42c26503ea15cb2c2d768d5beea94727ee278087
1 { stdenv, lib, fetchzip, kernel }:
3 stdenv.mkDerivation rec {
4   pname = "ch9344";
5   version = "2.0";
7   src = fetchzip {
8     name = "CH9344SER_LINUX.zip";
9     url = "https://www.wch.cn/downloads/file/386.html#CH9344SER_LINUX.zip";
10     hash = "sha256-YKNMYpap7CjhgTIpd/M9+nB11NtpwGYT/P14J6q3XZg=";
11   };
13   patches = [
14     ./fix-incompatible-pointer-types.patch
15   ];
17   sourceRoot = "${src.name}/driver";
18   hardeningDisable = [ "pic" ];
19   nativeBuildInputs = kernel.moduleBuildDependencies;
21   preBuild = ''
22     substituteInPlace Makefile --replace "KERNELDIR :=" "KERNELDIR ?="
23   '';
25   makeFlags = [
26     "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
27   ];
29   installPhase = ''
30     runHook preInstall
31     install -D ch9344.ko $out/lib/modules/${kernel.modDirVersion}/usb/serial/ch9344.ko
32     runHook postInstall
33   '';
35   meta = with lib; {
36     homepage = "https://www.wch-ic.com/";
37     downloadPage = "https://www.wch.cn/downloads/CH9344SER_LINUX_ZIP.html";
38     description = "WCH CH9344/CH348 UART driver";
39     longDescription = ''
40       A kernel module for WinChipHead CH9344/CH348 USB To Multi Serial Ports controller.
41     '';
42     # Archive contains no license.
43     license = licenses.unfree;
44     platforms = platforms.linux;
45     maintainers = with maintainers; [ MakiseKurisu ];
46   };