biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / security / iaito / default.nix
blob2775135c02b251bd93be5ba28865167e0747c4a6
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , meson
5 , ninja
6 , pkg-config
7 , python3
8 , qtbase
9 , qttools
10 , radare2
11 , wrapQtAppsHook
14 let
15   pname = "iaito";
16   version = "5.9.4";
18   main_src = fetchFromGitHub rec {
19     owner = "radareorg";
20     repo = pname;
21     rev = "refs/tags/${version}";
22     hash = "sha256-o+DeHifhixWwFX6V/sDXou46rrz5qeQ1Ky8UaAVyDPM=";
23     name = repo;
24   };
26   translations_src = fetchFromGitHub rec {
27     owner = "radareorg";
28     repo = "iaito-translations";
29     rev = "e66b3a962a7fc7dfd730764180011ecffbb206bf";
30     hash = "sha256-6NRTZ/ydypsB5TwbivvwOH9TEMAff/LH69hCXTvMPp8=";
31     name = repo;
32   };
34 stdenv.mkDerivation (finalAttrs: {
35   inherit pname version;
37   srcs = [ main_src translations_src ];
38   sourceRoot = "${main_src.name}/src";
40   postUnpack = ''
41     chmod -R u+w ${translations_src.name}
42   '';
44   postPatch = ''
45     substituteInPlace common/ResourcePaths.cpp \
46       --replace "/app/share/iaito/translations" "$out/share/iaito/translations"
47   '';
49   nativeBuildInputs = [
50     meson
51     ninja
52     pkg-config
53     python3
54     qttools
55     wrapQtAppsHook
56   ];
58   buildInputs = [
59     qtbase
60     radare2
61   ];
63   postBuild = ''
64     pushd ../../../${translations_src.name}
65     make build -j$NIX_BUILD_CORES PREFIX=$out
66     popd
67   '';
69   installPhase = ''
70     runHook preInstall
72     install -m755 -Dt $out/bin iaito
73     install -m644 -Dt $out/share/metainfo ../org.radare.iaito.appdata.xml
74     install -m644 -Dt $out/share/applications ../org.radare.iaito.desktop
75     install -m644 -Dt $out/share/pixmaps ../img/org.radare.iaito.svg
77     pushd ../../../${translations_src.name}
78     make install -j$NIX_BUILD_CORES PREFIX=$out
79     popd
81     runHook postInstall
82   '';
84   meta = with lib; {
85     description = "Official Qt frontend of radare2";
86     longDescription = ''
87       iaito is the official graphical interface for radare2, a libre reverse
88       engineering framework.
89     '';
90     homepage = "https://radare.org/n/iaito.html";
91     changelog = "https://github.com/radareorg/iaito/releases/tag/${finalAttrs.version}";
92     license = licenses.gpl3Only;
93     maintainers = with maintainers; [ azahi ];
94     mainProgram = "iaito";
95     platforms = platforms.linux;
96   };