diff --git a/nixos/doc/manual/configuration/sshfs-file-systems.section.md b/nixos/doc/manual/configuration/sshfs-file-systems.section.md index e2e37454b7ea..32b4aac78304 100644 --- a/nixos/doc/manual/configuration/sshfs-file-systems.section.md +++ b/nixos/doc/manual/configuration/sshfs-file-systems.section.md @@ -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 ``` diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 914129609e4f..49be4fa456ba 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -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. diff --git a/nixos/modules/programs/xss-lock.nix b/nixos/modules/programs/xss-lock.nix index 87b3957ab834..2ff45de93b6d 100644 --- a/nixos/modules/programs/xss-lock.nix +++ b/nixos/modules/programs/xss-lock.nix @@ -40,6 +40,7 @@ in "--" cfg.lockerCommand ]); + serviceConfig.Restart = "always"; }; }; } diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix index 5f1f2cec79e8..796870aab125 100644 --- a/nixos/modules/services/desktop-managers/plasma6.nix +++ b/nixos/modules/services/desktop-managers/plasma6.nix @@ -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 diff --git a/nixos/modules/services/networking/soju.nix b/nixos/modules/services/networking/soju.nix index d69ec08ca13a..810957be65f5 100644 --- a/nixos/modules/services/networking/soju.nix +++ b/nixos/modules/services/networking/soju.nix @@ -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"; }; }; }; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 20c7edbd2678..6f78d68730c9 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -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 {}; diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix index 7d91076600f9..c8a227eb2cf7 100644 --- a/nixos/tests/docker-tools.nix +++ b/nixos/tests/docker-tools.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 " diff --git a/nixos/tests/soju.nix b/nixos/tests/soju.nix new file mode 100644 index 000000000000..23da36f7b3ab --- /dev/null +++ b/nixos/tests/soju.nix @@ -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}") + ''; +}) diff --git a/pkgs/applications/editors/openvi/default.nix b/pkgs/applications/editors/openvi/default.nix index 63ba5690df23..5a2e4da2f3ee 100644 --- a/pkgs/applications/editors/openvi/default.nix +++ b/pkgs/applications/editors/openvi/default.nix @@ -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 ]; diff --git a/pkgs/applications/emulators/86box/default.nix b/pkgs/applications/emulators/86box/default.nix index 4e2cb8541205..1e9b887d2d6a 100644 --- a/pkgs/applications/emulators/86box/default.nix +++ b/pkgs/applications/emulators/86box/default.nix @@ -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; }; diff --git a/pkgs/applications/networking/cluster/tfswitch/default.nix b/pkgs/applications/networking/cluster/tfswitch/default.nix index 63c4ba3c2de4..1350ff921a2c 100644 --- a/pkgs/applications/networking/cluster/tfswitch/default.nix +++ b/pkgs/applications/networking/cluster/tfswitch/default.nix @@ -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="; diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix index f5621eecd3de..bec1ee39aeca 100644 --- a/pkgs/applications/office/paperless-ngx/default.nix +++ b/pkgs/applications/office/paperless-ngx/default.nix @@ -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 diff --git a/pkgs/applications/science/math/polymake/default.nix b/pkgs/applications/science/math/polymake/default.nix index fe9210641d2e..9c2623651517 100644 --- a/pkgs/applications/science/math/polymake/default.nix +++ b/pkgs/applications/science/math/polymake/default.nix @@ -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. diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 86bd7e312cbd..1d1989d27fbb 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -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}" diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix index 72c1cbe0d410..52706ef6b21f 100644 --- a/pkgs/build-support/docker/examples.nix +++ b/pkgs/build-support/docker/examples.nix @@ -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; diff --git a/pkgs/by-name/ch/charm-freeze/package.nix b/pkgs/by-name/ch/charm-freeze/package.nix new file mode 100644 index 000000000000..eae18fc54f17 --- /dev/null +++ b/pkgs/by-name/ch/charm-freeze/package.nix @@ -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 ]; + }; +} diff --git a/pkgs/by-name/ha/hap-py/boost-library-flags.patch b/pkgs/by-name/ha/hap-py/boost-library-flags.patch new file mode 100644 index 000000000000..e31000cebf13 --- /dev/null +++ b/pkgs/by-name/ha/hap-py/boost-library-flags.patch @@ -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") diff --git a/pkgs/by-name/ha/hap-py/package.nix b/pkgs/by-name/ha/hap-py/package.nix new file mode 100644 index 000000000000..7082dc6e8ae5 --- /dev/null +++ b/pkgs/by-name/ha/hap-py/package.nix @@ -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"; + }; +} diff --git a/pkgs/by-name/ha/hap-py/python3.patch b/pkgs/by-name/ha/hap-py/python3.patch new file mode 100644 index 000000000000..0fee6d084cd4 --- /dev/null +++ b/pkgs/by-name/ha/hap-py/python3.patch @@ -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 ++#include ++ + + #include + #include +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 """ diff --git a/pkgs/by-name/in/intiface-central/package.nix b/pkgs/by-name/in/intiface-central/package.nix index 180d4feefc66..1c974a385b35 100644 --- a/pkgs/by-name/in/intiface-central/package.nix +++ b/pkgs/by-name/in/intiface-central/package.nix @@ -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"; diff --git a/pkgs/by-name/in/intiface-central/pubspec.lock.json b/pkgs/by-name/in/intiface-central/pubspec.lock.json index a13501537abe..e27fd28e9fe0 100644 --- a/pkgs/by-name/in/intiface-central/pubspec.lock.json +++ b/pkgs/by-name/in/intiface-central/pubspec.lock.json @@ -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" } } diff --git a/pkgs/by-name/pu/pupdate/deps.nix b/pkgs/by-name/pu/pupdate/deps.nix index ddbc8888d1b5..655f853c6aad 100644 --- a/pkgs/by-name/pu/pupdate/deps.nix +++ b/pkgs/by-name/pu/pupdate/deps.nix @@ -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"; }) ] diff --git a/pkgs/by-name/pu/pupdate/package.nix b/pkgs/by-name/pu/pupdate/package.nix index 0e8ae1565418..a0740f486930 100644 --- a/pkgs/by-name/pu/pupdate/package.nix +++ b/pkgs/by-name/pu/pupdate/package.nix @@ -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 = [ diff --git a/pkgs/by-name/pw/pwndbg/package.nix b/pkgs/by-name/pw/pwndbg/package.nix new file mode 100644 index 000000000000..2967130b7fd1 --- /dev/null +++ b/pkgs/by-name/pw/pwndbg/package.nix @@ -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; + }; +} diff --git a/pkgs/by-name/tp/tpm2-openssl/package.nix b/pkgs/by-name/tp/tpm2-openssl/package.nix new file mode 100644 index 000000000000..ee94b18c8068 --- /dev/null +++ b/pkgs/by-name/tp/tpm2-openssl/package.nix @@ -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; + }; +}) diff --git a/pkgs/development/compilers/go/1.21.nix b/pkgs/development/compilers/go/1.21.nix index a03f87c2e7b7..b9694f7d4baa 100644 --- a/pkgs/development/compilers/go/1.21.nix +++ b/pkgs/development/compilers/go/1.21.nix @@ -32,6 +32,7 @@ let "mips" = "mips"; "mips64el" = "mips64le"; "mipsel" = "mipsle"; + "powerpc64" = "ppc64"; "powerpc64le" = "ppc64le"; "riscv64" = "riscv64"; "s390x" = "s390x"; diff --git a/pkgs/development/compilers/go/1.22.nix b/pkgs/development/compilers/go/1.22.nix index ddab1d422b2c..84a72ac56225 100644 --- a/pkgs/development/compilers/go/1.22.nix +++ b/pkgs/development/compilers/go/1.22.nix @@ -32,6 +32,7 @@ let "mips" = "mips"; "mips64el" = "mips64le"; "mipsel" = "mipsle"; + "powerpc64" = "ppc64"; "powerpc64le" = "ppc64le"; "riscv64" = "riscv64"; "s390x" = "s390x"; diff --git a/pkgs/development/libraries/capstone/4.nix b/pkgs/development/libraries/capstone/4.nix new file mode 100644 index 000000000000..dd31e9feaf62 --- /dev/null +++ b/pkgs/development/libraries/capstone/4.nix @@ -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; + }; +} diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix index ff33c7bd0979..b78b007bc597 100644 --- a/pkgs/development/libraries/capstone/default.nix +++ b/pkgs/development/libraries/capstone/default.nix @@ -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 [ diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix index 6c298ac0e1d9..b059620536c6 100644 --- a/pkgs/development/libraries/gdal/default.nix +++ b/pkgs/development/libraries/gdal/default.nix @@ -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 = [ diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix index 8815683aef65..871b6a1f11cf 100644 --- a/pkgs/development/libraries/kde-frameworks/kio/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix @@ -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/"; }; diff --git a/pkgs/development/python-modules/axis/default.nix b/pkgs/development/python-modules/axis/default.nix index d93d6821b801..79692ba7d656 100644 --- a/pkgs/development/python-modules/axis/default.nix +++ b/pkgs/development/python-modules/axis/default.nix @@ -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 = '' diff --git a/pkgs/development/python-modules/capstone/4.nix b/pkgs/development/python-modules/capstone/4.nix new file mode 100644 index 000000000000..7c79cfe81942 --- /dev/null +++ b/pkgs/development/python-modules/capstone/4.nix @@ -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 + }; +} diff --git a/pkgs/development/python-modules/capstone/default.nix b/pkgs/development/python-modules/capstone/default.nix index be8fa4fba9f4..405dbe767da6 100644 --- a/pkgs/development/python-modules/capstone/default.nix +++ b/pkgs/development/python-modules/capstone/default.nix @@ -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 ''; diff --git a/pkgs/development/python-modules/crytic-compile/default.nix b/pkgs/development/python-modules/crytic-compile/default.nix index 8ef955f56f8f..2bcda1d7fd72 100644 --- a/pkgs/development/python-modules/crytic-compile/default.nix +++ b/pkgs/development/python-modules/crytic-compile/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/django-vite/default.nix b/pkgs/development/python-modules/django-vite/default.nix index 607d0b6e818f..b3527b9176b8 100644 --- a/pkgs/development/python-modules/django-vite/default.nix +++ b/pkgs/development/python-modules/django-vite/default.nix @@ -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 = [ diff --git a/pkgs/development/python-modules/gdb-pt-dump/default.nix b/pkgs/development/python-modules/gdb-pt-dump/default.nix new file mode 100644 index 000000000000..5687828e9e50 --- /dev/null +++ b/pkgs/development/python-modules/gdb-pt-dump/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/pwndbg/default.nix b/pkgs/development/python-modules/pwndbg/default.nix new file mode 100644 index 000000000000..7bee0345afdb --- /dev/null +++ b/pkgs/development/python-modules/pwndbg/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/pyfibaro/default.nix b/pkgs/development/python-modules/pyfibaro/default.nix index 2f059d19a1b9..7822fa8da6e6 100644 --- a/pkgs/development/python-modules/pyfibaro/default.nix +++ b/pkgs/development/python-modules/pyfibaro/default.nix @@ -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"; diff --git a/pkgs/development/python-modules/pyocd/default.nix b/pkgs/development/python-modules/pyocd/default.nix index 19980b7c0ca2..1f09ed696da0 100644 --- a/pkgs/development/python-modules/pyocd/default.nix +++ b/pkgs/development/python-modules/pyocd/default.nix @@ -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 diff --git a/pkgs/development/python-modules/velbus-aio/default.nix b/pkgs/development/python-modules/velbus-aio/default.nix index abd3fbd0acb2..f754c828dea3 100644 --- a/pkgs/development/python-modules/velbus-aio/default.nix +++ b/pkgs/development/python-modules/velbus-aio/default.nix @@ -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"; diff --git a/pkgs/development/tools/misc/edb/default.nix b/pkgs/development/tools/misc/edb/default.nix index d6fac75190f6..a1f9120f314c 100644 --- a/pkgs/development/tools/misc/edb/default.nix +++ b/pkgs/development/tools/misc/edb/default.nix @@ -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. diff --git a/pkgs/development/tools/misc/pwndbg/default.nix b/pkgs/development/tools/misc/pwndbg/default.nix deleted file mode 100644 index b9156abf84b8..000000000000 --- a/pkgs/development/tools/misc/pwndbg/default.nix +++ /dev/null @@ -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; - }; -} diff --git a/pkgs/servers/matrix-synapse/tools/synadm.nix b/pkgs/servers/matrix-synapse/tools/synadm.nix index 6d24ea59abcf..4fa673768d44 100644 --- a/pkgs/servers/matrix-synapse/tools/synadm.nix +++ b/pkgs/servers/matrix-synapse/tools/synadm.nix @@ -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; [ diff --git a/pkgs/servers/rmfakecloud/default.nix b/pkgs/servers/rmfakecloud/default.nix index d2872e7e3732..44d7b02d721d 100644 --- a/pkgs/servers/rmfakecloud/default.nix +++ b/pkgs/servers/rmfakecloud/default.nix @@ -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; }; diff --git a/pkgs/servers/rmfakecloud/webui.nix b/pkgs/servers/rmfakecloud/webui.nix index 407afdb85ddd..ceadafc80503 100644 --- a/pkgs/servers/rmfakecloud/webui.nix +++ b/pkgs/servers/rmfakecloud/webui.nix @@ -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 ]; diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix index 171cbc2dfe72..cec60f83471d 100644 --- a/pkgs/tools/misc/diffoscope/default.nix +++ b/pkgs/tools/misc/diffoscope/default.nix @@ -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 = '' diff --git a/pkgs/tools/misc/diffoscope/openssh-no-dsa.patch b/pkgs/tools/misc/diffoscope/openssh-no-dsa.patch new file mode 100644 index 000000000000..d8e88f30a92d --- /dev/null +++ b/pkgs/tools/misc/diffoscope/openssh-no-dsa.patch @@ -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 diff --git a/pkgs/tools/misc/mise/default.nix b/pkgs/tools/misc/mise/default.nix index 3321f40b9518..f013f6a03561 100644 --- a/pkgs/tools/misc/mise/default.nix +++ b/pkgs/tools/misc/mise/default.nix @@ -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 ]; diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix index 0a5a11bd8eb7..2480d0e31e25 100644 --- a/pkgs/tools/networking/axel/default.nix +++ b/pkgs/tools/networking/axel/default.nix @@ -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 ]; diff --git a/pkgs/tools/networking/ockam/default.nix b/pkgs/tools/networking/ockam/default.nix index 002fc0c89977..5b60f8147a6b 100644 --- a/pkgs/tools/networking/ockam/default.nix +++ b/pkgs/tools/networking/ockam/default.nix @@ -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 ]; diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile index cad0fef74f58..10a41bf97058 100644 --- a/pkgs/tools/security/metasploit/Gemfile +++ b/pkgs/tools/security/metasploit/Gemfile @@ -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" diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock index 9ec271d8b7e0..453e2f2b2c04 100644 --- a/pkgs/tools/security/metasploit/Gemfile.lock +++ b/pkgs/tools/security/metasploit/Gemfile.lock @@ -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) diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix index 0db72c46ae48..8d856a8134bb 100644 --- a/pkgs/tools/security/metasploit/default.nix +++ b/pkgs/tools/security/metasploit/default.nix @@ -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 = [ diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix index fdaf84e0bb0e..3bca89f2ea82 100644 --- a/pkgs/tools/security/metasploit/gemset.nix +++ b/pkgs/tools/security/metasploit/gemset.nix @@ -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"]; diff --git a/pkgs/tools/security/scilla/default.nix b/pkgs/tools/security/scilla/default.nix index 0484cfaa9f87..24daa9f386c7 100644 --- a/pkgs/tools/security/scilla/default.nix +++ b/pkgs/tools/security/scilla/default.nix @@ -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 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6f1a508e7625..d27dce0cd59a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 761b4c71721f..f33225e8e8eb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -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; };