nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 101 lines 2.2 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 meson, 6 ninja, 7 pkg-config, 8 python3, 9 qtbase, 10 qttools, 11 radare2, 12 wrapQtAppsHook, 13}: 14 15let 16 pname = "iaito"; 17 version = "5.9.9"; 18 19 main_src = fetchFromGitHub rec { 20 owner = "radareorg"; 21 repo = pname; 22 tag = version; 23 hash = "sha256-y8Mfd7BmnMFJ9mpGKVL3i4VRxrzJ1gXaSsUQIFB9Wd4="; 24 name = repo; 25 }; 26 27 translations_src = fetchFromGitHub rec { 28 owner = "radareorg"; 29 repo = "iaito-translations"; 30 rev = "e66b3a962a7fc7dfd730764180011ecffbb206bf"; 31 hash = "sha256-6NRTZ/ydypsB5TwbivvwOH9TEMAff/LH69hCXTvMPp8="; 32 name = repo; 33 }; 34in 35stdenv.mkDerivation (finalAttrs: { 36 inherit pname version; 37 38 srcs = [ 39 main_src 40 translations_src 41 ]; 42 sourceRoot = "${main_src.name}/src"; 43 44 postUnpack = '' 45 chmod -R u+w ${translations_src.name} 46 ''; 47 48 postPatch = '' 49 substituteInPlace common/ResourcePaths.cpp \ 50 --replace "/app/share/iaito/translations" "$out/share/iaito/translations" 51 ''; 52 53 nativeBuildInputs = [ 54 meson 55 ninja 56 pkg-config 57 python3 58 qttools 59 wrapQtAppsHook 60 ]; 61 62 buildInputs = [ 63 qtbase 64 radare2 65 ]; 66 67 postBuild = '' 68 pushd ../../../${translations_src.name} 69 make build -j$NIX_BUILD_CORES PREFIX=$out 70 popd 71 ''; 72 73 installPhase = '' 74 runHook preInstall 75 76 install -m755 -Dt $out/bin iaito 77 install -m644 -Dt $out/share/metainfo ../org.radare.iaito.appdata.xml 78 install -m644 -Dt $out/share/applications ../org.radare.iaito.desktop 79 install -m644 -Dt $out/share/pixmaps ../img/org.radare.iaito.svg 80 81 pushd ../../../${translations_src.name} 82 make install -j$NIX_BUILD_CORES PREFIX=$out 83 popd 84 85 runHook postInstall 86 ''; 87 88 meta = with lib; { 89 description = "Official Qt frontend of radare2"; 90 longDescription = '' 91 iaito is the official graphical interface for radare2, a libre reverse 92 engineering framework. 93 ''; 94 homepage = "https://radare.org/n/iaito.html"; 95 changelog = "https://github.com/radareorg/iaito/releases/tag/${finalAttrs.version}"; 96 license = licenses.gpl3Only; 97 maintainers = with maintainers; [ azahi ]; 98 mainProgram = "iaito"; 99 platforms = platforms.linux; 100 }; 101})