From 5e75323f90ddc3dd1f98073b3fd18203a8a12667 Mon Sep 17 00:00:00 2001 From: willemml Date: Mon, 24 Apr 2023 10:06:28 -0700 Subject: [PATCH] iaito and radare --- flake-parts/packages.nix | 1 + .../modules/profiles/user/willem/packages.nix | 2 + .../user/willem/programs/emacs/default.nix | 2 + packages/default.nix | 1 + packages/iaito.nix | 94 +++++++++++++++++++ 5 files changed, 100 insertions(+) create mode 100644 packages/iaito.nix diff --git a/flake-parts/packages.nix b/flake-parts/packages.nix index 03ff9be..c2ac936 100644 --- a/flake-parts/packages.nix +++ b/flake-parts/packages.nix @@ -24,6 +24,7 @@ darwin-zsh-completions firefox-mac freecad-mac + iaito org-auctex pinentry-mac pinentry-touchid diff --git a/home-manager/modules/profiles/user/willem/packages.nix b/home-manager/modules/profiles/user/willem/packages.nix index 95f9125..20b8a1e 100644 --- a/home-manager/modules/profiles/user/willem/packages.nix +++ b/home-manager/modules/profiles/user/willem/packages.nix @@ -89,6 +89,7 @@ in { gnuplot graphviz htop + iaito jq mu nix-review @@ -104,6 +105,7 @@ in { poppler pv python-wp + radare2 ripgrep rnix-lsp rsync diff --git a/home-manager/modules/profiles/user/willem/programs/emacs/default.nix b/home-manager/modules/profiles/user/willem/programs/emacs/default.nix index f794b27..2ebe8e8 100644 --- a/home-manager/modules/profiles/user/willem/programs/emacs/default.nix +++ b/home-manager/modules/profiles/user/willem/programs/emacs/default.nix @@ -3,6 +3,7 @@ pkgs, ... }: let + aspellPackage = pkgs.aspellWithDicts (d: [d.en d.en-science d.en-computers d.fr]); emacsPackage = (pkgs.emacsPackagesFor pkgs.emacsGit).emacsWithPackages (epkgs: @@ -113,6 +114,7 @@ yasnippet ]) ++ (with pkgs; [ + aspellPackage gnuplot plantuml sqlite diff --git a/packages/default.nix b/packages/default.nix index 10935bc..4f70539 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -3,6 +3,7 @@ _final: prev: { darwin-zsh-completions = prev.callPackage ./darwin-zsh-completions.nix {}; firefox-mac = prev.callPackage ./firefox-mac.nix {}; freecad-mac = prev.callPackage ./freecad-mac.nix {}; + iaito = prev.libsForQt5.callPackage ./iaito.nix {}; mkMacBinPackage = import ./mk-mac-binpkg.nix prev; org-auctex = prev.callPackage ./org-auctex.nix {}; pinentry-mac = prev.callPackage ./pinentry-mac.nix {}; diff --git a/packages/iaito.nix b/packages/iaito.nix new file mode 100644 index 0000000..16875d0 --- /dev/null +++ b/packages/iaito.nix @@ -0,0 +1,94 @@ +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + python3, + qtbase, + qtsvg, + qttools, + radare2, + wrapQtAppsHook, +}: +stdenv.mkDerivation rec { + pname = "iaito"; + version = "5.8.4"; + + srcs = [ + (fetchFromGitHub rec { + owner = "radareorg"; + repo = "iaito"; + rev = version; + hash = "sha256-pt2vq+JN+Ccv+9o8s2y87xTVeQp2WJ0UfKdoWGsBkUI="; + name = repo; + }) + (fetchFromGitHub rec { + owner = "radareorg"; + repo = "iaito-translations"; + rev = "e66b3a962a7fc7dfd730764180011ecffbb206bf"; + hash = "sha256-6NRTZ/ydypsB5TwbivvwOH9TEMAff/LH69hCXTvMPp8="; + name = repo; + }) + ]; + sourceRoot = "iaito/src"; + + postUnpack = '' + chmod -R u+w iaito-translations + ''; + + postPatch = '' + substituteInPlace common/ResourcePaths.cpp \ + --replace "/app/share/iaito/translations" "$out/share/iaito/translations" + ''; + + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + qttools + wrapQtAppsHook + ]; + + buildInputs = [ + qtbase + qtsvg + radare2 + ]; + + postBuild = '' + pushd ../../../iaito-translations + make build PREFIX=$out + popd + ''; + + installPhase = '' + runHook preInstall + + install -m755 -Dt $out/bin iaito + install -m644 -Dt $out/share/metainfo ../org.radare.iaito.appdata.xml + install -m644 -Dt $out/share/applications ../org.radare.iaito.desktop + install -m644 -Dt $out/share/pixmaps ../img/iaito-o.svg + + pushd ../../../iaito-translations + make install PREFIX=$out -j$NIX_BUILD_CORES + popd + + runHook postInstall + ''; + + meta = with lib; { + description = "An official graphical interface of radare2"; + longDescription = '' + iaito is the official graphical interface of radare2. It's the + continuation of Cutter for radare2 after the Rizin fork. + ''; + homepage = "https://radare.org/n/iaito.html"; + changelog = "https://github.com/radareorg/iaito/releases/tag/${version}"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [azahi]; + platforms = platforms.all; + }; +}