nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 84 lines 2.4 kB view raw
1{ 2 lib, 3 buildDotnetModule, 4 fetchzip, 5 dos2unix, 6 msbuild, 7 gtk2, 8 mono, 9 dotnetCorePackages, 10}: 11 12buildDotnetModule rec { 13 pname = "networkminer"; 14 version = "3.0"; 15 16 src = 17 let 18 version' = lib.replaceString "." "-" version; 19 in 20 fetchzip { 21 # Upstream does not provide versioned releases, a mirror has been uploaded 22 # to archive.org 23 # Non-versioned download link can be found on https://www.netresec.com/?page=NetworkMinerSourceCode 24 url = "https://archive.org/download/network-miner-${version'}-source/NetworkMiner_${version'}_source.zip"; 25 hash = "sha256-BdjSsFSpt3U7IUurY1dmprzq8wNdPNZyXGKeIGETr7Q="; 26 }; 27 28 dotnet-sdk = dotnetCorePackages.sdk_8_0; 29 30 nativeBuildInputs = [ 31 dos2unix 32 msbuild 33 ]; 34 35 postPatch = '' 36 # Not all files have UTF-8 BOM applied consistently 37 find . -type f -exec dos2unix -m {} \+ 38 39 # Embedded base64-encoded app icon in resx fails to parse. Delete it 40 sed -zi 's|<data name="$this.Icon".*</data>||g' NetworkMiner/NamedPipeForm.resx 41 sed -zi 's|<data name="$this.Icon".*</data>||g' NetworkMiner/UpdateCheck.resx 42 ''; 43 44 nugetDeps = ./deps.json; 45 46 buildPhase = '' 47 runHook preBuild 48 49 msbuild /p:Configuration=Release NetworkMiner.sln 50 51 runHook postBuild 52 ''; 53 54 installPhase = '' 55 runHook preInstall 56 57 mkdir -p $out/bin $out/share 58 cp -r NetworkMiner/bin/Release $out/share/NetworkMiner 59 makeWrapper ${lib.getExe mono} $out/bin/NetworkMiner \ 60 --add-flags "$out/share/NetworkMiner/NetworkMiner.exe" \ 61 --add-flags "--noupdatecheck" \ 62 --prefix LD_LIBRARY_PATH : ${ 63 lib.makeLibraryPath [ 64 gtk2 65 ] 66 } 67 68 install -D NetworkMiner/NetworkMiner.desktop $out/share/applications/NetworkMiner.desktop 69 substituteInPlace $out/share/applications/NetworkMiner.desktop \ 70 --replace-fail "Icon=./Images/NetworkMiner_logo_313x313.png" "Icon=NetworkMiner" 71 install -D NetworkMiner/networkminericon-96x96.png $out/share/pixmaps/NetworkMiner.png 72 73 runHook postInstall 74 ''; 75 76 meta = { 77 description = "Open Source Network Forensic Analysis Tool (NFAT)"; 78 homepage = "https://www.netresec.com/?page=NetworkMiner"; 79 license = lib.licenses.gpl2Only; 80 maintainers = with lib.maintainers; [ emilytrau ]; 81 platforms = lib.platforms.linux; 82 mainProgram = "NetworkMiner"; 83 }; 84}