Compare commits
46 Commits
main
...
wip/nixos-
Author | SHA1 | Date |
---|---|---|
|
4cbea3dc01 | |
|
7914014c1d | |
|
13548ea5ed | |
|
5fd38d270e | |
|
6d766dd63c | |
|
6bba7ab0c4 | |
|
6b6dd9c66f | |
|
292b3bdcec | |
|
fda38bd2cf | |
|
cf817800f5 | |
|
29532b3561 | |
|
219b736565 | |
|
d5835d211c | |
|
d67164126a | |
|
80299ca3d7 | |
|
7d914c78d2 | |
|
fd2baa1c23 | |
|
8fe88edc61 | |
|
f21591a29f | |
|
b420af3043 | |
|
533960accd | |
|
bf091ff8fe | |
|
55078cdb82 | |
|
6b8b667e48 | |
|
ac53b7145d | |
|
f1980a782f | |
|
567a47da23 | |
|
f71b45c677 | |
|
3b71438ff4 | |
|
49a730f641 | |
|
de53bfd455 | |
|
f71602bcff | |
|
1557fcbf00 | |
|
b157a5ca31 | |
|
83be7c5296 | |
|
d181eac6a3 | |
|
c1bd5b32d6 | |
|
76cbd04361 | |
|
6933e33e80 | |
|
9c6a46b398 | |
|
b33745acb8 | |
|
71af6415d2 | |
|
37050f846b | |
|
6223d67e8f | |
|
8674b22d5c | |
|
946bbc1522 |
|
@ -16,16 +16,16 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757745802,
|
"lastModified": 1756617294,
|
||||||
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
|
"narHash": "sha256-aGnd4AHIYCWQKChAkHPpX+YYCt7pA6y2LFFA/s8q0wQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
|
"rev": "b4c2c57c31e68544982226d07e4719a2d86302a8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-25.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
14
flake.nix
14
flake.nix
|
@ -2,7 +2,7 @@
|
||||||
description = "dragnpkgs together with nixpkgs and lix";
|
description = "dragnpkgs together with nixpkgs and lix";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
||||||
|
|
||||||
lix-module = {
|
lix-module = {
|
||||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-2.tar.gz";
|
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
|
# self reference in the registry to be downloadable by URL in case it makes it into a
|
||||||
# flake.lock
|
# flake.lock
|
||||||
meta.registry-entry = {
|
meta.registry-entry = {
|
||||||
from = { id = "dragnpkgs-unstable"; type = "indirect"; };
|
from = { id = "dragnpkgs"; type = "indirect"; };
|
||||||
to = {
|
to = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://git.lain.faith/haskal/dragnpkgs.git";
|
url = "https://git.lain.faith/haskal/dragnpkgs.git";
|
||||||
ref = "main";
|
ref = "nixos-25.05";
|
||||||
} // self.lib.filterAttrs
|
} // self.lib.filterAttrs
|
||||||
(n: _: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash")
|
(n: _: n == "lastModified" || n == "rev" || n == "revCount" || n == "narHash")
|
||||||
self;
|
self;
|
||||||
};
|
};
|
||||||
|
|
||||||
# the nix path entry for self
|
# the nix path entry for self
|
||||||
meta.path-entry = "dragnpkgs-unstable=flake:dragnpkgs-unstable";
|
meta.path-entry = "dragnpkgs=flake:dragnpkgs";
|
||||||
|
|
||||||
lib = (lib-base.extend (import ./lib/overlay.nix)).extend (final: prev: {
|
lib = (lib-base.extend (import ./lib/overlay.nix)).extend (final: prev: {
|
||||||
# initializes regular upstream nixpkgs with the given arguments
|
# initializes regular upstream nixpkgs with the given arguments
|
||||||
|
@ -154,17 +154,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config.nix.registry.dragnpkgs-unstable =
|
config.nix.registry.dragnpkgs =
|
||||||
lib.mkIf config.dragnpkgs.setFlakeRegistry self.meta.registry-entry;
|
lib.mkIf config.dragnpkgs.setFlakeRegistry self.meta.registry-entry;
|
||||||
|
|
||||||
config.nix.registry.nixpkgs = lib.mkIf config.dragnpkgs.setNixpkgsFlakeAlias {
|
config.nix.registry.nixpkgs = lib.mkIf config.dragnpkgs.setNixpkgsFlakeAlias {
|
||||||
from = { id = "nixpkgs"; type = "indirect"; };
|
from = { id = "nixpkgs"; type = "indirect"; };
|
||||||
to = { id = "dragnpkgs-unstable"; type = "indirect"; };
|
to = { id = "dragnpkgs"; type = "indirect"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
config.nix.registry.templates = lib.mkIf config.dragnpkgs.setTemplatesFlakeAlias {
|
config.nix.registry.templates = lib.mkIf config.dragnpkgs.setTemplatesFlakeAlias {
|
||||||
from = { id = "templates"; type = "indirect"; };
|
from = { id = "templates"; type = "indirect"; };
|
||||||
to = { id = "dragnpkgs-unstable"; type = "indirect"; };
|
to = { id = "dragnpkgs"; type = "indirect"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
config.nix.nixPath = lib.mkIf config.dragnpkgs.setNixPath [
|
config.nix.nixPath = lib.mkIf config.dragnpkgs.setNixPath [
|
||||||
|
|
|
@ -259,7 +259,6 @@ in {
|
||||||
# game state
|
# game state
|
||||||
|
|
||||||
PrivateTmp = true;
|
PrivateTmp = true;
|
||||||
CacheDirectory = "satisfactory";
|
|
||||||
|
|
||||||
TemporaryFileSystem = [
|
TemporaryFileSystem = [
|
||||||
"${cfg.directory}:ro"
|
"${cfg.directory}:ro"
|
||||||
|
@ -269,7 +268,7 @@ in {
|
||||||
];
|
];
|
||||||
BindPaths = [
|
BindPaths = [
|
||||||
"${cfg.directory}/saves:${cfg.directory}/.config/Epic"
|
"${cfg.directory}/saves:${cfg.directory}/.config/Epic"
|
||||||
"/var/cache/satisfactory:${cfg.directory}/server/FactoryGame/Intermediate"
|
"/var/tmp:${cfg.directory}/server/FactoryGame/Intermediate"
|
||||||
"${cfg.directory}/settings/game:${cfg.directory}/server/FactoryGame/Saved"
|
"${cfg.directory}/settings/game:${cfg.directory}/server/FactoryGame/Saved"
|
||||||
"${cfg.directory}/settings/engine:${cfg.directory}/server/Engine/Saved"
|
"${cfg.directory}/settings/engine:${cfg.directory}/server/Engine/Saved"
|
||||||
] ++ lib.optionals (cfg.useACMEHost != null) [
|
] ++ lib.optionals (cfg.useACMEHost != null) [
|
||||||
|
|
|
@ -46,6 +46,8 @@ 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 {};
|
outer-wilds-text-adventure = prev.callPackage ./pkgs/games/outer-wilds-text-adventure {};
|
||||||
satisfactory-dedicated-server = prev.callPackage ./pkgs/games/satisfactory-dedicated-server {};
|
satisfactory-dedicated-server = prev.callPackage ./pkgs/games/satisfactory-dedicated-server {};
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,18 @@
|
||||||
|
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
|
diff --git a/Ghidra/Debug/Debugger-isf/build.gradle b/Ghidra/Debug/Debugger-isf/build.gradle
|
||||||
index 2db94ed67e..925f394cf0 100644
|
index f6c8464405..396b52d188 100644
|
||||||
--- a/Ghidra/Debug/Debugger-isf/build.gradle
|
--- a/Ghidra/Debug/Debugger-isf/build.gradle
|
||||||
+++ b/Ghidra/Debug/Debugger-isf/build.gradle
|
+++ b/Ghidra/Debug/Debugger-isf/build.gradle
|
||||||
@@ -18,11 +18,17 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
|
@@ -18,11 +18,17 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
|
||||||
|
@ -19,10 +32,10 @@ index 2db94ed67e..925f394cf0 100644
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
dependencies {
|
dependencies {
|
||||||
|
api project(':Framework-AsyncComm')
|
||||||
api project(':ProposedUtils')
|
api project(':ProposedUtils')
|
||||||
}
|
|
||||||
diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
||||||
index 4fa3b9a539..2663aeaeb0 100644
|
index 8b6589f035..05da5a7a7e 100644
|
||||||
--- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
--- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
||||||
+++ b/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"
|
@@ -19,12 +19,17 @@ apply from: "${rootProject.projectDir}/gradle/helpProject.gradle"
|
||||||
|
@ -43,27 +56,25 @@ index 4fa3b9a539..2663aeaeb0 100644
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
dependencies {
|
dependencies {
|
||||||
api project(':ProposedUtils')
|
|
||||||
api project(':Pty')
|
api project(':Pty')
|
||||||
@@ -37,13 +42,10 @@ dependencies {
|
api project(':Debugger')
|
||||||
}
|
@@ -44,12 +49,9 @@ task generateProtoPy {
|
||||||
|
ext.outdir = file("build/generated/source/proto/main/py")
|
||||||
task configureGenerateProtoPy {
|
outputs.dir(outdir)
|
||||||
|
inputs.files(src)
|
||||||
- dependsOn(configurations.protocArtifact)
|
- dependsOn(configurations.protocArtifact)
|
||||||
+ dependsOn(protobuf.generateProtoTasks.all())
|
+ dependsOn(protobuf.generateProtoTasks.all())
|
||||||
|
doLast {
|
||||||
- doLast {
|
|
||||||
- def exe = configurations.protocArtifact.first()
|
- def exe = configurations.protocArtifact.first()
|
||||||
- if (!isCurrentWindows()) {
|
- if (!isCurrentWindows()) {
|
||||||
- exe.setExecutable(true)
|
- exe.setExecutable(true)
|
||||||
- }
|
- }
|
||||||
+ doLast {
|
|
||||||
+ def exe = protobuf.tools.protoc.path
|
+ def exe = protobuf.tools.protoc.path
|
||||||
generateProtoPy.commandLine exe
|
exec {
|
||||||
generateProtoPy.args "--python_out=${generateProtoPy.outdir}"
|
commandLine exe, "--python_out=$outdir", "-I$srcdir"
|
||||||
generateProtoPy.args "--pyi_out=${generateProtoPy.stubsOutdir}"
|
args src
|
||||||
diff --git a/build.gradle b/build.gradle
|
diff --git a/build.gradle b/build.gradle
|
||||||
index 159eb7dd7b..ef4add1ad8 100644
|
index 2d75307a08..aa8f1d7604 100644
|
||||||
--- a/build.gradle
|
--- a/build.gradle
|
||||||
+++ b/build.gradle
|
+++ b/build.gradle
|
||||||
@@ -80,6 +80,12 @@ if (flatRepo.isDirectory()) {
|
@@ -80,6 +80,12 @@ if (flatRepo.isDirectory()) {
|
||||||
|
@ -81,10 +92,10 @@ index 159eb7dd7b..ef4add1ad8 100644
|
||||||
else {
|
else {
|
||||||
diff --git a/gradle/hasProtobuf.gradle b/gradle/hasProtobuf.gradle
|
diff --git a/gradle/hasProtobuf.gradle b/gradle/hasProtobuf.gradle
|
||||||
deleted file mode 100644
|
deleted file mode 100644
|
||||||
index a8c176bcbe..0000000000
|
index 23b4ce74bb..0000000000
|
||||||
--- a/gradle/hasProtobuf.gradle
|
--- a/gradle/hasProtobuf.gradle
|
||||||
+++ /dev/null
|
+++ /dev/null
|
||||||
@@ -1,98 +0,0 @@
|
@@ -1,94 +0,0 @@
|
||||||
-/* ###
|
-/* ###
|
||||||
- * IP: GHIDRA
|
- * IP: GHIDRA
|
||||||
- *
|
- *
|
||||||
|
@ -146,22 +157,7 @@ index a8c176bcbe..0000000000
|
||||||
- }
|
- }
|
||||||
-}*/
|
-}*/
|
||||||
-
|
-
|
||||||
-task configureGenerateProto {
|
-task generateProto {
|
||||||
- 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.srcdir = file("src/main/proto")
|
||||||
- ext.src = fileTree(srcdir) {
|
- ext.src = fileTree(srcdir) {
|
||||||
- include "**/*.proto"
|
- include "**/*.proto"
|
||||||
|
@ -169,6 +165,17 @@ index a8c176bcbe..0000000000
|
||||||
- ext.outdir = file("build/generated/source/proto/main/java")
|
- ext.outdir = file("build/generated/source/proto/main/java")
|
||||||
- outputs.dir(outdir)
|
- outputs.dir(outdir)
|
||||||
- inputs.files(src)
|
- 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)
|
-tasks.compileJava.dependsOn(tasks.generateProto)
|
||||||
|
@ -183,3 +190,6 @@ index a8c176bcbe..0000000000
|
||||||
- }
|
- }
|
||||||
-}
|
-}
|
||||||
-zipSourceSubproject.dependsOn generateProto
|
-zipSourceSubproject.dependsOn generateProto
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
||||||
|
|
|
@ -21,17 +21,16 @@ let
|
||||||
platforms = oldMeta.platforms or ghidra.meta.platforms;
|
platforms = oldMeta.platforms or ghidra.meta.platforms;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildGhidraExtension = lib.extendMkDerivation {
|
buildGhidraExtension =
|
||||||
constructDrv = stdenv.mkDerivation;
|
|
||||||
extendDrvArgs =
|
|
||||||
finalAttrs:
|
|
||||||
{
|
{
|
||||||
pname,
|
pname,
|
||||||
nativeBuildInputs ? [ ],
|
nativeBuildInputs ? [ ],
|
||||||
meta ? { },
|
meta ? { },
|
||||||
...
|
...
|
||||||
}@args:
|
}@args:
|
||||||
{
|
stdenv.mkDerivation (
|
||||||
|
args
|
||||||
|
// {
|
||||||
nativeBuildInputs = nativeBuildInputs ++ [
|
nativeBuildInputs = nativeBuildInputs ++ [
|
||||||
unzip
|
unzip
|
||||||
jdk
|
jdk
|
||||||
|
@ -59,28 +58,22 @@ let
|
||||||
mkdir -p $out/lib/ghidra/Ghidra/Extensions
|
mkdir -p $out/lib/ghidra/Ghidra/Extensions
|
||||||
unzip -d $out/lib/ghidra/Ghidra/Extensions dist/*.zip
|
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
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = metaCommon meta;
|
meta = metaCommon meta;
|
||||||
};
|
}
|
||||||
};
|
);
|
||||||
|
|
||||||
buildGhidraScripts = lib.extendMkDerivation {
|
buildGhidraScripts =
|
||||||
constructDrv = stdenv.mkDerivation;
|
|
||||||
extendDrvArgs =
|
|
||||||
finalAttrs:
|
|
||||||
{
|
{
|
||||||
pname,
|
pname,
|
||||||
meta ? { },
|
meta ? { },
|
||||||
...
|
...
|
||||||
}@args:
|
}@args:
|
||||||
{
|
stdenv.mkDerivation (
|
||||||
|
args
|
||||||
|
// {
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
|
@ -102,8 +95,8 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = metaCommon meta;
|
meta = metaCommon meta;
|
||||||
};
|
}
|
||||||
};
|
);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit buildGhidraExtension buildGhidraScripts;
|
inherit buildGhidraExtension buildGhidraScripts;
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "ghidra";
|
pname = "ghidra";
|
||||||
version = "11.4.2";
|
version = "11.3.2";
|
||||||
|
|
||||||
isMacArm64 = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
|
isMacArm64 = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ let
|
||||||
owner = "NationalSecurityAgency";
|
owner = "NationalSecurityAgency";
|
||||||
repo = "Ghidra";
|
repo = "Ghidra";
|
||||||
rev = "Ghidra_${version}_build";
|
rev = "Ghidra_${version}_build";
|
||||||
hash = "sha256-/veSp2WuGOF0cYwUC4QFJD6kaMae5NuKrQ5Au4LjDe8=";
|
hash = "sha256-EvIOC/VIUaEl7eneVzgEt2fhLSP9DaawMAutk4ouFp8=";
|
||||||
# populate values that require us to use git. By doing this in postFetch we
|
# 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.
|
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||||
leaveDotGit = true;
|
leaveDotGit = true;
|
||||||
|
@ -251,6 +251,23 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
;
|
;
|
||||||
|
|
||||||
withExtensions = callPackage ./with-extensions.nix { ghidra = finalAttrs.finalPackage; };
|
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; {
|
meta = with lib; {
|
||||||
|
@ -269,10 +286,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
binaryBytecode # deps
|
binaryBytecode # deps
|
||||||
];
|
];
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [
|
|
||||||
roblabla
|
|
||||||
vringar
|
|
||||||
];
|
|
||||||
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
|
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -99,14 +99,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"https://ftp.postgresql.org": {
|
"https://ftp.postgresql.org": {
|
||||||
"pub/source/v15.13/postgresql-15.13": {
|
"pub/source/v15.10/postgresql-15.10": {
|
||||||
"tar.gz": "sha256-r9wisKblvse2VyN1a5DUTqkR5hsvewHE3FUkq4E7TYk="
|
"tar.gz": "sha256-FzNmYFJZqD3BicQyf/TDclSv7WW0+GbL2KXvLqRJ6PM="
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_11.4.2": {
|
"https://github.com/NationalSecurityAgency/ghidra-data/raw/Ghidra_11.3.2": {
|
||||||
"Debugger/dbgmodel": {
|
|
||||||
"tlb": "sha256-jPXzouuBFgqjSQVqXKTCxyaxtumL8wl81BNRRxYzQ8c="
|
|
||||||
},
|
|
||||||
"FunctionID/vs2012_x64": {
|
"FunctionID/vs2012_x64": {
|
||||||
"fidb": "sha256-1OmKs/eQuDF5MhhDC7oNiySl+/TaZbDB/6jLDPvrDNw="
|
"fidb": "sha256-1OmKs/eQuDF5MhhDC7oNiySl+/TaZbDB/6jLDPvrDNw="
|
||||||
},
|
},
|
||||||
|
@ -286,10 +283,6 @@
|
||||||
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
|
"jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=",
|
||||||
"pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA="
|
"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": {
|
"commons-collections#commons-collections/3.2.2": {
|
||||||
"jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=",
|
"jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=",
|
||||||
"pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws="
|
"pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws="
|
||||||
|
@ -298,10 +291,6 @@
|
||||||
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
|
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
|
||||||
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
|
"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": {
|
"commons-lang#commons-lang/2.6": {
|
||||||
"jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=",
|
"jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=",
|
||||||
"pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE="
|
"pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE="
|
||||||
|
@ -343,9 +332,9 @@
|
||||||
"jar": "sha256-/PSSLTj/hRhPHSMoMXu2CCbhTalIq9YG7j1bjGpw3r0=",
|
"jar": "sha256-/PSSLTj/hRhPHSMoMXu2CCbhTalIq9YG7j1bjGpw3r0=",
|
||||||
"pom": "sha256-uIEr4lGsoTl/S2pCO/Tt06KERONFOyIDtTSTNrmVgik="
|
"pom": "sha256-uIEr4lGsoTl/S2pCO/Tt06KERONFOyIDtTSTNrmVgik="
|
||||||
},
|
},
|
||||||
"junit#junit/4.13.2": {
|
"junit#junit/4.12": {
|
||||||
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
|
"jar": "sha256-WXIfCAXiI9hLkGd4h9n/Vn3FNNfFAsqQPAwrF/BcEWo=",
|
||||||
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
|
"pom": "sha256-kPFj944/+28cetl96efrpO6iWAcUG4XW0SvmfKJUScQ="
|
||||||
},
|
},
|
||||||
"kr/motd/maven#os-maven-plugin/1.7.0": {
|
"kr/motd/maven#os-maven-plugin/1.7.0": {
|
||||||
"jar": "sha256-lDBTUBpCnlPRxNYhUu7BJfo2Yg4NxmtzkKiVCXz96s4=",
|
"jar": "sha256-lDBTUBpCnlPRxNYhUu7BJfo2Yg4NxmtzkKiVCXz96s4=",
|
||||||
|
@ -443,9 +432,6 @@
|
||||||
"org/apache#apache/27": {
|
"org/apache#apache/27": {
|
||||||
"pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk="
|
"pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk="
|
||||||
},
|
},
|
||||||
"org/apache#apache/33": {
|
|
||||||
"pom": "sha256-14vYUkxfg4ChkKZSVoZimpXf5RLfIRETg6bYwJI6RBU="
|
|
||||||
},
|
|
||||||
"org/apache#apache/7": {
|
"org/apache#apache/7": {
|
||||||
"pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU="
|
"pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU="
|
||||||
},
|
},
|
||||||
|
@ -457,9 +443,9 @@
|
||||||
"jar": "sha256-Hfi5QwtcjtFD14FeQD4z71NxskAKrb6b2giDdi4IRtE=",
|
"jar": "sha256-Hfi5QwtcjtFD14FeQD4z71NxskAKrb6b2giDdi4IRtE=",
|
||||||
"pom": "sha256-JxvWc4Oa9G5zr/lX4pGNS/lvWsT2xs9NW+k/0fEnHE0="
|
"pom": "sha256-JxvWc4Oa9G5zr/lX4pGNS/lvWsT2xs9NW+k/0fEnHE0="
|
||||||
},
|
},
|
||||||
"org/apache/commons#commons-compress/1.27.1": {
|
"org/apache/commons#commons-compress/1.21": {
|
||||||
"jar": "sha256-KT2A9UtTa3QJXc1+o88KKbv8NAJRkoEzJJX0Qg03DRY=",
|
"jar": "sha256-auz9VFlyillWAc+gcljRMZcv/Dm0kutIvdWWV3ovJEo=",
|
||||||
"pom": "sha256-34zBqDh9TOhCNjtyCf3G0135djg5/T/KtVig+D+dhBw="
|
"pom": "sha256-Z1uwI8m+7d4yMpSZebl0Kl/qlGKApVobRi1Mp4AQiM0="
|
||||||
},
|
},
|
||||||
"org/apache/commons#commons-dbcp2/2.9.0": {
|
"org/apache/commons#commons-dbcp2/2.9.0": {
|
||||||
"jar": "sha256-iHcgkSxcu83/bg4h1QNJN1Vfj/xZc4Hv+Pp38zzm1k4=",
|
"jar": "sha256-iHcgkSxcu83/bg4h1QNJN1Vfj/xZc4Hv+Pp38zzm1k4=",
|
||||||
|
@ -468,9 +454,9 @@
|
||||||
"org/apache/commons#commons-lang3/3.11": {
|
"org/apache/commons#commons-lang3/3.11": {
|
||||||
"pom": "sha256-mA1mXYP+0EZlE08FeOUHRCoOdQaRBzeEORsKeYhySnU="
|
"pom": "sha256-mA1mXYP+0EZlE08FeOUHRCoOdQaRBzeEORsKeYhySnU="
|
||||||
},
|
},
|
||||||
"org/apache/commons#commons-lang3/3.17.0": {
|
"org/apache/commons#commons-lang3/3.12.0": {
|
||||||
"jar": "sha256-bucx31yOWil2ocoCO2uzIOqNNTn75kyKHVy3ZRJ8M7Q=",
|
"jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=",
|
||||||
"pom": "sha256-NRxuSUDpObHzMN9H9g8Tujg9uB7gCBga9UHzoqbSpWw="
|
"pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo="
|
||||||
},
|
},
|
||||||
"org/apache/commons#commons-lang3/3.9": {
|
"org/apache/commons#commons-lang3/3.9": {
|
||||||
"pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU="
|
"pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU="
|
||||||
|
@ -502,18 +488,6 @@
|
||||||
"org/apache/commons#commons-parent/54": {
|
"org/apache/commons#commons-parent/54": {
|
||||||
"pom": "sha256-AA2Bh5UrIjcC/eKW33mVY/Nd6CznKttOe/FXNCN4++M="
|
"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": {
|
"org/apache/commons#commons-pool2/2.11.1": {
|
||||||
"jar": "sha256-6gUF7nUV5YsawOaG5NGl2ffYCOJRphvDcaoFlbmWP4M=",
|
"jar": "sha256-6gUF7nUV5YsawOaG5NGl2ffYCOJRphvDcaoFlbmWP4M=",
|
||||||
"pom": "sha256-wbsCmUpK34loDfepitujPFUnaDAUJy1liFuzA27NSMM="
|
"pom": "sha256-wbsCmUpK34loDfepitujPFUnaDAUJy1liFuzA27NSMM="
|
||||||
|
@ -549,17 +523,17 @@
|
||||||
"org/apache/logging/log4j#log4j/2.17.1": {
|
"org/apache/logging/log4j#log4j/2.17.1": {
|
||||||
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk="
|
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk="
|
||||||
},
|
},
|
||||||
"org/bouncycastle#bcpkix-jdk18on/1.80": {
|
"org/bouncycastle#bcpkix-jdk15on/1.69": {
|
||||||
"jar": "sha256-T0umqSYX6hncGD8PpdtJLu5Cb93ioKLWyUd3/9GvZBM=",
|
"jar": "sha256-QIN20Xqqh4nnrNBV/kBCiaEfozX9fGinUykEn7fSjtI=",
|
||||||
"pom": "sha256-pKEiETRntyjhjyb7DP1X8LGg18SlO4Zxis5wv4uG7Uc="
|
"pom": "sha256-WrvkytLCMJR0ZvsgmiJn48xqDTgKajGRWVnTqtm4F2w="
|
||||||
},
|
},
|
||||||
"org/bouncycastle#bcprov-jdk18on/1.80": {
|
"org/bouncycastle#bcprov-jdk15on/1.69": {
|
||||||
"jar": "sha256-6K0gn4xY0pGjfKl1Dp6frGBZaVbJg+Sd2Cgjgd2LMkk=",
|
"jar": "sha256-5Gm9Ofk2mZ8lYAJjEAP/AioilR2p1b2Xicer+pdjopI=",
|
||||||
"pom": "sha256-oKdcdtkcQh7qVtD2Bi+49j7ff6x+xyT9QgzNytcYHUM="
|
"pom": "sha256-/YHicUSVvOeeauazAp2s0kzyz/NAJB2lgQVYlae6eN4="
|
||||||
},
|
},
|
||||||
"org/bouncycastle#bcutil-jdk18on/1.80": {
|
"org/bouncycastle#bcutil-jdk15on/1.69": {
|
||||||
"jar": "sha256-Iuymh/eVVBH0Vq8z5uqOaPxzzYDLizKqX3qLGCfXxng=",
|
"jar": "sha256-KeQOJGbQQNgqbw6ZY10LwrujqUJRz3k5zwtpMhyu/Ak=",
|
||||||
"pom": "sha256-Qhp95L/rnFs4sfxHxCagh9kIeJVdQQf1t6gusde3R7Y="
|
"pom": "sha256-p2e8fzQtGTKJfso8i6zHAEygOAv6dSnyOpc0VJZcffw="
|
||||||
},
|
},
|
||||||
"org/checkerframework#checker-compat-qual/2.5.2": {
|
"org/checkerframework#checker-compat-qual/2.5.2": {
|
||||||
"pom": "sha256-da9ztewybj29yUayH9RoAtXafGEsO/Hlh1N0yY1+pP0="
|
"pom": "sha256-da9ztewybj29yUayH9RoAtXafGEsO/Hlh1N0yY1+pP0="
|
||||||
|
@ -573,10 +547,10 @@
|
||||||
"module": "sha256-clinadyqJrmBVNIp2FzHLls2ZrC8tjfS2vFuxJiVZjg=",
|
"module": "sha256-clinadyqJrmBVNIp2FzHLls2ZrC8tjfS2vFuxJiVZjg=",
|
||||||
"pom": "sha256-AjkvvUziGQH5RWFUcrHU1NNZGzqr3wExBfXJLsMstPA="
|
"pom": "sha256-AjkvvUziGQH5RWFUcrHU1NNZGzqr3wExBfXJLsMstPA="
|
||||||
},
|
},
|
||||||
"org/checkerframework#checker-qual/3.49.3": {
|
"org/checkerframework#checker-qual/3.42.0": {
|
||||||
"jar": "sha256-Nn7b8v6fYGwf21qLpuHJwnYlmT4f+VTjho3nC8xkFrc=",
|
"jar": "sha256-zK7dM68LeJTZ8vO2RPTRnkOSjjKQLmGsTRB3eDD1qsc=",
|
||||||
"module": "sha256-dv9CWNsfoaC8bOeur0coPfEGD9Q3oJvm7zxcMmnqWtM=",
|
"module": "sha256-4PpiK33mPq4RBH726RtMKtDx8OE8uQP/UggKR/V6V0Y=",
|
||||||
"pom": "sha256-i+QBdkYoXZFCx/sibPuARFwXfcfBNjsj2UH6bJuwXc8="
|
"pom": "sha256-v1/KqycvVMvPG753w72WPIIcmrrSBYcIvwvtPIdUlMo="
|
||||||
},
|
},
|
||||||
"org/codehaus#codehaus-parent/3": {
|
"org/codehaus#codehaus-parent/3": {
|
||||||
"pom": "sha256-UOslOs0LbuBI9DLZ/Do7NiZO+z2h/6f7B/bE1LeoyjE="
|
"pom": "sha256-UOslOs0LbuBI9DLZ/Do7NiZO+z2h/6f7B/bE1LeoyjE="
|
||||||
|
@ -605,10 +579,6 @@
|
||||||
"jar": "sha256-YwKKfV6V7sjibuBCSxQfh+nalccYTypaSbtD371TsQQ=",
|
"jar": "sha256-YwKKfV6V7sjibuBCSxQfh+nalccYTypaSbtD371TsQQ=",
|
||||||
"pom": "sha256-zMoEy/7Z60gzSM+6aexh9gvdyfPjwJJLZLsZ0cqy4s0="
|
"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": {
|
"org/commonmark#commonmark-ext-heading-anchor/0.23.0": {
|
||||||
"jar": "sha256-7O27O1jbcgxhNXwb4boTKlweeczr4B8NPZo25VJCDL0=",
|
"jar": "sha256-7O27O1jbcgxhNXwb4boTKlweeczr4B8NPZo25VJCDL0=",
|
||||||
"pom": "sha256-95zHry5Zpgc70UwPNKezU0JDO5FxqhdLYzeHRaVuASw="
|
"pom": "sha256-95zHry5Zpgc70UwPNKezU0JDO5FxqhdLYzeHRaVuASw="
|
||||||
|
@ -699,17 +669,9 @@
|
||||||
"jar": "sha256-EhJRcOeVUZum3IAQwHC1PHaq6StIXB43Uw5Uq13QjUM=",
|
"jar": "sha256-EhJRcOeVUZum3IAQwHC1PHaq6StIXB43Uw5Uq13QjUM=",
|
||||||
"pom": "sha256-EMo7z1F48YUH8hCmOtljeJaFM0OtHBKRoBmhFvIWpUg="
|
"pom": "sha256-EMo7z1F48YUH8hCmOtljeJaFM0OtHBKRoBmhFvIWpUg="
|
||||||
},
|
},
|
||||||
"org/junit#junit-bom/5.11.0": {
|
"org/junit#junit-bom/5.7.1": {
|
||||||
"module": "sha256-9+2+Z/IgQnCMQQq8VHQI5cR29An1ViNqEXkiEnSi7S0=",
|
"module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=",
|
||||||
"pom": "sha256-5nRZ1IgkJKxjdPQNscj0ouiJRrNAugcsgL6TKivkZE0="
|
"pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q="
|
||||||
},
|
|
||||||
"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": {
|
"org/junit#junit-bom/5.7.2": {
|
||||||
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
|
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=",
|
||||||
|
@ -773,9 +735,9 @@
|
||||||
"jar": "sha256-jK3UOsXrbQneBfrsyji5F6BAu5E5x+3rTMgcdAtxMoE=",
|
"jar": "sha256-jK3UOsXrbQneBfrsyji5F6BAu5E5x+3rTMgcdAtxMoE=",
|
||||||
"pom": "sha256-cimwOzCnPukQCActnkVppR2FR/roxQ9SeEGu9MGwuqg="
|
"pom": "sha256-cimwOzCnPukQCActnkVppR2FR/roxQ9SeEGu9MGwuqg="
|
||||||
},
|
},
|
||||||
"org/postgresql#postgresql/42.7.6": {
|
"org/postgresql#postgresql/42.7.3": {
|
||||||
"jar": "sha256-8qHMA1LdXlxvZdut/ye+4Awy5DLGrQMNB0R/ilmDxCo=",
|
"jar": "sha256-omRMv7obqhRf9+jI71gqbu16fsTKeS9/BUEivex1Ymg=",
|
||||||
"pom": "sha256-SfNzCJO2khPK99foymodjHaf9mhCHVJS3gBSvFVGp8c="
|
"pom": "sha256-wqy2hFfZlqjkntB3flklW3RlCXZSOVHxAa25QHXhWIU="
|
||||||
},
|
},
|
||||||
"org/python#jython-standalone/2.7.4": {
|
"org/python#jython-standalone/2.7.4": {
|
||||||
"jar": "sha256-H7oXae/8yLGfXhBDa8gnShWM6YhVnyV5J8JMc7sTfzw=",
|
"jar": "sha256-H7oXae/8yLGfXhBDa8gnShWM6YhVnyV5J8JMc7sTfzw=",
|
||||||
|
|
|
@ -17,8 +17,6 @@ lib.makeScope newScope (self: {
|
||||||
|
|
||||||
ghidra-delinker-extension = self.callPackage ./extensions/ghidra-delinker-extension { };
|
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 { };
|
ghidra-golanganalyzerextension = self.callPackage ./extensions/ghidra-golanganalyzerextension { };
|
||||||
|
|
||||||
ghidraninja-ghidra-scripts = self.callPackage ./extensions/ghidraninja-ghidra-scripts { };
|
ghidraninja-ghidra-scripts = self.callPackage ./extensions/ghidraninja-ghidra-scripts { };
|
||||||
|
|
|
@ -3,23 +3,26 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
buildGhidraExtension,
|
buildGhidraExtension,
|
||||||
}:
|
}:
|
||||||
buildGhidraExtension (finalAttrs: {
|
let
|
||||||
|
version = "3.0.5";
|
||||||
|
in
|
||||||
|
buildGhidraExtension {
|
||||||
pname = "findcrypt";
|
pname = "findcrypt";
|
||||||
version = "3.1.2";
|
inherit version;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "antoniovazquezblanco";
|
owner = "antoniovazquezblanco";
|
||||||
repo = "GhidraFindcrypt";
|
repo = "GhidraFindcrypt";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-KP6Wx2U8O/37yEAcV3abKg/uWraHJJOIfb7kvcfejHA=";
|
hash = "sha256-gWVYy+PWpNXlcgD83jap4IFRv66qdhloOwvpQVU2TcI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Ghidra analysis plugin to locate cryptographic constants";
|
description = "Ghidra analysis plugin to locate cryptographic constants";
|
||||||
homepage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt";
|
homepage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt";
|
||||||
downloadPage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${finalAttrs.version}";
|
downloadPage = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${version}";
|
||||||
changelog = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${finalAttrs.version}";
|
changelog = "https://github.com/antoniovazquezblanco/GhidraFindcrypt/releases/tag/v${version}";
|
||||||
license = lib.licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
maintainers = [ lib.maintainers.BonusPlay ];
|
maintainers = [ lib.maintainers.BonusPlay ];
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
|
|
@ -4,20 +4,22 @@
|
||||||
gradle,
|
gradle,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
}:
|
}:
|
||||||
buildGhidraExtension (finalAttrs: {
|
let
|
||||||
pname = "ghidra-delinker-extension";
|
|
||||||
version = "0.5.1";
|
version = "0.5.1";
|
||||||
|
self = buildGhidraExtension {
|
||||||
|
pname = "ghidra-delinker-extension";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "boricj";
|
owner = "boricj";
|
||||||
repo = "ghidra-delinker-extension";
|
repo = "ghidra-delinker-extension";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-h6F50Z7S6tPOl9mIhChLKoFxHuAkq/n36ysUEFwWGxI=";
|
hash = "sha256-h6F50Z7S6tPOl9mIhChLKoFxHuAkq/n36ysUEFwWGxI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace build.gradle \
|
substituteInPlace build.gradle \
|
||||||
--replace-fail '"''${getGitHash()}"' '"v${finalAttrs.version}"'
|
--replace-fail '"''${getGitHash()}"' '"v${version}"'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
gradleBuildTask = "buildExtension";
|
gradleBuildTask = "buildExtension";
|
||||||
|
@ -25,7 +27,7 @@ buildGhidraExtension (finalAttrs: {
|
||||||
__darwinAllowLocalNetworking = true;
|
__darwinAllowLocalNetworking = true;
|
||||||
|
|
||||||
mitmCache = gradle.fetchDeps {
|
mitmCache = gradle.fetchDeps {
|
||||||
pkg = finalAttrs.finalPackage;
|
pkg = self;
|
||||||
data = ./deps.json;
|
data = ./deps.json;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -36,4 +38,6 @@ buildGhidraExtension (finalAttrs: {
|
||||||
maintainers = [ lib.maintainers.jchw ];
|
maintainers = [ lib.maintainers.jchw ];
|
||||||
platforms = lib.platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
};
|
};
|
||||||
})
|
};
|
||||||
|
in
|
||||||
|
self
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
{
|
|
||||||
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,
|
fetchFromGitHub,
|
||||||
buildGhidraExtension,
|
buildGhidraExtension,
|
||||||
}:
|
}:
|
||||||
buildGhidraExtension (finalAttrs: {
|
buildGhidraExtension rec {
|
||||||
pname = "Ghidra-GolangAnalyzerExtension";
|
pname = "Ghidra-GolangAnalyzerExtension";
|
||||||
version = "1.2.4";
|
version = "1.2.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mooncat-greenpy";
|
owner = "mooncat-greenpy";
|
||||||
repo = "Ghidra_GolangAnalyzerExtension";
|
repo = "Ghidra_GolangAnalyzerExtension";
|
||||||
rev = finalAttrs.version;
|
rev = version;
|
||||||
hash = "sha256-uxozIJ+BLcP1vBnLOCZD9ueY10hd37fON/Miii3zabo=";
|
hash = "sha256-uxozIJ+BLcP1vBnLOCZD9ueY10hd37fON/Miii3zabo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Facilitates the analysis of Golang binaries using Ghidra";
|
description = "Facilitates the analysis of Golang binaries using Ghidra";
|
||||||
homepage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension";
|
homepage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension";
|
||||||
downloadPage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/releases/tag/${finalAttrs.version}";
|
downloadPage = "https://github.com/mooncat-greenpy/Ghidra_GolangAnalyzerExtension/releases/tag/${version}";
|
||||||
license = lib.licenses.mit;
|
license = lib.licenses.mit;
|
||||||
maintainers = [ lib.maintainers.ivyfanchiang ];
|
maintainers = [ lib.maintainers.ivyfanchiang ];
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
|
|
@ -42,8 +42,7 @@ buildGhidraExtension {
|
||||||
bison
|
bison
|
||||||
texinfo
|
texinfo
|
||||||
perl
|
perl
|
||||||
]
|
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ];
|
||||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ xcbuild ];
|
|
||||||
|
|
||||||
buildInputs = [ zlib ];
|
buildInputs = [ zlib ];
|
||||||
gradleBuildTask = "assemble";
|
gradleBuildTask = "assemble";
|
||||||
|
|
|
@ -24,15 +24,15 @@ let
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
self = buildGhidraExtension (finalAttrs: {
|
self = buildGhidraExtension rec {
|
||||||
pname = "kaiju";
|
pname = "kaiju";
|
||||||
version = "250828";
|
version = "250417";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "CERTCC";
|
owner = "CERTCC";
|
||||||
repo = "kaiju";
|
repo = "kaiju";
|
||||||
rev = finalAttrs.version;
|
rev = version;
|
||||||
hash = "sha256-edsQIBoOTY+WxVBtH1bbM7TZZHhA0jgVb2iJKC66iVM=";
|
hash = "sha256-SSvCb3xnOh0mb3H24RJTi11UmN2ARgFgsiiKlZXyufM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -65,9 +65,9 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Java implementation of some features of the CERT Pharos Binary Analysis Framework for Ghidra";
|
description = "A Java implementation of some features of the CERT Pharos Binary Analysis Framework for Ghidra";
|
||||||
homepage = "https://github.com/CERTCC/kaiju";
|
homepage = "https://github.com/CERTCC/kaiju";
|
||||||
downloadPage = "https://github.com/CERTCC/kaiju/releases/tag/${finalAttrs.version}";
|
downloadPage = "https://github.com/CERTCC/kaiju/releases/tag/${version}";
|
||||||
license = lib.licenses.bsd3;
|
license = lib.licenses.bsd3;
|
||||||
maintainers = [ lib.maintainers.ivyfanchiang ];
|
maintainers = [ lib.maintainers.ivyfanchiang ];
|
||||||
platforms = [
|
platforms = [
|
||||||
|
@ -77,6 +77,6 @@ let
|
||||||
"aarch64-darwin"
|
"aarch64-darwin"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
});
|
};
|
||||||
in
|
in
|
||||||
self
|
self
|
||||||
|
|
|
@ -3,22 +3,22 @@
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
buildGhidraExtension,
|
buildGhidraExtension,
|
||||||
}:
|
}:
|
||||||
buildGhidraExtension (finalAttrs: {
|
buildGhidraExtension rec {
|
||||||
pname = "lightkeeper";
|
pname = "lightkeeper";
|
||||||
version = "1.2.4";
|
version = "1.2.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "WorksButNotTested";
|
owner = "WorksButNotTested";
|
||||||
repo = "lightkeeper";
|
repo = "lightkeeper";
|
||||||
rev = finalAttrs.version;
|
rev = version;
|
||||||
hash = "sha256-aGMWg6VQleKH/txlxpSw19QOotWZSqeW5Ve2SpWGhgA=";
|
hash = "sha256-aGMWg6VQleKH/txlxpSw19QOotWZSqeW5Ve2SpWGhgA=";
|
||||||
};
|
};
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cd lightkeeper
|
cd lightkeeper
|
||||||
'';
|
'';
|
||||||
meta = {
|
meta = {
|
||||||
description = "Port of the Lighthouse plugin to GHIDRA";
|
description = "A port of the Lighthouse plugin to GHIDRA.";
|
||||||
homepage = "https://github.com/WorksButNotTested/lightkeeper";
|
homepage = "https://github.com/WorksButNotTested/lightkeeper";
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
|
|
@ -5,15 +5,18 @@
|
||||||
ghidra,
|
ghidra,
|
||||||
ant,
|
ant,
|
||||||
}:
|
}:
|
||||||
buildGhidraExtension (finalAttrs: {
|
let
|
||||||
|
version = "2.3.1";
|
||||||
|
in
|
||||||
|
buildGhidraExtension {
|
||||||
pname = "wasm";
|
pname = "wasm";
|
||||||
version = "2.3.2";
|
inherit version;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nneonneo";
|
owner = "nneonneo";
|
||||||
repo = "ghidra-wasm-plugin";
|
repo = "ghidra-wasm-plugin";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-JFUPhh4WUcfxYow3kLMyva1Ni/cQBIit983o/KbbKps=";
|
hash = "sha256-aoSMNzv+TgydiXM4CbvAyu/YsxmdZPvpkZkYEE3C+V4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ ant ];
|
nativeBuildInputs = [ ant ];
|
||||||
|
@ -32,9 +35,9 @@ buildGhidraExtension (finalAttrs: {
|
||||||
meta = {
|
meta = {
|
||||||
description = "Ghidra Wasm plugin with disassembly and decompilation support";
|
description = "Ghidra Wasm plugin with disassembly and decompilation support";
|
||||||
homepage = "https://github.com/nneonneo/ghidra-wasm-plugin";
|
homepage = "https://github.com/nneonneo/ghidra-wasm-plugin";
|
||||||
downloadPage = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${finalAttrs.version}";
|
downloadPage = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${version}";
|
||||||
changelog = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${finalAttrs.version}";
|
changelog = "https://github.com/nneonneo/ghidra-wasm-plugin/releases/tag/v${version}";
|
||||||
license = lib.licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
maintainers = [ lib.maintainers.BonusPlay ];
|
maintainers = [ lib.maintainers.BonusPlay ];
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
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,10 +29,8 @@ let
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
makeBinaryWrapper
|
makeBinaryWrapper
|
||||||
] ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle;
|
] ++ 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" \
|
makeWrapper '${ghidra}/bin/ghidra' "$out/bin/ghidra" \
|
||||||
--set NIX_GHIDRAHOME "$out/lib/ghidra/Ghidra"
|
--set NIX_GHIDRAHOME "$out/lib/ghidra/Ghidra"
|
||||||
makeWrapper '${ghidra}/bin/ghidra-analyzeHeadless' "$out/bin/ghidra-analyzeHeadless" \
|
makeWrapper '${ghidra}/bin/ghidra-analyzeHeadless' "$out/bin/ghidra-analyzeHeadless" \
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,72 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"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