Compare commits
48 Commits
wip/nixos-
...
main
Author | SHA1 | Date |
---|---|---|
|
3a44be91fc | |
|
061827e9ed | |
|
6d197a9919 | |
|
9d42d525a8 | |
|
26d03f13e2 | |
|
5fb85e43b3 | |
|
bce039f350 | |
|
b1cdaa01d5 | |
|
aa8b70931c | |
|
e713eac6e6 | |
|
0aa0881377 | |
|
b7dc1853a5 | |
|
280bc961ac | |
|
9ba5dff3bc | |
|
cedb775069 | |
|
3f470a0965 | |
|
47b498ae18 | |
|
632f39f8a7 | |
|
4e666a5da8 | |
|
08ca2a385e | |
|
b9ca97e9d4 | |
|
aea392119f | |
|
452713ca55 | |
|
8560bebc33 | |
|
988ab7b6aa | |
|
50a9bd8c9c | |
|
38d97f6325 | |
|
f090b5ba0a | |
|
83f7f964d1 | |
|
86118da49d | |
|
5364802b05 | |
|
e13deba11f | |
|
d9acff1fa1 | |
|
2772028078 | |
|
113bc45dd7 | |
|
a66cf9784a | |
|
8a7924eec1 | |
|
6b4734f62a | |
|
8cc37b204b | |
|
5b50a91cb5 | |
|
0a6e9704e6 | |
|
a00041da5f | |
|
a81c912fef | |
|
93e5969f57 | |
|
25abcac448 | |
|
50d9159ec9 | |
|
3e8347b65d | |
|
dfcb303eef |
|
@ -16,16 +16,16 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1756617294,
|
||||
"narHash": "sha256-aGnd4AHIYCWQKChAkHPpX+YYCt7pA6y2LFFA/s8q0wQ=",
|
||||
"lastModified": 1757745802,
|
||||
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b4c2c57c31e68544982226d07e4719a2d86302a8",
|
||||
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.05",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
14
flake.nix
14
flake.nix
|
@ -2,7 +2,7 @@
|
|||
description = "dragnpkgs together with nixpkgs and lix";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
lix-module = {
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-2.tar.gz";
|
||||
|
@ -28,18 +28,18 @@
|
|||
# self reference in the registry to be downloadable by URL in case it makes it into a
|
||||
# flake.lock
|
||||
meta.registry-entry = {
|
||||
from = { id = "dragnpkgs"; type = "indirect"; };
|
||||
from = { id = "dragnpkgs-unstable"; type = "indirect"; };
|
||||
to = {
|
||||
type = "git";
|
||||
url = "https://git.lain.faith/haskal/dragnpkgs.git";
|
||||
ref = "nixos-25.05";
|
||||
ref = "main";
|
||||
} // self.lib.filterAttrs
|
||||
(n: _: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash")
|
||||
self;
|
||||
};
|
||||
|
||||
# the nix path entry for self
|
||||
meta.path-entry = "dragnpkgs=flake:dragnpkgs";
|
||||
meta.path-entry = "dragnpkgs-unstable=flake:dragnpkgs-unstable";
|
||||
|
||||
lib = (lib-base.extend (import ./lib/overlay.nix)).extend (final: prev: {
|
||||
# initializes regular upstream nixpkgs with the given arguments
|
||||
|
@ -154,17 +154,17 @@
|
|||
};
|
||||
};
|
||||
|
||||
config.nix.registry.dragnpkgs =
|
||||
config.nix.registry.dragnpkgs-unstable =
|
||||
lib.mkIf config.dragnpkgs.setFlakeRegistry self.meta.registry-entry;
|
||||
|
||||
config.nix.registry.nixpkgs = lib.mkIf config.dragnpkgs.setNixpkgsFlakeAlias {
|
||||
from = { id = "nixpkgs"; type = "indirect"; };
|
||||
to = { id = "dragnpkgs"; type = "indirect"; };
|
||||
to = { id = "dragnpkgs-unstable"; type = "indirect"; };
|
||||
};
|
||||
|
||||
config.nix.registry.templates = lib.mkIf config.dragnpkgs.setTemplatesFlakeAlias {
|
||||
from = { id = "templates"; type = "indirect"; };
|
||||
to = { id = "dragnpkgs"; type = "indirect"; };
|
||||
to = { id = "dragnpkgs-unstable"; type = "indirect"; };
|
||||
};
|
||||
|
||||
config.nix.nixPath = lib.mkIf config.dragnpkgs.setNixPath [
|
||||
|
|
|
@ -259,6 +259,7 @@ in {
|
|||
# game state
|
||||
|
||||
PrivateTmp = true;
|
||||
CacheDirectory = "satisfactory";
|
||||
|
||||
TemporaryFileSystem = [
|
||||
"${cfg.directory}:ro"
|
||||
|
@ -268,7 +269,7 @@ in {
|
|||
];
|
||||
BindPaths = [
|
||||
"${cfg.directory}/saves:${cfg.directory}/.config/Epic"
|
||||
"/var/tmp:${cfg.directory}/server/FactoryGame/Intermediate"
|
||||
"/var/cache/satisfactory:${cfg.directory}/server/FactoryGame/Intermediate"
|
||||
"${cfg.directory}/settings/game:${cfg.directory}/server/FactoryGame/Saved"
|
||||
"${cfg.directory}/settings/engine:${cfg.directory}/server/Engine/Saved"
|
||||
] ++ lib.optionals (cfg.useACMEHost != null) [
|
||||
|
|
|
@ -46,8 +46,6 @@ final: prev: {
|
|||
};
|
||||
};
|
||||
|
||||
# temporary upgrade so we can actually download satisfactory
|
||||
depotdownloader = prev.callPackage ./pkgs/temp/depotdownloader {};
|
||||
outer-wilds-text-adventure = prev.callPackage ./pkgs/games/outer-wilds-text-adventure {};
|
||||
satisfactory-dedicated-server = prev.callPackage ./pkgs/games/satisfactory-dedicated-server {};
|
||||
|
||||
|
|
|
@ -1,18 +1,5 @@
|
|||
From be4c852769e260e3a9b516bb5626a6a6a68a2cd3 Mon Sep 17 00:00:00 2001
|
||||
From: roblabla <unfiltered@roblab.la>
|
||||
Date: Wed, 31 Jan 2024 13:19:55 +0100
|
||||
Subject: [PATCH] Use com.google.protobuf:protobuf-gradle-plugin
|
||||
|
||||
---
|
||||
Ghidra/Debug/Debugger-isf/build.gradle | 8 +-
|
||||
Ghidra/Debug/Debugger-rmi-trace/build.gradle | 16 ++--
|
||||
build.gradle | 6 ++
|
||||
gradle/hasProtobuf.gradle | 94 --------------------
|
||||
4 files changed, 22 insertions(+), 102 deletions(-)
|
||||
delete mode 100644 gradle/hasProtobuf.gradle
|
||||
|
||||
diff --git a/Ghidra/Debug/Debugger-isf/build.gradle b/Ghidra/Debug/Debugger-isf/build.gradle
|
||||
index f6c8464405..396b52d188 100644
|
||||
index 2db94ed67e..925f394cf0 100644
|
||||
--- a/Ghidra/Debug/Debugger-isf/build.gradle
|
||||
+++ b/Ghidra/Debug/Debugger-isf/build.gradle
|
||||
@@ -18,11 +18,17 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
|
||||
|
@ -32,10 +19,10 @@ index f6c8464405..396b52d188 100644
|
|||
+}
|
||||
+
|
||||
dependencies {
|
||||
api project(':Framework-AsyncComm')
|
||||
api project(':ProposedUtils')
|
||||
}
|
||||
diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
||||
index 8b6589f035..05da5a7a7e 100644
|
||||
index 4fa3b9a539..2663aeaeb0 100644
|
||||
--- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
||||
+++ b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
||||
@@ -19,12 +19,17 @@ apply from: "${rootProject.projectDir}/gradle/helpProject.gradle"
|
||||
|
@ -56,25 +43,27 @@ index 8b6589f035..05da5a7a7e 100644
|
|||
+}
|
||||
+
|
||||
dependencies {
|
||||
api project(':ProposedUtils')
|
||||
api project(':Pty')
|
||||
api project(':Debugger')
|
||||
@@ -44,12 +49,9 @@ task generateProtoPy {
|
||||
ext.outdir = file("build/generated/source/proto/main/py")
|
||||
outputs.dir(outdir)
|
||||
inputs.files(src)
|
||||
@@ -37,13 +42,10 @@ dependencies {
|
||||
}
|
||||
|
||||
task configureGenerateProtoPy {
|
||||
- dependsOn(configurations.protocArtifact)
|
||||
+ dependsOn(protobuf.generateProtoTasks.all())
|
||||
doLast {
|
||||
|
||||
- doLast {
|
||||
- def exe = configurations.protocArtifact.first()
|
||||
- if (!isCurrentWindows()) {
|
||||
- exe.setExecutable(true)
|
||||
- }
|
||||
+ doLast {
|
||||
+ def exe = protobuf.tools.protoc.path
|
||||
exec {
|
||||
commandLine exe, "--python_out=$outdir", "-I$srcdir"
|
||||
args src
|
||||
generateProtoPy.commandLine exe
|
||||
generateProtoPy.args "--python_out=${generateProtoPy.outdir}"
|
||||
generateProtoPy.args "--pyi_out=${generateProtoPy.stubsOutdir}"
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 2d75307a08..aa8f1d7604 100644
|
||||
index 159eb7dd7b..ef4add1ad8 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -80,6 +80,12 @@ if (flatRepo.isDirectory()) {
|
||||
|
@ -92,19 +81,19 @@ index 2d75307a08..aa8f1d7604 100644
|
|||
else {
|
||||
diff --git a/gradle/hasProtobuf.gradle b/gradle/hasProtobuf.gradle
|
||||
deleted file mode 100644
|
||||
index 23b4ce74bb..0000000000
|
||||
index a8c176bcbe..0000000000
|
||||
--- a/gradle/hasProtobuf.gradle
|
||||
+++ /dev/null
|
||||
@@ -1,94 +0,0 @@
|
||||
@@ -1,98 +0,0 @@
|
||||
-/* ###
|
||||
- * IP: GHIDRA
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
|
@ -157,7 +146,22 @@ index 23b4ce74bb..0000000000
|
|||
- }
|
||||
-}*/
|
||||
-
|
||||
-task generateProto {
|
||||
-task configureGenerateProto {
|
||||
- dependsOn(configurations.protocArtifact)
|
||||
-
|
||||
- doLast {
|
||||
- def exe = configurations.protocArtifact.first()
|
||||
- if (!isCurrentWindows()) {
|
||||
- exe.setExecutable(true)
|
||||
- }
|
||||
- generateProto.commandLine exe, "--java_out=${generateProto.outdir}", "-I${generateProto.srcdir}"
|
||||
- generateProto.args generateProto.src
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-// Can't use providers.exec, or else we see no output
|
||||
-task generateProto(type:Exec) {
|
||||
- dependsOn(configureGenerateProto)
|
||||
- ext.srcdir = file("src/main/proto")
|
||||
- ext.src = fileTree(srcdir) {
|
||||
- include "**/*.proto"
|
||||
|
@ -165,17 +169,6 @@ index 23b4ce74bb..0000000000
|
|||
- ext.outdir = file("build/generated/source/proto/main/java")
|
||||
- outputs.dir(outdir)
|
||||
- inputs.files(src)
|
||||
- dependsOn(configurations.protocArtifact)
|
||||
- doLast {
|
||||
- def exe = configurations.protocArtifact.first()
|
||||
- if (!isCurrentWindows()) {
|
||||
- exe.setExecutable(true)
|
||||
- }
|
||||
- exec {
|
||||
- commandLine exe, "--java_out=$outdir", "-I$srcdir"
|
||||
- args src
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-tasks.compileJava.dependsOn(tasks.generateProto)
|
||||
|
@ -190,6 +183,3 @@ index 23b4ce74bb..0000000000
|
|||
- }
|
||||
-}
|
||||
-zipSourceSubproject.dependsOn generateProto
|
||||
--
|
||||
2.47.0
|
||||
|
||||
|
|
|
@ -21,16 +21,17 @@ let
|
|||
platforms = oldMeta.platforms or ghidra.meta.platforms;
|
||||
};
|
||||
|
||||
buildGhidraExtension =
|
||||
{
|
||||
pname,
|
||||
nativeBuildInputs ? [ ],
|
||||
meta ? { },
|
||||
...
|
||||
}@args:
|
||||
stdenv.mkDerivation (
|
||||
args
|
||||
// {
|
||||
buildGhidraExtension = lib.extendMkDerivation {
|
||||
constructDrv = stdenv.mkDerivation;
|
||||
extendDrvArgs =
|
||||
finalAttrs:
|
||||
{
|
||||
pname,
|
||||
nativeBuildInputs ? [ ],
|
||||
meta ? { },
|
||||
...
|
||||
}@args:
|
||||
{
|
||||
nativeBuildInputs = nativeBuildInputs ++ [
|
||||
unzip
|
||||
jdk
|
||||
|
@ -58,22 +59,28 @@ let
|
|||
mkdir -p $out/lib/ghidra/Ghidra/Extensions
|
||||
unzip -d $out/lib/ghidra/Ghidra/Extensions dist/*.zip
|
||||
|
||||
# Prevent attempted creation of plugin lock files in the Nix store.
|
||||
for i in $out/lib/ghidra/Ghidra/Extensions/*; do
|
||||
touch "$i/.dbDirLock"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = metaCommon meta;
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
buildGhidraScripts =
|
||||
{
|
||||
pname,
|
||||
meta ? { },
|
||||
...
|
||||
}@args:
|
||||
stdenv.mkDerivation (
|
||||
args
|
||||
// {
|
||||
buildGhidraScripts = lib.extendMkDerivation {
|
||||
constructDrv = stdenv.mkDerivation;
|
||||
extendDrvArgs =
|
||||
finalAttrs:
|
||||
{
|
||||
pname,
|
||||
meta ? { },
|
||||
...
|
||||
}@args:
|
||||
{
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
|
@ -95,8 +102,8 @@ let
|
|||
'';
|
||||
|
||||
meta = metaCommon meta;
|
||||
}
|
||||
);
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
inherit buildGhidraExtension buildGhidraScripts;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
let
|
||||
pname = "ghidra";
|
||||
version = "11.3.2";
|
||||
version = "11.4.2";
|
||||
|
||||
isMacArm64 = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
|
||||
|
||||
|
@ -29,7 +29,7 @@ let
|
|||
owner = "NationalSecurityAgency";
|
||||
repo = "Ghidra";
|
||||
rev = "Ghidra_${version}_build";
|
||||
hash = "sha256-EvIOC/VIUaEl7eneVzgEt2fhLSP9DaawMAutk4ouFp8=";
|
||||
hash = "sha256-/veSp2WuGOF0cYwUC4QFJD6kaMae5NuKrQ5Au4LjDe8=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
@ -251,23 +251,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
;
|
||||
|
||||
withExtensions = callPackage ./with-extensions.nix { ghidra = finalAttrs.finalPackage; };
|
||||
|
||||
pythonPackages = rec {
|
||||
ghidratrace = python3Packages.callPackage ./python/ghidratrace.nix {
|
||||
ghidra = finalAttrs.finalPackage;
|
||||
};
|
||||
ghidragdb = python3Packages.callPackage ./python/ghidragdb.nix {
|
||||
ghidra = finalAttrs.finalPackage;
|
||||
inherit ghidratrace;
|
||||
};
|
||||
ghidralldb = python3Packages.callPackage ./python/ghidralldb.nix {
|
||||
ghidra = finalAttrs.finalPackage;
|
||||
inherit ghidratrace;
|
||||
};
|
||||
pyghidra = python3Packages.callPackage ./python/pyghidra.nix {
|
||||
ghidra = finalAttrs.finalPackage;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -286,6 +269,10 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
binaryBytecode # deps
|
||||
];
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [
|
||||
roblabla
|
||||
vringar
|
||||
];
|
||||
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
|
||||
};
|
||||
})
|
||||
|
|
|
@ -99,11 +99,14 @@
|
|||
}
|
||||
},
|
||||
"https://ftp.postgresql.org": {
|
||||
"pub/source/v15.10/postgresql-15.10": {
|
||||
"tar.gz": "sha256-FzNmYFJZqD3BicQyf/TDclSv7WW0+GbL2KXvLqRJ6PM="
|
||||
"pub/source/v15.13/postgresql-15.13": {
|
||||
"tar.gz": "sha256-r9wisKblvse2VyN1a5DUTqkR5hsvewHE3FUkq4E7TYk="
|
||||
}
|
||||
},
|
||||
"https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_11.3.2": {
|
||||
"https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_11.4.2": {
|
||||
"Debugger/dbgmodel": {
|
||||
"tlb": "sha256-jPXzouuBFgqjSQVqXKTCxyaxtumL8wl81BNRRxYzQ8c="
|
||||
},
|
||||
"FunctionID/vs2012_x64": {
|
||||
"fidb": "sha256-1OmKs/eQuDF5MhhDC7oNiySl+/TaZbDB/6jLDPvrDNw="
|
||||
},
|
||||
|
@ -283,6 +286,10 @@
|
|||
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
|
||||
"pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA="
|
||||
},
|
||||
"commons-codec#commons-codec/1.18.0": {
|
||||
"jar": "sha256-ugBfMEzvkqPe3iSjitWsm4r8zw2PdYOdbBM4Y0z39uQ=",
|
||||
"pom": "sha256-dLkW2ksDhMYZ5t1MGN7+iqQ4f3lSBSU8+0u7L0WM3c4="
|
||||
},
|
||||
"commons-collections#commons-collections/3.2.2": {
|
||||
"jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=",
|
||||
"pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws="
|
||||
|
@ -291,6 +298,10 @@
|
|||
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
|
||||
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
|
||||
},
|
||||
"commons-io#commons-io/2.19.0": {
|
||||
"jar": "sha256-gkJokZtLYvn0DwjFQ4HeWZOwePWGZ+My0XNIrgGdcrk=",
|
||||
"pom": "sha256-VCt6UC7WGVDRuDEStRsWF9NAfjpN9atWqY12Dg+MWVA="
|
||||
},
|
||||
"commons-lang#commons-lang/2.6": {
|
||||
"jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=",
|
||||
"pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE="
|
||||
|
@ -332,9 +343,9 @@
|
|||
"jar": "sha256-/PSSLTj/hRhPHSMoMXu2CCbhTalIq9YG7j1bjGpw3r0=",
|
||||
"pom": "sha256-uIEr4lGsoTl/S2pCO/Tt06KERONFOyIDtTSTNrmVgik="
|
||||
},
|
||||
"junit#junit/4.12": {
|
||||
"jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=",
|
||||
"pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
|
||||
"junit#junit/4.13.2": {
|
||||
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
|
||||
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
|
||||
},
|
||||
"kr/motd/maven#os-maven-plugin/1.7.0": {
|
||||
"jar": "sha256-lDBTUBpCnlPRxNYhUu7BJfo2Yg4NxmtzkKiVCXz96s4=",
|
||||
|
@ -432,6 +443,9 @@
|
|||
"org/apache#apache/27": {
|
||||
"pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk="
|
||||
},
|
||||
"org/apache#apache/33": {
|
||||
"pom": "sha256-14vYUkxfg4ChkKZSVoZimpXf5RLfIRETg6bYwJI6RBU="
|
||||
},
|
||||
"org/apache#apache/7": {
|
||||
"pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU="
|
||||
},
|
||||
|
@ -443,9 +457,9 @@
|
|||
"jar": "sha256-Hfi5QwtcjtFD14FeQD4z71NxskAKrb6b2giDdi4IRtE=",
|
||||
"pom": "sha256-JxvWc4Oa9G5zr/lX4pGNS/lvWsT2xs9NW+k/0fEnHE0="
|
||||
},
|
||||
"org/apache/commons#commons-compress/1.21": {
|
||||
"jar": "sha256-auz9VFlyillWAc+gcljRMZcv/Dm0kutIvdWWV3ovJEo=",
|
||||
"pom": "sha256-Z1uwI8m+7d4yMpSZebl0Kl/qlGKApVobRi1Mp4AQiM0="
|
||||
"org/apache/commons#commons-compress/1.27.1": {
|
||||
"jar": "sha256-KT2A9UtTa3QJXc1+o88KKbv8NAJRkoEzJJX0Qg03DRY=",
|
||||
"pom": "sha256-34zBqDh9TOhCNjtyCf3G0135djg5/T/KtVig+D+dhBw="
|
||||
},
|
||||
"org/apache/commons#commons-dbcp2/2.9.0": {
|
||||
"jar": "sha256-iHcgkSxcu83/bg4h1QNJN1Vfj/xZc4Hv+Pp38zzm1k4=",
|
||||
|
@ -454,9 +468,9 @@
|
|||
"org/apache/commons#commons-lang3/3.11": {
|
||||
"pom": "sha256-mA1mXYP+0EZlE08FeOUHRCoOdQaRBzeEORsKeYhySnU="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.12.0": {
|
||||
"jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=",
|
||||
"pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo="
|
||||
"org/apache/commons#commons-lang3/3.17.0": {
|
||||
"jar": "sha256-bucx31yOWil2ocoCO2uzIOqNNTn75kyKHVy3ZRJ8M7Q=",
|
||||
"pom": "sha256-NRxuSUDpObHzMN9H9g8Tujg9uB7gCBga9UHzoqbSpWw="
|
||||
},
|
||||
"org/apache/commons#commons-lang3/3.9": {
|
||||
"pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU="
|
||||
|
@ -488,6 +502,18 @@
|
|||
"org/apache/commons#commons-parent/54": {
|
||||
"pom": "sha256-AA2Bh5UrIjcC/eKW33mVY/Nd6CznKttOe/FXNCN4++M="
|
||||
},
|
||||
"org/apache/commons#commons-parent/72": {
|
||||
"pom": "sha256-Q0Xev8dnsa6saKvdcvxn0YtSHUs5A3KhG2P/DFhrIyA="
|
||||
},
|
||||
"org/apache/commons#commons-parent/73": {
|
||||
"pom": "sha256-TtRFYLB/hEhHnf0eg6Qiuk6D5gs25RsocaxQKm1cG+o="
|
||||
},
|
||||
"org/apache/commons#commons-parent/79": {
|
||||
"pom": "sha256-Yo3zAUis08SRz8trc8euS1mJ5VJqsTovQo3qXUrRDXo="
|
||||
},
|
||||
"org/apache/commons#commons-parent/81": {
|
||||
"pom": "sha256-NI1OfBMb5hFMhUpxnOekQwenw5vTZghJd7JP0prQ7bQ="
|
||||
},
|
||||
"org/apache/commons#commons-pool2/2.11.1": {
|
||||
"jar": "sha256-6gUF7nUV5YsawOaG5NGl2ffYCOJRphvDcaoFlbmWP4M=",
|
||||
"pom": "sha256-wbsCmUpK34loDfepitujPFUnaDAUJy1liFuzA27NSMM="
|
||||
|
@ -523,17 +549,17 @@
|
|||
"org/apache/logging/log4j#log4j/2.17.1": {
|
||||
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk="
|
||||
},
|
||||
"org/bouncycastle#bcpkix-jdk15on/1.69": {
|
||||
"jar": "sha256-QIN20Xqqh4nnrNBV/kBCiaEfozX9fGinUykEn7fSjtI=",
|
||||
"pom": "sha256-WrvkytLCMJR0ZvsgmiJn48xqDTgKajGRWVnTqtm4F2w="
|
||||
"org/bouncycastle#bcpkix-jdk18on/1.80": {
|
||||
"jar": "sha256-T0umqSYX6hncGD8PpdtJLu5Cb93ioKLWyUd3/9GvZBM=",
|
||||
"pom": "sha256-pKEiETRntyjhjyb7DP1X8LGg18SlO4Zxis5wv4uG7Uc="
|
||||
},
|
||||
"org/bouncycastle#bcprov-jdk15on/1.69": {
|
||||
"jar": "sha256-5Gm9Ofk2mZ8lYAJjEAP/AioilR2p1b2Xicer+pdjopI=",
|
||||
"pom": "sha256-/YHicUSVvOeeauazAp2s0kzyz/NAJB2lgQVYlae6eN4="
|
||||
"org/bouncycastle#bcprov-jdk18on/1.80": {
|
||||
"jar": "sha256-6K0gn4xY0pGjfKl1Dp6frGBZaVbJg+Sd2Cgjgd2LMkk=",
|
||||
"pom": "sha256-oKdcdtkcQh7qVtD2Bi+49j7ff6x+xyT9QgzNytcYHUM="
|
||||
},
|
||||
"org/bouncycastle#bcutil-jdk15on/1.69": {
|
||||
"jar": "sha256-KeQOJGbQQNgqbw6ZY10LwrujqUJRz3k5zwtpMhyu/Ak=",
|
||||
"pom": "sha256-p2e8fzQtGTKJfso8i6zHAEygOAv6dSnyOpc0VJZcffw="
|
||||
"org/bouncycastle#bcutil-jdk18on/1.80": {
|
||||
"jar": "sha256-Iuymh/eVVBH0Vq8z5uqOaPxzzYDLizKqX3qLGCfXxng=",
|
||||
"pom": "sha256-Qhp95L/rnFs4sfxHxCagh9kIeJVdQQf1t6gusde3R7Y="
|
||||
},
|
||||
"org/checkerframework#checker-compat-qual/2.5.2": {
|
||||
"pom": "sha256-da9ztewybj29yUayH9RoAtXafGEsO/Hlh1N0yY1+pP0="
|
||||
|
@ -547,10 +573,10 @@
|
|||
"module": "sha256-clinadyqJrmBVNIp2FzHLls2ZrC8tjfS2vFuxJiVZjg=",
|
||||
"pom": "sha256-AjkvvUziGQH5RWFUcrHU1NNZGzqr3wExBfXJLsMstPA="
|
||||
},
|
||||
"org/checkerframework#checker-qual/3.42.0": {
|
||||
"jar": "sha256-zK7dM68LeJTZ8vO2RPTRnkOSjjKQLmGsTRB3eDD1qsc=",
|
||||
"module": "sha256-4PpiK33mPq4RBH726RtMKtDx8OE8uQP/UggKR/V6V0Y=",
|
||||
"pom": "sha256-v1/KqycvVMvPG753w72WPIIcmrrSBYcIvwvtPIdUlMo="
|
||||
"org/checkerframework#checker-qual/3.49.3": {
|
||||
"jar": "sha256-Nn7b8v6fYGwf21qLpuHJwnYlmT4f+VTjho3nC8xkFrc=",
|
||||
"module": "sha256-dv9CWNsfoaC8bOeur0coPfEGD9Q3oJvm7zxcMmnqWtM=",
|
||||
"pom": "sha256-i+QBdkYoXZFCx/sibPuARFwXfcfBNjsj2UH6bJuwXc8="
|
||||
},
|
||||
"org/codehaus#codehaus-parent/3": {
|
||||
"pom": "sha256-UOslOs0LbuBI9DLZ/Do7NiZO+z2h/6f7B/bE1LeoyjE="
|
||||
|
@ -579,6 +605,10 @@
|
|||
"jar": "sha256-YwKKfV6V7sjibuBCSxQfh+nalccYTypaSbtD371TsQQ=",
|
||||
"pom": "sha256-zMoEy/7Z60gzSM+6aexh9gvdyfPjwJJLZLsZ0cqy4s0="
|
||||
},
|
||||
"org/commonmark#commonmark-ext-gfm-tables/0.23.0": {
|
||||
"jar": "sha256-WfO2Gthywhg7guygUn14GspFThF31xmMl5WydH0XC3s=",
|
||||
"pom": "sha256-x6/bJCGgs9hFDewHWaPrfBHEqZfTlLd8VR3Bgi3S2Uk="
|
||||
},
|
||||
"org/commonmark#commonmark-ext-heading-anchor/0.23.0": {
|
||||
"jar": "sha256-7O27O1jbcgxhNXwb4boTKlweeczr4B8NPZo25VJCDL0=",
|
||||
"pom": "sha256-95zHry5Zpgc70UwPNKezU0JDO5FxqhdLYzeHRaVuASw="
|
||||
|
@ -669,9 +699,17 @@
|
|||
"jar": "sha256-EhJRcOeVUZum3IAQwHC1PHaq6StIXB43Uw5Uq13QjUM=",
|
||||
"pom": "sha256-EMo7z1F48YUH8hCmOtljeJaFM0OtHBKRoBmhFvIWpUg="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.1": {
|
||||
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
|
||||
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
|
||||
"org/junit#junit-bom/5.11.0": {
|
||||
"module": "sha256-9+2+Z/IgQnCMQQq8VHQI5cR29An1ViNqEXkiEnSi7S0=",
|
||||
"pom": "sha256-5nRZ1IgkJKxjdPQNscj0ouiJRrNAugcsgL6TKivkZE0="
|
||||
},
|
||||
"org/junit#junit-bom/5.11.0-M2": {
|
||||
"module": "sha256-hkd6vPSQ1soFmqmXPLEI0ipQb0nRpVabsyzGy/Q8LM4=",
|
||||
"pom": "sha256-Sj/8Sk7c/sLLXWGZInBqlAcWF5hXGTn4VN/ac+ThfMg="
|
||||
},
|
||||
"org/junit#junit-bom/5.11.4": {
|
||||
"module": "sha256-qaTye+lOmbnVcBYtJGqA9obSd9XTGutUgQR89R2vRuQ=",
|
||||
"pom": "sha256-GdS3R7IEgFMltjNFUylvmGViJ3pKwcteWTpeTE9eQRU="
|
||||
},
|
||||
"org/junit#junit-bom/5.7.2": {
|
||||
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
|
||||
|
@ -735,9 +773,9 @@
|
|||
"jar": "sha256-jK3UOsXrbQneBfrsyji5F6BAu5E5x+3rTMgcdAtxMoE=",
|
||||
"pom": "sha256-cimwOzCnPukQCActnkVppR2FR/roxQ9SeEGu9MGwuqg="
|
||||
},
|
||||
"org/postgresql#postgresql/42.7.3": {
|
||||
"jar": "sha256-omRMv7obqhRf9+jI71gqbu16fsTKeS9/BUEivex1Ymg=",
|
||||
"pom": "sha256-wqy2hFfZlqjkntB3flklW3RlCXZSOVHxAa25QHXhWIU="
|
||||
"org/postgresql#postgresql/42.7.6": {
|
||||
"jar": "sha256-8qHMA1LdXlxvZdut/ye+4Awy5DLGrQMNB0R/ilmDxCo=",
|
||||
"pom": "sha256-SfNzCJO2khPK99foymodjHaf9mhCHVJS3gBSvFVGp8c="
|
||||
},
|
||||
"org/python#jython-standalone/2.7.4": {
|
||||
"jar": "sha256-H7oXae/8yLGfXhBDa8gnShWM6YhVnyV5J8JMc7sTfzw=",
|
||||
|
|
|
@ -17,6 +17,8 @@ lib.makeScope newScope (self: {
|
|||
|
||||
ghidra-delinker-extension = self.callPackage ./extensions/ghidra-delinker-extension { };
|
||||
|
||||
ghidra-firmware-utils = self.callPackage ./extensions/ghidra-firmware-utils { };
|
||||
|
||||
ghidra-golanganalyzerextension = self.callPackage ./extensions/ghidra-golanganalyzerextension { };
|
||||
|
||||
ghidraninja-ghidra-scripts = self.callPackage ./extensions/ghidraninja-ghidra-scripts { };
|
||||
|
|
|
@ -3,26 +3,23 @@
|
|||
fetchFromGitHub,
|
||||
buildGhidraExtension,
|
||||
}:
|
||||
let
|
||||
version = "3.0.5";
|
||||
in
|
||||
buildGhidraExtension {
|
||||
buildGhidraExtension (finalAttrs: {
|
||||
pname = "findcrypt";
|
||||
inherit version;
|
||||
version = "3.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "antoniovazquezblanco";
|
||||
repo = "GhidraFindcrypt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-gWVYy+PWpNXlcgD83jap4IFRv66qdhloOwvpQVU2TcI=";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-KP6Wx2U8O/37yEAcV3abKg/uWraHJJOIfb7kvcfejHA=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Ghidra analysis plugin to locate cryptographic constants";
|
||||
homepage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt";
|
||||
downloadPage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${version}";
|
||||
changelog = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${version}";
|
||||
downloadPage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${finalAttrs.version}";
|
||||
changelog = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ lib.maintainers.BonusPlay ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -4,40 +4,36 @@
|
|||
gradle,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
let
|
||||
buildGhidraExtension (finalAttrs: {
|
||||
pname = "ghidra-delinker-extension";
|
||||
version = "0.5.1";
|
||||
self = buildGhidraExtension {
|
||||
pname = "ghidra-delinker-extension";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "boricj";
|
||||
repo = "ghidra-delinker-extension";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-h6F50Z7S6tPOl9mIhChLKoFxHuAkq/n36ysUEFwWGxI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace build.gradle \
|
||||
--replace-fail '"''${getGitHash()}"' '"v${version}"'
|
||||
'';
|
||||
|
||||
gradleBuildTask = "buildExtension";
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
pkg = self;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Ghidra extension for delinking executables back to object files";
|
||||
homepage = "https://github.com/boricj/ghidra-delinker-extension";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ lib.maintainers.jchw ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
src = fetchFromGitHub {
|
||||
owner = "boricj";
|
||||
repo = "ghidra-delinker-extension";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-h6F50Z7S6tPOl9mIhChLKoFxHuAkq/n36ysUEFwWGxI=";
|
||||
};
|
||||
in
|
||||
self
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace build.gradle \
|
||||
--replace-fail '"''${getGitHash()}"' '"v${finalAttrs.version}"'
|
||||
'';
|
||||
|
||||
gradleBuildTask = "buildExtension";
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
pkg = finalAttrs.finalPackage;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Ghidra extension for delinking executables back to object files";
|
||||
homepage = "https://github.com/boricj/ghidra-delinker-extension";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ lib.maintainers.jchw ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
buildGhidraExtension,
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
}:
|
||||
buildGhidraExtension (finalAttrs: {
|
||||
pname = "ghidra-firmware-utils";
|
||||
version = "2024.04.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "al3xtjames";
|
||||
repo = "ghidra-firmware-utils";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-BbPRSD1EzgMA3TCKHyNqLjzEgiOm67mLJuOeFOTvd0I=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Ghidra utilities for analyzing PC firmware";
|
||||
homepage = "https://github.com/al3xtjames/ghidra-firmware-utils";
|
||||
downloadPage = "https://github.com/al3xtjames/ghidra-firmware-utils/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ timschumi ];
|
||||
};
|
||||
})
|
|
@ -3,22 +3,22 @@
|
|||
fetchFromGitHub,
|
||||
buildGhidraExtension,
|
||||
}:
|
||||
buildGhidraExtension rec {
|
||||
buildGhidraExtension (finalAttrs: {
|
||||
pname = "Ghidra-GolangAnalyzerExtension";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mooncat-greenpy";
|
||||
repo = "Ghidra_GolangAnalyzerExtension";
|
||||
rev = version;
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-uxozIJ+BLcP1vBnLOCZD9ueY10hd37fON/Miii3zabo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Facilitates the analysis of Golang binaries using Ghidra";
|
||||
homepage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension";
|
||||
downloadPage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/releases/tag/${version}";
|
||||
downloadPage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.ivyfanchiang ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -42,7 +42,8 @@ buildGhidraExtension {
|
|||
bison
|
||||
texinfo
|
||||
perl
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ];
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ];
|
||||
|
||||
buildInputs = [ zlib ];
|
||||
gradleBuildTask = "assemble";
|
||||
|
|
|
@ -24,15 +24,15 @@ let
|
|||
}
|
||||
);
|
||||
|
||||
self = buildGhidraExtension rec {
|
||||
self = buildGhidraExtension (finalAttrs: {
|
||||
pname = "kaiju";
|
||||
version = "250417";
|
||||
version = "250828";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CERTCC";
|
||||
repo = "kaiju";
|
||||
rev = version;
|
||||
hash = "sha256-SSvCb3xnOh0mb3H24RJTi11UmN2ARgFgsiiKlZXyufM=";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-edsQIBoOTY+WxVBtH1bbM7TZZHhA0jgVb2iJKC66iVM=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -65,9 +65,9 @@ let
|
|||
};
|
||||
|
||||
meta = {
|
||||
description = "A Java implementation of some features of the CERT Pharos Binary Analysis Framework for Ghidra";
|
||||
description = "Java implementation of some features of the CERT Pharos Binary Analysis Framework for Ghidra";
|
||||
homepage = "https://github.com/CERTCC/kaiju";
|
||||
downloadPage = "https://github.com/CERTCC/kaiju/releases/tag/${version}";
|
||||
downloadPage = "https://github.com/CERTCC/kaiju/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = [ lib.maintainers.ivyfanchiang ];
|
||||
platforms = [
|
||||
|
@ -77,6 +77,6 @@ let
|
|||
"aarch64-darwin"
|
||||
];
|
||||
};
|
||||
};
|
||||
});
|
||||
in
|
||||
self
|
||||
|
|
|
@ -3,22 +3,22 @@
|
|||
fetchFromGitHub,
|
||||
buildGhidraExtension,
|
||||
}:
|
||||
buildGhidraExtension rec {
|
||||
buildGhidraExtension (finalAttrs: {
|
||||
pname = "lightkeeper";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "WorksButNotTested";
|
||||
repo = "lightkeeper";
|
||||
rev = version;
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-aGMWg6VQleKH/txlxpSw19QOotWZSqeW5Ve2SpWGhgA=";
|
||||
};
|
||||
preConfigure = ''
|
||||
cd lightkeeper
|
||||
'';
|
||||
meta = {
|
||||
description = "A port of the Lighthouse plugin to GHIDRA.";
|
||||
description = "Port of the Lighthouse plugin to GHIDRA";
|
||||
homepage = "https://github.com/WorksButNotTested/lightkeeper";
|
||||
license = lib.licenses.asl20;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -5,18 +5,15 @@
|
|||
ghidra,
|
||||
ant,
|
||||
}:
|
||||
let
|
||||
version = "2.3.1";
|
||||
in
|
||||
buildGhidraExtension {
|
||||
buildGhidraExtension (finalAttrs: {
|
||||
pname = "wasm";
|
||||
inherit version;
|
||||
version = "2.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nneonneo";
|
||||
repo = "ghidra-wasm-plugin";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-aoSMNzv+TgydiXM4CbvAyu/YsxmdZPvpkZkYEE3C+V4=";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-JFUPhh4WUcfxYow3kLMyva1Ni/cQBIit983o/KbbKps=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ant ];
|
||||
|
@ -35,9 +32,9 @@ buildGhidraExtension {
|
|||
meta = {
|
||||
description = "Ghidra Wasm plugin with disassembly and decompilation support";
|
||||
homepage = "https://github.com/nneonneo/ghidra-wasm-plugin";
|
||||
downloadPage = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${version}";
|
||||
changelog = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${version}";
|
||||
downloadPage = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${finalAttrs.version}";
|
||||
changelog = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ lib.maintainers.BonusPlay ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
python,
|
||||
buildPythonPackage,
|
||||
|
||||
ghidra,
|
||||
|
||||
setuptools,
|
||||
|
||||
psutil,
|
||||
ghidratrace,
|
||||
}: buildPythonPackage {
|
||||
pname = "ghidragdb";
|
||||
version = "11.3";
|
||||
pyproject = true;
|
||||
|
||||
src = "${ghidra.lib}/lib/ghidra/Ghidra/Debug/Debugger-agent-gdb/pypkg";
|
||||
|
||||
postPatch = ''
|
||||
rm -rf dist
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
ghidratrace
|
||||
psutil
|
||||
];
|
||||
|
||||
# can't import because gdb is missing
|
||||
# pythonImportsCheck = [
|
||||
# "ghidragdb"
|
||||
# ];
|
||||
|
||||
meta = (lib.removeAttrs ghidra.meta ["description" "mainProgram"]) // {
|
||||
description = "Ghidra's Plugin for gdb";
|
||||
};
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
python,
|
||||
buildPythonPackage,
|
||||
|
||||
ghidra,
|
||||
|
||||
setuptools,
|
||||
|
||||
psutil,
|
||||
ghidratrace,
|
||||
}: buildPythonPackage {
|
||||
pname = "ghidralldb";
|
||||
version = "11.3";
|
||||
pyproject = true;
|
||||
|
||||
src = "${ghidra.lib}/lib/ghidra/Ghidra/Debug/Debugger-agent-lldb/pypkg";
|
||||
|
||||
postPatch = ''
|
||||
rm -rf dist
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
ghidratrace
|
||||
psutil
|
||||
];
|
||||
|
||||
# can't import because lldb is missing
|
||||
# pythonImportsCheck = [
|
||||
# "ghidralldb"
|
||||
# ];
|
||||
|
||||
meta = (lib.removeAttrs ghidra.meta ["description" "mainProgram"]) // {
|
||||
description = "Ghidra's Plugin for lldb";
|
||||
};
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
python,
|
||||
buildPythonPackage,
|
||||
pythonRelaxDepsHook,
|
||||
|
||||
ghidra,
|
||||
|
||||
setuptools,
|
||||
|
||||
protobuf,
|
||||
}: buildPythonPackage {
|
||||
pname = "ghidratrace";
|
||||
version = "11.3";
|
||||
pyproject = true;
|
||||
|
||||
src = "${ghidra.lib}/lib/ghidra/Ghidra/Debug/Debugger-rmi-trace/pypkg";
|
||||
|
||||
postPatch = ''
|
||||
rm -rf dist
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
protobuf
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"protobuf"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"ghidratrace"
|
||||
];
|
||||
|
||||
meta = (lib.removeAttrs ghidra.meta ["description" "mainProgram"]) // {
|
||||
description = "Ghidra's TraceRmi for Python3";
|
||||
};
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
python,
|
||||
buildPythonPackage,
|
||||
|
||||
ghidra,
|
||||
|
||||
setuptools,
|
||||
|
||||
jpype1,
|
||||
}: buildPythonPackage {
|
||||
pname = "pyghidra";
|
||||
version = "2.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = "${ghidra.lib}/lib/ghidra/Ghidra/Features/PyGhidra/pypkg";
|
||||
|
||||
# TODO: make a more involved wrapper or patch this package to change the launch system
|
||||
# TODO: support launching a ghidra-with-extensions package
|
||||
makeWrapperArgs = [
|
||||
"--set" "GHIDRA_INSTALL_DIR" "${ghidra.lib}/lib/ghidra"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
rm -rf dist
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
jpype1
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pyghidra"
|
||||
];
|
||||
|
||||
meta = (lib.removeAttrs ghidra.meta ["description" "mainProgram"]) // {
|
||||
description = "Native CPython for Ghidra";
|
||||
};
|
||||
}
|
|
@ -29,8 +29,10 @@ let
|
|||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle;
|
||||
postBuild =
|
||||
''
|
||||
postBuild = ''
|
||||
# Prevent attempted creation of plugin lock files in the Nix store.
|
||||
touch $out/lib/ghidra/Ghidra/.dbDirLock
|
||||
|
||||
makeWrapper '${ghidra}/bin/ghidra' "$out/bin/ghidra" \
|
||||
--set NIX_GHIDRAHOME "$out/lib/ghidra/Ghidra"
|
||||
makeWrapper '${ghidra}/bin/ghidra-analyzeHeadless' "$out/bin/ghidra-analyzeHeadless" \
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
buildDotnetModule,
|
||||
fetchFromGitHub,
|
||||
dotnetCorePackages,
|
||||
}:
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "depotdownloader";
|
||||
version = "3.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SteamRE";
|
||||
repo = "DepotDownloader";
|
||||
rev = "DepotDownloader_${version}";
|
||||
hash = "sha256-zduNWIQi+ItNSh9RfRfY0giIw/tMQIMRh9woUzQ5pJw=";
|
||||
};
|
||||
|
||||
projectFile = "DepotDownloader.sln";
|
||||
nugetDeps = ./deps.json;
|
||||
dotnet-sdk = dotnetCorePackages.sdk_9_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_9_0;
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Steam depot downloader utilizing the SteamKit2 library";
|
||||
changelog = "https://github.com/SteamRE/DepotDownloader/releases/tag/DepotDownloader_${version}";
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = [ lib.maintainers.babbaj ];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
mainProgram = "DepotDownloader";
|
||||
};
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
[
|
||||
{
|
||||
"pname": "Microsoft.NETCore.Platforms",
|
||||
"version": "5.0.0",
|
||||
"hash": "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Win32.Registry",
|
||||
"version": "5.0.0",
|
||||
"hash": "sha256-9kylPGfKZc58yFqNKa77stomcoNnMeERXozWJzDcUIA="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Windows.CsWin32",
|
||||
"version": "0.3.183",
|
||||
"hash": "sha256-bn0rHYoVLRTqiZqkkp6u3PMKtg0NNxA2F++1e/+3Jhw="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Windows.SDK.Win32Docs",
|
||||
"version": "0.1.42-alpha",
|
||||
"hash": "sha256-6DvzmNzrGVfWmNJNqooj+Ya+7bAQlyeg7pmyKaUlIws="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Windows.SDK.Win32Metadata",
|
||||
"version": "61.0.15-preview",
|
||||
"hash": "sha256-OB60ThIv8e7AMGaRRzJ8dWme5HjN+Q0HoUDquP2ejTg="
|
||||
},
|
||||
{
|
||||
"pname": "Microsoft.Windows.WDK.Win32Metadata",
|
||||
"version": "0.12.8-experimental",
|
||||
"hash": "sha256-YaN6JlgnpIooLYu3NdFVHwoqFwZYTeePtekXCfTiLTo="
|
||||
},
|
||||
{
|
||||
"pname": "protobuf-net",
|
||||
"version": "3.2.52",
|
||||
"hash": "sha256-phXeroBt5KbHYkApkkMa0mRCVkDY+dtOOXXNY+i50Ek="
|
||||
},
|
||||
{
|
||||
"pname": "protobuf-net.Core",
|
||||
"version": "3.2.52",
|
||||
"hash": "sha256-/9Jj26tuSKeYJb9udwew5i5EVvaoeNu/vBCKS0VhSQQ="
|
||||
},
|
||||
{
|
||||
"pname": "QRCoder",
|
||||
"version": "1.6.0",
|
||||
"hash": "sha256-2Ev/6d7PH6K4dVYQQHlZ+ZggkCnDtrlaGygs65mDo28="
|
||||
},
|
||||
{
|
||||
"pname": "SteamKit2",
|
||||
"version": "3.2.0",
|
||||
"hash": "sha256-hB/36fP9kf+1mIx+hTELUMHe8ZkmSKxOK41ZzOaBa3E="
|
||||
},
|
||||
{
|
||||
"pname": "System.IO.Hashing",
|
||||
"version": "9.0.4",
|
||||
"hash": "sha256-rbcQzEncB3VuUZIcsE1tq30suf5rvRE4HkE+0lR/skU="
|
||||
},
|
||||
{
|
||||
"pname": "System.Security.AccessControl",
|
||||
"version": "5.0.0",
|
||||
"hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="
|
||||
},
|
||||
{
|
||||
"pname": "System.Security.Principal.Windows",
|
||||
"version": "5.0.0",
|
||||
"hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="
|
||||
},
|
||||
{
|
||||
"pname": "ZstdSharp.Port",
|
||||
"version": "0.8.5",
|
||||
"hash": "sha256-+UQFeU64md0LlSf9nMXif6hHnfYEKm+WRyYd0Vo2QvI="
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue