Compare commits

...

13 Commits

Author SHA1 Message Date
xenia 6e543d6eb0 oops 2026-06-08 17:02:49 -04:00
xenia fc4a82100b updoot ghidra 2026-06-08 17:00:40 -04:00
xenia d6ed68b279 idapro: remove warnings 2026-06-08 13:15:13 -04:00
xenia 126e4efe97 update ghidra + extensions 2026-06-08 11:51:14 -04:00
xenia 7e8999a71b remove nix-serve-ng overlay 2026-06-08 11:25:56 -04:00
xenia 47681646d5 fix ci breakage 2026-06-08 10:49:22 -04:00
xenia 1512f8c971 eta: update + fix 2026-06-07 23:26:53 -04:00
xenia 281340669f update racket catalog pkgs 2026-06-07 23:18:57 -04:00
xenia b5e87d726a lix -> 2.95 2026-06-07 23:06:33 -04:00
xenia 29e44293cb racket: incorporate upstream changes 2026-06-07 22:31:40 -04:00
xenia b48976eb87 strawberry -> 1.2.18 2026-06-07 22:26:50 -04:00
xenia 4e0cce3aad flake-self-attrs 2026-06-07 21:54:26 -04:00
xenia 14280abe39 nixos 26.05 2026-06-07 21:53:19 -04:00
37 changed files with 385 additions and 289 deletions

View File

@ -21,4 +21,7 @@ def remove_disabled:
# randomly hangs fetching cargo deps on the ci machine # randomly hangs fetching cargo deps on the ci machine
| select(.[0] != "zbasefind") | select(.[0] != "zbasefind")
# deps are broken
| select(.[0] != "angr-management")
; ;

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
BRANCH="nixos-25.11" BRANCH="nixos-26.05"
while read oldrev newrev ref; do while read oldrev newrev ref; do
if [[ "$ref" = "refs/heads/$BRANCH" ]]; then if [[ "$ref" = "refs/heads/$BRANCH" ]]; then

View File

@ -2,16 +2,16 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1774386573, "lastModified": 1780734595,
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=", "narHash": "sha256-DmTfP92QFYRLOGXlMIE54MAgxSJjDWocl3gRNOu72Os=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9", "rev": "9b696460ac78b5ccfc17c854d8c976f20456e943",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View File

