electron_32: fix log spam when building on aarch64-linux (#378988)
[NixPkgs.git] / pkgs / by-name / ne / networkminer / package.nix
blob88918a1b1115827847119be72b5d88e2a3b2bcda
2   lib,
3   buildDotnetModule,
4   fetchurl,
5   unzip,
6   dos2unix,
7   msbuild,
8   mono,
9   dotnetCorePackages,
11 buildDotnetModule rec {
12   pname = "networkminer";
13   version = "2.8";
15   src = fetchurl {
16     # Upstream does not provide versioned releases, a mirror has been uploaded
17     # to archive.org
18     url = "https://archive.org/download/networkminer-${
19       lib.replaceStrings [ "." ] [ "-" ] version
20     }/NetworkMiner_${lib.replaceStrings [ "." ] [ "-" ] version}_source.zip";
21     sha256 = "1n2312acq5rq0jizlcfk0crslx3wgcsd836p47nk3pnapzw0cqvv";
22   };
24   dotnet-sdk = dotnetCorePackages.sdk_6_0-bin;
26   nativeBuildInputs = [
27     unzip
28     dos2unix
29     msbuild
30   ];
32   patches = [
33     # Store application data in XDG_DATA_DIRS instead of trying to write to nix store
34     ./xdg-dirs.patch
35   ];
37   postPatch = ''
38     # Not all files have UTF-8 BOM applied consistently
39     find . -type f -exec dos2unix -m {} \+
41     # Embedded base64-encoded app icon in resx fails to parse. Delete it
42     sed -zi 's|<data name="$this.Icon".*</data>||g' NetworkMiner/NamedPipeForm.resx
43     sed -zi 's|<data name="$this.Icon".*</data>||g' NetworkMiner/UpdateCheck.resx
44   '';
46   nugetDeps = ./deps.json;
48   buildPhase = ''
49     runHook preBuild
51     msbuild /p:Configuration=Release NetworkMiner.sln
53     runHook postBuild
54   '';
56   installPhase = ''
57     runHook preInstall
59     mkdir -p $out/bin $out/share
60     cp -r NetworkMiner/bin/Release $out/share/NetworkMiner
61     makeWrapper ${mono}/bin/mono $out/bin/NetworkMiner \
62       --add-flags "$out/share/NetworkMiner/NetworkMiner.exe" \
63       --add-flags "--noupdatecheck"
65     install -D NetworkMiner/NetworkMiner.desktop $out/share/applications/NetworkMiner.desktop
66     substituteInPlace $out/share/applications/NetworkMiner.desktop \
67       --replace "Exec=mono NetworkMiner.exe %f" "Exec=NetworkMiner" \
68       --replace "Icon=./networkminericon-96x96.png" "Icon=NetworkMiner"
69     install -D NetworkMiner/networkminericon-96x96.png $out/share/pixmaps/NetworkMiner.png
71     runHook postInstall
72   '';
74   meta = with lib; {
75     description = "Open Source Network Forensic Analysis Tool (NFAT)";
76     homepage = "https://www.netresec.com/?page=NetworkMiner";
77     license = licenses.gpl2Only;
78     maintainers = with maintainers; [ emilytrau ];
79     platforms = platforms.linux;
80     mainProgram = "NetworkMiner";
81   };