default.nix (1039B)
1 { 2 stdenv, 3 buildPackages, 4 libnl, 5 ... 6 }: 7 let 8 switchDotH = buildPackages.fetchurl { 9 url = "https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob_plain;f=target/linux/generic/files/include/uapi/linux/switch.h;hb=99a188828713d6ff9c541590b08d4e63ef52f6d7"; 10 sha256 = "15kmhhcpd84y4f45rf8zai98c61jyvkc37p90pcxirna01x33wi8"; 11 name = "switch.h"; 12 }; 13 in 14 stdenv.mkDerivation { 15 src = buildPackages.fetchFromGitHub { 16 owner = "jekader"; 17 repo = "swconfig"; 18 rev = "66c760893ecdd1d603a7231fea9209daac57b610"; 19 sha256 = "0hi2rj1a1fbvr5n1090q1zzigjyxmn643jzrwngw4ij0g82za3al"; 20 }; 21 name = "swconfig"; 22 buildInputs = [ buildPackages.pkg-config ]; 23 nativeBuildInputs = [ libnl ]; 24 CFLAGS = "-O2 -Ifrom_kernel -I${libnl.dev}/include/libnl3"; 25 LDFLAGS = "-L${libnl.out}/lib"; 26 27 patchPhase = '' 28 mkdir -p from_kernel/linux 29 cp ${switchDotH} from_kernel/linux/switch.h 30 ''; 31 32 buildPhase = '' 33 make swconfig 34 $STRIP swconfig 35 ''; 36 installPhase = '' 37 mkdir -p $out/bin 38 cp swconfig $out/bin 39 ''; 40 }