Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 56 lines 1.6 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchgit, 5 kernel, 6 kernelModuleMakeFlags, 7 kmod, 8}: 9let 10 version = "22.03.5"; 11in 12stdenv.mkDerivation (finalAttrs: { 13 pname = "trelay"; 14 version = "${version}-${kernel.version}"; 15 16 src = fetchgit { 17 url = "https://git.openwrt.org/openwrt/openwrt.git"; 18 rev = "v${version}"; 19 hash = "sha256-5f9LvaZUxtfTpTR268QMkEmHUpn/nct+MVa44SBGT5c="; 20 sparseCheckout = [ "package/kernel/trelay/src" ]; 21 }; 22 23 sourceRoot = "${finalAttrs.src.name}/package/kernel/trelay/src"; 24 hardeningDisable = [ 25 "pic" 26 "format" 27 ]; 28 nativeBuildInputs = [ kmod ] ++ kernel.moduleBuildDependencies; 29 30 postPatch = '' 31 cp '${./Makefile}' Makefile 32 ''; 33 34 makeFlags = kernelModuleMakeFlags ++ [ 35 "KERNELRELEASE=${kernel.modDirVersion}" 36 "KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 37 "INSTALL_MOD_PATH=$(out)" 38 ]; 39 40 meta = with lib; { 41 description = "For relaying IP packets between two devices to build a IP bridge between them"; 42 longDescription = '' 43 A kernel module that relays ethernet packets between two devices (similar to a bridge), 44 but without any MAC address checks. 45 46 This makes it possible to bridge client mode or ad-hoc mode wifi devices to ethernet VLANs, 47 assuming the remote end uses the same source MAC address as the device that packets are 48 supposed to exit from. 49 ''; 50 homepage = "https://github.com/openwrt/openwrt/tree/main/package/kernel/trelay"; 51 license = licenses.gpl2Plus; 52 maintainers = [ maintainers.aprl ]; 53 platforms = platforms.linux; 54 broken = lib.versionOlder kernel.version "5.10"; 55 }; 56})