ghidra: chore run nixfmt-rfc-style on ghidra dir

authored by vringar and committed by Emily Trau 57a7c134 acc5bfc3

+177 -133
+78 -57
pkgs/tools/security/ghidra/build-extension.nix
··· 1 - { lib 2 - , stdenv 3 - , unzip 4 - , jdk 5 - , gradle 6 - , ghidra 1 + { 2 + lib, 3 + stdenv, 4 + unzip, 5 + jdk, 6 + gradle, 7 + ghidra, 7 8 }: 8 9 9 10 let 10 - metaCommon = oldMeta: 11 - oldMeta // (with lib; { 12 - maintainers = (oldMeta.maintainers or []) ++ (with maintainers; [ vringar ]); 11 + metaCommon = 12 + oldMeta: 13 + oldMeta 14 + // (with lib; { 15 + maintainers = (oldMeta.maintainers or [ ]) ++ (with maintainers; [ vringar ]); 13 16 platforms = oldMeta.platforms or ghidra.meta.platforms; 14 17 }); 15 18 16 - buildGhidraExtension = { 17 - pname, nativeBuildInputs ? [], meta ? { }, ... 18 - }@args: 19 - stdenv.mkDerivation (args // { 20 - nativeBuildInputs = nativeBuildInputs ++ [ 21 - unzip 22 - jdk 23 - gradle 24 - ]; 19 + buildGhidraExtension = 20 + { 21 + pname, 22 + nativeBuildInputs ? [ ], 23 + meta ? { }, 24 + ... 25 + }@args: 26 + stdenv.mkDerivation ( 27 + args 28 + // { 29 + nativeBuildInputs = nativeBuildInputs ++ [ 30 + unzip 31 + jdk 32 + gradle 33 + ]; 25 34 26 - preBuild = '' 27 - # Set project name, otherwise defaults to directory name 28 - echo -e '\nrootProject.name = "${pname}"' >> settings.gradle 29 - # A config directory needs to exist when ghidra's GHelpBuilder is run 30 - export XDG_CONFIG_HOME="''${XDG_CONFIG_HOME:-$(mktemp -d)}" 31 - ${args.preBuild or ""} 32 - ''; 35 + preBuild = '' 36 + # Set project name, otherwise defaults to directory name 37 + echo -e '\nrootProject.name = "${pname}"' >> settings.gradle 38 + # A config directory needs to exist when ghidra's GHelpBuilder is run 39 + export XDG_CONFIG_HOME="''${XDG_CONFIG_HOME:-$(mktemp -d)}" 40 + ${args.preBuild or ""} 41 + ''; 33 42 34 - # Needed to run gradle on darwin 35 - __darwinAllowLocalNetworking = true; 43 + # Needed to run gradle on darwin 44 + __darwinAllowLocalNetworking = true; 36 45 37 - gradleBuildTask = args.gradleBuildTask or "buildExtension"; 38 - gradleFlags = args.gradleFlags or [ ] ++ [ "-PGHIDRA_INSTALL_DIR=${ghidra}/lib/ghidra" ]; 46 + gradleBuildTask = args.gradleBuildTask or "buildExtension"; 47 + gradleFlags = args.gradleFlags or [ ] ++ [ "-PGHIDRA_INSTALL_DIR=${ghidra}/lib/ghidra" ]; 39 48 40 - installPhase = args.installPhase or '' 41 - runHook preInstall 49 + installPhase = 50 + args.installPhase or '' 51 + runHook preInstall 42 52 43 - mkdir -p $out/lib/ghidra/Ghidra/Extensions 44 - unzip -d $out/lib/ghidra/Ghidra/Extensions dist/*.zip 53 + mkdir -p $out/lib/ghidra/Ghidra/Extensions 54 + unzip -d $out/lib/ghidra/Ghidra/Extensions dist/*.zip 45 55 46 - runHook postInstall 47 - ''; 56 + runHook postInstall 57 + ''; 48 58 49 - meta = metaCommon meta; 50 - }); 59 + meta = metaCommon meta; 60 + } 61 + ); 51 62 52 - buildGhidraScripts = { pname, meta ? { }, ... }@args: 53 - stdenv.mkDerivation (args // { 54 - installPhase = '' 55 - runHook preInstall 63 + buildGhidraScripts = 64 + { 65 + pname, 66 + meta ? { }, 67 + ... 68 + }@args: 69 + stdenv.mkDerivation ( 70 + args 71 + // { 72 + installPhase = '' 73 + runHook preInstall 56 74 57 - GHIDRA_HOME=$out/lib/ghidra/Ghidra/Extensions/${pname} 58 - mkdir -p $GHIDRA_HOME 59 - cp -r . $GHIDRA_HOME/ghidra_scripts 75 + GHIDRA_HOME=$out/lib/ghidra/Ghidra/Extensions/${pname} 76 + mkdir -p $GHIDRA_HOME 77 + cp -r . $GHIDRA_HOME/ghidra_scripts 60 78 61 - touch $GHIDRA_HOME/Module.manifest 62 - cat <<'EOF' > extension.properties 63 - name=${pname} 64 - description=${meta.description or ""} 65 - author= 66 - createdOn= 67 - version=${lib.getVersion ghidra} 79 + touch $GHIDRA_HOME/Module.manifest 80 + cat <<'EOF' > extension.properties 81 + name=${pname} 82 + description=${meta.description or ""} 83 + author= 84 + createdOn= 85 + version=${lib.getVersion ghidra} 68 86 69 - EOF 87 + EOF 70 88 71 - runHook postInstall 72 - ''; 89 + runHook postInstall 90 + ''; 73 91 74 - meta = metaCommon meta; 75 - }); 92 + meta = metaCommon meta; 93 + } 94 + ); 76 95 in 77 - { inherit buildGhidraExtension buildGhidraScripts; } 96 + { 97 + inherit buildGhidraExtension buildGhidraScripts; 98 + }
+22 -14
pkgs/tools/security/ghidra/default.nix
··· 1 - { stdenv 2 - , fetchzip 3 - , lib 4 - , makeWrapper 5 - , autoPatchelfHook 6 - , openjdk17 7 - , pam 8 - , makeDesktopItem 9 - , icoutils 1 + { 2 + stdenv, 3 + fetchzip, 4 + lib, 5 + makeWrapper, 6 + autoPatchelfHook, 7 + openjdk17, 8 + pam, 9 + makeDesktopItem, 10 + icoutils, 10 11 }: 11 12 12 13 let ··· 24 25 startupWMClass = "ghidra-Ghidra"; 25 26 }; 26 27 27 - in stdenv.mkDerivation rec { 28 + in 29 + stdenv.mkDerivation rec { 28 30 pname = "ghidra"; 29 31 version = "10.4"; 30 32 versiondate = "20230928"; ··· 37 39 nativeBuildInputs = [ 38 40 makeWrapper 39 41 icoutils 40 - ] 41 - ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ]; 42 + ] ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ]; 42 43 43 44 buildInputs = [ 44 45 stdenv.cc.cc.lib ··· 74 75 description = "Software reverse engineering (SRE) suite of tools developed by NSA's Research Directorate in support of the Cybersecurity mission"; 75 76 mainProgram = "ghidra"; 76 77 homepage = "https://github.com/NationalSecurityAgency/ghidra"; 77 - platforms = [ "x86_64-linux" "x86_64-darwin" ]; 78 + platforms = [ 79 + "x86_64-linux" 80 + "x86_64-darwin" 81 + ]; 78 82 sourceProvenance = with sourceTypes; [ binaryBytecode ]; 79 83 license = licenses.asl20; 80 - maintainers = with maintainers; [ ck3d govanify mic92 ]; 84 + maintainers = with maintainers; [ 85 + ck3d 86 + govanify 87 + mic92 88 + ]; 81 89 }; 82 90 83 91 }
+10 -2
pkgs/tools/security/ghidra/extensions.nix
··· 1 - { lib, newScope, callPackage, ghidra }: 1 + { 2 + lib, 3 + newScope, 4 + callPackage, 5 + ghidra, 6 + }: 2 7 3 8 lib.makeScope newScope (self: { 4 - inherit (callPackage ./build-extension.nix { inherit ghidra; }) buildGhidraExtension buildGhidraScripts; 9 + inherit (callPackage ./build-extension.nix { inherit ghidra; }) 10 + buildGhidraExtension 11 + buildGhidraScripts 12 + ; 5 13 6 14 ghidraninja-ghidra-scripts = self.callPackage ./extensions/ghidraninja-ghidra-scripts { }; 7 15
+7 -6
pkgs/tools/security/ghidra/extensions/ghidraninja-ghidra-scripts/default.nix
··· 1 - { lib 2 - , fetchFromGitHub 3 - , buildGhidraScripts 4 - , binwalk 5 - , swift 6 - , yara 1 + { 2 + lib, 3 + fetchFromGitHub, 4 + buildGhidraScripts, 5 + binwalk, 6 + swift, 7 + yara, 7 8 }: 8 9 9 10 buildGhidraScripts {
+14 -17
pkgs/tools/security/ghidra/extensions/gnudisassembler/default.nix
··· 1 - { lib 2 - , stdenv 3 - , fetchurl 4 - , buildGhidraExtension 5 - , ghidra 6 - , flex 7 - , bison 8 - , texinfo 9 - , perl 10 - , zlib 11 - , xcbuild 1 + { 2 + lib, 3 + stdenv, 4 + fetchurl, 5 + buildGhidraExtension, 6 + ghidra, 7 + flex, 8 + bison, 9 + texinfo, 10 + perl, 11 + zlib, 12 + xcbuild, 12 13 }: 13 14 14 15 let ··· 41 42 bison 42 43 texinfo 43 44 perl 44 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ 45 - xcbuild 46 - ]; 45 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ]; 47 46 48 - buildInputs = [ 49 - zlib 50 - ]; 47 + buildInputs = [ zlib ]; 51 48 gradleBuildTask = "assemble"; 52 49 53 50 installPhase = ''
+5 -4
pkgs/tools/security/ghidra/extensions/machinelearning/default.nix
··· 1 - { lib 2 - , buildGhidraExtension 3 - , ghidra 1 + { 2 + lib, 3 + buildGhidraExtension, 4 + ghidra, 4 5 }: 5 6 6 7 buildGhidraExtension { ··· 28 29 downloadPage = "https://github.com/NationalSecurityAgency/ghidra/tree/master/Ghidra/Extensions/MachineLearning"; 29 30 sourceProvenance = with sourceTypes; [ 30 31 fromSource 31 - binaryBytecode # deps 32 + binaryBytecode # deps 32 33 ]; 33 34 }; 34 35 }
+6 -5
pkgs/tools/security/ghidra/extensions/sleighdevtools/default.nix
··· 1 - { lib 2 - , buildGhidraExtension 3 - , ghidra 4 - , python3 1 + { 2 + lib, 3 + buildGhidraExtension, 4 + ghidra, 5 + python3, 5 6 }: 6 7 7 8 buildGhidraExtension { ··· 34 35 downloadPage = "https://github.com/NationalSecurityAgency/ghidra/tree/master/Ghidra/Extensions/SleighDevTools"; 35 36 sourceProvenance = with sourceTypes; [ 36 37 fromSource 37 - binaryBytecode # deps 38 + binaryBytecode # deps 38 39 ]; 39 40 }; 40 41 }
+35 -28
pkgs/tools/security/ghidra/with-extensions.nix
··· 1 - { lib 2 - , stdenv 3 - , callPackage 4 - , symlinkJoin 5 - , makeBinaryWrapper 6 - , desktopToDarwinBundle 7 - , ghidra 1 + { 2 + lib, 3 + stdenv, 4 + callPackage, 5 + symlinkJoin, 6 + makeBinaryWrapper, 7 + desktopToDarwinBundle, 8 + ghidra, 8 9 }: 9 10 10 11 let 11 12 ghidra-extensions = callPackage ./extensions.nix { inherit ghidra; }; 12 13 allExtensions = lib.filterAttrs (n: pkg: lib.isDerivation pkg) ghidra-extensions; 13 14 14 - /* Make Ghidra with additional extensions 15 - Example: 16 - pkgs.ghidra.withExtensions (p: with p; [ 17 - ghostrings 18 - ]); 19 - => /nix/store/3yn0rbnz5mbrxf0x70jbjq73wgkszr5c-ghidra-with-extensions-10.2.2 15 + /* 16 + Make Ghidra with additional extensions 17 + Example: 18 + pkgs.ghidra.withExtensions (p: with p; [ 19 + ghostrings 20 + ]); 21 + => /nix/store/3yn0rbnz5mbrxf0x70jbjq73wgkszr5c-ghidra-with-extensions-10.2.2 20 22 */ 21 - withExtensions = f: (symlinkJoin { 22 - name = "${ghidra.pname}-with-extensions-${lib.getVersion ghidra}"; 23 - paths = (f allExtensions); 24 - nativeBuildInputs = [ makeBinaryWrapper ] 25 - ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; 26 - postBuild = '' 27 - makeWrapper '${ghidra}/bin/ghidra' "$out/bin/ghidra" \ 28 - --set NIX_GHIDRAHOME "$out/lib/ghidra/Ghidra" 29 - ln -s ${ghidra}/share $out/share 30 - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' 31 - convertDesktopFiles $prefix 32 - ''; 33 - inherit (ghidra) meta; 34 - }); 23 + withExtensions = 24 + f: 25 + (symlinkJoin { 26 + name = "${ghidra.pname}-with-extensions-${lib.getVersion ghidra}"; 27 + paths = (f allExtensions); 28 + nativeBuildInputs = [ 29 + makeBinaryWrapper 30 + ] ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; 31 + postBuild = 32 + '' 33 + makeWrapper '${ghidra}/bin/ghidra' "$out/bin/ghidra" \ 34 + --set NIX_GHIDRAHOME "$out/lib/ghidra/Ghidra" 35 + ln -s ${ghidra}/share $out/share 36 + '' 37 + + lib.optionalString stdenv.hostPlatform.isDarwin '' 38 + convertDesktopFiles $prefix 39 + ''; 40 + inherit (ghidra) meta; 41 + }); 35 42 in 36 - withExtensions 43 + withExtensions