Merge master into staging-next
This commit is contained in:
commit
5d62f56bce
|
@ -26,8 +26,8 @@ To create a new key without a passphrase you can do:
|
|||
```ShellSession
|
||||
$ ssh-keygen -t ed25519 -P '' -f example-key
|
||||
Generating public/private ed25519 key pair.
|
||||
Your identification has been saved in test-key
|
||||
Your public key has been saved in test-key.pub
|
||||
Your identification has been saved in example-key
|
||||
Your public key has been saved in example-key.pub
|
||||
The key fingerprint is:
|
||||
SHA256:yjxl3UbTn31fLWeyLYTAKYJPRmzknjQZoyG8gSNEoIE my-user@workstation
|
||||
```
|
||||
|
|
|
@ -513,6 +513,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
|
||||
- The `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`.
|
||||
|
||||
- `services.soju` now has a wrapper for the `sojuctl` command, pointed at the service config file. It also has the new option `adminSocket.enable`, which creates a unix admin socket at `/run/soju/admin`.
|
||||
|
||||
- Gitea 1.21 upgrade has several breaking changes, including:
|
||||
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
|
||||
- New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
|
||||
|
|
|
@ -40,6 +40,7 @@ in
|
|||
"--"
|
||||
cfg.lockerCommand
|
||||
]);
|
||||
serviceConfig.Restart = "always";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -170,7 +170,7 @@ in {
|
|||
breeze.qt5
|
||||
plasma-integration.qt5
|
||||
pkgs.plasma5Packages.kwayland-integration
|
||||
pkgs.plasma5Packages.kio
|
||||
(pkgs.plasma5Packages.kio.override { withKcms = false; })
|
||||
kio-extras-kf5
|
||||
]
|
||||
# Optional hardware support features
|
||||
|
|
|
@ -5,7 +5,10 @@ with lib;
|
|||
let
|
||||
cfg = config.services.soju;
|
||||
stateDir = "/var/lib/soju";
|
||||
listenCfg = concatMapStringsSep "\n" (l: "listen ${l}") cfg.listen;
|
||||
runtimeDir = "/run/soju";
|
||||
listen = cfg.listen
|
||||
++ optional cfg.adminSocket.enable "unix+admin://${runtimeDir}/admin";
|
||||
listenCfg = concatMapStringsSep "\n" (l: "listen ${l}") listen;
|
||||
tlsCfg = optionalString (cfg.tlsCertificate != null)
|
||||
"tls ${cfg.tlsCertificate} ${cfg.tlsCertificateKey}";
|
||||
logCfg = optionalString cfg.enableMessageLogging
|
||||
|
@ -22,6 +25,10 @@ let
|
|||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
sojuctl = pkgs.writeShellScriptBin "sojuctl" ''
|
||||
exec ${cfg.package}/bin/sojuctl --config ${configFile} "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
###### interface
|
||||
|
@ -29,6 +36,8 @@ in
|
|||
options.services.soju = {
|
||||
enable = mkEnableOption (lib.mdDoc "soju");
|
||||
|
||||
package = mkPackageOption pkgs "soju" { };
|
||||
|
||||
listen = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ":6697" ];
|
||||
|
@ -66,6 +75,14 @@ in
|
|||
description = lib.mdDoc "Whether to enable message logging.";
|
||||
};
|
||||
|
||||
adminSocket.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Listen for admin connections from sojuctl at /run/soju/admin.
|
||||
'';
|
||||
};
|
||||
|
||||
httpOrigins = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
|
@ -107,6 +124,8 @@ in
|
|||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ sojuctl ];
|
||||
|
||||
systemd.services.soju = {
|
||||
description = "soju IRC bouncer";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
@ -115,8 +134,9 @@ in
|
|||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
Restart = "always";
|
||||
ExecStart = "${pkgs.soju}/bin/soju -config ${configFile}";
|
||||
ExecStart = "${cfg.package}/bin/soju -config ${configFile}";
|
||||
StateDirectory = "soju";
|
||||
RuntimeDirectory = "soju";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -826,6 +826,7 @@ in {
|
|||
soapui = handleTest ./soapui.nix {};
|
||||
soft-serve = handleTest ./soft-serve.nix {};
|
||||
sogo = handleTest ./sogo.nix {};
|
||||
soju = handleTest ./soju.nix {};
|
||||
solanum = handleTest ./solanum.nix {};
|
||||
sonarr = handleTest ./sonarr.nix {};
|
||||
sonic-server = handleTest ./sonic-server.nix {};
|
||||
|
|
|
@ -178,6 +178,14 @@ in {
|
|||
"docker load --input='${examples.bashUncompressed}'",
|
||||
"docker rmi ${examples.bashUncompressed.imageName}",
|
||||
)
|
||||
docker.succeed(
|
||||
"docker load --input='${examples.bashLayeredUncompressed}'",
|
||||
"docker rmi ${examples.bashLayeredUncompressed.imageName}",
|
||||
)
|
||||
docker.succeed(
|
||||
"docker load --input='${examples.bashLayeredZstdCompressed}'",
|
||||
"docker rmi ${examples.bashLayeredZstdCompressed.imageName}",
|
||||
)
|
||||
|
||||
with subtest(
|
||||
"Check if the nix store is correctly initialized by listing "
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
let
|
||||
certs = import ./common/acme/server/snakeoil-certs.nix;
|
||||
domain = certs.domain;
|
||||
|
||||
user = "testuser";
|
||||
pass = "hunter2";
|
||||
in
|
||||
{
|
||||
name = "soju";
|
||||
meta.maintainers = with lib.maintainers; [ Benjamin-L ];
|
||||
|
||||
nodes.machine = { ... }: {
|
||||
services.soju = {
|
||||
enable = true;
|
||||
adminSocket.enable = true;
|
||||
hostName = domain;
|
||||
tlsCertificate = certs.${domain}.cert;
|
||||
tlsCertificateKey = certs.${domain}.key;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
machine.wait_for_unit("soju")
|
||||
machine.wait_for_file("/run/soju/admin")
|
||||
|
||||
machine.succeed("sojuctl user create -username ${user} -password ${pass}")
|
||||
'';
|
||||
})
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openvi";
|
||||
version = "7.4.27";
|
||||
version = "7.5.28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johnsonjh";
|
||||
repo = "OpenVi";
|
||||
rev = version;
|
||||
hash = "sha256-3cqe6woJvJt0ckI3aOhF0gARKy8VMCfWxIiiglkHBTo=";
|
||||
hash = "sha256-6FP56tlPQXbphyJBDct5hBK81XsU6TJjKDZM4eHqitQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses perl ];
|
||||
|
|
|
@ -1,23 +1,41 @@
|
|||
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, makeWrapper, freetype, SDL2
|
||||
, glib, pcre2, openal, rtmidi, fluidsynth, jack2, alsa-lib, qt5, libvncserver
|
||||
, discord-gamesdk, libpcap, libslirp
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
makeWrapper,
|
||||
freetype,
|
||||
SDL2,
|
||||
glib,
|
||||
pcre2,
|
||||
openal,
|
||||
rtmidi,
|
||||
fluidsynth,
|
||||
jack2,
|
||||
alsa-lib,
|
||||
qt5,
|
||||
libvncserver,
|
||||
discord-gamesdk,
|
||||
libpcap,
|
||||
libslirp,
|
||||
|
||||
, enableDynarec ? with stdenv.hostPlatform; isx86 || isAarch
|
||||
, enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch
|
||||
, enableVncRenderer ? false
|
||||
, unfreeEnableDiscord ? false
|
||||
, unfreeEnableRoms ? false
|
||||
enableDynarec ? with stdenv.hostPlatform; isx86 || isAarch,
|
||||
enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch,
|
||||
enableVncRenderer ? false,
|
||||
unfreeEnableDiscord ? false,
|
||||
unfreeEnableRoms ? false,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "86Box";
|
||||
version = "4.1";
|
||||
version = "4.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "86Box";
|
||||
repo = "86Box";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-JYOJFXiUTLRs6AEMYNx88PwcVw13ChQzV1ZE5OtX6Ds=";
|
||||
hash = "sha256-ioE0EVIXv/biXXvLqwhmtZ/RJM0nLqcE+i+CU+WXBY4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -40,54 +58,54 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
libslirp
|
||||
qt5.qtbase
|
||||
qt5.qttools
|
||||
] ++ lib.optional stdenv.isLinux alsa-lib
|
||||
++ lib.optional enableVncRenderer libvncserver;
|
||||
] ++ lib.optional stdenv.isLinux alsa-lib ++ lib.optional enableVncRenderer libvncserver;
|
||||
|
||||
cmakeFlags = lib.optional stdenv.isDarwin "-DCMAKE_MACOSX_BUNDLE=OFF"
|
||||
cmakeFlags =
|
||||
lib.optional stdenv.isDarwin "-DCMAKE_MACOSX_BUNDLE=OFF"
|
||||
++ lib.optional enableNewDynarec "-DNEW_DYNAREC=ON"
|
||||
++ lib.optional enableVncRenderer "-DVNC=ON"
|
||||
++ lib.optional (!enableDynarec) "-DDYNAREC=OFF"
|
||||
++ lib.optional (!unfreeEnableDiscord) "-DDISCORD=OFF";
|
||||
|
||||
postInstall = lib.optionalString stdenv.isLinux ''
|
||||
install -Dm644 -t $out/share/applications $src/src/unix/assets/net.86box.86Box.desktop
|
||||
postInstall =
|
||||
lib.optionalString stdenv.isLinux ''
|
||||
install -Dm644 -t $out/share/applications $src/src/unix/assets/net.86box.86Box.desktop
|
||||
|
||||
for size in 48 64 72 96 128 192 256 512; do
|
||||
install -Dm644 -t $out/share/icons/hicolor/"$size"x"$size"/apps \
|
||||
$src/src/unix/assets/"$size"x"$size"/net.86box.86Box.png
|
||||
done;
|
||||
''
|
||||
+ lib.optionalString unfreeEnableRoms ''
|
||||
mkdir -p $out/share/86Box
|
||||
ln -s ${finalAttrs.passthru.roms} $out/share/86Box/roms
|
||||
'';
|
||||
for size in 48 64 72 96 128 192 256 512; do
|
||||
install -Dm644 -t $out/share/icons/hicolor/"$size"x"$size"/apps \
|
||||
$src/src/unix/assets/"$size"x"$size"/net.86box.86Box.png
|
||||
done;
|
||||
''
|
||||
+ lib.optionalString unfreeEnableRoms ''
|
||||
mkdir -p $out/share/86Box
|
||||
ln -s ${finalAttrs.passthru.roms} $out/share/86Box/roms
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
roms = fetchFromGitHub {
|
||||
owner = "86Box";
|
||||
repo = "roms";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-1HtoizO0QIGNjQTW0clzRp40h1ulw55+iTYz12UJSms=";
|
||||
hash = "sha256-58nNTOLund/KeDlNwzwwihjFVigs/P0K8SN07zExE2c=";
|
||||
};
|
||||
};
|
||||
|
||||
# Some libraries are loaded dynamically, but QLibrary doesn't seem to search
|
||||
# the runpath, so use a wrapper instead.
|
||||
preFixup = let
|
||||
libPath = lib.makeLibraryPath ([
|
||||
libpcap
|
||||
] ++ lib.optional unfreeEnableDiscord discord-gamesdk);
|
||||
libPathVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||
in ''
|
||||
makeWrapperArgs+=(--prefix ${libPathVar} : "${libPath}")
|
||||
'';
|
||||
preFixup =
|
||||
let
|
||||
libPath = lib.makeLibraryPath ([ libpcap ] ++ lib.optional unfreeEnableDiscord discord-gamesdk);
|
||||
libPathVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||
in
|
||||
''
|
||||
makeWrapperArgs+=(--prefix ${libPathVar} : "${libPath}")
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Emulator of x86-based machines based on PCem.";
|
||||
mainProgram = "86Box";
|
||||
homepage = "https://86box.net/";
|
||||
license = with licenses; [ gpl2Only ]
|
||||
++ optional (unfreeEnableDiscord || unfreeEnableRoms) unfree;
|
||||
license = with licenses; [ gpl2Only ] ++ optional (unfreeEnableDiscord || unfreeEnableRoms) unfree;
|
||||
maintainers = [ maintainers.jchw ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ buildGoModule, lib, fetchFromGitHub }:
|
||||
buildGoModule rec {
|
||||
pname = "tfswitch";
|
||||
version = "1.0.0";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "warrensbox";
|
||||
repo = "terraform-switcher";
|
||||
rev = version;
|
||||
sha256 = "sha256-zUFnJCYh6XM0HiET45ZRa/ESS/n3XdYKkUJuLiDDRAg=";
|
||||
sha256 = "sha256-Gp7+TEE7rmlabZhley/crpYZiqiKcc6uqSr6leZsmgU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-DsC9djgt7Er2m2TacUldpJP43jC0IBklPnu41Saf4DY=";
|
||||
|
|
|
@ -31,7 +31,23 @@ let
|
|||
hash = "sha256-k19dQeXuPwggTfrsxL4oesExAz4tkT/GN6lt7sLU3Nk=";
|
||||
};
|
||||
|
||||
python = python3;
|
||||
# subpath installation is broken with uvicorn >= 0.26
|
||||
# https://github.com/NixOS/nixpkgs/issues/298719
|
||||
# https://github.com/paperless-ngx/paperless-ngx/issues/5494
|
||||
python = python3.override {
|
||||
packageOverrides = self: super: {
|
||||
uvicorn = super.uvicorn.overridePythonAttrs (oldAttrs: {
|
||||
version = "0.25.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "encode";
|
||||
repo = "uvicorn";
|
||||
rev = "0.25.0";
|
||||
hash = "sha256-ng98DTw49zyFjrPnEwfnPfONyjKKZYuLl0qduxSppYk=";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
path = lib.makeBinPath [
|
||||
ghostscript
|
||||
|
|
|
@ -14,14 +14,11 @@
|
|||
, ninja
|
||||
, ant
|
||||
, openjdk
|
||||
, perl536Packages
|
||||
, perl
|
||||
, perlPackages
|
||||
, makeWrapper
|
||||
}:
|
||||
let
|
||||
# log says: polymake does not work with perl 5.37 or newer;
|
||||
perlPackages = perl536Packages;
|
||||
inherit (perlPackages) perl;
|
||||
in
|
||||
|
||||
# polymake compiles its own version of sympol and atint because we
|
||||
# don't have those packages. other missing optional dependencies:
|
||||
# javaview, libnormaliz, scip, soplex, jreality.
|
||||
|
|
|
@ -517,7 +517,7 @@ rec {
|
|||
|
||||
buildLayeredImage = lib.makeOverridable ({ name, compressor ? "gz", ... }@args:
|
||||
let
|
||||
stream = streamLayeredImage args;
|
||||
stream = streamLayeredImage (builtins.removeAttrs args ["compressor"]);
|
||||
compress = compressorForImage compressor name;
|
||||
in
|
||||
runCommand "${baseNameOf name}.tar${compress.ext}"
|
||||
|
@ -1287,7 +1287,7 @@ rec {
|
|||
# Wrapper around streamNixShellImage to build an image from the result
|
||||
buildNixShellImage = { drv, compressor ? "gz", ... }@args:
|
||||
let
|
||||
stream = streamNixShellImage args;
|
||||
stream = streamNixShellImage (builtins.removeAttrs args ["compressor"]);
|
||||
compress = compressorForImage compressor drv.name;
|
||||
in
|
||||
runCommand "${drv.name}-env.tar${compress.ext}"
|
||||
|
|
|
@ -509,7 +509,23 @@ rec {
|
|||
contents = pkgs.bashInteractive;
|
||||
};
|
||||
|
||||
# buildImage without explicit tag
|
||||
# buildLayeredImage without compression
|
||||
bashLayeredUncompressed = pkgs.dockerTools.buildLayeredImage {
|
||||
name = "bash-layered-uncompressed";
|
||||
tag = "latest";
|
||||
compressor = "none";
|
||||
contents = pkgs.bashInteractive;
|
||||
};
|
||||
|
||||
# buildLayeredImage with zstd compression
|
||||
bashLayeredZstdCompressed = pkgs.dockerTools.buildLayeredImage {
|
||||
name = "bash-layered-zstd";
|
||||
tag = "latest";
|
||||
compressor = "zstd";
|
||||
contents = pkgs.bashInteractive;
|
||||
};
|
||||
|
||||
# streamLayeredImage without explicit tag
|
||||
bashNoTagStreamLayered = pkgs.dockerTools.streamLayeredImage {
|
||||
name = "bash-no-tag-stream-layered";
|
||||
contents = pkgs.bashInteractive;
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "charm-freeze";
|
||||
version = "0.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "charmbracelet";
|
||||
repo = "freeze";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ItcdgQUPrz2hpWS6nDYfnZaCdfocR3QgJTQ4TXzPQOw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-01tTr5NSyg52KGspYh9Rw98uQld6U+31Fy7jnyBoPx8=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool to generate images of code and terminal output";
|
||||
mainProgram = "freeze";
|
||||
homepage = "https://github.com/charmbracelet/freeze";
|
||||
changelog = "https://github.com/charmbracelet/freeze/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ caarlos0 maaslalani ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
--- a/CMakeLists.txt 2023-02-01 23:55:18.171758209 +0100
|
||||
+++ b/CMakeLists.txt 2023-02-02 19:32:16.574426531 +0100
|
||||
@@ -23,25 +23,11 @@
|
||||
set (VCFEVAL_AVAILABLE 0)
|
||||
endif()
|
||||
|
||||
-execute_process(
|
||||
- COMMAND ${CMAKE_SOURCE_DIR}/external/make_dependencies.sh
|
||||
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
- RESULT_VARIABLE EXTERNAL_SUCCESS)
|
||||
|
||||
-if(NOT "${EXTERNAL_SUCCESS}" STREQUAL "0")
|
||||
- message(FATAL_ERROR "Building external dependencies has failed")
|
||||
-endif()
|
||||
-
|
||||
-set(Boost_USE_STATIC_LIBS ON) # only find static libs
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
-set(Boost_USE_STATIC_RUNTIME ON)
|
||||
|
||||
# un-break library finding
|
||||
-set(Boost_NO_BOOST_CMAKE ON)
|
||||
-set(Boost_NO_SYSTEM_PATHS ON)
|
||||
|
||||
-set(BOOST_ROOT ${CMAKE_BINARY_DIR})
|
||||
-message("Using our own Boost, which was built at ${HAPLOTYPES_SOURCE_DIR}/external/boost_install")
|
||||
|
||||
find_package(Boost 1.55.0 COMPONENTS thread iostreams regex unit_test_framework filesystem system program_options REQUIRED)
|
||||
include_directories(${Boost_INCLUDE_DIRS})
|
||||
@@ -51,7 +51,8 @@
|
||||
link_directories (${CMAKE_BINARY_DIR}/lib)
|
||||
|
||||
# make sure we use the bundled zlib version
|
||||
-set(ZLIB_LIBRARIES ${CMAKE_BINARY_DIR}/lib/libz.a)
|
||||
+# Additional flags for nix, found by trial and error
|
||||
+set(ZLIB_LIBRARIES -lz -lbz2 -lcurl -lcrypto -llzma)
|
||||
|
||||
include_directories (${HAPLOTYPES_SOURCE_DIR}/external/klib)
|
||||
include_directories (${HAPLOTYPES_SOURCE_DIR}/external/intervaltree)
|
||||
@@ -84,11 +86,6 @@
|
||||
${CMAKE_THREAD_LIBS_INIT})
|
||||
|
||||
|
||||
-execute_process(COMMAND git describe --tags --always
|
||||
- OUTPUT_VARIABLE HAPLOTYPES_VERSION
|
||||
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
- OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
-)
|
||||
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/c++/include/Version.hh.in"
|
||||
"${CMAKE_BINARY_DIR}/include/Version.hh")
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
autoconf,
|
||||
bcftools,
|
||||
boost,
|
||||
bzip2,
|
||||
cmake,
|
||||
curl,
|
||||
fetchFromGitHub,
|
||||
htslib,
|
||||
lib,
|
||||
makeWrapper,
|
||||
perl,
|
||||
python3,
|
||||
rtg-tools,
|
||||
samtools,
|
||||
stdenv,
|
||||
xz,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
let
|
||||
# Bcftools needs perl
|
||||
runtime = [
|
||||
bcftools
|
||||
htslib
|
||||
my-python
|
||||
perl
|
||||
samtools
|
||||
];
|
||||
my-python-packages =
|
||||
p: with p; [
|
||||
bx-python
|
||||
pysam
|
||||
pandas
|
||||
psutil
|
||||
scipy
|
||||
];
|
||||
my-python = python3.withPackages my-python-packages;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hap.py";
|
||||
version = "0.3.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Illumina";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-K8XXhioMGMHw56MKvp0Eo8S6R36JczBzGRaBz035zRQ=";
|
||||
};
|
||||
# For illumina script
|
||||
BOOST_ROOT = "${boost.out}";
|
||||
ZLIBSTATIC = "${zlib.static}";
|
||||
# For cmake : boost lib and includedir are in differernt location
|
||||
BOOST_LIBRARYDIR = "${boost.out}/lib";
|
||||
BOOST_INCLUDEDIR = "${boost.dev}/include";
|
||||
|
||||
patches = [
|
||||
# Compatibility with nix for boost and library flags : zlib, bzip2, curl, crypto, lzma
|
||||
./boost-library-flags.patch
|
||||
# Update to python3
|
||||
./python3.patch
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
cmake
|
||||
makeWrapper
|
||||
];
|
||||
buildInputs = [
|
||||
boost
|
||||
bzip2
|
||||
curl
|
||||
htslib
|
||||
my-python
|
||||
rtg-tools
|
||||
xz
|
||||
zlib
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/hap.py \
|
||||
--set PATH ${lib.makeBinPath runtime} \
|
||||
--add-flags "--engine-vcfeval-path=${rtg-tools}/bin/rtg"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Compare genetics variants against a gold dataset";
|
||||
homepage = "https://github.com/Illumina/hap.py";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ apraga ];
|
||||
mainProgram = "hap.py";
|
||||
};
|
||||
}
|
|
@ -0,0 +1,342 @@
|
|||
diff --git a/src/c++/lib/tools/Roc.cpp b/src/c++/lib/tools/Roc.cpp
|
||||
index fabe2be..2c6bb49 100644
|
||||
--- a/src/c++/lib/tools/Roc.cpp
|
||||
+++ b/src/c++/lib/tools/Roc.cpp
|
||||
@@ -34,6 +34,9 @@
|
||||
*/
|
||||
|
||||
#include "helpers/Roc.hh"
|
||||
+#include <stdexcept>
|
||||
+#include <limits>
|
||||
+
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
diff --git a/src/cmake/cxx.cmake b/src/cmake/cxx.cmake
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
diff --git a/src/python/Haplo/happyroc.py b/src/python/Haplo/happyroc.py
|
||||
index 152bd18..e439957 100644
|
||||
--- a/src/python/Haplo/happyroc.py
|
||||
+++ b/src/python/Haplo/happyroc.py
|
||||
@@ -97,7 +97,7 @@ def roc(roc_table, output_path,
|
||||
header = l.split("\t")
|
||||
else:
|
||||
rec = {}
|
||||
- for k, v in itertools.izip(header, l.split("\t")):
|
||||
+ for k, v in zip(header, l.split("\t")):
|
||||
rec[k] = v
|
||||
|
||||
if filter_handling:
|
||||
@@ -160,11 +160,11 @@ def roc(roc_table, output_path,
|
||||
|
||||
if "all" not in result:
|
||||
# minimal empty DF
|
||||
- minidata = [{"Type": "SNP", "Subtype": "*", "Filter": "ALL", "Genotype": "*", "Subset": "*", "QQ": "*"} for _ in xrange(2)]
|
||||
+ minidata = [{"Type": "SNP", "Subtype": "*", "Filter": "ALL", "Genotype": "*", "Subset": "*", "QQ": "*"} for _ in range(2)]
|
||||
minidata[1]["Type"] = "INDEL"
|
||||
result["all"] = pandas.DataFrame(minidata, columns=RESULT_ALLCOLUMNS)
|
||||
for i, c in enumerate(RESULT_ALLCOLUMNS):
|
||||
- result["all"][c] = result["all"][c].astype(RESULT_ALLDTYPES[i], raise_on_error=False)
|
||||
+ result["all"][c] = result["all"][c].astype(RESULT_ALLDTYPES[i], errors="ignore")
|
||||
|
||||
for k, v in result.items():
|
||||
result[k] = _postprocessRocData(pandas.DataFrame(v, columns=RESULT_ALLCOLUMNS))
|
||||
diff --git a/src/python/Haplo/partialcredit.py b/src/python/Haplo/partialcredit.py
|
||||
index d9e22bb..0f2b2cf 100644
|
||||
--- a/src/python/Haplo/partialcredit.py
|
||||
+++ b/src/python/Haplo/partialcredit.py
|
||||
@@ -202,7 +202,7 @@ def partialCredit(vcfname,
|
||||
try:
|
||||
res = runParallel(pool,
|
||||
preprocessWrapper,
|
||||
- itertools.izip(itertools.repeat(vcfname), locations),
|
||||
+ zip(itertools.repeat(vcfname), locations),
|
||||
{"reference": reference,
|
||||
"decompose": decompose,
|
||||
"leftshift": leftshift,
|
||||
diff --git a/src/python/Haplo/quantify.py b/src/python/Haplo/quantify.py
|
||||
index 042d13e..b1d362e 100755
|
||||
--- a/src/python/Haplo/quantify.py
|
||||
+++ b/src/python/Haplo/quantify.py
|
||||
@@ -152,7 +152,7 @@ def run_quantify(filename,
|
||||
run_str += " -v %s" % pipes.quote(write_vcf)
|
||||
|
||||
if regions:
|
||||
- for k, v in regions.iteritems():
|
||||
+ for k, v in regions.items():
|
||||
run_str += " -R '%s:%s'" % (k, v)
|
||||
|
||||
if roc_regions:
|
||||
diff --git a/src/python/Somatic/Mutect.py b/src/python/Somatic/Mutect.py
|
||||
index 7ac923c..81f08b5 100755
|
||||
--- a/src/python/Somatic/Mutect.py
|
||||
+++ b/src/python/Somatic/Mutect.py
|
||||
@@ -148,7 +148,7 @@ def extractMutectSNVFeatures(vcfname, tag, avg_depth=None):
|
||||
n_allele_alt_count = 0
|
||||
else:
|
||||
n_allele_alt_count = 0
|
||||
- for a in xrange(0, len(alleles_alt)):
|
||||
+ for a in range(0, len(alleles_alt)):
|
||||
n_allele_alt_count += float(rec[n_sample + "AD"][a + 1])
|
||||
|
||||
if n_allele_alt_count + n_allele_ref_count == 0:
|
||||
@@ -163,7 +163,7 @@ def extractMutectSNVFeatures(vcfname, tag, avg_depth=None):
|
||||
t_allele_alt_count = 0
|
||||
else:
|
||||
t_allele_alt_count = 0
|
||||
- for a in xrange(0, len(alleles_alt)):
|
||||
+ for a in range(0, len(alleles_alt)):
|
||||
t_allele_alt_count += float(rec[t_sample + "AD"][a + 1])
|
||||
|
||||
if t_allele_alt_count + t_allele_ref_count == 0:
|
||||
@@ -344,7 +344,7 @@ def extractMutectIndelFeatures(vcfname, tag, avg_depth=None):
|
||||
n_allele_alt_count = 0
|
||||
else:
|
||||
n_allele_alt_count = 0
|
||||
- for a in xrange(0, len(alleles_alt)):
|
||||
+ for a in range(0, len(alleles_alt)):
|
||||
n_allele_alt_count += float(rec[n_sample + "AD"][a + 1])
|
||||
|
||||
if n_allele_alt_count + n_allele_ref_count == 0:
|
||||
@@ -359,7 +359,7 @@ def extractMutectIndelFeatures(vcfname, tag, avg_depth=None):
|
||||
t_allele_alt_count = 0
|
||||
else:
|
||||
t_allele_alt_count = 0
|
||||
- for a in xrange(0, len(alleles_alt)):
|
||||
+ for a in range(0, len(alleles_alt)):
|
||||
t_allele_alt_count += float(rec[t_sample + "AD"][a + 1])
|
||||
|
||||
if t_allele_alt_count + t_allele_ref_count == 0:
|
||||
diff --git a/src/python/Tools/bcftools.py b/src/python/Tools/bcftools.py
|
||||
index 6146b7a..6d80d14 100755
|
||||
--- a/src/python/Tools/bcftools.py
|
||||
+++ b/src/python/Tools/bcftools.py
|
||||
@@ -128,8 +128,8 @@ def concatenateParts(output, *args):
|
||||
to_delete.append(tf2.name)
|
||||
to_delete.append(tf1.name + ".csi")
|
||||
to_delete.append(tf2.name + ".csi")
|
||||
- half1 = [tf1.name] + list(args[:len(args)/2])
|
||||
- half2 = [tf2.name] + list(args[len(args)/2:])
|
||||
+ half1 = [tf1.name] + list(args[:len(args)//2])
|
||||
+ half2 = [tf2.name] + list(args[len(args)//2:])
|
||||
concatenateParts(*half1)
|
||||
runBcftools("index", tf1.name)
|
||||
concatenateParts(*half2)
|
||||
diff --git a/src/python/Tools/metric.py b/src/python/Tools/metric.py
|
||||
index 71ccc99..372626d 100755
|
||||
--- a/src/python/Tools/metric.py
|
||||
+++ b/src/python/Tools/metric.py
|
||||
@@ -115,7 +115,7 @@ def replaceNaNs(xobject):
|
||||
if type(xobject[k]) is dict or type(xobject[k]) is list or type(xobject[k]) is float:
|
||||
xobject[k] = replaceNaNs(xobject[k])
|
||||
elif type(xobject) is list:
|
||||
- for k in xrange(0, len(xobject)):
|
||||
+ for k in range(0, len(xobject)):
|
||||
if type(xobject[k]) is dict or type(xobject[k]) is list or type(xobject[k]) is float:
|
||||
xobject[k] = replaceNaNs(xobject[k])
|
||||
elif type(xobject) is float:
|
||||
diff --git a/src/python/Tools/parallel.py b/src/python/Tools/parallel.py
|
||||
index 9d49760..5fcb37e 100755
|
||||
--- a/src/python/Tools/parallel.py
|
||||
+++ b/src/python/Tools/parallel.py
|
||||
@@ -17,9 +17,9 @@ import logging
|
||||
import traceback
|
||||
import subprocess
|
||||
import multiprocessing
|
||||
-import cPickle
|
||||
+import pickle
|
||||
import tempfile
|
||||
-from itertools import islice, izip, repeat
|
||||
+from itertools import islice, repeat
|
||||
|
||||
from . import LoggingWriter
|
||||
|
||||
@@ -93,7 +93,7 @@ def runParallel(pool, fun, par, *args, **kwargs):
|
||||
|
||||
"""
|
||||
if pool:
|
||||
- result = pool.map(parMapper, izip(par, repeat( { "fun": fun, "args": args, "kwargs": kwargs } )))
|
||||
+ result = pool.map(parMapper, zip(par, repeat( { "fun": fun, "args": args, "kwargs": kwargs } )))
|
||||
else:
|
||||
result = []
|
||||
for c in par:
|
||||
diff --git a/src/python/Tools/sessioninfo.py b/src/python/Tools/sessioninfo.py
|
||||
index 75650ec..b49bf59 100644
|
||||
--- a/src/python/Tools/sessioninfo.py
|
||||
+++ b/src/python/Tools/sessioninfo.py
|
||||
@@ -34,7 +34,6 @@ def sessionInfo():
|
||||
'version': version,
|
||||
'runInfo': [{"key": "commandline", "value": " ".join(sys.argv)}],
|
||||
'uname': " / ".join(platform.uname()),
|
||||
- 'dist': " / ".join(platform.dist()),
|
||||
'mac_ver': " / ".join([platform.mac_ver()[0], platform.mac_ver()[2]]),
|
||||
'python_implementation': platform.python_implementation(),
|
||||
'python_version': platform.python_version(),
|
||||
diff --git a/src/python/Tools/vcfcallerinfo.py b/src/python/Tools/vcfcallerinfo.py
|
||||
index eb7e86e..947f2c4 100755
|
||||
--- a/src/python/Tools/vcfcallerinfo.py
|
||||
+++ b/src/python/Tools/vcfcallerinfo.py
|
||||
@@ -33,8 +33,8 @@ class CallerInfo(object):
|
||||
|
||||
def asDict(self):
|
||||
kvd = ["name", "version", "parameters"]
|
||||
- return {"aligners": [dict(y for y in itertools.izip(kvd, x)) for x in self.aligners],
|
||||
- "callers": [dict(y for y in itertools.izip(kvd, x)) for x in self.callers]}
|
||||
+ return {"aligners": [dict(y for y in zip(kvd, x)) for x in self.aligners],
|
||||
+ "callers": [dict(y for y in zip(kvd, x)) for x in self.callers]}
|
||||
|
||||
def addVCF(self, vcfname):
|
||||
""" Add caller versions from a VCF
|
||||
diff --git a/src/python/hap.py b/src/python/hap.py
|
||||
index 8045936..93279a4 100755
|
||||
--- a/src/python/hap.py
|
||||
+++ b/src/python/hap.py
|
||||
@@ -188,7 +188,7 @@ def main():
|
||||
parser.print_help()
|
||||
exit(1)
|
||||
|
||||
- print "Hap.py %s" % Tools.version
|
||||
+ print("Hap.py %s" % Tools.version)
|
||||
if args.version:
|
||||
exit(0)
|
||||
|
||||
diff --git a/src/python/ovc.py b/src/python/ovc.py
|
||||
index 2837255..20b4442 100755
|
||||
--- a/src/python/ovc.py
|
||||
+++ b/src/python/ovc.py
|
||||
@@ -34,7 +34,7 @@ lines = 1
|
||||
for line in f:
|
||||
l = line.split("\t")
|
||||
if len(l) > 3 and (last-1) > int(l[1]):
|
||||
- print "Overlap at %s:%i (line %i)" % (l[0], int(l[1]), lines)
|
||||
+ print(Overlap at %s:%i (line %i)) % (l[0], int(l[1]), lines)
|
||||
exit(1)
|
||||
elif len(l) > 3:
|
||||
last = int(l[2])
|
||||
diff --git a/src/python/pre.py b/src/python/pre.py
|
||||
index 5ca1644..a37a4b2 100755
|
||||
--- a/src/python/pre.py
|
||||
+++ b/src/python/pre.py
|
||||
@@ -47,8 +47,8 @@ import Haplo.partialcredit
|
||||
def hasChrPrefix(chrlist):
|
||||
""" returns if list of chr names has a chr prefix or not """
|
||||
|
||||
- noprefix = map(str, range(23)) + ["X", "Y", "MT"]
|
||||
- withprefix = ["chr" + x for x in map(str, range(23)) + ["X", "Y", "M"]]
|
||||
+ noprefix = [str(x) for x in range(23)] + ["X", "Y", "MT"]
|
||||
+ withprefix = ["chr" + str(x) for x in range(23)] + ["X", "Y", "M"]
|
||||
|
||||
count_noprefix = len(list(set(noprefix) & set(chrlist)))
|
||||
count_prefix = len(list(set(withprefix) & set(chrlist)))
|
||||
@@ -126,7 +126,7 @@ def preprocess(vcf_input,
|
||||
|
||||
if gender == "auto":
|
||||
logging.info(mf)
|
||||
- if "female" in mf:
|
||||
+ if b"female" in mf:
|
||||
gender = "female"
|
||||
else:
|
||||
gender = "male"
|
||||
@@ -392,7 +392,7 @@ def main():
|
||||
exit(0)
|
||||
|
||||
if args.version:
|
||||
- print "pre.py %s" % Tools.version # noqa:E999
|
||||
+ print(pre.py %s) % Tools.version # noqa:E999
|
||||
exit(0)
|
||||
|
||||
args.input = args.input[0]
|
||||
diff --git a/src/python/qfy.py b/src/python/qfy.py
|
||||
index 4f247ee..59ed68a 100755
|
||||
--- a/src/python/qfy.py
|
||||
+++ b/src/python/qfy.py
|
||||
@@ -203,8 +203,8 @@ def quantify(args):
|
||||
|
||||
# in default mode, print result summary to stdout
|
||||
if not args.quiet and not args.verbose:
|
||||
- print "Benchmarking Summary:"
|
||||
- print essential_numbers.to_string(index=False)
|
||||
+ print("Benchmarking Summary:")
|
||||
+ print(essential_numbers.to_string(index=False))
|
||||
|
||||
# keep this for verbose output
|
||||
if not args.verbose:
|
||||
@@ -213,12 +213,12 @@ def quantify(args):
|
||||
except:
|
||||
pass
|
||||
|
||||
- for t in res.iterkeys():
|
||||
+ for t in res.keys():
|
||||
metrics_output["metrics"].append(dataframeToMetricsTable("roc." + t, res[t]))
|
||||
|
||||
# gzip JSON output
|
||||
if args.write_json:
|
||||
with gzip.open(args.reports_prefix + ".metrics.json.gz", "w") as fp:
|
||||
- json.dump(metrics_output, fp)
|
||||
+ fp.write(json.dumps(metrics_output, default=np_encoder).encode('ascii'))
|
||||
|
||||
|
||||
@@ -362,7 +363,7 @@ def main():
|
||||
exit(0)
|
||||
|
||||
if args.version:
|
||||
- print "qfy.py %s" % Tools.version
|
||||
+ print(qfy.py %s) % Tools.version
|
||||
exit(0)
|
||||
|
||||
if args.fp_bedfile and args.preprocessing_truth_confregions:
|
||||
diff --git a/src/python/som.py b/src/python/som.py
|
||||
index e942351..c01d522 100755
|
||||
--- a/src/python/som.py
|
||||
+++ b/src/python/som.py
|
||||
@@ -640,7 +640,7 @@ def main():
|
||||
"overlap):\n" + ambie.to_string(index=False))
|
||||
# in default mode, print result summary to stdout
|
||||
if not args.quiet and not args.verbose:
|
||||
- print "FP/ambiguity classes with info (multiple classes can " \
|
||||
+ print(FP/ambiguity classes with info (multiple classes can ) \
|
||||
"overlap):\n" + ambie.to_string(index=False)
|
||||
ambie.to_csv(args.output + ".ambiclasses.csv")
|
||||
metrics_output["metrics"].append(dataframeToMetricsTable("ambiclasses", ambie))
|
||||
@@ -659,7 +659,7 @@ def main():
|
||||
formatters={'reason': '{{:<{}s}}'.format(ambie['reason'].str.len().max()).format}, index=False))
|
||||
# in default mode, print result summary to stdout
|
||||
if not args.quiet and not args.verbose:
|
||||
- print "Reasons for defining as ambiguous (multiple reasons can overlap):\n" + ambie.to_string(
|
||||
+ print(Reasons for defining as ambiguous (multiple reasons can overlap):\n) + ambie.to_string(
|
||||
formatters={'reason': '{{:<{}s}}'.format(ambie['reason'].str.len().max()).format}, index=False)
|
||||
ambie.to_csv(args.output + ".ambireasons.csv")
|
||||
metrics_output["metrics"].append(dataframeToMetricsTable("ambireasons", ambie))
|
||||
@@ -936,7 +936,7 @@ def main():
|
||||
logging.info("\n" + res.to_string())
|
||||
# in default mode, print result summary to stdout
|
||||
if not args.quiet and not args.verbose:
|
||||
- print "\n" + res.to_string()
|
||||
+ print(\n) + res.to_string()
|
||||
|
||||
res["sompyversion"] = vstring
|
||||
|
||||
diff --git a/src/python/qfy.py b/src/python/qfy.py
|
||||
index 59ed68a..be8d7e1 100755
|
||||
--- a/src/python/qfy.py
|
||||
+++ b/src/python/qfy.py
|
||||
@@ -33,6 +33,7 @@ import pandas
|
||||
import json
|
||||
import tempfile
|
||||
import gzip
|
||||
+import numpy as np
|
||||
|
||||
scriptDir = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
|
||||
sys.path.append(os.path.abspath(os.path.join(scriptDir, '..', 'lib', 'python27')))
|
||||
@@ -45,6 +46,10 @@ import Haplo.happyroc
|
||||
import Haplo.gvcf2bed
|
||||
from Tools import fastasize
|
||||
|
||||
+# Cannot convert data to json without a custom enconder
|
||||
+def np_encoder(object):
|
||||
+ if isinstance(object, np.generic):
|
||||
+ return object.item()
|
||||
|
||||
def quantify(args):
|
||||
""" Run quantify and write tables """
|
|
@ -11,12 +11,12 @@
|
|||
}:
|
||||
flutter.buildFlutterApplication rec {
|
||||
pname = "intiface-central";
|
||||
version = "2.5.3";
|
||||
version = "2.5.6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "intiface";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-i0G3wCfJ9Q7DEmVMrQv2K6fy4YRWsEMNns9zMZkJxvY=";
|
||||
hash = "sha256-EcOFiaWqljNZIvsCkhuCEChEC51ERxM74EYE6u7Q4U8=";
|
||||
};
|
||||
patches = [
|
||||
./corrosion.patch
|
||||
|
@ -28,7 +28,7 @@ flutter.buildFlutterApplication rec {
|
|||
name = "${pname}-${version}-cargo-deps";
|
||||
inherit src;
|
||||
sourceRoot = "${src.name}/intiface-engine-flutter-bridge";
|
||||
hash = "sha256-0sCHa3rMaLYaUG3E3fmsLi0dSdb9vGyv7qNR3JQkXuU=";
|
||||
hash = "sha256-tkJcwT2lt8+FT9GZ0ROrm1jkOxoq875O3wZkgZl22r4=";
|
||||
};
|
||||
cargoRoot = "intiface-engine-flutter-bridge";
|
||||
|
||||
|
|
|
@ -24,11 +24,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "archive",
|
||||
"sha256": "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03",
|
||||
"sha256": "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.4.6"
|
||||
"version": "3.4.9"
|
||||
},
|
||||
"args": {
|
||||
"dependency": "transitive",
|
||||
|
@ -54,11 +54,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "bloc",
|
||||
"sha256": "3820f15f502372d979121de1f6b97bfcf1630ebff8fe1d52fb2b0bfa49be5b49",
|
||||
"sha256": "f53a110e3b48dcd78136c10daa5d51512443cea5e1348c9d80a320095fa2db9e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.1.2"
|
||||
"version": "8.1.3"
|
||||
},
|
||||
"boolean_selector": {
|
||||
"dependency": "transitive",
|
||||
|
@ -104,11 +104,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build_daemon",
|
||||
"sha256": "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65",
|
||||
"sha256": "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.0"
|
||||
"version": "4.0.1"
|
||||
},
|
||||
"build_resolvers": {
|
||||
"dependency": "transitive",
|
||||
|
@ -154,11 +154,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "built_value",
|
||||
"sha256": "a8de5955205b4d1dbbbc267daddf2178bd737e4bab8987c04a500478c9651e74",
|
||||
"sha256": "723b4021e903217dfc445ec4cf5b42e27975aece1fc4ebbc1ca6329c2d9fb54e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.6.3"
|
||||
"version": "8.7.0"
|
||||
},
|
||||
"buttplug": {
|
||||
"dependency": "direct main",
|
||||
|
@ -274,11 +274,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "dbus",
|
||||
"sha256": "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263",
|
||||
"sha256": "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.8"
|
||||
"version": "0.7.10"
|
||||
},
|
||||
"device_info_plus": {
|
||||
"dependency": "direct main",
|
||||
|
@ -410,11 +410,11 @@
|
|||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "flutter_lints",
|
||||
"sha256": "ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5",
|
||||
"sha256": "e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.0"
|
||||
"version": "3.0.1"
|
||||
},
|
||||
"flutter_local_notifications": {
|
||||
"dependency": "direct main",
|
||||
|
@ -460,21 +460,31 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_markdown",
|
||||
"sha256": "8afc9a6aa6d8e8063523192ba837149dbf3d377a37c0b0fc579149a1fbd4a619",
|
||||
"sha256": "35108526a233cc0755664d445f8a6b4b61e6f8fe993b3658b80b4a26827fc196",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.6.18"
|
||||
"version": "0.6.18+2"
|
||||
},
|
||||
"flutter_rust_bridge": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_rust_bridge",
|
||||
"sha256": "e12415c3bce49bcbc3fed383f0ea41ad7d828f6cf0eccba0588ffa5a812fe522",
|
||||
"sha256": "02720226035257ad0b571c1256f43df3e1556a499f6bcb004849a0faaa0e87f0",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.82.1"
|
||||
"version": "1.82.6"
|
||||
},
|
||||
"flutter_spinkit": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_spinkit",
|
||||
"sha256": "b39c753e909d4796906c5696a14daf33639a76e017136c8d82bf3e620ce5bb8e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.2.0"
|
||||
},
|
||||
"flutter_test": {
|
||||
"dependency": "direct dev",
|
||||
|
@ -502,11 +512,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "github",
|
||||
"sha256": "e20582edb07b859cc226ab2fd64fd246f7cdcbfc7098f46e241c03deb81b5682",
|
||||
"sha256": "45d7ffc34f4958b8f9910175e10fc00f976ad0b44ca5ee06fcfd7269a2dbb77f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "9.19.0"
|
||||
"version": "9.20.0"
|
||||
},
|
||||
"glob": {
|
||||
"dependency": "transitive",
|
||||
|
@ -618,6 +628,36 @@
|
|||
"source": "hosted",
|
||||
"version": "6.7.1"
|
||||
},
|
||||
"leak_tracker": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker",
|
||||
"sha256": "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "10.0.0"
|
||||
},
|
||||
"leak_tracker_flutter_testing": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker_flutter_testing",
|
||||
"sha256": "b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.1"
|
||||
},
|
||||
"leak_tracker_testing": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "leak_tracker_testing",
|
||||
"sha256": "a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.1"
|
||||
},
|
||||
"lints": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
|
@ -662,31 +702,31 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "matcher",
|
||||
"sha256": "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e",
|
||||
"sha256": "d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.12.16"
|
||||
"version": "0.12.16+1"
|
||||
},
|
||||
"material_color_utilities": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "material_color_utilities",
|
||||
"sha256": "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41",
|
||||
"sha256": "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.5.0"
|
||||
"version": "0.8.0"
|
||||
},
|
||||
"meta": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "meta",
|
||||
"sha256": "a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e",
|
||||
"sha256": "d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.10.0"
|
||||
"version": "1.11.0"
|
||||
},
|
||||
"mime": {
|
||||
"dependency": "transitive",
|
||||
|
@ -698,6 +738,16 @@
|
|||
"source": "hosted",
|
||||
"version": "1.0.4"
|
||||
},
|
||||
"multicast_dns": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "multicast_dns",
|
||||
"sha256": "316cc47a958d4bd3c67bd238fe8b44fdfb6133bad89cb191c0c3bd3edb14e296",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.3.2+6"
|
||||
},
|
||||
"nested": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
|
@ -752,11 +802,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "package_info_plus",
|
||||
"sha256": "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017",
|
||||
"sha256": "88bc797f44a94814f2213db1c9bd5badebafdfb8290ca9f78d4b9ee2a3db4d79",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.2.0"
|
||||
"version": "5.0.1"
|
||||
},
|
||||
"package_info_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
|
@ -772,11 +822,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "path",
|
||||
"sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917",
|
||||
"sha256": "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.8.3"
|
||||
"version": "1.9.0"
|
||||
},
|
||||
"path_provider": {
|
||||
"dependency": "direct main",
|
||||
|
@ -792,11 +842,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "path_provider_android",
|
||||
"sha256": "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1",
|
||||
"sha256": "e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.0"
|
||||
"version": "2.2.1"
|
||||
},
|
||||
"path_provider_foundation": {
|
||||
"dependency": "transitive",
|
||||
|
@ -902,11 +952,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "petitparser",
|
||||
"sha256": "cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750",
|
||||
"sha256": "eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.4.0"
|
||||
"version": "6.0.1"
|
||||
},
|
||||
"platform": {
|
||||
"dependency": "transitive",
|
||||
|
@ -922,11 +972,11 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "plugin_platform_interface",
|
||||
"sha256": "da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d",
|
||||
"sha256": "f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.6"
|
||||
"version": "2.1.7"
|
||||
},
|
||||
"pointycastle": {
|
||||
"dependency": "transitive",
|
||||
|
@ -952,11 +1002,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "provider",
|
||||
"sha256": "cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f",
|
||||
"sha256": "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.0.5"
|
||||
"version": "6.1.1"
|
||||
},
|
||||
"pub_semver": {
|
||||
"dependency": "transitive",
|
||||
|
@ -982,11 +1032,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "puppeteer",
|
||||
"sha256": "59e723cc5b69537159a7c34efd645dc08a6a1ac4647d7d7823606802c0f93cdb",
|
||||
"sha256": "eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.2.0"
|
||||
"version": "3.6.0"
|
||||
},
|
||||
"quiver": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1022,21 +1072,21 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "sentry",
|
||||
"sha256": "830667eadc0398fea3a3424ed1b74568e2db603a42758d0922e2f2974ce55a60",
|
||||
"sha256": "a460aa48568d47140dd0557410b624d344ffb8c05555107ac65035c1097cf1ad",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.10.1"
|
||||
"version": "7.18.0"
|
||||
},
|
||||
"sentry_flutter": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "sentry_flutter",
|
||||
"sha256": "6730f41b304c6fb0fa590dacccaf73ba11082fc64b274cfe8a79776f2b95309c",
|
||||
"sha256": "3d0d1d4e0e407d276ae8128d123263ccbc37e988bae906765efd6f37d544f4c6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.10.1"
|
||||
"version": "7.18.0"
|
||||
},
|
||||
"settings_ui": {
|
||||
"dependency": "direct main",
|
||||
|
@ -1102,11 +1152,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "shared_preferences_web",
|
||||
"sha256": "d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf",
|
||||
"sha256": "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.1"
|
||||
"version": "2.2.2"
|
||||
},
|
||||
"shared_preferences_windows": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1184,6 +1234,16 @@
|
|||
"source": "hosted",
|
||||
"version": "1.10.0"
|
||||
},
|
||||
"sprintf": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "sprintf",
|
||||
"sha256": "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.0.0"
|
||||
},
|
||||
"stack_trace": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
|
@ -1288,91 +1348,91 @@
|
|||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "url_launcher",
|
||||
"sha256": "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27",
|
||||
"sha256": "b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.14"
|
||||
"version": "6.2.1"
|
||||
},
|
||||
"url_launcher_android": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_android",
|
||||
"sha256": "b04af59516ab45762b2ca6da40fa830d72d0f6045cd97744450b73493fa76330",
|
||||
"sha256": "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.0"
|
||||
"version": "6.2.0"
|
||||
},
|
||||
"url_launcher_ios": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_ios",
|
||||
"sha256": "7c65021d5dee51813d652357bc65b8dd4a6177082a9966bc8ba6ee477baa795f",
|
||||
"sha256": "bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.5"
|
||||
"version": "6.2.1"
|
||||
},
|
||||
"url_launcher_linux": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_linux",
|
||||
"sha256": "b651aad005e0cb06a01dbd84b428a301916dc75f0e7ea6165f80057fee2d8e8e",
|
||||
"sha256": "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.6"
|
||||
"version": "3.1.0"
|
||||
},
|
||||
"url_launcher_macos": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_macos",
|
||||
"sha256": "b55486791f666e62e0e8ff825e58a023fd6b1f71c49926483f1128d3bbd8fe88",
|
||||
"sha256": "b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.7"
|
||||
"version": "3.1.0"
|
||||
},
|
||||
"url_launcher_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_platform_interface",
|
||||
"sha256": "95465b39f83bfe95fcb9d174829d6476216f2d548b79c38ab2506e0458787618",
|
||||
"sha256": "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.5"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"url_launcher_web": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_web",
|
||||
"sha256": "2942294a500b4fa0b918685aff406773ba0a4cd34b7f42198742a94083020ce5",
|
||||
"sha256": "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.20"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"url_launcher_windows": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_windows",
|
||||
"sha256": "95fef3129dc7cfaba2bc3d5ba2e16063bb561fc6d78e63eee16162bc70029069",
|
||||
"sha256": "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.8"
|
||||
"version": "3.1.0"
|
||||
},
|
||||
"uuid": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "uuid",
|
||||
"sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313",
|
||||
"sha256": "cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.7"
|
||||
"version": "4.3.3"
|
||||
},
|
||||
"vector_math": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1394,6 +1454,16 @@
|
|||
"source": "hosted",
|
||||
"version": "3.0.2"
|
||||
},
|
||||
"vm_service": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "vm_service",
|
||||
"sha256": "b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "13.0.0"
|
||||
},
|
||||
"watcher": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
|
@ -1428,11 +1498,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "win32",
|
||||
"sha256": "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3",
|
||||
"sha256": "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.0.9"
|
||||
"version": "5.1.0"
|
||||
},
|
||||
"win32_registry": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1468,11 +1538,11 @@
|
|||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "xml",
|
||||
"sha256": "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84",
|
||||
"sha256": "af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.3.0"
|
||||
"version": "6.4.2"
|
||||
},
|
||||
"yaml": {
|
||||
"dependency": "transitive",
|
||||
|
@ -1496,7 +1566,7 @@
|
|||
}
|
||||
},
|
||||
"sdks": {
|
||||
"dart": ">=3.2.0-194.0.dev <4.0.0",
|
||||
"flutter": ">=3.13.0"
|
||||
"dart": ">=3.2.0 <4.0.0",
|
||||
"flutter": ">=3.16.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,59 @@
|
|||
(fetchNuGet { pname = "ConsoleMenu-simple"; version = "2.6.1"; sha256 = "1vbi77schslq3nsardm4v8mrk0zi0phczwm2np1bl9z7c84h5cym"; })
|
||||
(fetchNuGet { pname = "Crc32.NET"; version = "1.2.0"; sha256 = "0qaj3192k1vfji87zf50rhydn5mrzyzybrs2k4v7ap29k8i0vi5h"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
|
||||
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
|
||||
(fetchNuGet { pname = "NETStandard.Library"; version = "2.0.0"; sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; })
|
||||
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.3"; sha256 = "0xrwysmrn4midrjal8g2hr1bbg38iyisl0svamb11arqws4w2bw7"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; })
|
||||
(fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; })
|
||||
(fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
|
||||
(fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
|
||||
(fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
|
||||
(fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
|
||||
(fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
|
||||
(fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
|
||||
(fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
|
||||
(fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
|
||||
(fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
|
||||
(fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
|
||||
(fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
|
||||
(fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
|
||||
(fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; })
|
||||
(fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; })
|
||||
(fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
|
||||
(fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
|
||||
(fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
|
||||
(fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
|
||||
(fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
|
||||
(fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
|
||||
(fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
|
||||
(fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
|
||||
(fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
|
||||
(fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
|
||||
(fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
|
||||
(fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
|
||||
(fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
|
||||
(fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
|
||||
(fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
|
||||
(fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
|
||||
(fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
|
||||
(fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
|
||||
]
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
|
||||
buildDotnetModule rec {
|
||||
pname = "pupdate";
|
||||
version = "3.9.1";
|
||||
version = "3.10.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mattpannella";
|
||||
repo = "${pname}";
|
||||
rev = "${version}";
|
||||
hash = "sha256-3Bts/jTyivZ+ch7UjFo3oGVRmVK2QhCYh8NkeQhDYDY=";
|
||||
hash = "sha256-xr5XD0V3kt4fDm8GNotGuttAeWwwlAr2iFA/RezvC4w=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, gdb
|
||||
}:
|
||||
|
||||
let
|
||||
pwndbg-py = python3.pkgs.pwndbg;
|
||||
|
||||
pythonPath = python3.pkgs.makePythonPath [ pwndbg-py ];
|
||||
|
||||
binPath = lib.makeBinPath ([
|
||||
python3.pkgs.pwntools # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/wrappers/checksec.py#L8
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
python3.pkgs.ropper # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/ropper.py#L30
|
||||
python3.pkgs.ropgadget # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/rop.py#L32
|
||||
]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pwndbg";
|
||||
version = lib.getVersion pwndbg-py;
|
||||
format = "other";
|
||||
|
||||
inherit (pwndbg-py) src;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/pwndbg
|
||||
cp gdbinit.py $out/share/pwndbg
|
||||
chmod +x $out/share/pwndbg/gdbinit.py
|
||||
|
||||
# Don't require an in-package venv
|
||||
touch $out/share/pwndbg/.skip-venv
|
||||
|
||||
makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \
|
||||
--add-flags "-q -x $out/share/pwndbg/gdbinit.py" \
|
||||
--prefix PATH : ${binPath} \
|
||||
--set PYTHONPATH ${pythonPath} \
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Exploit Development and Reverse Engineering with GDB Made Easy";
|
||||
mainProgram = "pwndbg";
|
||||
homepage = "https://github.com/pwndbg/pwndbg";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ mic92 patryk4815 msanft ];
|
||||
# not supported on aarch64-darwin see: https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713@Spark/
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
stdenv,
|
||||
lib,
|
||||
autoreconfHook,
|
||||
fetchFromGitHub,
|
||||
autoconf-archive,
|
||||
pkg-config,
|
||||
openssl,
|
||||
tpm2-tss,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tpm2-openssl";
|
||||
version = "1.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tpm2-software";
|
||||
repo = "tpm2-openssl";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-mZ4Z/GxJFwwfyFd1SAiVlQqOjkFSzsZePeuEZtq8Mcg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
autoconf-archive
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
tpm2-tss
|
||||
];
|
||||
|
||||
configureFlags = [ "--with-modulesdir=$$out/lib/ossl-modules" ];
|
||||
|
||||
postPatch = ''
|
||||
echo ${finalAttrs.version} > VERSION
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "OpenSSL Provider for TPM2 integration";
|
||||
homepage = "https://github.com/tpm2-software/tpm2-openssl";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ stv0g ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
|
@ -32,6 +32,7 @@ let
|
|||
"mips" = "mips";
|
||||
"mips64el" = "mips64le";
|
||||
"mipsel" = "mipsle";
|
||||
"powerpc64" = "ppc64";
|
||||
"powerpc64le" = "ppc64le";
|
||||
"riscv64" = "riscv64";
|
||||
"s390x" = "s390x";
|
||||
|
|
|
@ -32,6 +32,7 @@ let
|
|||
"mips" = "mips";
|
||||
"mips64el" = "mips64le";
|
||||
"mipsel" = "mipsle";
|
||||
"powerpc64" = "ppc64";
|
||||
"powerpc64le" = "ppc64le";
|
||||
"riscv64" = "riscv64";
|
||||
"s390x" = "s390x";
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, cmake
|
||||
, fetchFromGitHub
|
||||
, fixDarwinDylibNames
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "capstone";
|
||||
version = "4.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "capstone-engine";
|
||||
repo = "capstone";
|
||||
rev = version;
|
||||
sha256 = "sha256-XMwQ7UaPC8YYu4yxsE4bbR3leYPfBHu5iixSLz05r3g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
fixDarwinDylibNames
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Advanced disassembly library";
|
||||
homepage = "http://www.capstone-engine.org";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ thoughtpolice ris ];
|
||||
mainProgram = "cstool";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
|
@ -7,15 +7,17 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "capstone";
|
||||
version = "4.0.2";
|
||||
version = "5.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aquynh";
|
||||
owner = "capstone-engine";
|
||||
repo = "capstone";
|
||||
rev = version;
|
||||
sha256 = "sha256-XMwQ7UaPC8YYu4yxsE4bbR3leYPfBHu5iixSLz05r3g=";
|
||||
sha256 = "sha256-kKmL5sae9ruWGu1gas1mel9qM52qQOD+zLj8cRE3isg=";
|
||||
};
|
||||
|
||||
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
|
|
|
@ -80,13 +80,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gdal";
|
||||
version = "3.8.4";
|
||||
version = "3.8.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OSGeo";
|
||||
repo = "gdal";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-R9VLof13OXPbWGHOG1Q4WZWSPoF739C6WuNWxoIwKTw=";
|
||||
hash = "sha256-Z+mYlyOX9vJ772qwZMQfCbD/V7RL6+9JLHTzoZ55ot0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{
|
||||
stdenv, lib, mkDerivation, fetchpatch,
|
||||
stdenv, lib, mkDerivation,
|
||||
extra-cmake-modules, kdoctools, qttools,
|
||||
acl, attr, libkrb5, util-linux,
|
||||
karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
|
||||
kdbusaddons, ki18n, kiconthemes, kitemviews, kjobwidgets, knotifications,
|
||||
kservice, ktextwidgets, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui,
|
||||
qtbase, qtscript, qtx11extras, solid, kcrash, kded
|
||||
qtbase, qtscript, qtx11extras, solid, kcrash, kded,
|
||||
withKcms ? true
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
|
@ -29,7 +30,11 @@ mkDerivation {
|
|||
separateDebugInfo = true;
|
||||
patches = [
|
||||
./0001-Remove-impure-smbd-search-path.patch
|
||||
];
|
||||
];
|
||||
postPatch = lib.optionalString (!withKcms) ''
|
||||
substituteInPlace src/CMakeLists.txt \
|
||||
--replace-fail "add_subdirectory(kcms)" ""
|
||||
'';
|
||||
meta = {
|
||||
homepage = "https://api.kde.org/frameworks/kio/html/";
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "axis";
|
||||
version = "60";
|
||||
version = "61";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
|
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
|||
owner = "Kane610";
|
||||
repo = "axis";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-MBiifETNfWq3TYCGPETDreiMZsrUdb79QvTG5wbVMJU=";
|
||||
hash = "sha256-YiEY+Eu1j42bBzM4f5Ku5mAE2/tY9f+Hyb2DS6LIW7c=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, capstone_4
|
||||
, stdenv
|
||||
, setuptools
|
||||
, pythonAtLeast
|
||||
}:
|
||||
|
||||
buildPythonPackage {
|
||||
pname = "capstone";
|
||||
inherit (capstone_4) version src;
|
||||
|
||||
sourceRoot = "source/bindings/python";
|
||||
|
||||
postPatch = ''
|
||||
ln -s ${capstone_4}/lib/libcapstone${stdenv.targetPlatform.extensions.sharedLibrary} prebuilt/
|
||||
ln -s ${capstone_4}/lib/libcapstone${stdenv.targetPlatform.extensions.staticLibrary} prebuilt/
|
||||
substituteInPlace setup.py --replace manylinux1 manylinux2014
|
||||
'';
|
||||
|
||||
# aarch64 only available from MacOS SDK 11 onwards, so fix the version tag.
|
||||
# otherwise, bdist_wheel may detect "macosx_10_6_arm64" which doesn't make sense.
|
||||
setupPyBuildFlags = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ "--plat-name" "macosx_11_0" ];
|
||||
|
||||
propagatedBuildInputs = [ setuptools ];
|
||||
|
||||
checkPhase = ''
|
||||
mv capstone capstone.hidden
|
||||
patchShebangs test_*
|
||||
make check
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.capstone-engine.org/";
|
||||
license = licenses.bsdOriginal;
|
||||
description = "Python bindings for Capstone disassembly engine";
|
||||
maintainers = with maintainers; [ bennofs ris ];
|
||||
broken = pythonAtLeast "3.12"; # uses distutils
|
||||
};
|
||||
}
|
|
@ -17,9 +17,11 @@ buildPythonPackage rec {
|
|||
src = capstone.src;
|
||||
sourceRoot = "${src.name}/bindings/python";
|
||||
|
||||
# libcapstone.a is not built with BUILD_SHARED_LIBS. For some reason setup.py
|
||||
# checks if it exists but it is not really needed. Most likely a bug in setup.py.
|
||||
postPatch = ''
|
||||
ln -s ${capstone}/lib/libcapstone${stdenv.targetPlatform.extensions.sharedLibrary} prebuilt/
|
||||
ln -s ${capstone}/lib/libcapstone.a prebuilt/
|
||||
touch prebuilt/libcapstone${stdenv.targetPlatform.extensions.staticLibrary}
|
||||
substituteInPlace setup.py --replace manylinux1 manylinux2014
|
||||
'';
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "crytic-compile";
|
||||
version = "0.3.6";
|
||||
version = "0.3.7";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "crytic";
|
||||
repo = "crytic-compile";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-dQynnILHt6YO5qtvVVwcxRwtBJgokyfsQ5ubH15dkuA=";
|
||||
hash = "sha256-SMkFzGZg/6akclQ0XLUvjK3uoypsHfRru+B4VurjOrM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "django-vite";
|
||||
version = "3.0.3";
|
||||
version = "3.0.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -16,7 +16,7 @@ buildPythonPackage rec {
|
|||
owner = "MrBin99";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-FH42auBm/YRfGgjL9TGQLed/p0P8POb7DOLmpUK1d9c=";
|
||||
hash = "sha256-rIT4WA45v353vSV56fBOa0euiuwnXWmhbxniAWPAkMo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gdb-pt-dump";
|
||||
version = "0-unstable-2024-04-01";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "martinradev";
|
||||
repo = "gdb-pt-dump";
|
||||
rev = "50227bda0b6332e94027f811a15879588de6d5cb";
|
||||
hash = "sha256-yiP3KY1oDwhy9DmNQEht/ryys9vpgkFS+EJcSA6R+cI=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
pythonImportsCheck = [ "pt" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "GDB script to enhance debugging of a QEMU-based virtual machine";
|
||||
homepage = "https://github.com/martinradev/gdb-pt-dump";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ msanft ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, capstone
|
||||
, future
|
||||
, ipython
|
||||
, psutil
|
||||
, pwntools
|
||||
, pycparser
|
||||
, pyelftools
|
||||
, pygments
|
||||
, requests
|
||||
, rpyc
|
||||
, sortedcontainers
|
||||
, tabulate
|
||||
, typing-extensions
|
||||
, unicorn
|
||||
, gdb-pt-dump
|
||||
, poetry-core
|
||||
, pythonRelaxDepsHook
|
||||
}:
|
||||
let
|
||||
# The newest gdb-pt-dump is incompatible with pwndbg 2024.02.14.
|
||||
# See https://github.com/martinradev/gdb-pt-dump/issues/29
|
||||
gdb-pt-dump' = gdb-pt-dump.overrideAttrs (oldAttrs: {
|
||||
version = "0-unstable-2023-11-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit (oldAttrs.src) owner repo;
|
||||
rev = "89ea252f6efc5d75eacca16fc17ff8966a389690";
|
||||
hash = "sha256-i+SAcZ/kgfKstJnkyCVMh/lWtrJJOHTYoJH4tVfYHrE=";
|
||||
};
|
||||
|
||||
# This revision relies on the package being imported from within GDB, which
|
||||
# won't work with pythonImportsCheck.
|
||||
pythonImportsCheck = [ ];
|
||||
});
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "pwndbg";
|
||||
version = "2024.02.14";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pwndbg";
|
||||
repo = "pwndbg";
|
||||
rev = version;
|
||||
hash = "sha256-/pDo2J5EtpWWCurD7H34AlTlQi7WziIRRxHxGm3K2yk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core pythonRelaxDepsHook ];
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
capstone
|
||||
future
|
||||
ipython
|
||||
psutil
|
||||
pwntools
|
||||
pycparser
|
||||
pyelftools
|
||||
pygments
|
||||
requests
|
||||
rpyc
|
||||
sortedcontainers
|
||||
tabulate
|
||||
typing-extensions
|
||||
unicorn
|
||||
gdb-pt-dump'
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Exploit Development and Reverse Engineering with GDB Made Easy";
|
||||
homepage = "https://pwndbg.re";
|
||||
changelog = "https://github.com/pwndbg/pwndbg/releases/tag/${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ msanft ];
|
||||
};
|
||||
}
|
|
@ -1,45 +1,38 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, requests
|
||||
, requests-mock
|
||||
, setuptools
|
||||
, wheel
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
requests,
|
||||
requests-mock,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyfibaro";
|
||||
version = "0.7.6";
|
||||
format = "pyproject";
|
||||
version = "0.7.7";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rappenze";
|
||||
repo = pname;
|
||||
repo = "pyfibaro";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-yE9HkAlGj1t90FwmwHDsk3ea2UOl0bG3UtYXxz/SWbI=";
|
||||
hash = "sha256-jsl2Xc6bzN7SVyMnFeCwMpFUEa6xUWGn/T96MrDXlCE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
];
|
||||
dependencies = [ requests ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
requests-mock
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pyfibaro"
|
||||
];
|
||||
pythonImportsCheck = [ "pyfibaro" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library to access FIBARO Home center";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchpatch
|
||||
, capstone
|
||||
, capstone_4
|
||||
, cmsis-pack-manager
|
||||
, colorama
|
||||
, importlib-metadata
|
||||
|
@ -54,7 +54,7 @@ buildPythonPackage rec {
|
|||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
capstone
|
||||
capstone_4
|
||||
cmsis-pack-manager
|
||||
colorama
|
||||
importlib-metadata
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
{ lib
|
||||
, backoff
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonOlder
|
||||
, pyserial
|
||||
, pyserial-asyncio
|
||||
, pytestCheckHook
|
||||
, setuptools
|
||||
{
|
||||
lib,
|
||||
backoff,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
pythonOlder,
|
||||
pyserial,
|
||||
pyserial-asyncio,
|
||||
pytestCheckHook,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "velbus-aio";
|
||||
version = "2024.4.0";
|
||||
version = "2024.4.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
@ -20,13 +21,11 @@ buildPythonPackage rec {
|
|||
owner = "Cereal2nd";
|
||||
repo = "velbus-aio";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-wYcASRmUxVdUpfKlNIteQlHw3ZaYxZ7VenKtaju1yTE=";
|
||||
hash = "sha256-rskWnH5zFvBuNL5eJ8O4D6htRP/XtFcq1xH8ZXzT1I4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
backoff
|
||||
|
@ -34,13 +33,9 @@ buildPythonPackage rec {
|
|||
pyserial-asyncio
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"velbusaio"
|
||||
];
|
||||
pythonImportsCheck = [ "velbusaio" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python library to support the Velbus home automation system";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, boost, capstone
|
||||
{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, boost, capstone_4
|
||||
, double-conversion, graphviz, qtxmlpatterns }:
|
||||
|
||||
mkDerivation rec {
|
||||
|
@ -15,7 +15,7 @@ mkDerivation rec {
|
|||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [ boost.dev capstone double-conversion graphviz qtxmlpatterns ];
|
||||
buildInputs = [ boost.dev capstone_4 double-conversion graphviz qtxmlpatterns ];
|
||||
|
||||
postPatch = ''
|
||||
# Remove CMAKE_INSTALL_PREFIX from DEFAULT_PLUGIN_PATH otherwise the nix store path will appear twice.
|
||||
|
|
|
@ -1,63 +0,0 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, gdb
|
||||
}:
|
||||
|
||||
let
|
||||
pythonPath = with python3.pkgs; makePythonPath [
|
||||
capstone
|
||||
future
|
||||
psutil
|
||||
pwntools
|
||||
pycparser
|
||||
pyelftools
|
||||
pygments
|
||||
unicorn
|
||||
rpyc
|
||||
];
|
||||
binPath = lib.makeBinPath ([
|
||||
python3.pkgs.pwntools # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/wrappers/checksec.py#L8
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
python3.pkgs.ropper # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/ropper.py#L30
|
||||
python3.pkgs.ropgadget # ref: https://github.com/pwndbg/pwndbg/blob/2022.12.19/pwndbg/commands/rop.py#L32
|
||||
]);
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "pwndbg";
|
||||
version = "2022.12.19";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pwndbg";
|
||||
repo = "pwndbg";
|
||||
rev = version;
|
||||
sha256 = "sha256-pyY2bMasd6GaJZZjLF48SvkKUBw3XfVa0g3Q0LiEi4k=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/pwndbg
|
||||
cp -r *.py pwndbg gdb-pt-dump $out/share/pwndbg
|
||||
chmod +x $out/share/pwndbg/gdbinit.py
|
||||
makeWrapper ${gdb}/bin/gdb $out/bin/pwndbg \
|
||||
--add-flags "-q -x $out/share/pwndbg/gdbinit.py" \
|
||||
--prefix PATH : ${binPath} \
|
||||
--set NIX_PYTHONPATH ${pythonPath}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Exploit Development and Reverse Engineering with GDB Made Easy";
|
||||
mainProgram = "pwndbg";
|
||||
homepage = "https://github.com/pwndbg/pwndbg";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ mic92 patryk4815 ];
|
||||
# not supported on aarch64-darwin see: https://inbox.sourceware.org/gdb/3185c3b8-8a91-4beb-a5d5-9db6afb93713@Spark/
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
};
|
||||
}
|
|
@ -6,12 +6,12 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "synadm";
|
||||
version = "0.45";
|
||||
version = "0.46";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-KstWVSU0IE1ncfIkIH1QsaQc/Yfs2lF+6+5x9zw9cA8=";
|
||||
hash = "sha256-Wz5ZpaDJIb7k5ZpvIUd/YGrLJwjDwRaS8Tb3FTd2kZU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "rmfakecloud";
|
||||
version = "0.0.17";
|
||||
version = "0.0.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ddvk";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Rb81CbtC1V8AugTNIGx07CvK20sZ5d4hfc4OxF259IQ=";
|
||||
sha256 = "sha256-J8oB5C5FYZTVq9zopHoL6WYpfTyiiyrQ4YSGu+2eaKw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Rr2EVrQOdlOqSlTpXFMfnKNmdw6UiT7LZH0xBUwqkJc=";
|
||||
vendorHash = "sha256-S43qNDAlDWhrkfSffCooveemR1Z7KXS18t97UoolgBM=";
|
||||
|
||||
ui = callPackage ./webui.nix { inherit version src; };
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/ui/yarn.lock";
|
||||
sha256 = "sha256-4boZCEly4HovK9BXlSoFd3wZoPaGnzbJg5AygSC/Lrg=";
|
||||
sha256 = "sha256-JLCrpzytMKejmW+WlM6yybsoIZiimiJdPG5dSIn1L14=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ prefetch-yarn-deps yarn nodejs ];
|
||||
|
|
|
@ -93,6 +93,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
|
||||
patches = [
|
||||
./ignore_links.patch
|
||||
./openssh-no-dsa.patch # https://salsa.debian.org/reproducible-builds/diffoscope/-/merge_requests/139
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
diff --git a/tests/comparators/test_openssh_pub_key.py b/tests/comparators/test_openssh_pub_key.py
|
||||
index da143097..8d6f3efa 100644
|
||||
--- a/tests/comparators/test_openssh_pub_key.py
|
||||
+++ b/tests/comparators/test_openssh_pub_key.py
|
||||
@@ -29,7 +29,7 @@
|
||||
from ..utils.tools import skip_unless_tools_exist, skip_unless_tool_is_at_least
|
||||
|
||||
|
||||
-# Generated by: ssh-keygen -t dsa -C "Test1"
|
||||
+# Generated by: ssh-keygen -t ed25519 -C "Test1"
|
||||
opensshpubkey1 = load_fixture("test_openssh_pub_key1.pub")
|
||||
# Generated by: ssh-keygen -t rsa -b 4096 -C "Test2"
|
||||
opensshpubkey2 = load_fixture("test_openssh_pub_key2.pub")
|
||||
diff --git a/tests/data/openssh_pub_key_expected_diff b/tests/data/openssh_pub_key_expected_diff
|
||||
index 0b6ec624..88d1eccf 100644
|
||||
--- a/tests/data/openssh_pub_key_expected_diff
|
||||
+++ b/tests/data/openssh_pub_key_expected_diff
|
||||
@@ -1,3 +1,3 @@
|
||||
@@ -1 +1 @@
|
||||
--1024 SHA256:v/O+0ETvi2H5TGRXky1RhQ1/WFwLlPpxch5E2Mrj6FM Test1 (DSA)
|
||||
+-256 SHA256:ix2OOXDuTWjxGTICJcP7fLWIcwOO+wr4FPJHz8fOhtQ Test1 (ED25519)
|
||||
+4096 SHA256:9dH1CMkA6DSfPWU7vNwdPKS5/ppN4LMdvHTP60l7aSA Test2 (RSA)
|
||||
diff --git a/tests/data/test_openssh_pub_key1.pub b/tests/data/test_openssh_pub_key1.pub
|
||||
index a2674adc..d564f55c 100644
|
||||
--- a/tests/data/test_openssh_pub_key1.pub
|
||||
+++ b/tests/data/test_openssh_pub_key1.pub
|
||||
@@ -1 +1 @@
|
||||
-ssh-dss AAAAB3NzaC1kc3MAAACBAIa8YajID9g38jwQm8sNBGoGkkwIOv6sQ8k+Bcq8oPXPy1FRXWcra6Kd3iKqApIzLuZUvoYO/f3G2K4lue5yrv72rgwANWmyL4dHVXgcsjwvWwjOl6o4xWTPFspkdNcAAMcZfzG0+w1AOkQxhwMsnK380m3J9a3VOWugUiU4fV1jAAAAFQDzkrIZuJoxlxes564ltb2Vn3hnpQAAAIBHr6uzpiSeSkWLuItB00hHx1RHtBns0zaheNFTTUMGftxtfBU2eBLqObcTlqHJZ3UUY3/YAvD6Ux/uLSgUzEe7JaqvHcgML3K5V4HWIwE0ARRIwzrfU4cAErJObmZZ/OXbXNNRmW2IJgQJI52x4gVuSt0EEuctzASOOvyPA8IekAAAAIA7xe4o0o/ZwUqfWKR9K4QrbPPa6/D4ruFVhMcRJEE/A1LMY1Xo4nVSRU5bxzvMmJPBZvsbR5NEE3CgESqYxp5IPzK8LLyxcf8YxhdHFDYqFL1TbavwaDqtj6/9a/e7+bd8mMYe7zXJUdKWa/Uf+Xm6WRt3HgdLiCEsS2OlpvS2KA== Test1
|
||||
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGo65kxbPUbb4fdujB2AX/XEZQ+23NDDxu3cJvw2E/DF Test1
|
|
@ -17,16 +17,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mise";
|
||||
version = "2024.3.10";
|
||||
version = "2024.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jdx";
|
||||
repo = "mise";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Vx6BI2GmnyvBlDGAkNDJaEMXBphbaIxB5npD/o5c48M=";
|
||||
hash = "sha256-l+Em04q40R5iTm4lNjY6sRE7Vu7UBl7lPNU9yj/hKzk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-uhpF5jKWtwEx2HkkHd+88HIao4rqvnSQblinVc4ip44=";
|
||||
cargoHash = "sha256-BPPjR0o+M5sTBWRgq3kOL+94qnRKnskLyFRUEPlPQtA=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles pkg-config ];
|
||||
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "axel";
|
||||
version = "2.17.13";
|
||||
version = "2.17.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "axel-download-accelerator";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-iCxKQsymTE8ppOAilQtFeQUS+Fpdjhkcw4jaa9TEv3E=";
|
||||
sha256 = "sha256-5GUna5k8GhAx1Xe8n9IvXT7IO6gksxCLh+sMANlxTBM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config autoconf-archive txt2man ];
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
let
|
||||
pname = "ockam";
|
||||
version = "0.119.0";
|
||||
version = "0.120.0";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit pname version;
|
||||
|
@ -21,10 +21,10 @@ rustPlatform.buildRustPackage {
|
|||
owner = "build-trust";
|
||||
repo = pname;
|
||||
rev = "ockam_v${version}";
|
||||
hash = "sha256-gZBlh8Rg6lChcvTBRzPDIQk2wEJep/3Hei9xaIi8cZo=";
|
||||
hash = "sha256-Z3yRk0AZefTYITYT9dADrqqpX9PtNeHTgtLFCsICEQ4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-0WzX6WsgUWGsToIX3cbiax4crhTbYuWI6EIF2xQWTxU=";
|
||||
cargoHash = "sha256-7jKD1WGTHEW2hzJAuZ7Z5D28hT9nucf0aW17AKKMH7w=";
|
||||
nativeBuildInputs = [ git pkg-config ];
|
||||
buildInputs = [ openssl dbus ]
|
||||
++ lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# frozen_string_literal: true
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.1"
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.2"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
GIT
|
||||
remote: https://github.com/rapid7/metasploit-framework
|
||||
revision: 73d98ad0ca24cdd33bbb9dfb110f3b781c613b55
|
||||
ref: refs/tags/6.4.1
|
||||
revision: 87b5f6c43676408498c88393a46890f22acc76e3
|
||||
ref: refs/tags/6.4.2
|
||||
specs:
|
||||
metasploit-framework (6.4.1)
|
||||
metasploit-framework (6.4.2)
|
||||
actionpack (~> 7.0.0)
|
||||
activerecord (~> 7.0.0)
|
||||
activesupport (~> 7.0.0)
|
||||
|
|
|
@ -15,13 +15,13 @@ let
|
|||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "metasploit-framework";
|
||||
version = "6.4.1";
|
||||
version = "6.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rapid7";
|
||||
repo = "metasploit-framework";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-swKIiUgxsT6EnJV21sXOYU+s9fNTURLtJd1kjINyMd0=";
|
||||
hash = "sha256-c/0XOz86v3So7GUGdOiDEorHeJ+rxfdsRXIGvuT/d/I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -674,12 +674,12 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
fetchSubmodules = false;
|
||||
rev = "73d98ad0ca24cdd33bbb9dfb110f3b781c613b55";
|
||||
sha256 = "1p9ifa1qqr6x4pni4lakygssqkv1rv2xcxlmkj23xc9i924qh0mk";
|
||||
rev = "87b5f6c43676408498c88393a46890f22acc76e3";
|
||||
sha256 = "1wkpzzjbw1kj8mnggidbkxwcg2hjhgl781k5xjl79grs7wxigzbk";
|
||||
type = "git";
|
||||
url = "https://github.com/rapid7/metasploit-framework";
|
||||
};
|
||||
version = "6.4.1";
|
||||
version = "6.4.2";
|
||||
};
|
||||
metasploit-model = {
|
||||
groups = ["default"];
|
||||
|
|
|
@ -1,20 +1,26 @@
|
|||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "scilla";
|
||||
version = "1.2.7";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "edoardottt";
|
||||
repo = pname;
|
||||
repo = "scilla";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-gZuNXQaxHJYLsEaOpNYo7ybg3f0GhkpiaLrex5lkDu4=";
|
||||
hash = "sha256-ms52ii2cbZSZtcyxhVN+FbGP6hysoLvS7XwdPqxYymU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-bVGmleuOJzi/Sz7MJlnQuJsDgRWuwieLUx8hcyKkWXI=";
|
||||
vendorHash = "sha256-tOg4T9yQm1aj5G89lUeRUTxi4YrwpRi5KDcpWw4TimY=";
|
||||
|
||||
ldflags = [
|
||||
"-w"
|
||||
"-s"
|
||||
];
|
||||
|
||||
checkFlags = [
|
||||
# requires network access
|
||||
|
|
|
@ -4553,6 +4553,7 @@ with pkgs;
|
|||
candle = libsForQt5.callPackage ../applications/misc/candle { };
|
||||
|
||||
capstone = callPackage ../development/libraries/capstone { };
|
||||
capstone_4 = callPackage ../development/libraries/capstone/4.nix { };
|
||||
|
||||
keystone = callPackage ../development/libraries/keystone { };
|
||||
|
||||
|
@ -12248,8 +12249,6 @@ with pkgs;
|
|||
|
||||
pwnat = callPackage ../tools/networking/pwnat { };
|
||||
|
||||
pwndbg = callPackage ../development/tools/misc/pwndbg { };
|
||||
|
||||
pwninit = callPackage ../development/tools/misc/pwninit {
|
||||
inherit (darwin.apple_sdk.frameworks) Security;
|
||||
};
|
||||
|
|
|
@ -1887,6 +1887,9 @@ self: super: with self; {
|
|||
capstone = callPackage ../development/python-modules/capstone {
|
||||
inherit (pkgs) capstone;
|
||||
};
|
||||
capstone_4 = callPackage ../development/python-modules/capstone/4.nix {
|
||||
inherit (pkgs) capstone_4;
|
||||
};
|
||||
|
||||
captcha = callPackage ../development/python-modules/captcha { };
|
||||
|
||||
|
@ -4611,6 +4614,8 @@ self: super: with self; {
|
|||
|
||||
gdata = callPackage ../development/python-modules/gdata { };
|
||||
|
||||
gdb-pt-dump = callPackage ../development/python-modules/gdb-pt-dump { };
|
||||
|
||||
gdcm = toPythonModule (pkgs.gdcm.override {
|
||||
inherit (self) python;
|
||||
enablePython = true;
|
||||
|
@ -10390,6 +10395,8 @@ self: super: with self; {
|
|||
|
||||
pwlf = callPackage ../development/python-modules/pwlf { };
|
||||
|
||||
pwndbg = callPackage ../development/python-modules/pwndbg { };
|
||||
|
||||
pwntools = callPackage ../development/python-modules/pwntools {
|
||||
debugger = pkgs.gdb;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue