1{ lib
2, stdenv
3, fetchFromGitHub
4, fetchpatch
5, kernel
6}:
7
8stdenv.mkDerivation rec {
9 pname = "dddvb";
10 version = "0.9.38-pre.6";
11
12 src = fetchFromGitHub {
13 owner = "DigitalDevices";
14 repo = "dddvb";
15 rev = "refs/tags/${version}";
16 hash = "sha256-bt/vMnqRWDDChZ6R4JbCr77cz3nlSPkx6siC9KLSEqs=";
17 };
18
19 patches = [
20 (fetchpatch {
21 # pci_*_dma_mask no longer exists in 5.18
22 url = "https://github.com/DigitalDevices/dddvb/commit/871821d6a0be147313bb52570591ce3853b3d370.patch";
23 hash = "sha256-wY05HrsduvsIdp/KpS9NWfL3hR9IvGjuNCDljFn7dd0=";
24 })
25 ];
26
27 postPatch = ''
28 sed -i '/depmod/d' Makefile
29 '';
30
31 nativeBuildInputs = kernel.moduleBuildDependencies;
32
33 makeFlags = [
34 "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
35 ];
36
37 INSTALL_MOD_PATH = placeholder "out";
38
39 enableParallelBuilding = true;
40
41 meta = with lib; {
42 homepage = "https://github.com/DigitalDevices/dddvb";
43 description = "ddbridge linux driver";
44 license = licenses.gpl2Only;
45 maintainers = with maintainers; [ hexa ];
46 platforms = platforms.linux;
47 broken = lib.versionAtLeast kernel.version "6.2";
48 };
49}