@ -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-26.05";
}; };
outputs = { self, nixpkgs }: outputs = { self, nixpkgs }:
@ -23,18 +23,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-26.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
@ -149,17 +149,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 [

View File

@ -40,13 +40,8 @@ let
maybeWarnDuplicate = x: if final.lix-overlay-present > 1 then builtins.trace warning x else x; maybeWarnDuplicate = x: if final.lix-overlay-present > 1 then builtins.trace warning x else x;
lixPackageSet = prev.lixPackageSets.lix_2_94; lixPackageSet = prev.lixPackageSets.lix_2_95;
lixPackageToUse = lixPackageSet.lix.overrideAttrs (final: prev: { lixPackageToUse = lixPackageSet.lix;
patches = (prev.patches or []) ++ [
./pkgs/lix/lix/pkg-config.patch
./pkgs/lix/lix/version-macros.patch
];
});
# It is not enough to *just* throw whatever the default nix version is at # It is not enough to *just* throw whatever the default nix version is at
# anything in the "don't give lix" list, we have to *also* ensure that we # anything in the "don't give lix" list, we have to *also* ensure that we

View File

@ -11,7 +11,7 @@
# set some nix settings defaults # set some nix settings defaults
config.nix.settings = { config.nix.settings = {
repl-overlays = [ ./repl-overlay.nix ]; repl-overlays = [ ./repl-overlay.nix ];
experimental-features = "nix-command flakes pipe-operator"; experimental-features = "nix-command flakes pipe-operator flake-self-attrs";
temp-dir = "/var/tmp"; temp-dir = "/var/tmp";
# we're disabling the default flake registry because i don't like it # we're disabling the default flake registry because i don't like it

View File

@ -127,22 +127,18 @@ final: prev: {
} // (byName self)) |> final.lib.recurseIntoAttrs; } // (byName self)) |> final.lib.recurseIntoAttrs;
strawberry = prev.strawberry.overrideAttrs (afinal: aprev: { strawberry = prev.strawberry.overrideAttrs (afinal: aprev: {
version = "1.2.17"; version = "1.2.18";
src = final.fetchFromGitHub { src = final.fetchFromGitHub {
owner = "jonaski"; owner = "jonaski";
repo = "strawberry"; repo = "strawberry";
rev = afinal.version; rev = afinal.version;
hash = "sha256-ZyWVOpa1laBUNW5lwbNeAmVBXEOLlXy+Xz8vbtuLi/8="; hash = "sha256-5h1psYJDKnFFgIGZY3ecCttgkR+zuUwa3b/A4keLk9o=";
}; };
patches = [ patches = [
./pkgs/strawberry/0001-make-the-minimum-scrobble-length-shorter.patch ./pkgs/strawberry/0001-make-the-minimum-scrobble-length-shorter.patch
]; ];
}); });
nix-serve-ng = final.haskell.lib.overrideCabal prev.nix-serve-ng (
final.callPackage ./pkgs/lix/nix-serve-ng {}
);
# export derivations modified in "typical" configurations for nixos, so they will be available in # export derivations modified in "typical" configurations for nixos, so they will be available in
# the CI cache # the CI cache
nixosDragonPackages = { nixosDragonPackages = {

View File

@ -9,8 +9,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aioobe"; owner = "aioobe";
repo = "eta"; repo = "eta";
rev = "938f16bd088ce3d2a6f1bafbcdfd9a60d4d671ea"; rev = "7027a4012e7c697be1c9af1a9f21bfae1bd4913b";
hash = "sha256-rTXy1K4oDM1/NC6qpunDlyrEFyk93hkowrriuXODCMg="; hash = "sha256-18TOXDohyRGA0pmRyWgR9EPhKgZt+ZtkuTCFWbSnFlY=";
}; };
PREFIX = ""; PREFIX = "";
installPhase = '' installPhase = ''

View File

@ -15,8 +15,6 @@ struct ExtraBuiltinsSettings : Config {
static ExtraBuiltinsSettings extraBuiltinsSettings; static ExtraBuiltinsSettings extraBuiltinsSettings;
static GlobalConfig::Register rp(&extraBuiltinsSettings);
static void prim_extraBuiltins(EvalState & state, static void prim_extraBuiltins(EvalState & state,
Value ** _args, Value & v) Value ** _args, Value & v)
{ {
@ -24,12 +22,10 @@ static void prim_extraBuiltins(EvalState & state,
SourcePath(CanonPath(extraBuiltinsSettings.extraBuiltinsFile.to_string())); SourcePath(CanonPath(extraBuiltinsSettings.extraBuiltinsFile.to_string()));
try { try {
Value fun;
// bypass the source path checking by directly reading and evaluating the file // bypass the source path checking by directly reading and evaluating the file
// this also bypasses the eval cache but oh well // this also bypasses the eval cache but oh well
Expr& e = state.ctx.parseExprFromFile(extraBuiltinsFile.unsafeIntoChecked()); Expr& e = state.ctx.parseExprFromFile(extraBuiltinsFile.unsafeIntoChecked());
state.eval(e, fun); Value fun = state.eval(e);
auto bindings = state.ctx.buildBindings(2); auto bindings = state.ctx.buildBindings(2);
@ -55,8 +51,12 @@ static void prim_extraBuiltins(EvalState & state,
} }
} }
static RegisterPrimOp rp1({ extern "C" void nix_plugin_entry() {
GlobalConfig::registerGlobalConfig(extraBuiltinsSettings);
PluginPrimOps::add({
.name = "__extraBuiltins", .name = "__extraBuiltins",
.arity = 0, .arity = 0,
.fun = prim_extraBuiltins, .fun = prim_extraBuiltins,
}); });
}

View File

@ -1,15 +1,15 @@
project('lix-plugins', project('lix-plugins',
['c', 'cpp'], ['c', 'cpp'],
default_options: ['cpp_std=gnu++20'], default_options: ['cpp_std=gnu++23'],
version: '15.0.0') version: '15.0.0')
cpp = meson.get_compiler('cpp') cpp = meson.get_compiler('cpp')
pkgconfig = import('pkgconfig') pkgconfig = import('pkgconfig')
lix_expr = dependency('lix-expr', version: '>=2.94') lix_expr = dependency('lix-expr', version: '>=2.95')
lix_store = dependency('lix-store', version: '>=2.94') lix_store = dependency('lix-store', version: '>=2.95')
lix_cmd = dependency('lix-cmd', version: '>=2.94') lix_cmd = dependency('lix-cmd', version: '>=2.95')
lix_main = dependency('lix-main', version: '>=2.94') lix_main = dependency('lix-main', version: '>=2.95')
boost = dependency('boost') boost = dependency('boost')
library('lix-plugins', library('lix-plugins',

View File

@ -1,12 +0,0 @@
diff --git a/lix/libstore/meson.build b/lix/libstore/meson.build
index 64c4be468..19f4b1242 100644
--- a/lix/libstore/meson.build
+++ b/lix/libstore/meson.build
@@ -471,6 +471,6 @@ configure_file(
'libdir' : libdir,
'includedir' : includedir,
'PACKAGE_VERSION' : meson.project_version(),
- 'AWS_SDK_IF_FOUND' : aws_sdk.found() ? 'aws-cpp-sdk-core aws-cpp-sdk-s3 aws-cpp-std-transfer' : '',
+ 'AWS_SDK_IF_FOUND' : aws_sdk.found() ? 'aws-cpp-sdk-core aws-cpp-sdk-s3 aws-cpp-sdk-transfer' : '',
},
)

View File

@ -1,32 +0,0 @@
commit 1fa8df82df53a9255ecebf077b1698e7d86d5b08
Author: Qyriad <qyriad@qyriad.me>
Date: Tue, 18 Nov 2025 17:36:40 +0100
libutil: include LIX_MAJOR, LIX_MINOR, and LIX_PATCH macros
Fixes #1038
Change-Id: I7d8a4648890fce7ff15695876c9b9d3a6a6a6964
diff --git a/lix/meson.build b/lix/meson.build
index 40960c486..ac411679c 100644
--- a/lix/meson.build
+++ b/lix/meson.build
@@ -1,7 +1,17 @@
+# Cursed, but I don't think there's another way to get this environment variable.
+lix_suffix = run_command('bash', '-c', 'echo -n "$VERSION_SUFFIX"', check : true).stdout().strip()
+lix_version_parts = meson.project_version().split('.')
+lix_major = lix_version_parts[0]
+lix_minor = lix_version_parts[1]
+lix_patch = lix_version_parts[2].replace(lix_suffix, '')
+
config_h = configure_file(
configuration : {
'PACKAGE_NAME': '"' + meson.project_name() + '"',
'PACKAGE_VERSION': '"' + meson.project_version() + '"',
+ 'LIX_MAJOR': lix_major,
+ 'LIX_MINOR': lix_minor,
+ 'LIX_PATCH': lix_patch,
'PACKAGE_TARNAME': '"' + meson.project_name() + '"',
'PACKAGE_STRING': '"' + meson.project_name() + ' ' + meson.project_version() + '"',
'HAVE_STRUCT_DIRENT_D_TYPE': 1, # FIXME: actually check this for solaris

View File

@ -1,29 +0,0 @@
{
fetchFromGitHub,
lix,
boost,
capnproto,
}: prev: {
version = "1.1.0-unstable-2025-12-16";
src = fetchFromGitHub {
owner = "aristanetworks";
repo = "nix-serve-ng";
rev = "8ce0104efdf7f72e5a371bc48613084673b23cc0";
hash = "sha256-Pck7/jhaoYAUM9M0nWR/dwYEVwXXNP2bzB4+XtZBmno=";
};
configureFlags = (prev.configureFlags or []) ++ ["-flix"];
executablePkgconfigDepends = [
lix
];
executableSystemDepends = (prev.executableSystemDepends or []) ++ [
lix
boost.dev
capnproto
];
}

View File

@ -12,7 +12,7 @@
src = fetchurl { src = fetchurl {
url = "http://caml.inria.fr/distrib/ocaml-${version}/ocaml-${version}-refman-html.tar.gz"; url = "http://caml.inria.fr/distrib/ocaml-${version}/ocaml-${version}-refman-html.tar.gz";
hash = "sha256-k1kARqMqsB2kODs5qdcFCi0Y3C44nOXebX3mKGlXDEY="; hash = "sha256-LuZMeSB/8HLyWRXWftaXJiupYTg6ZiALVTxx20YuSv8=";
}; };
buildPhase = ""; buildPhase = "";

View File

@ -13,4 +13,5 @@
("brag-lib" . #hash((license . "MIT"))) ("brag-lib" . #hash((license . "MIT")))
("fancy-app" . #hash((license . "MIT"))) ("fancy-app" . #hash((license . "MIT")))
("rebellion" . #hash((license . "Apache-2.0"))) ("rebellion" . #hash((license . "Apache-2.0")))
("pretty-expressive" . #hash((license . "(Apache-2.0 OR MIT)")))
) )

View File

@ -5,13 +5,13 @@
fetchFromGitHub, fetchFromGitHub,
}: (buildRacketPackage { }: (buildRacketPackage {
pname = "fmt"; pname = "fmt";
version = "0.0.3+002818e"; version = "0.0.3+4e1ed68";
dependencies = [pretty-expressive]; dependencies = [pretty-expressive];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sorawee"; owner = "sorawee";
repo = "fmt"; repo = "fmt";
rev = "002818ec08ad6e5e01f79e6209b69203581d6adc"; rev = "4e1ed68e596e656960b44a8244bb33eb4e65ec64";
hash = "sha256-/oLq5WPpK/OO3ED7PBKTMCjDxTBy8+ZjoL/WPPC1zlU="; hash = "sha256-zwcjNvK2qcKfsXb2mlQQNOHI2niMMPI9wx9YeEz+XTo=";
}; };
gitSubpath = "."; gitSubpath = ".";
passthru = { passthru = {

View File

@ -4,13 +4,13 @@
fetchFromGitHub, fetchFromGitHub,
}: (buildRacketPackage { }: (buildRacketPackage {
pname = "memoize-lib"; pname = "memoize-lib";
version = "3.0+f373706"; version = "3.0+c9691ed";
dependencies = []; dependencies = [];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jbclements"; owner = "jbclements";
repo = "memoize"; repo = "memoize";
rev = "f373706824145ce2a8247edb76278d6df139333c"; rev = "c9691ed9ba2604de223b6ba3dd08d17f740bc8cd";
hash = "sha256-87a5nSpOZaal1/t5GMk5yFHX1daukabYQ/1J4L5LN4o="; hash = "sha256-HLAnsZe+BACkBQUYpgid2HKcHe4y8E0QqsYcZuvFaR0=";
}; };
gitSubpath = "memoize-lib"; gitSubpath = "memoize-lib";
passthru = { passthru = {

View File

@ -0,0 +1,28 @@
{
lib,
buildRacketPackage,
fetchFromGitHub,
}: (buildRacketPackage {
pname = "pretty-expressive-lib";
version = "1.2+9ad7077";
dependencies = [];
src = fetchFromGitHub {
owner = "sorawee";
repo = "pretty-expressive";
rev = "9ad7077188c0ab7ac4088a6ee052c64e8eb21925";
hash = "sha256-k8hRrWRceUrySrTa7e2NI/n2qwSuXtx5NT6ekNavJ64=";
};
gitSubpath = "pretty-expressive-lib";
passthru = {
racketModules = ["pretty-expressive/core.rkt" "pretty-expressive/main.rkt" "pretty-expressive/doc.rkt" "pretty-expressive/process.rkt" "pretty-expressive/addons.rkt" "pretty-expressive/promise.rkt"];
racketLaunchers = [];
racoCommands = [];
};
meta = {
description = "A pretty expressive printer - lib";
sourceProvenance = [(((lib).sourceTypes).fromSource)];
broken = false;
license = [(((lib).licensesSpdx)."Apache-2.0") (((lib).licensesSpdx)."MIT")];
homepage = "https://github.com/sorawee/pretty-expressive/tree/HEAD/README.md";
};
})

View File

@ -1,20 +1,21 @@
{ {
lib,
buildRacketPackage, buildRacketPackage,
pretty-expressive-lib,
lib,
fetchFromGitHub, fetchFromGitHub,
}: (buildRacketPackage { }: (buildRacketPackage {
pname = "pretty-expressive"; pname = "pretty-expressive";
version = "1.1+0984931"; version = "1.2+9ad7077";
dependencies = []; dependencies = [pretty-expressive-lib];
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sorawee"; owner = "sorawee";
repo = "pretty-expressive"; repo = "pretty-expressive";
rev = "0984931c6f8ff32921dd477c875127de7600dfd5"; rev = "9ad7077188c0ab7ac4088a6ee052c64e8eb21925";
hash = "sha256-5WokTHS90pYo5ltJEWX5MIMyUWr2AlRU/W2bznLQ74U="; hash = "sha256-k8hRrWRceUrySrTa7e2NI/n2qwSuXtx5NT6ekNavJ64=";
}; };
gitSubpath = "."; gitSubpath = "pretty-expressive";
passthru = { passthru = {
racketModules = ["pretty-expressive/benchmarks/json.rkt" "pretty-expressive/core.rkt" "pretty-expressive/benchmarks/sexp-random.rkt" "pretty-expressive/benchmarks/sexp-full.rkt" "pretty-expressive/benchmarks/concat.rkt" "pretty-expressive/doc.rkt" "pretty-expressive/addons.rkt" "pretty-expressive/scribblings/pretty-expressive.scrbl" "pretty-expressive/benchmarks/fill-sep.rkt" "pretty-expressive/main.rkt" "pretty-expressive/benchtool.rkt" "pretty-expressive/benchmarks/flatten.rkt" "pretty-expressive/benchmarks/wadler-opt.rkt" "pretty-expressive/examples.rkt" "pretty-expressive/process.rkt" "pretty-expressive/promise.rkt"]; racketModules = ["pretty-expressive/tests/main.rkt" "pretty-expressive/tests/examples.rkt" "pretty-expressive/scribblings/pretty-expressive.scrbl" "pretty-expressive/tests/benchtool.rkt"];
racketLaunchers = []; racketLaunchers = [];
racoCommands = []; racoCommands = [];
}; };
@ -23,6 +24,6 @@
sourceProvenance = [(((lib).sourceTypes).fromSource)]; sourceProvenance = [(((lib).sourceTypes).fromSource)];
broken = false; broken = false;
license = [(((lib).licensesSpdx)."Apache-2.0") (((lib).licensesSpdx)."MIT")]; license = [(((lib).licensesSpdx)."Apache-2.0") (((lib).licensesSpdx)."MIT")];
homepage = "https://github.com/sorawee/pretty-expressive/tree/main/README.md"; homepage = "https://github.com/sorawee/pretty-expressive/tree/HEAD/README.md";
}; };
}) })

View File

@ -40,17 +40,6 @@ stdenv.mkDerivation (finalAttrs: {
sqlite.out sqlite.out
]; ];
patches = lib.optionals isDarwin [
/*
The entry point binary $out/bin/racket is codesigned at least once. The
following error is triggered as a result.
(error 'add-ad-hoc-signature "file already has a signature")
We always remove the existing signature then call add-ad-hoc-signature to
circumvent this error.
*/
./patches/force-remove-codesign-then-add.patch
];
preConfigure = preConfigure =
/* /*
The configure script forces using `libtool -o` as AR on Darwin. But, the The configure script forces using `libtool -o` as AR on Darwin. But, the
@ -171,5 +160,10 @@ stdenv.mkDerivation (finalAttrs: {
maintainers = with lib.maintainers; [ rc-zb ]; maintainers = with lib.maintainers; [ rc-zb ];
mainProgram = "racket"; mainProgram = "racket";
platforms = lib.platforms.all; platforms = lib.platforms.all;
/*
> checking size of void *... 0
> Something has gone wrong getting the pointer size; see config.log
*/
badPlatforms = lib.platforms.darwin;
}; };
}) })

View File

@ -15,7 +15,7 @@
libpng, libpng,
makeFontsConf, makeFontsConf,
pango, pango,
unixODBC, unixodbc,
wrapGAppsHook3, wrapGAppsHook3,
disableDocs ? false, disableDocs ? false,
@ -38,7 +38,7 @@ minimal.overrideAttrs (
}; };
buildInputs = prevAttrs.buildInputs ++ [ buildInputs = prevAttrs.buildInputs ++ [
(if isDarwin then libiodbc else unixODBC) (if isDarwin then libiodbc else unixodbc)
cairo cairo
fontconfig.lib fontconfig.lib
glib glib
@ -133,8 +133,7 @@ minimal.overrideAttrs (
libraries support applications from web servers and databases to libraries support applications from web servers and databases to
GUIs and charts. GUIs and charts.
''; '';
platforms = lib.platforms.unix; badPlatforms = [];
badPlatforms = lib.platforms.darwin;
}; };
} }
) )

View File

@ -1,10 +0,0 @@
--- old/src/mac/codesign.rkt
+++ new/src/mac/codesign.rkt
@@ -18,6 +18,6 @@
file))
(void
- (if remove?
+ (begin
(remove-signature file)
(add-ad-hoc-signature file)))

View File

@ -49,7 +49,7 @@ down_page_path = homepage.find(
down_page = BeautifulSoup(requests.get(SITE + "/" + down_page_path).text, "html.parser") down_page = BeautifulSoup(requests.get(SITE + "/" + down_page_path).text, "html.parser")
down_table = down_page.find(class_="download-table") down_table = down_page.find(class_="download-table")
full = find_info(down_table, "Racket", "Unix") full = find_info(down_table, "Racket", "All Platforms")
minimal = find_info(down_table, "Minimal Racket", "All Platforms") minimal = find_info(down_table, "Minimal Racket", "All Platforms")
with open(MANIFEST_FILENAME, "w", encoding="utf-8") as f: with open(MANIFEST_FILENAME, "w", encoding="utf-8") as f:

View File

@ -19,7 +19,7 @@
let let
pname = "ghidra"; pname = "ghidra";
version = "12.0"; version = "12.0.4";
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-eDYbvD3Ln7twGCOBQsP8UfWAjyJUO/ofr/oitaEtCu4="; hash = "sha256-ETRsLbnE4RU+MdmSxMHNIbevYsZhgrzqQDQmBojchLk=";
# 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;
@ -87,7 +87,7 @@ stdenv.mkDerivation (finalAttrs: {
postPatch postPatch
; ;
outputs = [ "out" "lib" "doc" ]; outputs = [ "out" "lib" ];
# Don't create .orig files if the patch isn't an exact match. # Don't create .orig files if the patch isn't an exact match.
patchFlags = [ patchFlags = [
@ -158,7 +158,7 @@ stdenv.mkDerivation (finalAttrs: {
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
mkdir -p "$lib/lib/ghidra" "$out/share/applications" "$doc/share/doc" mkdir -p "$lib/lib/ghidra" "$out/share/applications"
ZIP=build/dist/$(ls build/dist) ZIP=build/dist/$(ls build/dist)
echo $ZIP echo $ZIP
@ -166,19 +166,8 @@ stdenv.mkDerivation (finalAttrs: {
f=("$lib/lib/ghidra"/*) f=("$lib/lib/ghidra"/*)
mv "$lib/lib/ghidra"/*/* "$lib/lib/ghidra" mv "$lib/lib/ghidra"/*/* "$lib/lib/ghidra"
rmdir "''${f[@]}" rmdir "''${f[@]}"
mv "$lib/lib/ghidra/docs" "$doc/share/doc/ghidra"
# the builtin help viewer needs the following to stay in-tree unzip "$lib/lib/ghidra/docs/GhidraAPI_javadoc.zip" -d "$lib/lib/ghidra/docs"
mkdir "$lib/lib/ghidra/docs"
cp "$doc/share/doc/ghidra/WhatsNew.html" "$lib/lib/ghidra/docs"
cp "$doc/share/doc/ghidra/README_PDB.html" "$lib/lib/ghidra/docs"
for path in server/svrREADME.html support/GhidraGo/ghidraGoREADME.html support/analyzeHeadlessREADME.html support/buildGhidraJarREADME.txt; do
out_path="$(basename "$path")"
mv "$lib/lib/ghidra/$path" "$doc/share/doc/ghidra/$out_path"
done
unzip "$doc/share/doc/ghidra/GhidraAPI_javadoc.zip" -d "$doc/share/doc/ghidra"
rm "$doc/share/doc/ghidra/GhidraAPI_javadoc.zip"
for f in Ghidra/Framework/Gui/src/main/resources/images/GhidraIcon*.png; do for f in Ghidra/Framework/Gui/src/main/resources/images/GhidraIcon*.png; do
res=$(basename "$f" ".png" | cut -d"_" -f3 | cut -c11-) res=$(basename "$f" ".png" | cut -d"_" -f3 | cut -c11-)

View File

@ -10,6 +10,9 @@
"05/71/590b2a91b43763aa27eac2c63803542a2878a4d8c600b81aa694d3fde919/jpype1-1.5.2-cp39-cp39-macosx_10_9_x86_64": { "05/71/590b2a91b43763aa27eac2c63803542a2878a4d8c600b81aa694d3fde919/jpype1-1.5.2-cp39-cp39-macosx_10_9_x86_64": {
"whl": "sha256-i3XTPpOjvGVD3fl8JO4K21qGpp+2fw5PT6HIw5cLv5g=" "whl": "sha256-i3XTPpOjvGVD3fl8JO4K21qGpp+2fw5PT6HIw5cLv5g="
}, },
"0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any": {
"whl": "sha256-cI50gcyAF5rw5Va78MwAuERMcyHicAuNhYAjHRMBckg="
},
"0b/7d/9fdbbc1a574be43f9820735ca8df0caf8b159856201d9b21fd73932342bc/jpype1-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64": { "0b/7d/9fdbbc1a574be43f9820735ca8df0caf8b159856201d9b21fd73932342bc/jpype1-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64": {
"whl": "sha256-uQDhVIJqB2EY0HQWZZbx2BfhE+BwhL8MnEPYBkqGq3c=" "whl": "sha256-uQDhVIJqB2EY0HQWZZbx2BfhE+BwhL8MnEPYBkqGq3c="
}, },
@ -19,15 +22,15 @@
"0e/b9/4dfb38a7f4efb21f71df7344944a8d9a23e30d0503574e455af6ce4f1a56/jpype1-1.5.2-cp311-cp311-win_amd64": { "0e/b9/4dfb38a7f4efb21f71df7344944a8d9a23e30d0503574e455af6ce4f1a56/jpype1-1.5.2-cp311-cp311-win_amd64": {
"whl": "sha256-Cg0Y1DhLPfLlUoJUVzffzxjGBFBPE4KtFPiAvvlg8mU=" "whl": "sha256-Cg0Y1DhLPfLlUoJUVzffzxjGBFBPE4KtFPiAvvlg8mU="
}, },
"20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any": {
"whl": "sha256-KVcu8rHxdYEEazoiJ9XGEfsl7HDKG6hVSySw5pMxpIQ="
},
"20/a3/00a265d424f7d47e0dc547df2320225ce0143fec671faf710def41404b8c/jpype1-1.5.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64": { "20/a3/00a265d424f7d47e0dc547df2320225ce0143fec671faf710def41404b8c/jpype1-1.5.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64": {
"whl": "sha256-wISAx9GBJWZKEr8KJEuWtJwFEFMGtlk32+/rBatLKEc=" "whl": "sha256-wISAx9GBJWZKEr8KJEuWtJwFEFMGtlk32+/rBatLKEc="
}, },
"22/18/0a51845ca890ffdc72f4d71a0c2be334b887c5bb6812207efe5ad45afcb3/jpype1-1.5.2-cp310-cp310-win_amd64": { "22/18/0a51845ca890ffdc72f4d71a0c2be334b887c5bb6812207efe5ad45afcb3/jpype1-1.5.2-cp310-cp310-win_amd64": {
"whl": "sha256-kksKDPk9Pd2z95KG++QPjJAceO1hIW7b4QhmYjTfQ+A=" "whl": "sha256-kksKDPk9Pd2z95KG++QPjJAceO1hIW7b4QhmYjTfQ+A="
}, },
"27/d6/003e593296a85fd6ed616ed962795b2f87709c3eee2bca4f6d0fe55c6d00/wheel-0.37.1-py2.py3-none-any": {
"whl": "sha256-S9zX2EATgIYSbNCSVNxhlftPxvAcBQodcjbyYw2x0io="
},
"35/a0/638186a75026a02286041e4a0449b1dff799a3914dc1c0716ef9b9367b73/jpype1-1.5.2-cp311-cp311-macosx_10_9_universal2": { "35/a0/638186a75026a02286041e4a0449b1dff799a3914dc1c0716ef9b9367b73/jpype1-1.5.2-cp311-cp311-macosx_10_9_universal2": {
"whl": "sha256-yfarjdKEwW4mF6aX1Uw9AwSwgCCjc4btlhA6EpORotk=" "whl": "sha256-yfarjdKEwW4mF6aX1Uw9AwSwgCCjc4btlhA6EpORotk="
}, },
@ -64,15 +67,15 @@
"97/0a/cbe03759331c640aa5862f974028122a862b08935a0b11b8fa6f6e46c26b/jpype1-1.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64": { "97/0a/cbe03759331c640aa5862f974028122a862b08935a0b11b8fa6f6e46c26b/jpype1-1.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64": {
"whl": "sha256-zcqTzHT42x9gTS6mrbdk3sTexoUo8e5oMI+j1SQJVzk=" "whl": "sha256-zcqTzHT42x9gTS6mrbdk3sTexoUo8e5oMI+j1SQJVzk="
}, },
"a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any": {
"whl": "sha256-Bi00IirRPgzDEqTALXPwWehqSsv73qj492soyZ8waSI="
},
"bd/68/47fa634cbd0418cbca86355e9421425f5892ee994f7338106327e49f9117/jpype1-1.5.2": { "bd/68/47fa634cbd0418cbca86355e9421425f5892ee994f7338106327e49f9117/jpype1-1.5.2": {
"tar.gz": "sha256-dKQuzPIdMDlMGDKuw5haFJZfpTINoIe2UCnRcsDOxDs=" "tar.gz": "sha256-dKQuzPIdMDlMGDKuw5haFJZfpTINoIe2UCnRcsDOxDs="
}, },
"c0/c6/63538d160c17e837f62d29ba4163bc444cef08c29cd3f3b8090691c1869c/jpype1-1.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64": { "c0/c6/63538d160c17e837f62d29ba4163bc444cef08c29cd3f3b8090691c1869c/jpype1-1.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64": {
"whl": "sha256-/PxcHUXWsQiADRcuqBe9pYXbfxZG1qmNFNqaymbg60Q=" "whl": "sha256-/PxcHUXWsQiADRcuqBe9pYXbfxZG1qmNFNqaymbg60Q="
}, },
"c7/42/be1c7bbdd83e1bfb160c94b9cafd8e25efc7400346cf7ccdbdb452c467fa/setuptools-68.0.0-py3-none-any": {
"whl": "sha256-EeUsZ0FaOB0Q1rRiztnPuXBmF58OhxOZ4AbEqxAfyF8="
},
"c7/f2/b2efcad1ea5a541f125218e4eb1529ebb8ca18941264c879f3e89a36dc35/jpype1-1.5.2-cp310-cp310-macosx_10_9_universal2": { "c7/f2/b2efcad1ea5a541f125218e4eb1529ebb8ca18941264c879f3e89a36dc35/jpype1-1.5.2-cp310-cp310-macosx_10_9_universal2": {
"whl": "sha256-ey2pjBQoEspAoYpzWzPkfGURsD3r8el5Yw9M9HO2ioc=" "whl": "sha256-ey2pjBQoEspAoYpzWzPkfGURsD3r8el5Yw9M9HO2ioc="
}, },
@ -88,9 +91,6 @@
"e5/cf/344e1f81f1e8c651ec23dfa9fe4b91f6e1d699b36f610a547ba85ee7fb16/jpype1-1.5.2-cp39-cp39-win_amd64": { "e5/cf/344e1f81f1e8c651ec23dfa9fe4b91f6e1d699b36f610a547ba85ee7fb16/jpype1-1.5.2-cp39-cp39-win_amd64": {
"whl": "sha256-aOHRGCAPxG9OpL8gkACBWH7ATeSEA3yZewo7fF63H+M=" "whl": "sha256-aOHRGCAPxG9OpL8gkACBWH7ATeSEA3yZewo7fF63H+M="
}, },
"ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any": {
"whl": "sha256-jEkRkAM6mvfh2THQtdrMLvR1CbNN0N5n7SCbUgP8iMc="
},
"ee/01/1ed1d482960a5718fd99c82f6d79120181947cfd4667ec3944d448ed44a3/protobuf-6.31.0-py3-none-any": { "ee/01/1ed1d482960a5718fd99c82f6d79120181947cfd4667ec3944d448ed44a3/protobuf-6.31.0-py3-none-any": {
"whl": "sha256-asLoJVboIsF6jSOqEZC7wdBu+5wmGYHalcccnaCeniM=" "whl": "sha256-asLoJVboIsF6jSOqEZC7wdBu+5wmGYHalcccnaCeniM="
}, },
@ -104,40 +104,40 @@
} }
}, },
"https://github.com": { "https://github.com": {
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/Debugger/dbgmodel": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/Debugger/dbgmodel": {
"tlb": "sha256-jPXzouuBFgqjSQVqXKTCxyaxtumL8wl81BNRRxYzQ8c=" "tlb": "sha256-jPXzouuBFgqjSQVqXKTCxyaxtumL8wl81BNRRxYzQ8c="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vs2012_x64": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vs2012_x64": {
"fidb": "sha256-1OmKs/eQuDF5MhhDC7oNiySl+/TaZbDB/6jLDPvrDNw=" "fidb": "sha256-1OmKs/eQuDF5MhhDC7oNiySl+/TaZbDB/6jLDPvrDNw="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vs2012_x86": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vs2012_x86": {
"fidb": "sha256-pJDtfi7SHlh0Wf6urOcDa37eTOhOcuEN/YxXQ0ppGLY=" "fidb": "sha256-pJDtfi7SHlh0Wf6urOcDa37eTOhOcuEN/YxXQ0ppGLY="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vs2015_x64": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vs2015_x64": {
"fidb": "sha256-4E6eQPnstgHIX02E7Zv2a0U2O+HR6CwWLkyZArjLUI8=" "fidb": "sha256-4E6eQPnstgHIX02E7Zv2a0U2O+HR6CwWLkyZArjLUI8="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vs2015_x86": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vs2015_x86": {
"fidb": "sha256-tm7mlmU+LtNlkZ3qrviFEDEgx5LiLnmvcNEgnX4dhkQ=" "fidb": "sha256-tm7mlmU+LtNlkZ3qrviFEDEgx5LiLnmvcNEgnX4dhkQ="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vs2017_x64": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vs2017_x64": {
"fidb": "sha256-1fpfaXKYF0+lPSR9NZnmoSiEYFrRgce5VOI4DsHwvYk=" "fidb": "sha256-1fpfaXKYF0+lPSR9NZnmoSiEYFrRgce5VOI4DsHwvYk="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vs2017_x86": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vs2017_x86": {
"fidb": "sha256-04nLjXb/SlnKNfiRuFIccq1fDfluJTlzotIahhSkzIE=" "fidb": "sha256-04nLjXb/SlnKNfiRuFIccq1fDfluJTlzotIahhSkzIE="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vs2019_x64": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vs2019_x64": {
"fidb": "sha256-FQAHeW/DakBpZgrWJEmq2q890Rs4ZKXvIeeYMcnOkRg=" "fidb": "sha256-FQAHeW/DakBpZgrWJEmq2q890Rs4ZKXvIeeYMcnOkRg="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vs2019_x86": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vs2019_x86": {
"fidb": "sha256-62MKNvqlhqNx63NNwLvY0TzK72l/PbWHJZY1jz3SQyo=" "fidb": "sha256-62MKNvqlhqNx63NNwLvY0TzK72l/PbWHJZY1jz3SQyo="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vsOlder_x64": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vsOlder_x64": {
"fidb": "sha256-jDtR9GYM0n4aDWEKnz8tX7yDOmasnuQ5PuLySB6FWGY=" "fidb": "sha256-jDtR9GYM0n4aDWEKnz8tX7yDOmasnuQ5PuLySB6FWGY="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/FunctionID/vsOlder_x86": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/FunctionID/vsOlder_x86": {
"fidb": "sha256-mGBca2uSFKlF2ETkHIWGDVRkmkW8p4c+9pkcDpNyB4c=" "fidb": "sha256-mGBca2uSFKlF2ETkHIWGDVRkmkW8p4c+9pkcDpNyB4c="
}, },
"NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0/lib/java-sarif-2.1-modified": { "NationalSecurityAgency/ghidra-data/raw/Ghidra_12.0.4/lib/java-sarif-2.1-modified": {
"jar": "sha256-f3NlZklHVtJxql5LGvbIncUNB0qxxjdKR9+CImQiawE=" "jar": "sha256-f3NlZklHVtJxql5LGvbIncUNB0qxxjdKR9+CImQiawE="
}, },
"Z3Prover/z3/releases/download/z3-4.13.0/z3-4.13.0-arm64-osx-11.0": { "Z3Prover/z3/releases/download/z3-4.13.0/z3-4.13.0-arm64-osx-11.0": {
@ -154,6 +154,10 @@
} }
}, },
"https://repo.maven.apache.org/maven2": { "https://repo.maven.apache.org/maven2": {
"biz/aQute/bnd#biz.aQute.bnd.annotation/7.1.0": {
"jar": "sha256-9pwt46aVwRPRJayAU8kqaAo86dAuolhFCVzy1GJqdmM=",
"pom": "sha256-WCLfSRg9+SK6Wa53Oi2Mzrhq4eIPQfGYcxMd0YJJT3o="
},
"biz/aQute/bnd#biz.aQute.bnd.util/7.0.0": { "biz/aQute/bnd#biz.aQute.bnd.util/7.0.0": {
"jar": "sha256-OVddFQJJliqcbUbM5+Zy53fIqGIKHS0iDH8sCnmediM=", "jar": "sha256-OVddFQJJliqcbUbM5+Zy53fIqGIKHS0iDH8sCnmediM=",
"pom": "sha256-+dgDJLl2Hp3ipFoP6naPWZRH9AxuQZ8gje2MrxIYAMU=" "pom": "sha256-+dgDJLl2Hp3ipFoP6naPWZRH9AxuQZ8gje2MrxIYAMU="
@ -166,6 +170,15 @@
"jar": "sha256-FWvnNhmcmQMh2f93CQsZlinPyYZeLWwT980pG7FkGBc=", "jar": "sha256-FWvnNhmcmQMh2f93CQsZlinPyYZeLWwT980pG7FkGBc=",
"pom": "sha256-F84MMunPlTZ4+CCuXyrZLu85bYQPZn/JnyOtwK0l0yg=" "pom": "sha256-F84MMunPlTZ4+CCuXyrZLu85bYQPZn/JnyOtwK0l0yg="
}, },
"com/fasterxml#oss-parent/68": {
"pom": "sha256-Jer9ltriQra1pxCPVbLBQBW4KNqlq+I0KJ/W53Shzlc="
},
"com/fasterxml/jackson#jackson-bom/2.19.1": {
"pom": "sha256-um1o7qs6HME6d6it4hl/+aMqoc/+rHKEfUm63YLhuc4="
},
"com/fasterxml/jackson#jackson-parent/2.19.2": {
"pom": "sha256-Y5orY90F2k44EIEwOYXKrfu3rZ+FsdIyBjj2sR8gg2U="
},
"com/formdev#flatlaf/3.5.4": { "com/formdev#flatlaf/3.5.4": {
"jar": "sha256-PDS2rrLxcKlUxDWGR+tDtotEeiw1H/MRBy9xV6XU4v4=", "jar": "sha256-PDS2rrLxcKlUxDWGR+tDtotEeiw1H/MRBy9xV6XU4v4=",
"module": "sha256-Rjx10DAKwDblv9OLBqPx8Ua/17YdoyYael79bebtqdU=", "module": "sha256-Rjx10DAKwDblv9OLBqPx8Ua/17YdoyYael79bebtqdU=",
@ -205,12 +218,19 @@
"jar": "sha256-0fPGaqkaxSVJ4Arjsgi6S5r31y1o8jBkNVO+s45hGKw=", "jar": "sha256-0fPGaqkaxSVJ4Arjsgi6S5r31y1o8jBkNVO+s45hGKw=",
"pom": "sha256-9ZiID+766p1nTcQdsTqzcAS/A3drW7IcBN7ejpIMHxI=" "pom": "sha256-9ZiID+766p1nTcQdsTqzcAS/A3drW7IcBN7ejpIMHxI="
}, },
"com/google/errorprone#error_prone_annotations/2.38.0": {
"jar": "sha256-ZmHVM1CQpfxh3YadIJW8bB4hVuOqR6bkq6vfZMmaeIk=",
"pom": "sha256-MAe++K/zro6hLYHD/qy08Vl5ss9cPjj8kYmpjeoUEWc="
},
"com/google/errorprone#error_prone_parent/2.2.0": { "com/google/errorprone#error_prone_parent/2.2.0": {
"pom": "sha256-xGCQLd9ezmiDLGsnHOUqCSiwXPOmrIGo9UjHPL1UETg=" "pom": "sha256-xGCQLd9ezmiDLGsnHOUqCSiwXPOmrIGo9UjHPL1UETg="
}, },
"com/google/errorprone#error_prone_parent/2.21.1": { "com/google/errorprone#error_prone_parent/2.21.1": {
"pom": "sha256-MrsLX/JB/Wuh/upEiuu5zt7xaZvnPLbzGTZTh7gr+Sw=" "pom": "sha256-MrsLX/JB/Wuh/upEiuu5zt7xaZvnPLbzGTZTh7gr+Sw="
}, },
"com/google/errorprone#error_prone_parent/2.38.0": {
"pom": "sha256-5iRYpqPmMIG8fFezwPrJ8E92zjL2BlMttp/is9R7k0w="
},
"com/google/gradle#osdetector-gradle-plugin/1.7.0": { "com/google/gradle#osdetector-gradle-plugin/1.7.0": {
"jar": "sha256-29oheMFO1rk6GEsay/ONchBwAiUmaMERz0EeyjfkHKY=", "jar": "sha256-29oheMFO1rk6GEsay/ONchBwAiUmaMERz0EeyjfkHKY=",
"pom": "sha256-6BYywu6apI5+zwVHUSwcOGVgwNRqlY7lBVD3693xNRc=" "pom": "sha256-6BYywu6apI5+zwVHUSwcOGVgwNRqlY7lBVD3693xNRc="
@ -316,14 +336,17 @@
"jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=", "jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=",
"pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws=" "pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws="
}, },
"commons-io#commons-io/2.11.0": {
"jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=",
"pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k="
},
"commons-io#commons-io/2.19.0": { "commons-io#commons-io/2.19.0": {
"jar": "sha256-gkJokZtLYvn0DwjFQ4HeWZOwePWGZ+My0XNIrgGdcrk=", "jar": "sha256-gkJokZtLYvn0DwjFQ4HeWZOwePWGZ+My0XNIrgGdcrk=",
"pom": "sha256-VCt6UC7WGVDRuDEStRsWF9NAfjpN9atWqY12Dg+MWVA=" "pom": "sha256-VCt6UC7WGVDRuDEStRsWF9NAfjpN9atWqY12Dg+MWVA="
}, },
"commons-io#commons-io/2.21.0": {
"jar": "sha256-fWQ6Kv6osFi3YqpvuQ5bJW9scpc5+LN4TDNw3cYJ6I0=",
"pom": "sha256-rkd5XnIYA+yP8d7tdL4oqBGgJxO9WjqwrGfCtYy2Nas="
},
"commons-io#commons-io/2.8.0": {
"pom": "sha256-18hkGjfW5282+56B/BQg4moJ1j+jLwD3R2TeBnyoNH0="
},
"commons-lang#commons-lang/2.6": { "commons-lang#commons-lang/2.6": {
"jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=", "jar": "sha256-UPEbCfh3wpTVbyRGP0fSj5Kc9QRPZIZhwPDPuumi9Jw=",
"pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE=" "pom": "sha256-7Xa4iRwwtWYonHQ2Vvik1DWYaYJDjUDFZ8YmIzJH5xE="
@ -361,10 +384,35 @@
"module": "sha256-0KGW3NUxqnpbEZCwyypcG6BhF137Ey2S3P5a0pCpF9s=", "module": "sha256-0KGW3NUxqnpbEZCwyypcG6BhF137Ey2S3P5a0pCpF9s=",
"pom": "sha256-YQbcNXGfyXyPjDoBP0w3Dn4genKLKQu8bdSwiaezL5s=" "pom": "sha256-YQbcNXGfyXyPjDoBP0w3Dn4genKLKQu8bdSwiaezL5s="
}, },
"io/github/lisa-analyzer#lisa-analyses/0.1": {
"jar": "sha256-E+Iw7IikfZ/RT5JPCYuXg4h47w3b7zZgXGk8JzSrX7g=",
"module": "sha256-phcHsnJAzErfgAkTgaCDnDulxkRyI76z4WVol5L9tgQ=",
"pom": "sha256-8Kk4ysWUUIyGhMLh491zFDpno88OoqhwkBQ4eyS6qRE="
},
"io/github/lisa-analyzer#lisa-program/0.1": {
"jar": "sha256-XS2r33G+1tgUZrZfH5Et6DPF9sOrRlCk831Hh32DUKY=",
"module": "sha256-vwMTR6oc9lY9dEB9p2bgyePBYVTyHZ1mFv8fIySyKnk=",
"pom": "sha256-385hFoKY0jMZ0eBwQ6wGdTbZJmkCXDcit2WLr/wiBI4="
},
"io/github/lisa-analyzer#lisa-sdk/0.1": {
"jar": "sha256-7lvWkndEVIj4PPBQp46oih66WzzxRP2MrSM3doUuGsQ=",
"module": "sha256-GOP5TzstThn2smC6rK2YS2UvJFw25Ff7IkdDW6+DCqk=",
"pom": "sha256-4U/ASmxQu+zIk3RMF2nVv0v5u9mHwQP+5jQCLbCiSLE="
},
"jakarta/platform#jakarta.jakartaee-bom/9.1.0": {
"pom": "sha256-35jgJmIZ/buCVigm15o6IHdqi6Aqp4fw8HZaU4ZUyKQ="
},
"jakarta/platform#jakartaee-api-parent/9.1.0": {
"pom": "sha256-p3AsSHAmgCeEtXl7YjMKi41lkr8PRzeyXGel6sgmWcA="
},
"javax/help#javahelp/2.0.05": { "javax/help#javahelp/2.0.05": {
"jar": "sha256-/PSSLTj/hRhPHSMoMXu2CCbhTalIq9YG7j1bjGpw3r0=", "jar": "sha256-/PSSLTj/hRhPHSMoMXu2CCbhTalIq9YG7j1bjGpw3r0=",
"pom": "sha256-uIEr4lGsoTl/S2pCO/Tt06KERONFOyIDtTSTNrmVgik=" "pom": "sha256-uIEr4lGsoTl/S2pCO/Tt06KERONFOyIDtTSTNrmVgik="
}, },
"joda-time#joda-time/2.14.0": {
"jar": "sha256-Hi2m+etl8gol2aMYaDHtKz+xT3pI4e+CBhNe5YyxQ9M=",
"pom": "sha256-YvxXQ2db0rn6tYOmQIC2UIVMKYIU084qocCzlL0IndE="
},
"junit#junit/4.13.2": { "junit#junit/4.13.2": {
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=", "jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ=" "pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
@ -468,6 +516,9 @@
"org/apache#apache/33": { "org/apache#apache/33": {
"pom": "sha256-14vYUkxfg4ChkKZSVoZimpXf5RLfIRETg6bYwJI6RBU=" "pom": "sha256-14vYUkxfg4ChkKZSVoZimpXf5RLfIRETg6bYwJI6RBU="
}, },
"org/apache#apache/35": {
"pom": "sha256-6il9zRFBNui46LYwIw1Sp2wvxp9sXbJdZysYVwAHKLg="
},
"org/apache#apache/7": { "org/apache#apache/7": {
"pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU=" "pom": "sha256-E5fOHbQzrcnyI9vwdJbRM2gUSHUfSuKeWPaOePtLbCU="
}, },
@ -490,9 +541,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.20.0": {
"jar": "sha256-bucx31yOWil2ocoCO2uzIOqNNTn75kyKHVy3ZRJ8M7Q=", "jar": "sha256-aeXJ+jXaelGl/SCZ3+VqLY0yzyM+L213DnlhRkQCY/Q=",
"pom": "sha256-NRxuSUDpObHzMN9H9g8Tujg9uB7gCBga9UHzoqbSpWw=" "pom": "sha256-fKg7JwnB56ngO1ds1BQiGQN5SJqAhm5UL4yLlVQRoqo="
}, },
"org/apache/commons#commons-lang3/3.9": { "org/apache/commons#commons-lang3/3.9": {
"pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU=" "pom": "sha256-pAIkKbmEJbQwGBkVchJ5pS9hDzRki9rEh9TKy76N/rU="
@ -527,15 +578,18 @@
"org/apache/commons#commons-parent/72": { "org/apache/commons#commons-parent/72": {
"pom": "sha256-Q0Xev8dnsa6saKvdcvxn0YtSHUs5A3KhG2P/DFhrIyA=" "pom": "sha256-Q0Xev8dnsa6saKvdcvxn0YtSHUs5A3KhG2P/DFhrIyA="
}, },
"org/apache/commons#commons-parent/73": {
"pom": "sha256-TtRFYLB/hEhHnf0eg6Qiuk6D5gs25RsocaxQKm1cG+o="
},
"org/apache/commons#commons-parent/79": { "org/apache/commons#commons-parent/79": {
"pom": "sha256-Yo3zAUis08SRz8trc8euS1mJ5VJqsTovQo3qXUrRDXo=" "pom": "sha256-Yo3zAUis08SRz8trc8euS1mJ5VJqsTovQo3qXUrRDXo="
}, },
"org/apache/commons#commons-parent/81": { "org/apache/commons#commons-parent/81": {
"pom": "sha256-NI1OfBMb5hFMhUpxnOekQwenw5vTZghJd7JP0prQ7bQ=" "pom": "sha256-NI1OfBMb5hFMhUpxnOekQwenw5vTZghJd7JP0prQ7bQ="
}, },
"org/apache/commons#commons-parent/91": {
"pom": "sha256-0vi2/UgAtqrxIPWjgibV+dX8bbg3r5ni+bMwZ4aLmHI="
},
"org/apache/commons#commons-parent/92": {
"pom": "sha256-lPbAJ7FfZAKZXdGyx+o1v+HryItoMrMTQ2i0GZhyGVM="
},
"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="
@ -557,19 +611,25 @@
"jar": "sha256-q6cpMsX/5S0a6ftzVBVHS8gwX9BPBQ6FHzqPZ9oYNP0=", "jar": "sha256-q6cpMsX/5S0a6ftzVBVHS8gwX9BPBQ6FHzqPZ9oYNP0=",
"pom": "sha256-CBAm1JP4dt+OsPPxyPhdpyy+N99VeDPpaLQMMNrL/Kk=" "pom": "sha256-CBAm1JP4dt+OsPPxyPhdpyy+N99VeDPpaLQMMNrL/Kk="
}, },
"org/apache/logging#logging-parent/3": { "org/apache/groovy#groovy-bom/4.0.27": {
"pom": "sha256-djouwrgJTUFh3rbCZLEmIIW5vjC/OjHCzhNyQuV3Iqc=" "module": "sha256-1sIlTINHuEzahMr3SRShh8Lzd+QoTo2Ls/kBUhgQqos=",
"pom": "sha256-qkTrUr/f5h0ns+RQ0rNI2I3qo0N6tNnUmoQJU0j59vs="
}, },
"org/apache/logging/log4j#log4j-api/2.17.1": { "org/apache/logging/log4j#log4j-api/2.25.3": {
"jar": "sha256-sNikyKtPuLGIjQCVgicDsObUeTxBlVAgPanmkZYWHeQ=", "jar": "sha256-6IZoKSD6D7nW62OV3LTeCIRD+GRsicXlhG4WjjJ/QG8=",
"pom": "sha256-HirO8yILKb4QrgmXKLFYsY2UP5Ghk8xFAbtC+SnB6Io=" "module": "sha256-W+T3N0jWz53pXLci63n8rVvCQnk6l4p+cmbyNZGBHAw=",
"pom": "sha256-MoS+ZXOuuDNGz/a3RvoyXSPq3Z0JyOKG7R11kEoS3W4="
}, },
"org/apache/logging/log4j#log4j-core/2.17.1": { "org/apache/logging/log4j#log4j-bom/2.25.3": {
"jar": "sha256-yWfyI0h5gLk2TpSnx/mooB/T7nwZvb8LD5+MuFEfPUE=", "pom": "sha256-ZleICHEo/mw6+dAlJEhTKvl4cRdmSB20k5a/AyWibK0="
"pom": "sha256-C7s79tTSKhv6PDwJJ8KUEK8UoPsm47Ark3JvXH6Yqv0="
}, },
"org/apache/logging/log4j#log4j/2.17.1": { "org/apache/logging/log4j#log4j-core/2.25.3": {
"pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk=" "jar": "sha256-Nit/y2W3OqRsxLxTq/TrIW9ESoO10aA3y2/f/wrp8Pk=",
"module": "sha256-ChRnoKtPxLJSc7VVHGCL15UguZ/SgRGgM9M4jwJVYwA=",
"pom": "sha256-ysGDRqDJErAmrVF/SE78POgyZ/LPambKhGmRL/GYaw0="
},
"org/apache/logging/log4j#log4j/2.25.3": {
"pom": "sha256-pbdIJFris5b1vKlHpJbtwI29vfeWmuLMsattS0lznn8="
}, },
"org/bouncycastle#bcpkix-jdk18on/1.80": { "org/bouncycastle#bcpkix-jdk18on/1.80": {
"jar": "sha256-T0umqSYX6hncGD8PpdtJLu5Cb93ioKLWyUd3/9GvZBM=", "jar": "sha256-T0umqSYX6hncGD8PpdtJLu5Cb93ioKLWyUd3/9GvZBM=",
@ -595,10 +655,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.52.0": {
"jar": "sha256-Nn7b8v6fYGwf21qLpuHJwnYlmT4f+VTjho3nC8xkFrc=", "jar": "sha256-C1uxpL3E5LEhdIL+WY78qrTh+6ezf5QSY5F4/IEW/AU=",
"module": "sha256-dv9CWNsfoaC8bOeur0coPfEGD9Q3oJvm7zxcMmnqWtM=", "module": "sha256-jf8ytk0eoRGkV9QR4CxKvHJGH9q6rIzll2bb1+fSpsg=",
"pom": "sha256-i+QBdkYoXZFCx/sibPuARFwXfcfBNjsj2UH6bJuwXc8=" "pom": "sha256-CWX2sKmMP6+NvCpu9x2GAWyeJKGQVwp3Gb2kq2CHkmU="
}, },
"org/codehaus#codehaus-parent/3": { "org/codehaus#codehaus-parent/3": {
"pom": "sha256-UOslOs0LbuBI9DLZ/Do7NiZO+z2h/6f7B/bE1LeoyjE=" "pom": "sha256-UOslOs0LbuBI9DLZ/Do7NiZO+z2h/6f7B/bE1LeoyjE="
@ -642,6 +702,9 @@
"jar": "sha256-spUGEYOcwMDG4lwIPjprIpXrwyeDLsBzPn2bvJTnTrM=", "jar": "sha256-spUGEYOcwMDG4lwIPjprIpXrwyeDLsBzPn2bvJTnTrM=",
"pom": "sha256-3mdvxdpEpo0CntlaCSuJPVbo/ElogKIx5HHl1bKzvhY=" "pom": "sha256-3mdvxdpEpo0CntlaCSuJPVbo/ElogKIx5HHl1bKzvhY="
}, },
"org/eclipse/ee4j#project/1.0.7": {
"pom": "sha256-IFwDmkLLrjVW776wSkg+s6PPlVC9db+EJg3I8oIY8QU="
},
"org/fusesource#fusesource-pom/1.12": { "org/fusesource#fusesource-pom/1.12": {
"pom": "sha256-xA2WDarc73sBwbHGZXr7rE//teUxaPj8sLKLhOb9zKE=" "pom": "sha256-xA2WDarc73sBwbHGZXr7rE//teUxaPj8sLKLhOb9zKE="
}, },
@ -721,9 +784,10 @@
"jar": "sha256-EhJRcOeVUZum3IAQwHC1PHaq6StIXB43Uw5Uq13QjUM=", "jar": "sha256-EhJRcOeVUZum3IAQwHC1PHaq6StIXB43Uw5Uq13QjUM=",
"pom": "sha256-EMo7z1F48YUH8hCmOtljeJaFM0OtHBKRoBmhFvIWpUg=" "pom": "sha256-EMo7z1F48YUH8hCmOtljeJaFM0OtHBKRoBmhFvIWpUg="
}, },
"org/junit#junit-bom/5.11.0": { "org/jspecify#jspecify/1.0.0": {
"module": "sha256-9+2+Z/IgQnCMQQq8VHQI5cR29An1ViNqEXkiEnSi7S0=", "jar": "sha256-H61ua+dVd4Hk0zcp1Jrhzcj92m/kd7sMxozjUer9+6s=",
"pom": "sha256-5nRZ1IgkJKxjdPQNscj0ouiJRrNAugcsgL6TKivkZE0=" "module": "sha256-0wfKd6VOGKwe8artTlu+AUvS9J8p4dL4E+R8J4KDGVs=",
"pom": "sha256-zauSmjuVIR9D0gkMXi0N/oRllg43i8MrNYQdqzJEM6Y="
}, },
"org/junit#junit-bom/5.11.0-M2": { "org/junit#junit-bom/5.11.0-M2": {
"module": "sha256-hkd6vPSQ1soFmqmXPLEI0ipQb0nRpVabsyzGy/Q8LM4=", "module": "sha256-hkd6vPSQ1soFmqmXPLEI0ipQb0nRpVabsyzGy/Q8LM4=",
@ -733,9 +797,13 @@
"module": "sha256-qaTye+lOmbnVcBYtJGqA9obSd9XTGutUgQR89R2vRuQ=", "module": "sha256-qaTye+lOmbnVcBYtJGqA9obSd9XTGutUgQR89R2vRuQ=",
"pom": "sha256-GdS3R7IEgFMltjNFUylvmGViJ3pKwcteWTpeTE9eQRU=" "pom": "sha256-GdS3R7IEgFMltjNFUylvmGViJ3pKwcteWTpeTE9eQRU="
}, },
"org/junit#junit-bom/5.7.2": { "org/junit#junit-bom/5.13.2": {
"module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=", "module": "sha256-7WfhUiFASsQrXlmBAu33Yt1qlS3JUAHpwMTudKBOgoM=",
"pom": "sha256-zRSqqGmZH4ICHFhdVw0x/zQry6WLtEIztwGTdxuWSHs=" "pom": "sha256-Q7EQT7P9TvS3KpdR1B4Jwp8AHIvgD/OXIjjcFppzS0k="
},
"org/junit#junit-bom/5.13.4": {
"module": "sha256-6Vkoj94bGwUNm8CC/HhniRKNpdKFMJFGj8pQQQS99AA=",
"pom": "sha256-16CKmbJQLwu2jNTh+YTwv2kySqogi9D3M2bAP8NUikI="
}, },
"org/junit#junit-bom/5.8.0-M1": { "org/junit#junit-bom/5.8.0-M1": {
"module": "sha256-vgUUcTA6UD9MIkZwdbJ0kEE3fd1tWoywc53tZ9kW2C0=", "module": "sha256-vgUUcTA6UD9MIkZwdbJ0kEE3fd1tWoywc53tZ9kW2C0=",
@ -749,10 +817,29 @@
"module": "sha256-kCbBZWaQ+hRa117Og2dCEaoSrYkwqRsQfC9c3s4vGxw=", "module": "sha256-kCbBZWaQ+hRa117Og2dCEaoSrYkwqRsQfC9c3s4vGxw=",
"pom": "sha256-sWPBz8j8H9WLRXoA1YbATEbphtdZBOnKVMA6l9ZbSWw=" "pom": "sha256-sWPBz8j8H9WLRXoA1YbATEbphtdZBOnKVMA6l9ZbSWw="
}, },
"org/mockito#mockito-bom/4.11.0": {
"pom": "sha256-2FMadGyYj39o7V8YjN6pRQBq6pk+xd+eUk4NJ9YUkdo="
},
"org/osgi#org.osgi.annotation.bundle/2.0.0": {
"jar": "sha256-uclUbsW+PrwuhbpJGRUK121kWUgFKC/IlRM6R9Jkp64=",
"pom": "sha256-i5z4pBKev1J48mNNNQnDcig5Ya0P3MhaJFuzXXoipcg="
},
"org/osgi#org.osgi.annotation.versioning/1.1.2": {
"jar": "sha256-9R8jXoDfj/vDDvG1V7bqOKaWYy1nVATsEX6VKXi4uGM=",
"pom": "sha256-sdMBKr/6K3/Eo9C67oeESUwHOYawANZVp4j6YXqqK8g="
},
"org/osgi#org.osgi.core/5.0.0": { "org/osgi#org.osgi.core/5.0.0": {
"jar": "sha256-tEDGv/KGMyr89crgZ7YGli52HA3wDl/Yp0bwsxJlYZs=", "jar": "sha256-tEDGv/KGMyr89crgZ7YGli52HA3wDl/Yp0bwsxJlYZs=",
"pom": "sha256-4AHZl0MYUeq4uTOLW32f5eaOGutDpYV5JLChWIbuNjk=" "pom": "sha256-4AHZl0MYUeq4uTOLW32f5eaOGutDpYV5JLChWIbuNjk="
}, },
"org/osgi#org.osgi.resource/1.0.0": {
"jar": "sha256-gfxQ8fHTikryjhMZB9Sv4hMkmqsFBgSE7coOYMSvm0o=",
"pom": "sha256-g6zfIl/7mkp7xYL1OkFFofLDvbtCjgM8AJZvY8YQ6CA="
},
"org/osgi#org.osgi.service.serviceloader/1.0.0": {
"jar": "sha256-j4ds4qmqTpWx8ZUpUCVRA+JIdCUFCmVPMoVEe6YBwVQ=",
"pom": "sha256-dVdRq2w3oaMa+1ueSllcDdLv0rUNcDshJVuCfFDtYVM="
},
"org/osgi#org.osgi.util.promise/1.3.0": { "org/osgi#org.osgi.util.promise/1.3.0": {
"jar": "sha256-cFPFfn19iP7GuQl5o68SXh0ruEcmijKKLx7WWtCkwYU=", "jar": "sha256-cFPFfn19iP7GuQl5o68SXh0ruEcmijKKLx7WWtCkwYU=",
"pom": "sha256-rcyK9ce+Z7BSEF4Mncq43ibaxvGbxamrcpRqMydscQA=" "pom": "sha256-rcyK9ce+Z7BSEF4Mncq43ibaxvGbxamrcpRqMydscQA="
@ -795,9 +882,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.9": {
"jar": "sha256-8qHMA1LdXlxvZdut/ye+4Awy5DLGrQMNB0R/ilmDxCo=", "jar": "sha256-iPH8OZLoDsOwSPeYAw6aAUqkeDxAr7VtPnqH7grfFm8=",
"pom": "sha256-SfNzCJO2khPK99foymodjHaf9mhCHVJS3gBSvFVGp8c=" "pom": "sha256-UYbVaAzMRJZ49CxRC6Le7caVimN9rU8CyA/c6VpCKKY="
}, },
"org/python#jython-standalone/2.7.4": { "org/python#jython-standalone/2.7.4": {
"jar": "sha256-H7oXae/8yLGfXhBDa8gnShWM6YhVnyV5J8JMc7sTfzw=", "jar": "sha256-H7oXae/8yLGfXhBDa8gnShWM6YhVnyV5J8JMc7sTfzw=",
@ -835,6 +922,10 @@
"org/sonatype/oss#oss-parent/9": { "org/sonatype/oss#oss-parent/9": {
"pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno=" "pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno="
}, },
"org/springframework#spring-framework-bom/5.3.39": {
"module": "sha256-+ItA4qUDM7QLQvGB7uJyt17HXdhmbLFFvZCxW5fhg+M=",
"pom": "sha256-9tSBCT51dny6Gsfh2zj49pLL4+OHRGkzcada6yHGFIs="
},
"org/tribuo#tribuo-classification-core/4.2.0": { "org/tribuo#tribuo-classification-core/4.2.0": {
"jar": "sha256-+vv5OnIrmrVC7oeaX09lF5bkyuobZ5gNVWL+jdjbqeY=", "jar": "sha256-+vv5OnIrmrVC7oeaX09lF5bkyuobZ5gNVWL+jdjbqeY=",
"pom": "sha256-gLgGCPTPN93HLmioPGBRyupwvqF+96hTCfWeqdpzBPE=" "pom": "sha256-gLgGCPTPN93HLmioPGBRyupwvqF+96hTCfWeqdpzBPE="
@ -888,8 +979,8 @@
"pydev/files/pydev/PyDev%209.3.0/PyDev%209.3.0": { "pydev/files/pydev/PyDev%209.3.0/PyDev%209.3.0": {
"zip": "sha256-RTmO3yrbVgeKgLyIqRmUFXjwwLNj773QEb/RWKmbES4=" "zip": "sha256-RTmO3yrbVgeKgLyIqRmUFXjwwLNj773QEb/RWKmbES4="
}, },
"yajsw/files/yajsw/yajsw-stable-13.12/yajsw-stable-13.12": { "yajsw/files/yajsw/yajsw-stable-13.18/yajsw-stable-13.18": {
"zip": "sha256-xvxZgV04ANFOyXeSaor9P2BqDr100s/WBgFndGbt6qI=" "zip": "sha256-ULNOmBfFSylw+lEf9FhPZVbBefaYM6qLmx/2SFthaE8="
} }
}, },
"https://storage.googleapis.com": { "https://storage.googleapis.com": {

View File

@ -35,5 +35,7 @@ lib.makeScope newScope (self: {
sleighdevtools = self.callPackage ./extensions/sleighdevtools { inherit ghidra; }; sleighdevtools = self.callPackage ./extensions/sleighdevtools { inherit ghidra; };
symbolicsummaryz3 = self.callPackage ./extensions/symbolicsummaryz3 { inherit ghidra; };
wasm = self.callPackage ./extensions/wasm { inherit ghidra; }; wasm = self.callPackage ./extensions/wasm { inherit ghidra; };
}) })

View File

@ -5,13 +5,13 @@
}: }:
buildGhidraExtension (finalAttrs: { buildGhidraExtension (finalAttrs: {
pname = "findcrypt"; pname = "findcrypt";
version = "3.1.4"; version = "3.1.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "antoniovazquezblanco"; owner = "antoniovazquezblanco";
repo = "GhidraFindcrypt"; repo = "GhidraFindcrypt";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-ZrPLAjdfqHVjnOSBMTrXWK9DDHyIwaUt0ZYCwGiGLBg="; hash = "sha256-2EXJ7tHDjM9LH+SGaRBx4zlK6OdGs+5ipQjsnafgwTQ=";
}; };
meta = { meta = {

View File

@ -5,13 +5,13 @@
}: }:
maven.buildMavenPackage rec { maven.buildMavenPackage rec {
pname = "binary-file-toolkit"; pname = "binary-file-toolkit";
version = "0.4.0"; version = "0.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "boricj"; owner = "boricj";
repo = "binary-file-toolkit"; repo = "binary-file-toolkit";
tag = "v${version}"; tag = "v${version}";
hash = "sha256-ABDJDdx0OxXVOgYAw4kZAP3Psr+w7YevP1xk1RszXw8="; hash = "sha256-HMzRh/Q06Ik33mEkmh5U6qLiWk7ZCEstYq3Ll/pFhXM=";
}; };
mvnHash = "sha256-Ek2qulMSHd1ZJfEloo6fIe+QMqub/Ftna/TzTt01ky8="; mvnHash = "sha256-Ek2qulMSHd1ZJfEloo6fIe+QMqub/Ftna/TzTt01ky8=";

View File

@ -9,26 +9,27 @@
}: }:
buildGhidraExtension (finalAttrs: { buildGhidraExtension (finalAttrs: {
pname = "ghidra-delinker-extension"; pname = "ghidra-delinker-extension";
version = "0.7.0"; version = "0.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "boricj"; owner = "boricj";
repo = "ghidra-delinker-extension"; repo = "ghidra-delinker-extension";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-Hgpf1eqP/DRYczRDvAhXTWoycHe8N/xhMorlYDjytZg="; hash = "sha256-Wqxi/xF+HMG9wQUiHwilKX8PkdtHtGaNrXZyPMjT4iE=";
}; };
patches = [ patches = [
# The GitHub Maven repository is not available unauthenticated, # The GitHub Maven repository is not available unauthenticated,
# so patch in the dependency this way and replace the fake path # so patch in the dependency this way and replace the fake path
# with the locally built derivation later. # with the locally built derivation later.
# This is tracked at boricj/binary-file-toolkit#1. # The vendored-in dependency does not work for us because maven
# needs to download dependencies while building.
./local-binary-file-toolkit.patch ./local-binary-file-toolkit.patch
]; ];
postPatch = '' postPatch = ''
substituteInPlace build.gradle \ substituteInPlace build.gradle \
--replace-fail '"''${getGitHash()}"' '"v${finalAttrs.version}"' \ --replace-fail '"GIT_VERSION", gitVersionProvider' '"GIT_VERSION", "v${finalAttrs.version}"' \
--replace-fail '"@binary-file-toolkit@"' '"${binary-file-toolkit}"' --replace-fail '"@binary-file-toolkit@"' '"${binary-file-toolkit}"'
''; '';

View File

@ -162,24 +162,24 @@
"org/hamcrest#hamcrest-parent/1.3": { "org/hamcrest#hamcrest-parent/1.3": {
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps=" "pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
}, },
"org/jacoco#org.jacoco.agent/0.8.11": { "org/jacoco#org.jacoco.agent/0.8.13": {
"jar": "sha256-0+2F3qeKntVYRqdzjjoMoVxwLGYe5LyMv+Aqi59KmcA=", "jar": "sha256-nbPJ1ddPqHCyYbZKMIJBLhvW4i6fqY9HN7G/+K+cxk0=",
"pom": "sha256-FuBen0liG4fFPmk1AUDzxG1C2WbGepM730sGOiscj8U=" "pom": "sha256-auuUf988z1Qlydq41oPWu+MPCSjEWnAuYlWMblXmRLc="
}, },
"org/jacoco#org.jacoco.ant/0.8.11": { "org/jacoco#org.jacoco.ant/0.8.13": {
"jar": "sha256-gdfriJDZvjCpOWEsKVYDVBBjUpzdA6UyZaunRHS3C3w=", "jar": "sha256-ZDS4VS/z0OSi+70Tpu+xJODJykU4F8YsA96DkNh//RE=",
"pom": "sha256-ftED2VnQzue6v7Ewf6bkUbFpb/01JwYVU7VQ3lUgHYU=" "pom": "sha256-I4tCPVxuZQ9LQPF1T42iYQDHpzYz5d1RKIxzgHRj744="
}, },
"org/jacoco#org.jacoco.build/0.8.11": { "org/jacoco#org.jacoco.build/0.8.13": {
"pom": "sha256-W4SxXPLu8+WeuRvCJ4SDMQCwnfmRHjMZAww7xki9iws=" "pom": "sha256-mUw64c/KZ2WWj+Pt5PN5mGrrLn61GiAUyqSgnXGo9KM="
}, },
"org/jacoco#org.jacoco.core/0.8.11": { "org/jacoco#org.jacoco.core/0.8.13": {
"jar": "sha256-/NGIxohHP8jcwMbKrzVeeziVAiQ1J8M7lZej7Ch5H0c=", "jar": "sha256-UUwj32z9AV19g8EKeS41q2int+gvPWo6RIF2LBMuM6k=",
"pom": "sha256-u2E18Qo2NJy4SlYA/Yz3P8EpahNbLxStzYPejPJMq7E=" "pom": "sha256-73/2F3zZcB1QXv6C9N1P6l5fcssEesK088qitBbaD08="
}, },
"org/jacoco#org.jacoco.report/0.8.11": { "org/jacoco#org.jacoco.report/0.8.13": {
"jar": "sha256-g5MpWuJGgO0QytgzOQcED5KLhxMySRWBylvHhOLLT74=", "jar": "sha256-gTMoCgqkQ1i+nRNrUjcDQvRVzLlEquB0OCIKd2YleKI=",
"pom": "sha256-jjtzR3nV4/1oPsAVQT1S+WGYTFDLkEX9orI7/160I4E=" "pom": "sha256-EBBlOpAAx+qoVqJx+E0HH/Rt6nojdbhKitmiOz5lPOg="
}, },
"org/mockito#mockito-core/5.4.0": { "org/mockito#mockito-core/5.4.0": {
"jar": "sha256-sWibBmF+oB/Xd7+u293lEvrwg9Y5oEn3mziNWk6W0uU=", "jar": "sha256-sWibBmF+oB/Xd7+u293lEvrwg9Y5oEn3mziNWk6W0uU=",
@ -195,20 +195,20 @@
"org/ow2#ow2/1.5.1": { "org/ow2#ow2/1.5.1": {
"pom": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU=" "pom": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU="
}, },
"org/ow2/asm#asm-bom/9.6": { "org/ow2/asm#asm-bom/9.8": {
"pom": "sha256-ig5fYk/ikwt6jWmVb0OORe9TKZa01kQJthbErvSxrE4=" "pom": "sha256-DaHcsibmzf2ttNrFkZFruRe1c3RnTZG9LxMAMTe0FSA="
}, },
"org/ow2/asm#asm-commons/9.6": { "org/ow2/asm#asm-commons/9.8": {
"jar": "sha256-eu/Q1cCQFwHGn3UT/tp2X7a+M68s56oXxXgfyHZXxRE=", "jar": "sha256-MwGhwctMWfzFKSZI2sHXxa7UwPBn376IhzuM3+d0BPQ=",
"pom": "sha256-qYrkiVM0uvj/hr1mUWIQ29mgPxpuFeR92oKvz2tT13w=" "pom": "sha256-95PnjwH3A3F9CUcuVs3yEv4piXDIguIRbo5Un7bRQMI="
}, },
"org/ow2/asm#asm-tree/9.6": { "org/ow2/asm#asm-tree/9.8": {
"jar": "sha256-xD7PF7U5x3fhXae1uGVTs3fi05poPeYoVWfVKDiI5+8=", "jar": "sha256-FLeIDLfIXu0QHicQQy/D/7gydVMqaolNxMQJXUmtWfE=",
"pom": "sha256-G8tIHX/Ba5VbtgygfIz6JCS87ni9xAW7oxx9b13C0RM=" "pom": "sha256-cUnn+qDhkSlvh5ru2SCciULTmPBpjSzKGpxijy4qj3c="
}, },
"org/ow2/asm#asm/9.6": { "org/ow2/asm#asm/9.8": {
"jar": "sha256-PG+sJCTbPUqFO2afTj0dnDxVIjXhmjGWc/iHCDwjA6E=", "jar": "sha256-h26raoPa7K1cpn65/KuwY8l7WuuM8fynqYns3hdSIFE=",
"pom": "sha256-ku7iS8PIQ+SIHUbB3WUFRx7jFC+s+0ZrQoz+paVsa2A=" "pom": "sha256-wTZ8O7OD12Gef3l+ON91E4hfLu8ErntZCPaCImV7W6o="
} }
} }
} }

View File

@ -1,8 +1,8 @@
diff --git a/build.gradle b/build.gradle diff --git a/build.gradle b/build.gradle
index 6f3bc6f..16fc51b 100644 index 48da640..bca1958 100644
--- a/build.gradle --- a/build.gradle
+++ b/build.gradle +++ b/build.gradle
@@ -55,16 +55,8 @@ else { @@ -84,16 +84,8 @@ tasks.register("installStandaloneDeps") {
repositories { repositories {
mavenLocal() mavenLocal()
mavenCentral() mavenCentral()
@ -10,12 +10,12 @@ index 6f3bc6f..16fc51b 100644
- name = "boricj's binary-file-toolkit" - name = "boricj's binary-file-toolkit"
- url = uri("https://maven.pkg.github.com/boricj/binary-file-toolkit") - url = uri("https://maven.pkg.github.com/boricj/binary-file-toolkit")
- credentials(HttpHeaderCredentials) { - credentials(HttpHeaderCredentials) {
- name = "Authorization" - name = "Authorization"
- value = "Bearer " + project.findProperty("githubToken") as String ?: System.getenv("GITHUB_TOKEN") - value = "Bearer " + project.findProperty("githubToken") as String ?: System.getenv("GITHUB_TOKEN")
- }
- authentication {
- header(HttpHeaderAuthentication)
- } - }
- authentication {
- header(HttpHeaderAuthentication)
- }
+ flatDir { + flatDir {
+ dirs "@binary-file-toolkit@" + dirs "@binary-file-toolkit@"
} }

View File

@ -5,15 +5,17 @@
}: }:
buildGhidraExtension (finalAttrs: { buildGhidraExtension (finalAttrs: {
pname = "Ghidra-GolangAnalyzerExtension"; pname = "Ghidra-GolangAnalyzerExtension";
version = "1.2.4"; version = "1.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mooncat-greenpy"; owner = "mooncat-greenpy";
repo = "Ghidra_GolangAnalyzerExtension"; repo = "Ghidra_GolangAnalyzerExtension";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-uxozIJ+BLcP1vBnLOCZD9ueY10hd37fON/Miii3zabo="; hash = "sha256-zKN9SKprJIA5hQCvaQUdfBchN+2wPo47bkOchnQrr5A=";
}; };
sourceRoot = "${finalAttrs.src.name}/GolangAnalyzerExtension";
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";

View File

@ -15,10 +15,10 @@
let let
# Incorporates source from binutils # Incorporates source from binutils
# https://github.com/NationalSecurityAgency/ghidra/blob/7ab9bf6abffb6938d61d072040fc34ad3331332b/GPL/GnuDisassembler/build.gradle#L34-L35 # https://github.com/NationalSecurityAgency/ghidra/blob/7ab9bf6abffb6938d61d072040fc34ad3331332b/GPL/GnuDisassembler/build.gradle#L34-L35
binutils-version = "2.41"; binutils-version = "2.44";
binutils-src = fetchurl { binutils-src = fetchurl {
url = "mirror://gnu/binutils/binutils-${binutils-version}.tar.bz2"; url = "mirror://gnu/binutils/binutils-${binutils-version}.tar.bz2";
sha256 = "sha256-pMS+wFL3uDcAJOYDieGUN38/SLVmGEGOpRBn9nqqsws="; sha256 = "sha256-9mOQpmH6oRfQD6suec8tydCXtCzClr8/hnfR57RS3Do=";
}; };
in in
buildGhidraExtension { buildGhidraExtension {
@ -29,6 +29,8 @@ buildGhidraExtension {
postPatch = '' postPatch = ''
ln -s ${binutils-src} binutils-${binutils-version}.tar.bz2 ln -s ${binutils-src} binutils-${binutils-version}.tar.bz2
substituteInPlace build.gradle \
--replace-fail 'ext.binutils = "binutils-2.41"' 'ext.binutils = "binutils-${binutils-version}"'
''; '';
# Don't modify ELF stub resources # Don't modify ELF stub resources

View File

@ -26,13 +26,13 @@ let
self = buildGhidraExtension (finalAttrs: { self = buildGhidraExtension (finalAttrs: {
pname = "kaiju"; pname = "kaiju";
version = "260116"; version = "260309";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "CERTCC"; owner = "CERTCC";
repo = "kaiju"; repo = "kaiju";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-cEGBBVuXUcacPzfc1cWGjDPWt8IfGNakDvfzoDCaBAI="; hash = "sha256-DjuZJ20w/hhBlHa5ZprS33s5iMtOWboTHdgfCJ62Ttg=";
}; };
buildInputs = [ buildInputs = [

View File

@ -0,0 +1,62 @@
{
lib,
stdenv,
buildGhidraExtension,
ghidra,
python3,
z3,
gradle,
}:
let
ghidraPlatformName =
{
x86_64-linux = "linux_x86_64";
}
.${stdenv.hostPlatform.system}
or (throw "${stdenv.hostPlatform.system} is an unsupported platform");
z3_lib = (
z3.override {
javaBindings = true;
jdk = gradle.jdk;
}
);
in buildGhidraExtension {
pname = "symbolicsummaryz3";
version = lib.getVersion ghidra;
src = "${ghidra.lib}/lib/ghidra/Extensions/Ghidra/${ghidra.distroPrefix}_SymbolicSummaryZ3.zip";
dontUnpack = true;
# Built as part ghidra
dontBuild = true;
buildInputs = [ python3 ];
installPhase = ''
runHook preInstall
mkdir -p $out/lib/ghidra/Ghidra/Extensions
unzip -d $out/lib/ghidra/Ghidra/Extensions $src
(cd $out/lib/ghidra/Ghidra/Extensions/SymbolicSummaryZ3;
ln -sf ${lib.getOutput "java" z3_lib}/share/java/com.microsoft.z3.jar lib/com.microsoft.z3.jar
rm -rf os
mkdir -p os/${ghidraPlatformName}
ln -s ${lib.getOutput "java" z3_lib}/lib/libz3java.so os/${ghidraPlatformName}
ln -s ${lib.getOutput "lib" z3_lib}/lib/libz3.so os/${ghidraPlatformName}
)
runHook postInstall
'';
meta = {
inherit (ghidra.meta) homepage license;
description = "Ghidra SymbolicSummaryZ3 Extension";
longDescription = ''
'';
downloadPage = "https://github.com/NationalSecurityAgency/ghidra/tree/master/Ghidra/Extensions/SymbolicSummaryZ3";
sourceProvenance = with lib.sourceTypes; [
fromSource
];
};
}

View File

@ -24,7 +24,7 @@ let
f: f:
(symlinkJoin { (symlinkJoin {
name = "${ghidra.pname}-with-extensions-${lib.getVersion ghidra}"; name = "${ghidra.pname}-with-extensions-${lib.getVersion ghidra}";
outputs = [ "out" "doc" ]; outputs = [ "out" ];
paths = (f allExtensions); paths = (f allExtensions);
nativeBuildInputs = [ nativeBuildInputs = [
makeBinaryWrapper makeBinaryWrapper
@ -39,9 +39,6 @@ let
makeWrapper '${ghidra}/bin/ghidra-analyzeHeadless' "$out/bin/ghidra-analyzeHeadless" \ makeWrapper '${ghidra}/bin/ghidra-analyzeHeadless' "$out/bin/ghidra-analyzeHeadless" \
--set NIX_GHIDRAHOME "$out/lib/ghidra/Ghidra" --set NIX_GHIDRAHOME "$out/lib/ghidra/Ghidra"
ln -s ${ghidra}/share $out/share ln -s ${ghidra}/share $out/share
mkdir -p "$doc/share/doc"
ln -s "${ghidra.doc}/share/doc/ghidra" "$doc/share/doc"
'' ''
+ lib.optionalString stdenv.hostPlatform.isDarwin '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
convertDesktopFiles $prefix convertDesktopFiles $prefix

View File

@ -21,7 +21,21 @@
openssl, openssl,
gcc, gcc,
clang, clang,
xorg,
# xorg packages
libice,
libsm,
libx11,
libxau,
libxcb,
libxext,
libxi,
libxrender,
libxcb-image,
libxcb-keysyms,
libxcb-render-util,
libxcb-wm,
zlib, zlib,
curl, curl,
gnutar, gnutar,
@ -99,18 +113,20 @@ in stdenv.mkDerivation (self: {
libxkbcommon libxkbcommon
openssl.out openssl.out
(if stdenv.cc.isGNU then gcc else clang).cc (if stdenv.cc.isGNU then gcc else clang).cc
xorg.libICE
xorg.libSM libice
xorg.libX11 libsm
xorg.libXau libx11
xorg.libxcb libxau
xorg.libXext libxcb
xorg.libXi libxext
xorg.libXrender libxi
xorg.xcbutilimage libxrender
xorg.xcbutilkeysyms libxcb-image
xorg.xcbutilrenderutil libxcb-keysyms
xorg.xcbutilwm libxcb-render-util
libxcb-wm
zlib zlib
curl.out curl.out
qt6.qtwayland qt6.qtwayland