Merge master into staging-next

authored by github-actions[bot] and committed by GitHub 0cd628f6 650e10b0

+780 -165
+2
nixos/doc/manual/release-notes/rl-2405.section.md
··· 154 154 The module now includes an optional config check, that is enabled by default, to make the change obvious before any deployment. 155 155 More information about the configuration syntax change is available in the [upstream repository](https://github.com/prometheus/snmp_exporter/blob/b75fc6b839ee3f3ccbee68bee55f1ae99555084a/auth-split-migration.md). 156 156 157 + - [watchdogd](https://troglobit.com/projects/watchdogd/), a system and process supervisor using watchdog timers. Available as [services.watchdogd](#opt-services.watchdogd.enable). 158 + 157 159 ## Other Notable Changes {#sec-release-24.05-notable-changes} 158 160 159 161 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+1
nixos/modules/module-list.nix
··· 849 849 ./services/monitoring/vmagent.nix 850 850 ./services/monitoring/vmalert.nix 851 851 ./services/monitoring/vnstat.nix 852 + ./services/monitoring/watchdogd.nix 852 853 ./services/monitoring/zabbix-agent.nix 853 854 ./services/monitoring/zabbix-proxy.nix 854 855 ./services/monitoring/zabbix-server.nix
+2 -2
nixos/modules/security/acme/default.nix
··· 897 897 certs = attrValues cfg.certs; 898 898 in [ 899 899 { 900 - assertion = cfg.email != null || all (certOpts: certOpts.email != null) certs; 900 + assertion = cfg.defaults.email != null || all (certOpts: certOpts.email != null) certs; 901 901 message = '' 902 902 You must define `security.acme.certs.<name>.email` or 903 - `security.acme.email` to register with the CA. Note that using 903 + `security.acme.defaults.email` to register with the CA. Note that using 904 904 many different addresses for certs may trigger account rate limits. 905 905 ''; 906 906 }
+4 -1
nixos/modules/services/misc/portunus.nix
··· 230 230 description = "Self-contained authentication service"; 231 231 wantedBy = [ "multi-user.target" ]; 232 232 after = [ "network.target" ]; 233 - serviceConfig.ExecStart = "${cfg.package.out}/bin/portunus-orchestrator"; 233 + serviceConfig = { 234 + ExecStart = "${cfg.package}/bin/portunus-orchestrator"; 235 + Restart = "on-failure"; 236 + }; 234 237 environment = { 235 238 PORTUNUS_LDAP_SUFFIX = cfg.ldap.suffix; 236 239 PORTUNUS_SERVER_BINARY = "${cfg.package}/bin/portunus-server";
+131
nixos/modules/services/monitoring/watchdogd.nix
··· 1 + { config, lib, pkgs, ... }: 2 + with lib; 3 + let 4 + cfg = config.services.watchdogd; 5 + 6 + mkPluginOpts = plugin: defWarn: defCrit: { 7 + enabled = mkEnableOption "watchdogd plugin ${plugin}"; 8 + interval = mkOption { 9 + type = types.ints.unsigned; 10 + default = 300; 11 + description = '' 12 + Amount of seconds between every poll. 13 + ''; 14 + }; 15 + logmark = mkOption { 16 + type = types.bool; 17 + default = false; 18 + description = '' 19 + Whether to log current stats every poll interval. 20 + ''; 21 + }; 22 + warning = mkOption { 23 + type = types.numbers.nonnegative; 24 + default = defWarn; 25 + description = '' 26 + The high watermark level. Alert sent to log. 27 + ''; 28 + }; 29 + critical = mkOption { 30 + type = types.numbers.nonnegative; 31 + default = defCrit; 32 + description = '' 33 + The critical watermark level. Alert sent to log, followed by reboot or script action. 34 + ''; 35 + }; 36 + }; 37 + in { 38 + options.services.watchdogd = { 39 + enable = mkEnableOption "watchdogd, an advanced system & process supervisor"; 40 + package = mkPackageOption pkgs "watchdogd" { }; 41 + 42 + settings = mkOption { 43 + type = with types; submodule { 44 + freeformType = let 45 + valueType = oneOf [ 46 + bool 47 + int 48 + float 49 + str 50 + ]; 51 + in attrsOf (either valueType (attrsOf valueType)); 52 + 53 + options = { 54 + timeout = mkOption { 55 + type = types.ints.unsigned; 56 + default = 15; 57 + description = '' 58 + The WDT timeout before reset. 59 + ''; 60 + }; 61 + interval = mkOption { 62 + type = types.ints.unsigned; 63 + default = 5; 64 + description = '' 65 + The kick interval, i.e. how often {manpage}`watchdogd(8)` should reset the WDT timer. 66 + ''; 67 + }; 68 + 69 + safe-exit = mkOption { 70 + type = types.bool; 71 + default = true; 72 + description = '' 73 + With {var}`safeExit` enabled, the daemon will ask the driver to disable the WDT before exiting. 74 + However, some WDT drivers (or hardware) may not support this. 75 + ''; 76 + }; 77 + 78 + filenr = mkPluginOpts "filenr" 0.9 1.0; 79 + 80 + loadavg = mkPluginOpts "loadavg" 1.0 2.0; 81 + 82 + meminfo = mkPluginOpts "meminfo" 0.9 0.95; 83 + }; 84 + }; 85 + default = { }; 86 + description = '' 87 + Configuration to put in {file}`watchdogd.conf`. 88 + See {manpage}`watchdogd.conf(5)` for more details. 89 + ''; 90 + }; 91 + }; 92 + 93 + config = let 94 + toConfig = attrs: concatStringsSep "\n" (mapAttrsToList toValue attrs); 95 + 96 + toValue = name: value: 97 + if isAttrs value 98 + then pipe value [ 99 + (mapAttrsToList toValue) 100 + (map (s: " ${s}")) 101 + (concatStringsSep "\n") 102 + (s: "${name} {\n${s}\n}") 103 + ] 104 + else if isBool value 105 + then "${name} = ${boolToString value}" 106 + else if any (f: f value) [isString isInt isFloat] 107 + then "${name} = ${toString value}" 108 + else throw '' 109 + Found invalid type in `services.watchdogd.settings`: '${typeOf value}' 110 + ''; 111 + 112 + watchdogdConf = pkgs.writeText "watchdogd.conf" (toConfig cfg.settings); 113 + in mkIf cfg.enable { 114 + environment.systemPackages = [ cfg.package ]; 115 + 116 + systemd.services.watchdogd = { 117 + documentation = [ 118 + "man:watchdogd(8)" 119 + "man:watchdogd.conf(5)" 120 + ]; 121 + wantedBy = [ "multi-user.target" ]; 122 + description = "Advanced system & process supervisor"; 123 + serviceConfig = { 124 + Type = "simple"; 125 + ExecStart = "${cfg.package}/bin/watchdogd -n -f ${watchdogdConf}"; 126 + }; 127 + }; 128 + }; 129 + 130 + meta.maintainers = with maintainers; [ vifino ]; 131 + }
+1
nixos/tests/all-tests.nix
··· 945 945 vsftpd = handleTest ./vsftpd.nix {}; 946 946 warzone2100 = handleTest ./warzone2100.nix {}; 947 947 wasabibackend = handleTest ./wasabibackend.nix {}; 948 + watchdogd = handleTest ./watchdogd.nix {}; 948 949 webhook = runTest ./webhook.nix; 949 950 wiki-js = handleTest ./wiki-js.nix {}; 950 951 wine = handleTest ./wine.nix {};
+22
nixos/tests/watchdogd.nix
··· 1 + import ./make-test-python.nix ({ lib, ... }: { 2 + name = "watchdogd"; 3 + meta.maintainers = with lib.maintainers; [ vifino ]; 4 + 5 + nodes.machine = { pkgs, ... }: { 6 + virtualisation.qemu.options = [ 7 + "-device i6300esb" # virtual watchdog timer 8 + ]; 9 + boot.kernelModules = [ "i6300esb" ]; 10 + services.watchdogd.enable = true; 11 + services.watchdogd.settings = { 12 + supervisor.enabled = true; 13 + }; 14 + }; 15 + 16 + testScript = '' 17 + machine.wait_for_unit("watchdogd.service") 18 + 19 + assert "i6300ESB" in machine.succeed("watchdogctl status") 20 + machine.succeed("watchdogctl test") 21 + ''; 22 + })
+2 -2
pkgs/applications/editors/rednotebook/default.nix
··· 5 5 6 6 buildPythonApplication rec { 7 7 pname = "rednotebook"; 8 - version = "2.29.3"; 8 + version = "2.31"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "jendrikseipp"; 12 12 repo = "rednotebook"; 13 13 rev = "refs/tags/v${version}"; 14 - sha256 = "sha256-2qgWJ/bIravil/SuApA7pNXkxS5xUcdFpjVGO/ogDpw="; 14 + sha256 = "sha256-TggbHXJqgQ4vFSCLncgzrqJLRT9zQs6YsTQ3/Z4Mixg="; 15 15 }; 16 16 17 17 # We have not packaged tests.
+2 -2
pkgs/applications/editors/thonny/default.nix
··· 4 4 5 5 buildPythonApplication rec { 6 6 pname = "thonny"; 7 - version = "4.1.2"; 7 + version = "4.1.4"; 8 8 9 9 src = fetchFromGitHub { 10 10 owner = pname; 11 11 repo = pname; 12 12 rev = "refs/tags/v${version}"; 13 - hash = "sha256-vVDTizU+WDWJ75Ln93TAFYn7PJq5qc3hxVJiNGtK24g="; 13 + hash = "sha256-f4wR5OPzWbtSqE+hSW2zD8u3pPl5nPTtGvf2LzOXjI4="; 14 14 }; 15 15 16 16 nativeBuildInputs = [ copyDesktopItems ];
+2 -2
pkgs/applications/emulators/sameboy/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "sameboy"; 5 - version = "0.16"; 5 + version = "0.16.1"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "LIJI32"; 9 9 repo = "SameBoy"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-sQVTCHOSc2N+Qs/rl0DfsUzg7P5Egws2UuNBQ9fpkoQ="; 11 + sha256 = "sha256-0B9wN6CTx4T3P7RomOrz/bRdp/YGknPqmwWByAbGHvI="; 12 12 }; 13 13 14 14 enableParallelBuilding = true;
+3 -3
pkgs/applications/misc/geoipupdate/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "geoipupdate"; 5 - version = "6.0.0"; 5 + version = "6.1.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "maxmind"; 9 9 repo = "geoipupdate"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-Rm/W3Q5mb+qkrUYqWK83fi1FgO4KoL7+MjTuvhvY/qk="; 11 + sha256 = "sha256-/iLWy3yKO34nnn5ygAewR036PzgUGIqdhXNK4fx3Ym8="; 12 12 }; 13 13 14 - vendorHash = "sha256-YXybBVGCbdsP2pP7neHWI7KhkpE3tRo9Wpsx1RaEn9w="; 14 + vendorHash = "sha256-jW5/09sOUvPZVM1wzL4xg/a14kZ0KsM8e+zEQoADsl4="; 15 15 16 16 ldflags = [ "-X main.version=${version}" ]; 17 17
+3 -3
pkgs/applications/misc/hyprdim/default.nix
··· 7 7 8 8 rustPlatform.buildRustPackage rec { 9 9 pname = "hyprdim"; 10 - version = "2.2.2"; 10 + version = "2.2.3"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "donovanglover"; 14 14 repo = "hyprdim"; 15 15 rev = version; 16 - hash = "sha256-b2T/ueinKiheuK+siV29vJfEsEodq6qT2J3XxvoD/14="; 16 + hash = "sha256-Eeh0D3DkC4ureDUE+BXTGcMFNmZ0hLSidlKlL4ZDgsQ="; 17 17 }; 18 18 19 - cargoHash = "sha256-Sf32vaqcxVdg6/kDidxBSr5XDWg3aNEBpEl31do2ZJ8="; 19 + cargoHash = "sha256-hgcGzRLB1L3yxJjw1ECDJPmbl1W+2OS4KDojclyVYrc="; 20 20 21 21 nativeBuildInputs = [ 22 22 installShellFiles
+12 -9
pkgs/applications/misc/j4-dmenu-desktop/default.nix
··· 1 1 { lib, stdenv, fetchFromGitHub, cmake, dmenu }: 2 2 3 - stdenv.mkDerivation rec { 3 + stdenv.mkDerivation (finalAttrs: { 4 4 pname = "j4-dmenu-desktop"; 5 - version = "2.18"; 5 + version = "unstable-2023-09-12"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "enkore"; 9 - repo = pname; 10 - rev = "r${version}"; 11 - sha256 = "1gxpgifzy0hnpd0ymw3r32amzr32z3bgb90ldjzl438p6h1q0i26"; 9 + repo = "j4-dmenu-desktop"; 10 + rev = "7e3fd045482a8ea70619e422975b52feabc75175"; 11 + hash = "sha256-8PmfzQkHlEdMbrcQO0bPruP3jaKEcr/17x0/Z7Jedh0="; 12 12 }; 13 13 14 14 postPatch = '' 15 - sed -e 's,dmenu -i,${dmenu}/bin/dmenu -i,g' -i ./src/Main.hh 15 + substituteInPlace src/main.cc \ 16 + --replace "dmenu -i" "${lib.getExe dmenu} -i" 16 17 ''; 17 18 18 19 nativeBuildInputs = [ cmake ]; ··· 24 25 ]; 25 26 26 27 meta = with lib; { 27 - description = "A wrapper for dmenu that recognize .desktop files"; 28 + changelog = "https://github.com/enkore/j4-dmenu-desktop/blob/${finalAttrs.src.rev}/CHANGELOG"; 29 + description = "A wrapper for dmenu that recognizes .desktop files"; 28 30 homepage = "https://github.com/enkore/j4-dmenu-desktop"; 29 - license = licenses.gpl3; 31 + license = licenses.gpl3Only; 32 + mainProgram = "j4-dmenu-desktop"; 30 33 maintainers = with maintainers; [ ericsagnes ]; 31 34 platforms = platforms.unix; 32 35 }; 33 - } 36 + })
+2 -2
pkgs/applications/networking/browsers/opera/default.nix
··· 51 51 in 52 52 stdenv.mkDerivation rec { 53 53 pname = "opera"; 54 - version = "106.0.4998.19"; 54 + version = "106.0.4998.52"; 55 55 56 56 src = fetchurl { 57 57 url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb"; 58 - hash = "sha256-deZhuxmFP87wEUjbLtsucSvlGTT4KOwhQYbAkpIAQeM="; 58 + hash = "sha256-JTnKjK+ccMAef/VZuDpWS+FFDq6lolen0plckcPA+9w="; 59 59 }; 60 60 61 61 unpackPhase = "dpkg-deb -x $src .";
+3 -3
pkgs/applications/networking/cluster/k8sgpt/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "k8sgpt"; 5 - version = "0.3.24"; 5 + version = "0.3.26"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "k8sgpt-ai"; 9 9 repo = "k8sgpt"; 10 10 rev = "v${version}"; 11 - hash = "sha256-GxZDbG2G+TFd2lPpEqP1hIDXFJDOLh4Y7yZsHodok/c="; 11 + hash = "sha256-FUYtBoJAnY8WRh0eABniOgg781UooG67RKTHp1u3SiQ="; 12 12 }; 13 13 14 - vendorHash = "sha256-N/Qd51EmvTWy48Pj+UywBCRDG+k2zd6NTzGGm4jNyjQ="; 14 + vendorHash = "sha256-sd4QIQQpDyPV4pqk9VJBApzRzjwxMFieCOQQjJzFXHc="; 15 15 16 16 CGO_ENABLED = 0; 17 17
+2 -2
pkgs/applications/networking/instant-messengers/alfaview/default.nix
··· 5 5 6 6 stdenv.mkDerivation rec { 7 7 pname = "alfaview"; 8 - version = "9.7.0"; 8 + version = "9.8.1"; 9 9 10 10 src = fetchurl { 11 11 url = "https://assets.alfaview.com/stable/linux/deb/${pname}_${version}.deb"; 12 - hash = "sha256-nqIMnMz2FysBOyKpoHXQw9Gl0lmQg5oXmnZDqlPNZ+A="; 12 + hash = "sha256-agi0f3aj5nHGV2/TAjaX+tY8/4nTdRlRiRn6rkTqokY="; 13 13 }; 14 14 15 15 nativeBuildInputs = [
+2 -2
pkgs/applications/networking/p2p/qbittorrent/default.nix
··· 30 30 pname = "qbittorrent" 31 31 + lib.optionalString (guiSupport && qtVersion == "5") "-qt5" 32 32 + lib.optionalString (!guiSupport) "-nox"; 33 - version = "4.6.2"; 33 + version = "4.6.3"; 34 34 35 35 src = fetchFromGitHub { 36 36 owner = "qbittorrent"; 37 37 repo = "qBittorrent"; 38 38 rev = "release-${version}"; 39 - hash = "sha256-+leX0T+yJUG6F7WbHa3nCexQZmd7RRfK8Uc+suMJ+vI="; 39 + hash = "sha256-4RVJ7xQY9zcB8+RUr80P9xKUXGxt0ATSzYmRDfZIowU="; 40 40 }; 41 41 42 42 nativeBuildInputs = [
+3 -3
pkgs/applications/networking/sync/storj-uplink/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "storj-uplink"; 8 - version = "1.93.2"; 8 + version = "1.94.2"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "storj"; 12 12 repo = "storj"; 13 13 rev = "v${version}"; 14 - hash = "sha256-3q3z5dYFjBpBbwj64Kp2fiTmxn2PUgc0DGJBMR71yN0="; 14 + hash = "sha256-q2QLsbJSVnRch4CIlGI2Thuz0OOpGURIdy1BEKxUZ1A="; 15 15 }; 16 16 17 17 subPackages = [ "cmd/uplink" ]; 18 18 19 - vendorHash = "sha256-1K74yoMMeMzjldMjZVmmCJRrLYBrVmmOgqqCA1CBzrQ="; 19 + vendorHash = "sha256-UGx5pGfS7jWn7Uwjg1Gf/oQ3GbRTh5JSb38uPjxdUxc="; 20 20 21 21 ldflags = [ "-s" "-w" ]; 22 22
+2 -2
pkgs/applications/radio/flamp/default.nix
··· 10 10 11 11 stdenv.mkDerivation (finalAttrs: { 12 12 pname = "flamp"; 13 - version = "2.2.10"; 13 + version = "2.2.11"; 14 14 15 15 src = fetchgit { 16 16 url = "https://git.code.sf.net/p/fldigi/flamp"; 17 17 rev = "v${finalAttrs.version}"; 18 - hash = "sha256-c0Q9QD3O8eQxRqaBhr79iuNVtWGC8kl+YWYS4xMgDN4="; 18 + hash = "sha256-QYfTkciSbBLy49rF6xABMw8TXZ/0QyQ/yhJ2nuM7f/c="; 19 19 }; 20 20 21 21 nativeBuildInputs = [
+2 -2
pkgs/applications/science/electronics/magic-vlsi/default.nix
··· 13 13 14 14 stdenv.mkDerivation rec { 15 15 pname = "magic-vlsi"; 16 - version = "8.3.454"; 16 + version = "8.3.456"; 17 17 18 18 src = fetchurl { 19 19 url = "http://opencircuitdesign.com/magic/archive/magic-${version}.tgz"; 20 - sha256 = "sha256-nHZJ2L54J2x+H7S29TeGPInTgjEhRFv3h2ki0ccGYB0="; 20 + sha256 = "sha256-PrKbLecFJ+th0x9A0fp550RnA8w9oWETMtFpQZP8tzw="; 21 21 }; 22 22 23 23 nativeBuildInputs = [ python3 ];
+3 -3
pkgs/applications/terminal-emulators/kitty/default.nix
··· 30 30 with python3Packages; 31 31 buildPythonApplication rec { 32 32 pname = "kitty"; 33 - version = "0.31.0"; 33 + version = "0.32.0"; 34 34 format = "other"; 35 35 36 36 src = fetchFromGitHub { 37 37 owner = "kovidgoyal"; 38 38 repo = "kitty"; 39 39 rev = "refs/tags/v${version}"; 40 - hash = "sha256-VWWuC4T0pyTgqPNm0gNL1j3FShU5b8S157C1dKLon1g="; 40 + hash = "sha256-untfXvBAn39C+s1BxVjXoLpPvnw7TM/uPFB+zZHH8w8="; 41 41 }; 42 42 43 43 goModules = (buildGoModule { 44 44 pname = "kitty-go-modules"; 45 45 inherit src version; 46 - vendorHash = "sha256-OyZAWefSIiLQO0icxMIHWH3BKgNas8HIxLcse/qWKcU="; 46 + vendorHash = "sha256-WRDP3Uyttz/kWm07tjv7wNguF/a1YgZqutbvFEOHuE0="; 47 47 }).goModules; 48 48 49 49 buildInputs = [
+2 -2
pkgs/applications/version-management/git-quick-stats/default.nix
··· 11 11 12 12 stdenv.mkDerivation rec { 13 13 pname = "git-quick-stats"; 14 - version = "2.5.3"; 14 + version = "2.5.4"; 15 15 16 16 src = fetchFromGitHub { 17 17 repo = "git-quick-stats"; 18 18 owner = "arzzen"; 19 19 rev = version; 20 - sha256 = "sha256-Fh8FSaclxOkTr49HixjwoM/367RjtdQ4dRyw87KylPs="; 20 + sha256 = "sha256-dbi48rq3ijPa45xtTi6kAly/IwkX4aK1P9hmcPNQEqM="; 21 21 }; 22 22 23 23 nativeBuildInputs = [ makeWrapper ];
-26
pkgs/build-support/cc-wrapper/default.nix
··· 264 264 inherit bintools; 265 265 inherit cc libc libcxx nativeTools nativeLibc nativePrefix isGNU isClang; 266 266 267 - # Expose the C++ standard library we're using. See the comments on "General 268 - # libc++ support". This is also relevant when using older gcc than the 269 - # stdenv's, as may be required e.g. by CUDAToolkit's nvcc. 270 - cxxStdlib = 271 - let 272 - givenLibcxx = libcxx.isLLVM or false; 273 - givenGccForLibs = useGccForLibs && gccForLibs.langCC or false; 274 - in 275 - if (!givenLibcxx) && givenGccForLibs then 276 - { kind = "libstdc++"; package = gccForLibs; solib = gccForLibs_solib; } 277 - else if givenLibcxx then 278 - { kind = "libc++"; package = libcxx; solib = libcxx_solib;} 279 - else 280 - # We're probably using the `libstdc++` that came with our `gcc`. 281 - # TODO: this is maybe not always correct? 282 - # TODO: what happens when `nativeTools = true`? 283 - { kind = "libstdc++"; package = cc; solib = cc_solib; } 284 - ; 285 - 286 267 emacsBufferSetup = pkgs: '' 287 268 ; We should handle propagation here too 288 269 (mapc ··· 462 443 echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags 463 444 echo "-L${gccForLibs_solib}/lib" >> $out/nix-support/cc-ldflags 464 445 '' 465 - # The above "fix" may be incorrect; gcc.cc.lib doesn't contain a 466 - # `target-triple` dir but the correct fix may be to just remove the above? 467 - # 468 - # For clang it's not necessary (see `--gcc-toolchain` below) and for other 469 - # situations adding in the above will bring in lots of other gcc libraries 470 - # (i.e. sanitizer libraries, `libatomic`, `libquadmath`) besides just 471 - # `libstdc++`; this may actually break clang. 472 446 473 447 # TODO We would like to connect this to `useGccForLibs`, but we cannot yet 474 448 # because `libcxxStdenv` on linux still needs this. Maybe someday we'll
+1
pkgs/build-support/writers/test.nix
··· 188 188 fsharp = expectSuccess (makeFSharpWriter { 189 189 libraries = { fetchNuGet }: [ 190 190 (fetchNuGet { pname = "FSharp.SystemTextJson"; version = "0.17.4"; sha256 = "1bplzc9ybdqspii4q28l8gmfvzpkmgq5l1hlsiyg2h46w881lwg2"; }) 191 + (fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; }) 191 192 ]; 192 193 } "test-writers-fsharp" '' 193 194 #r "nuget: FSharp.SystemTextJson, 0.17.4"
+307
pkgs/by-name/ht/htb-toolkit/disable-shell-prompt-change.patch
··· 1 + --- a/src/main.rs 2024-01-17 23:44:21.346253718 +0100 2 + +++ b/src/main.rs 2024-01-17 23:48:54.536921610 +0100 3 + @@ -15,7 +15,6 @@ 4 + use crate::utils::*; 5 + use crate::vpn::*; 6 + use std::fs; 7 + -use std::path::Path; 8 + use std::process::Command; 9 + 10 + #[tokio::main] 11 + @@ -44,16 +43,6 @@ 12 + eprintln!("Error creating folder: {}", err); 13 + } 14 + } 15 + - 16 + - // Create HTB config file if not existing 17 + - let htb_config = format!("{}/.htb.conf", home); 18 + - 19 + - let file = Path::new(&htb_config); 20 + - if !file.exists() { 21 + - let lines = ["# HTB configuration file.\n\n", "# Enable/Disable shell prompt change\n", "prompt_change=true\n"]; 22 + - fs::write(&htb_config, lines.join("")) 23 + - .expect("Failed to create HTB config file"); 24 + - } 25 + 26 + // Initialize Xorg in WSL for secret-tool popup window 27 + if is_wsl() && is_display_zero() { 28 + @@ -104,13 +93,6 @@ 29 + let _ = play_machine(&args[2]).await; 30 + } 31 + } 32 + - "-p" => { 33 + - if args.len() < 3 || (args[2] != "true" && args[2] != "false") { 34 + - println!("Usage: {} -p <true|false>", args[0]); 35 + - } else { 36 + - prompt_setting(&args[2]); 37 + - } 38 + - } 39 + "-r" => { 40 + reset_machine().await; 41 + } 42 + --- a/src/manage.rs 2024-01-17 22:50:22.450368210 +0100 43 + +++ b/src/manage.rs 2024-01-17 23:49:21.143071918 +0100 44 + @@ -77,19 +77,14 @@ 45 + if machine_info.ip.is_empty() { //Starting Point case because SP IP address is assigned only after spawn of the machine 46 + machine_info.ip = active_machine.ip; 47 + } 48 + - let mut user_info = PlayingUser::get_playinguser(&appkey).await; 49 + 50 + // SP Machines change IP address when reset, so need to ask to write /etc/hosts 51 + if machine_info.sp_flag { 52 + let _ = add_hosts(&machine_info); 53 + } 54 + - 55 + - change_shell(&mut machine_info, &mut user_info); 56 + } 57 + 58 + pub async fn stop_machine() { 59 + - let htb_path = format!("{}/.htb.conf", env::var("HOME").unwrap()); 60 + - let htbconfig = HTBConfig::get_current_config(&htb_path); 61 + let appkey = get_appkey(); 62 + let active_machine = ActiveMachine::get_active(&appkey).await; 63 + 64 + @@ -126,31 +121,9 @@ 65 + 66 + // Await the result of the blocking task 67 + blocking_task.await.expect("Blocking task failed"); 68 + - 69 + - if htbconfig.promptchange { //If the prompt is set to change during the playing, when you stop the machine, it should restore the original shell 70 + - restore_shell(); 71 + - } 72 + } 73 + } 74 + 75 + -pub fn prompt_setting(option: &str) { 76 + - let home = env::var("HOME").unwrap_or_default(); 77 + - let htb_config = format!("{}/.htb.conf", home); 78 + - 79 + - let content = fs::read_to_string(&htb_config) 80 + - .expect("Failed to read HTB config file"); 81 + - 82 + - let re = Regex::new(r"prompt_change=\w+") 83 + - .expect("Failed to create regular expression"); 84 + - 85 + - let new_content = re.replace(&content, format!("prompt_change={}", option)); 86 + - 87 + - fs::write(&htb_config, new_content.to_string()) 88 + - .expect("Failed to write updated content to HTB config file"); 89 + - 90 + - println!("Prompt setting updated to: {}", option); 91 + -} 92 + - 93 + pub async fn update_machines() -> io::Result<()> { 94 + 95 + println!("Retrieving updated data from Hack The Box... Gimme some time hackerzzz..."); 96 + --- a/src/play.rs 2024-01-17 22:50:25.709380651 +0100 97 + +++ b/src/play.rs 2024-01-17 23:39:08.715395211 +0100 98 + @@ -4,7 +4,6 @@ 99 + use crate::types::*; 100 + use crate::utils::*; 101 + use crate::vpn::*; 102 + -use std::env; 103 + use std::io::{self,Write}; 104 + use reqwest::Client; 105 + use serde::Serialize; 106 + @@ -29,8 +28,6 @@ 107 + pub async fn play_machine(machine_name: &str) -> Result<(), Box<dyn std::error::Error>> { 108 + let appkey = get_appkey(); 109 + let appkey_clone = appkey.clone(); // Clone the necessary data to avoid borrowed value error 110 + - let htb_path = format!("{}/.htb.conf", env::var("HOME").unwrap()); 111 + - let htbconfig = HTBConfig::get_current_config(&htb_path); 112 + 113 + let mut machine_info = PlayingMachine::get_machine(machine_name, &appkey).await; 114 + 115 + @@ -103,7 +100,7 @@ 116 + 117 + machine_info.ip = get_ip(&appkey_clone).await; // For Starting Point machines and VIP and VIP+ VPNs, if I call the play API two times on the same machine, the old IP address associated to the machine can still live for some seconds providing a wrong IP related to the new same machine. For this reason, it is better to compute always the IP address (no problems for free VPNs because they associate always the same IP address to the same machine) 118 + 119 + - let mut user_info = PlayingUser::get_playinguser(&appkey_clone).await; // Before this it is needed to run HTB VPN to take the Attacker IP address 120 + + let user_info = PlayingUser::get_playinguser(&appkey_clone).await; // Before this it is needed to run HTB VPN to take the Attacker IP address 121 + 122 + let _ = print_banner(); 123 + 124 + @@ -115,10 +112,6 @@ 125 + println!("{}Hey! You have already found the Root Flag! Keep it up!{}", BGREEN, RESET); 126 + } 127 + 128 + - if htbconfig.promptchange { //If the prompt is set to change during the playing... 129 + - change_shell(&mut machine_info, &mut user_info); 130 + - } 131 + - 132 + // Writing /etc/hosts 133 + let _ = add_hosts(&machine_info); 134 + 135 + --- a/src/types.rs 2024-01-17 23:40:14.341769452 +0100 136 + +++ b/src/types.rs 2024-01-17 23:43:14.159871196 +0100 137 + @@ -2,7 +2,6 @@ 138 + use crate::colors::*; 139 + use crate::utils::get_interface_ip; 140 + use core::time::Duration; 141 + -use std::fs; 142 + use std::process; 143 + use std::thread::sleep; 144 + 145 + @@ -485,37 +484,4 @@ 146 + ip: userip, 147 + } 148 + } 149 + -} 150 + - 151 + -pub struct HTBConfig { 152 + - pub promptchange: bool, 153 + -} 154 + - 155 + -impl HTBConfig { 156 + - 157 + - pub fn get_current_config(htb_config: &str) -> Self { 158 + - HTBConfig { 159 + - promptchange: Self::get_prompt_change(htb_config), 160 + - } 161 + - } 162 + - 163 + - fn get_prompt_change(htb_config: &str) -> bool { 164 + - let prompt_change = fs::read_to_string(htb_config).expect("Failed to read htconfig."); 165 + - 166 + - let change_prompt = prompt_change.lines() 167 + - .find(|line| line.starts_with("prompt_change=")) 168 + - .map(|line| line.split('=').nth(1).unwrap_or_default()) 169 + - .unwrap_or_default(); 170 + - 171 + - // Convert the change_prompt string to a bool 172 + - 173 + - match change_prompt { 174 + - "true" => true, 175 + - "false" => false, 176 + - _ => { 177 + - // Handle other cases if needed, e.g., return a default value 178 + - false 179 + - } 180 + - } 181 + - } 182 + } 183 + \ No newline at end of file 184 + --- a/src/utils.rs 2024-01-17 23:29:49.215407440 +0100 185 + +++ b/src/utils.rs 2024-01-17 23:46:20.681009209 +0100 186 + @@ -5,7 +5,6 @@ 187 + use crate::types::*; 188 + use crate::vpn::*; 189 + use pnet::datalink; 190 + -use regex::Regex; 191 + use reqwest::Client; 192 + use std::fs; 193 + use std::net::IpAddr; 194 + @@ -13,96 +12,6 @@ 195 + use tokio::io::{AsyncWriteExt, BufWriter}; 196 + use tokio::sync::mpsc; 197 + 198 + -pub fn change_shell(machine_info: &mut PlayingMachine, user_info: &mut PlayingUser) { 199 + - let result = std::env::var("SHELL").unwrap_or_default(); 200 + - let mut file_bak = String::new(); 201 + - let mut file = String::new(); 202 + - let mut prompt = String::new(); 203 + - let mut prompt_field = ""; 204 + - 205 + - if result.contains("bash") { 206 + - file_bak = format!("{}/.bashrc.htb.bak", std::env::var("HOME").unwrap_or_default()); 207 + - file = format!("{}/.bashrc", std::env::var("HOME").unwrap_or_default()); 208 + - prompt = format!( 209 + - "PS1=\"\\e[32m\\]┌──[Target:{}🚀🌐IP:{}🔥\\e[34m\\]Attacker:{}📡IP:{}\\e[32m\\]🏅Prize:{} points]\\n└──╼[👾]\\\\[\\e[36m\\]\\$(pwd) $ \\[\\e[0m\\]\"", 210 + - machine_info.machine.name, 211 + - machine_info.ip, 212 + - user_info.user.name, 213 + - get_interface_ip("tun0").expect("Error on getting tun0 IP address"), 214 + - machine_info.machine.points 215 + - ); 216 + - prompt_field = "PS1=.*"; 217 + - } else if result.contains("fish") { 218 + - file_bak = format!("{}/.config/fish/functions/fish_prompt.fish.htb.bak", std::env::var("HOME").unwrap_or_default()); 219 + - file = format!("{}/.config/fish/functions/fish_prompt.fish", std::env::var("HOME").unwrap_or_default()); 220 + - prompt = format!( 221 + - r#"function fish_prompt 222 + - set_color 00ff00 223 + - echo -n "┌──[Target:{}🚀🌐IP:{}" 224 + - set_color ff00d7 225 + - echo -n "🔥Attacker:{}📡IP:{}" 226 + - set_color 00ff00 227 + - echo "🏅Prize:{} points]" 228 + - set_color 00ff00 229 + - echo -n "└──╼[👾]" 230 + - set_color 00ffff 231 + - echo (pwd) '$' (set_color normal) 232 + -end"#, 233 + - machine_info.machine.name, 234 + - machine_info.ip, 235 + - user_info.user.name, 236 + - get_interface_ip("tun0").expect("Error on getting tun0 IP address"), 237 + - machine_info.machine.points 238 + - ); 239 + - } else if result.contains("zsh") { 240 + - file_bak = format!("{}/.zshrc.htb.bak", std::env::var("HOME").unwrap_or_default()); 241 + - file = format!("{}/.zshrc", std::env::var("HOME").unwrap_or_default()); 242 + - prompt = format!( 243 + - "PROMPT=\"%F{{46}}┌──[Target:{}🚀🌐IP:{}🔥%F{{201}}Attacker:{}📡IP:{}%F{{46}}🏅Prize:{} points]\"$'\\n'\"└──╼[👾]%F{{44}}%~ $%f \"" , 244 + - machine_info.machine.name, 245 + - machine_info.ip, 246 + - user_info.user.name, 247 + - get_interface_ip("tun0").expect("Error on getting tun0 IP address"), 248 + - machine_info.machine.points 249 + - ); 250 + - prompt_field = "PROMPT=.*"; 251 + - } 252 + - 253 + - if !std::path::Path::new(&file_bak).exists() { 254 + - std::fs::copy(&file, &file_bak).unwrap_or_default(); 255 + - } 256 + - 257 + - if result.contains("bash") || result.contains("zsh") { 258 + - let file_content = std::fs::read_to_string(&file).unwrap_or_default(); 259 + - let regex = Regex::new(prompt_field).unwrap(); 260 + - let new_file_content = regex.replace_all(&file_content, prompt); 261 + - std::fs::write(&file, new_file_content.as_ref()).unwrap_or_default(); 262 + - } else if result.contains("fish") { 263 + - std::fs::write(&file, &prompt).unwrap_or_default(); 264 + - } 265 + -} 266 + - 267 + -pub fn restore_shell() { 268 + - let result = env::var("SHELL").unwrap_or_default(); 269 + - let mut file_bak = String::new(); 270 + - let mut file = String::new(); 271 + - 272 + - if result.contains("bash") { 273 + - file_bak = format!("{}/.bashrc.htb.bak", env::var("HOME").unwrap()); 274 + - file = format!("{}/.bashrc", env::var("HOME").unwrap()); 275 + - } else if result.contains("fish") { 276 + - file_bak = format!("{}/.config/fish/functions/fish_prompt.fish.htb.bak", env::var("HOME").unwrap()); 277 + - file = format!("{}/.config/fish/functions/fish_prompt.fish", env::var("HOME").unwrap()); 278 + - } else if result.contains("zsh") { 279 + - file_bak = format!("{}/.zshrc.htb.bak", env::var("HOME").unwrap()); 280 + - file = format!("{}/.zshrc", env::var("HOME").unwrap()); 281 + - } 282 + - if fs::metadata(&file).is_ok() && std::path::Path::new(&file_bak).exists() { 283 + - //Restore the prompt file from the backup 284 + - fs::copy(&file_bak, &file).expect("Failed to copy file"); 285 + - } 286 + -} 287 + - 288 + pub fn display_target_info(machine_info: &PlayingMachine, user_info: &PlayingUser) { 289 + println!(); 290 + println!("{}Our secret agent gathered some information about the target:{}", BYELLOW, RESET); 291 + @@ -184,7 +93,7 @@ 292 + println!("Play Hack The Box machines directly on your system."); 293 + println!(); 294 + std::thread::sleep(std::time::Duration::from_secs(2)); //Showing the description for some secs before showing the help message 295 + - println!("{} [-h] [-a] [-f] [-k] <set|reset|delete> [-m] <machine-name> [-l] <free|retired|starting> [-p] <true|false> [-r] [-s] [-u] [-v] <vpn-name>", env::args().next().unwrap()); 296 + + println!("{} [-h] [-a] [-f] [-k] <set|reset|delete> [-m] <machine-name> [-l] <free|retired|starting> [-r] [-s] [-u] [-v] <vpn-name>", env::args().next().unwrap()); 297 + println!(); 298 + println!("Options:"); 299 + println!("-a Print information about the current active machine."); 300 + @@ -193,7 +102,6 @@ 301 + println!("-k <set|reset|delete> Set, reset or delete the Hack The Box App Key."); 302 + println!("-m <machine-name> Specify the machine name to play."); 303 + println!("-l <free|retired|starting> List free, retired or starting point machines."); 304 + - println!("-p <true|false> Set if the shell prompt should be changed."); 305 + println!("-r Reset the playing machine."); 306 + println!("-s Stop the playing machine."); 307 + println!("-u Update free machines in the Red Team menu.");
+69
pkgs/by-name/ht/htb-toolkit/package.nix
··· 1 + { lib 2 + , rustPlatform 3 + , fetchFromGitHub 4 + , pkg-config 5 + , openssl 6 + , stdenv 7 + , darwin 8 + , coreutils 9 + , gnome 10 + , libsecret 11 + , bash 12 + , openvpn 13 + , nerdfonts 14 + , gzip 15 + , killall 16 + }: 17 + 18 + rustPlatform.buildRustPackage { 19 + pname = "htb-toolkit"; 20 + version = "unstable-2024-01-17"; 21 + 22 + src = fetchFromGitHub { 23 + owner = "D3vil0p3r"; 24 + repo = "htb-toolkit"; 25 + # https://github.com/D3vil0p3r/htb-toolkit/issues/3 26 + rev = "54e11774ea8746ea540548082d3b25c22306b4fc"; 27 + hash = "sha256-QYUqdqFV9Qn+VbJTnz5hx5I0XV1nrzCoCKtRS7jBLsE="; 28 + }; 29 + 30 + cargoHash = "sha256-XDE6A6EIAUbuzt8Zb/ROfDAPp0ZyN0WQ4D1gWHjRVhg="; 31 + 32 + # Patch to disable prompt change of the shell when a target machine is run. Needed due to Nix declarative nature 33 + patches = [ 34 + ./disable-shell-prompt-change.patch 35 + ]; 36 + 37 + nativeBuildInputs = [ 38 + pkg-config 39 + ]; 40 + 41 + buildInputs = [ 42 + gnome.gnome-keyring 43 + openssl 44 + ] ++ lib.optionals stdenv.isDarwin [ 45 + darwin.apple_sdk.frameworks.Security 46 + ]; 47 + 48 + postPatch = '' 49 + substituteInPlace src/manage.rs \ 50 + --replace /usr/share/htb-toolkit/icons/ $out/share/htb-toolkit/icons/ 51 + substituteInPlace src/utils.rs \ 52 + --replace /usr/bin/bash ${bash} \ 53 + --replace "\"base64\"" "\"${coreutils}/bin/base64\"" \ 54 + --replace "\"gunzip\"" "\"${gzip}/bin/gunzip\"" 55 + substituteInPlace src/appkey.rs \ 56 + --replace secret-tool ${lib.getExe libsecret} 57 + substituteInPlace src/vpn.rs \ 58 + --replace "arg(\"openvpn\")" "arg(\"${openvpn}/bin/openvpn\")" \ 59 + --replace "arg(\"killall\")" "arg(\"${killall}/bin/killall\")" 60 + ''; 61 + 62 + meta = with lib; { 63 + description = "Play Hack The Box directly on your system"; 64 + homepage = "https://github.com/D3vil0p3r/htb-toolkit"; 65 + license = licenses.gpl3Plus; 66 + maintainers = with maintainers; [ d3vil0p3r ]; 67 + mainProgram = "htb-toolkit"; 68 + }; 69 + }
+32
pkgs/by-name/wa/watchdogd/package.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , pkg-config 5 + , autoreconfHook 6 + , libite 7 + , libuev 8 + , libconfuse 9 + }: 10 + stdenv.mkDerivation rec { 11 + pname = "watchdogd"; 12 + version = "4.0"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "troglobit"; 16 + repo = "watchdogd"; 17 + rev = version; 18 + hash = "sha256-JNJj0CJGJXuIRpob2RXYqDRrU4Cn20PRxOjQ6TFsVYQ="; 19 + }; 20 + 21 + nativeBuildInputs = [ pkg-config autoreconfHook ]; 22 + buildInputs = [ libite libuev libconfuse ]; 23 + 24 + meta = with lib; { 25 + description = "Advanced system & process supervisor for Linux"; 26 + homepage = "https://troglobit.com/watchdogd.html"; 27 + changelog = "https://github.com/troglobit/watchdogd/releases/tag/${version}"; 28 + license = licenses.isc; 29 + platforms = platforms.linux; 30 + maintainers = with maintainers; [ vifino ]; 31 + }; 32 + }
+22
pkgs/development/cuda-modules/backend-stdenv.nix
··· 19 19 assertCondition = true; 20 20 in 21 21 22 + /* 22 23 # We should use libstdc++ at least as new as nixpkgs' stdenv's one. 23 24 assert let 24 25 cxxStdlibCuda = cudaStdenv.cc.cxxStdlib.package; 25 26 cxxStdlibNixpkgs = stdenv.cc.cxxStdlib.package; 27 + 28 + # Expose the C++ standard library we're using. See the comments on "General 29 + # libc++ support". This is also relevant when using older gcc than the 30 + # stdenv's, as may be required e.g. by CUDAToolkit's nvcc. 31 + cxxStdlib = libcxx: 32 + let 33 + givenLibcxx = libcxx != null && (libcxx.isLLVM or false); 34 + givenGccForLibs = libcxx != null && !(libcxx.isLLVM or false) && (libcxx.isGNU or false); 35 + libcxx_solib = "${lib.getLib libcxx}/lib"; 36 + in 37 + if (!givenLibcxx) && givenGccForLibs then 38 + { kind = "libstdc++"; package = libcxx; solib = libcxx_solib; } 39 + else if givenLibcxx then 40 + { kind = "libc++"; package = libcxx; solib = libcxx_solib;} 41 + else 42 + # We're probably using the `libstdc++` that came with our `gcc`. 43 + # TODO: this is maybe not always correct? 44 + # TODO: what happens when `nativeTools = true`? 45 + { kind = "libstdc++"; package = cc; solib = cc_solib; } 46 + ; 26 47 in 27 48 ((stdenv.cc.cxxStdlib.kind or null) == "libstdc++") 28 49 -> lib.versionAtLeast cxxStdlibCuda.version cxxStdlibNixpkgs.version; 50 + */ 29 51 30 52 lib.extendDerivation assertCondition passthruExtra cudaStdenv
+1 -1
pkgs/development/cuda-modules/cuda/overrides.nix
··· 112 112 useCcForLibs = true; 113 113 gccForLibs = ccForLibs-wrapper.cc; 114 114 }; 115 - cxxStdlibDir = ccForLibs-wrapper.cxxStdlib.solib; 115 + cxxStdlibDir = ccForLibs-wrapper.cxxStdlib.solib or (throw "necessary to fix CI"); 116 116 in 117 117 { 118 118
+2 -2
pkgs/development/libraries/caf/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "actor-framework"; 5 - version = "0.19.4"; 5 + version = "0.19.5"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "actor-framework"; 9 9 repo = "actor-framework"; 10 10 rev = version; 11 - hash = "sha256-Qi3nyUSwrYBy8lCP+R6/u/WtnZJcgSwb07pZVScAzcU="; 11 + hash = "sha256-G69qZ8aoaRP9Ug+BIhXrYs6xteUG3Zhxbo2O09LEh3s="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ cmake ];
+2 -2
pkgs/development/libraries/intel-gmmlib/default.nix
··· 9 9 10 10 stdenv.mkDerivation rec { 11 11 pname = "intel-gmmlib"; 12 - version = "22.3.16"; 12 + version = "22.3.17"; 13 13 14 14 src = fetchFromGitHub { 15 15 owner = "intel"; 16 16 repo = "gmmlib"; 17 17 rev = "intel-gmmlib-${version}"; 18 - sha256 = "sha256-6cN7qnFpVe362u4o0bZMKlUq1/eCpPZF0nBgon9Eav4="; 18 + sha256 = "sha256-9utlENByIQSayKTdSJapLBWMI2gFpOReNZe7bpbEoj8="; 19 19 }; 20 20 21 21 nativeBuildInputs = [ cmake ];
+2 -2
pkgs/development/libraries/kdsoap/default.nix
··· 11 11 cmakeName = if isQt6 then "KDSoap-qt6" else "KDSoap"; 12 12 in stdenv.mkDerivation rec { 13 13 pname = "kdsoap"; 14 - version = "2.1.1"; 14 + version = "2.2.0"; 15 15 16 16 src = fetchurl { 17 17 url = "https://github.com/KDAB/KDSoap/releases/download/kdsoap-${version}/kdsoap-${version}.tar.gz"; 18 - sha256 = "sha256-rtV/ayAN33YvXSiY9+kijdBwCIHESRrv5ABvf6X1xic="; 18 + sha256 = "sha256-2e8RlIRCGXyfpEvW+63IQrcoCmDfxAV3r2b97WN681Y="; 19 19 }; 20 20 21 21 outputs = [ "out" "dev" ];
+2 -2
pkgs/development/libraries/mbedtls/2.nix
··· 1 1 { callPackage }: 2 2 3 3 callPackage ./generic.nix { 4 - version = "2.28.5"; 5 - hash = "sha256-Gl4UQMSvAwYbOi2b/AUMz+zgkOl1o0UA2VveF/3ek8o="; 4 + version = "2.28.6"; 5 + hash = "sha256-1YyA3O0/u7Tcf8rhNmrMGF64/tnitQH65THpXa7N7P8="; 6 6 }
+2 -2
pkgs/development/libraries/mbedtls/3.nix
··· 1 1 { callPackage }: 2 2 3 3 callPackage ./generic.nix { 4 - version = "3.5.0"; 5 - hash = "sha256-uHHQmaAmFS8Vd7PrAfRpK+aNi3pJ76XBC7rFWcd16NU="; 4 + version = "3.5.1"; 5 + hash = "sha256-HxsHcGbSExp1aG5yMR/J3kPL4zqnmNoN5T5wfV3APaw="; 6 6 }
+1 -1
pkgs/development/libraries/mbedtls/generic.nix
··· 52 52 homepage = "https://www.trustedfirmware.org/projects/mbed-tls/"; 53 53 changelog = "https://github.com/Mbed-TLS/mbedtls/blob/${pname}-${version}/ChangeLog"; 54 54 description = "Portable cryptographic and TLS library, formerly known as PolarSSL"; 55 - license = licenses.asl20; 55 + license = [ licenses.asl20 /* or */ licenses.gpl2Plus ]; 56 56 platforms = platforms.all; 57 57 maintainers = with maintainers; [ raphaelr ]; 58 58 };
+2 -2
pkgs/development/libraries/openturns/default.nix
··· 26 26 27 27 stdenv.mkDerivation rec { 28 28 pname = "openturns"; 29 - version = "1.21.2"; 29 + version = "1.22"; 30 30 31 31 src = fetchFromGitHub { 32 32 owner = "openturns"; 33 33 repo = "openturns"; 34 34 rev = "v${version}"; 35 - sha256 = "sha256-Zq+Z3jLjdba3566H4RdwztqbRRID5K5yHvoGmgzq8QM="; 35 + sha256 = "sha256-ku3/mPoa1YJVJB99R/kWlOubIO+OZAiKfPqS/DrtJQk="; 36 36 }; 37 37 38 38 nativeBuildInputs = [ cmake ] ++ lib.optional enablePython python3Packages.sphinx;
+2 -2
pkgs/development/python-modules/langchain-community/default.nix
··· 17 17 18 18 buildPythonPackage rec { 19 19 pname = "langchain-community"; 20 - version = "0.0.12"; 20 + version = "0.0.13"; 21 21 pyproject = true; 22 22 23 23 disabled = pythonOlder "3.8"; ··· 25 25 src = fetchPypi { 26 26 pname = "langchain_community"; 27 27 inherit version; 28 - hash = "sha256-fP42xSsfuGwQldTewM9Gahx1KnRGEE6LOc8PcFEqSFE="; 28 + hash = "sha256-z2bG/3/L61gvXojuAN7Op/3spczd2nJQRvKO/Gl8Qac="; 29 29 }; 30 30 31 31 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/langchain-core/default.nix
··· 15 15 16 16 buildPythonPackage rec { 17 17 pname = "langchain-core"; 18 - version = "0.1.10"; 18 + version = "0.1.11"; 19 19 pyproject = true; 20 20 21 21 disabled = pythonOlder "3.8"; ··· 23 23 src = fetchPypi { 24 24 pname = "langchain_core"; 25 25 inherit version; 26 - hash = "sha256-PJ4TgyZMEC/Mb4ZXANu5QWxJMaJdCsIZX2MRxrhnqhc="; 26 + hash = "sha256-StS1ltv9vIOTyW1AmDuXrsFlqwumZDC+rnPj2HnBOg0="; 27 27 }; 28 28 29 29 nativeBuildInputs = [
+8 -5
pkgs/development/python-modules/onnx/default.nix
··· 7 7 , nbval 8 8 , numpy 9 9 , parameterized 10 - , protobuf 10 + , protobuf_21 11 11 , pybind11 12 12 , pytestCheckHook 13 13 , pythonOlder 14 14 , tabulate 15 15 , typing-extensions 16 16 , abseil-cpp 17 + , google-re2 18 + , pillow 19 + , protobuf 17 20 }: 18 21 19 22 let ··· 39 42 40 43 buildInputs = [ 41 44 abseil-cpp 45 + protobuf 46 + google-re2 47 + pillow 42 48 ]; 43 49 44 50 propagatedBuildInputs = [ 51 + protobuf_21 45 52 protobuf 46 53 numpy 47 54 typing-extensions ··· 66 73 --replace 'include(googletest)' "" 67 74 substituteInPlace cmake/unittest.cmake \ 68 75 --replace 'googletest)' ')' 69 - '' + '' 70 - # remove this override in 1.15 that will enable to set the CMAKE_CXX_STANDARD with cmakeFlags 71 - substituteInPlace CMakeLists.txt \ 72 - --replace 'CMAKE_CXX_STANDARD 11' 'CMAKE_CXX_STANDARD 17' 73 76 ''; 74 77 75 78 preConfigure = ''
+2 -2
pkgs/development/python-modules/pydata-sphinx-theme/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "pydata-sphinx-theme"; 15 - version = "0.15.1"; 15 + version = "0.15.2"; 16 16 17 17 format = "wheel"; 18 18 ··· 23 23 dist = "py3"; 24 24 python = "py3"; 25 25 pname = "pydata_sphinx_theme"; 26 - hash = "sha256-Bk776WE3vQrKuAQTdZ8ds4pCtR4kKbFZr3XEOnWQMgs="; 26 + hash = "sha256-DF+h+pipsm2uWQZm/1dvJ+Jse6cI/udU7Lngc1ntRYg="; 27 27 }; 28 28 29 29 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/pytoolconfig/default.nix
··· 18 18 19 19 buildPythonPackage rec { 20 20 pname = "pytoolconfig"; 21 - version = "1.3.0"; 21 + version = "1.3.1"; 22 22 pyproject = true; 23 23 24 24 disabled = pythonOlder "3.8"; ··· 27 27 owner = "bagel897"; 28 28 repo = "pytoolconfig"; 29 29 rev = "refs/tags/v${version}"; 30 - hash = "sha256-V7dANGnvhBhRy8IyO/gg73BMwpWRaV/xTF8JmRC7DPA="; 30 + hash = "sha256-h21SDgVsnCDZQf5GS7sFE19L/p+OlAFZGEYKc0RHn30="; 31 31 }; 32 32 33 33 outputs = [
+42 -12
pkgs/development/python-modules/zconfig/default.nix
··· 1 1 { lib 2 2 , stdenv 3 - , fetchPypi 4 3 , buildPythonPackage 5 - , zope-testrunner 4 + , docutils 5 + , fetchPypi 6 6 , manuel 7 - , docutils 8 7 , pygments 8 + , pytestCheckHook 9 + , pythonOlder 10 + , setuptools 11 + , zope-testrunner 9 12 }: 10 13 11 14 buildPythonPackage rec { 12 - pname = "ZConfig"; 13 - version = "3.6.1"; 15 + pname = "zconfig"; 16 + version = "4.0"; 17 + pyproject = true; 18 + 19 + disabled = pythonOlder "3.7"; 14 20 15 21 src = fetchPypi { 16 - inherit pname version; 17 - hash = "sha256-RCLH1mOvdizXeVd1NmvGpnq0QKGreW6w90JbDpA08HY="; 22 + pname = "ZConfig"; 23 + inherit version; 24 + hash = "sha256-+NZC+6a6mNCGMb4sH3GtGVfAUf70qj0/ufHgjcYdAVY="; 18 25 }; 19 26 20 27 patches = lib.optional stdenv.hostPlatform.isMusl ./remove-setlocale-test.patch; 21 28 22 - buildInputs = [ manuel docutils ]; 23 - propagatedBuildInputs = [ zope-testrunner ]; 24 - nativeCheckInputs = [ pygments ]; 29 + nativeBuildInputs = [ 30 + setuptools 31 + ]; 32 + 33 + buildInputs = [ 34 + docutils 35 + manuel 36 + ]; 37 + 38 + propagatedBuildInputs = [ 39 + zope-testrunner 40 + ]; 41 + 42 + nativeCheckInputs = [ 43 + pygments 44 + pytestCheckHook 45 + ]; 46 + 47 + pythonImportsCheck = [ 48 + "ZConfig" 49 + ]; 50 + 51 + pytestFlagsArray = [ 52 + "-s" 53 + ]; 25 54 26 55 meta = with lib; { 27 56 description = "Structured Configuration Library"; 28 - homepage = "https://pypi.python.org/pypi/ZConfig"; 57 + homepage = "https://github.com/zopefoundation/ZConfig"; 58 + changelog = "https://github.com/zopefoundation/ZConfig/blob/${version}/CHANGES.rst"; 29 59 license = licenses.zpl20; 30 - maintainers = [ maintainers.goibhniu ]; 60 + maintainers = with maintainers; [ goibhniu ]; 31 61 }; 32 62 }
+4 -2
pkgs/development/tools/analysis/brakeman/Gemfile.lock
··· 1 1 GEM 2 2 remote: https://rubygems.org/ 3 3 specs: 4 - brakeman (6.1.0) 4 + brakeman (6.1.1) 5 + racc 6 + racc (1.7.3) 5 7 6 8 PLATFORMS 7 9 ruby ··· 10 12 brakeman 11 13 12 14 BUNDLED WITH 13 - 2.4.22 15 + 2.5.3
+13 -2
pkgs/development/tools/analysis/brakeman/gemset.nix
··· 1 1 { 2 2 brakeman = { 3 + dependencies = ["racc"]; 3 4 groups = ["default"]; 4 5 platforms = []; 5 6 source = { 6 7 remotes = ["https://rubygems.org"]; 7 - sha256 = "00vlip5z1gc1npj1nxvcy2gvwya4fk01xzyhazkhz3ymdn9nch0d"; 8 + sha256 = "1ahkss5xpdw7vwykyd5kba74cs4r987fcn7ad5qvzhzhqdariqvy"; 9 + type = "gem"; 10 + }; 11 + version = "6.1.1"; 12 + }; 13 + racc = { 14 + groups = ["default"]; 15 + platforms = []; 16 + source = { 17 + remotes = ["https://rubygems.org"]; 18 + sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; 8 19 type = "gem"; 9 20 }; 10 - version = "6.1.0"; 21 + version = "1.7.3"; 11 22 }; 12 23 }
+4 -4
pkgs/development/tools/revive/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "revive"; 5 - version = "1.3.5"; 5 + version = "1.3.6"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "mgechev"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-yHsEELeBG/dgV1uaYTOfvVVZQZ+AG1kKx86tn9GI+RA="; 11 + sha256 = "sha256-0s90Q07D/a0n/SVgMOnjje9pSCWJOzRx5jH+t9th4rs="; 12 12 # populate values that require us to use git. By doing this in postFetch we 13 13 # can delete .git afterwards and maintain better reproducibility of the src. 14 14 leaveDotGit = true; ··· 18 18 rm -rf $out/.git 19 19 ''; 20 20 }; 21 - vendorHash = "sha256-hNLHVx3zuCheSfY6TSixfJj/76JQ9nOW+mBquIZCgSk="; 21 + vendorHash = "sha256-rFFgh/BWEejqrhCzCeGWa2AfiNd8dYDvCKvcpXk42nY="; 22 22 23 23 ldflags = [ 24 24 "-s" ··· 35 35 36 36 # The following tests fail when built by nix: 37 37 # 38 - # $ nix log /nix/store/build-revive.1.3.5.drv | grep FAIL 38 + # $ nix log /nix/store/build-revive.1.3.6.drv | grep FAIL 39 39 # 40 40 # --- FAIL: TestAll (0.01s) 41 41 # --- FAIL: TestTimeEqual (0.00s)
+3 -3
pkgs/development/tools/rust/cargo-show-asm/default.nix
··· 9 9 10 10 rustPlatform.buildRustPackage rec { 11 11 pname = "cargo-show-asm"; 12 - version = "0.2.25"; 12 + version = "0.2.28"; 13 13 14 14 src = fetchCrate { 15 15 inherit pname version; 16 - hash = "sha256-jIOJr0saR+k++bPlYsf9LzWCJEDC/DHb6KjRonhAImA="; 16 + hash = "sha256-DZKl3FRgBzrgKDl/eVOFRW2jZXT8ul+ZgZbBxZcmgss="; 17 17 }; 18 18 19 - cargoHash = "sha256-kp6bZQjmI4enJvxOX8L0c3ZlqohZn6uKYnjrrxd/Hjg="; 19 + cargoHash = "sha256-QaRqrd4wHuMfAYy/vqkwdoWB1BDGx0YyjvFNqjSOM2I="; 20 20 21 21 nativeBuildInputs = [ 22 22 installShellFiles
+2 -2
pkgs/development/tools/turso-cli/default.nix
··· 8 8 }: 9 9 buildGo121Module rec { 10 10 pname = "turso-cli"; 11 - version = "0.87.8"; 11 + version = "0.88.2"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "tursodatabase"; 15 15 repo = "turso-cli"; 16 16 rev = "v${version}"; 17 - hash = "sha256-7JdWAMMNOBRWx2sU8mQ2kLZBVDsXaVszlOQos2Ybiy4="; 17 + hash = "sha256-9lnqjkDGQRu487Me895h/dyWDIVImQkU9bEiafjTbb8="; 18 18 }; 19 19 20 20 vendorHash = "sha256-rTeW2RQhcdwJTAMQELm4cdObJbm8gk/I2Qz3Wk3+zpI=";
+2 -2
pkgs/games/naev/default.nix
··· 26 26 27 27 stdenv.mkDerivation rec { 28 28 pname = "naev"; 29 - version = "0.11.0"; 29 + version = "0.11.2"; 30 30 31 31 src = fetchFromGitHub { 32 32 owner = "naev"; 33 33 repo = "naev"; 34 34 rev = "v${version}"; 35 - sha256 = "sha256-JTXZzxjfnD3OKZq1wms9bPwIBXyu9FuZB6hvH7HwvRI="; 35 + sha256 = "sha256-G6FsZnRWNTFjsIpQsxYcZhlyjhMUaalNlmLpYGQar0E="; 36 36 fetchSubmodules = true; 37 37 }; 38 38
+2 -2
pkgs/os-specific/linux/eventstat/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "eventstat"; 5 - version = "0.05.01"; 5 + version = "0.06.00"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "ColinIanKing"; 9 9 repo = pname; 10 10 rev = "V${version}"; 11 - hash = "sha256-raODDA1EKtZThFg0NV6EfrWj5mSQNaiekywfOfAvYXI="; 11 + hash = "sha256-lCtXILpZn1/laRnsfE5DlQQQKKvfHxOJu87SkpWKeTE="; 12 12 }; 13 13 14 14 buildInputs = [ ncurses ];
+3 -3
pkgs/os-specific/linux/mdevctl/default.nix
··· 7 7 8 8 rustPlatform.buildRustPackage rec { 9 9 pname = "mdevctl"; 10 - version = "1.2.0"; 10 + version = "1.3.0"; 11 11 12 12 src = fetchCrate { 13 13 inherit pname version; 14 - hash = "sha256-0X/3DWNDPOgSNNTqcj44sd7DNGFt+uGBjkc876dSgU8="; 14 + hash = "sha256-4K4NW3DOTtzZJ7Gg0mnRPr88YeqEjTtKX+C4P8i923E="; 15 15 }; 16 16 17 - cargoHash = "sha256-TmumQBWuH5fJOe2qzcDtEGbmCs2G9Gfl8mH7xifzRGc="; 17 + cargoHash = "sha256-hCqNy32uPLsKfUJqiG2DRcXfqdvlp4bCutQmt+FieXc="; 18 18 19 19 nativeBuildInputs = [ 20 20 docutils
+2 -2
pkgs/os-specific/linux/sasutils/default.nix
··· 2 2 3 3 python3Packages.buildPythonApplication rec { 4 4 pname = "sasutils"; 5 - version = "0.4.0"; 5 + version = "0.5.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "stanford-rc"; 9 9 repo = pname; 10 10 rev = "refs/tags/v${version}"; 11 - sha256 = "sha256-9JRw+UoxU0I5RHuimzYrM/3j8UWHuicVpoOdRRrj2Wc="; 11 + sha256 = "sha256-DK0mEqlPf9UGtUxqbzB0l1xX0P4htYm2NYvV7zilhx0="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ installShellFiles ];
+2 -2
pkgs/servers/http/darkhttpd/default.nix
··· 5 5 6 6 stdenv.mkDerivation rec { 7 7 pname = "darkhttpd"; 8 - version = "1.14"; 8 + version = "1.15"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "emikulic"; 12 12 repo = pname; 13 13 rev = "v${version}"; 14 - sha256 = "sha256-J/tjT3Rfhk5++jbmLBrZu9O4GgTBqeycuz82NliCBxw="; 14 + sha256 = "sha256-G1lh3nHo2iU/dkiBykl5+DSIC2c6SCqqv42Bw0Frz3A="; 15 15 }; 16 16 17 17 enableParallelBuilding = true;
+2 -2
pkgs/servers/metabase/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "metabase"; 5 - version = "0.48.1"; 5 + version = "0.48.2"; 6 6 7 7 src = fetchurl { 8 8 url = "https://downloads.metabase.com/v${version}/metabase.jar"; 9 - hash = "sha256-lU9HrX4/OUQNyI6gi5AYbYhjwkK8mWAIsdM4Tq87JAw="; 9 + hash = "sha256-KY+/PNpmGgLyk3O55KkYL6Ev1v4G329Wp4GajKSn9zo="; 10 10 }; 11 11 12 12 nativeBuildInputs = [ makeWrapper ];
+3 -3
pkgs/servers/sql/rqlite/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "rqlite"; 8 - version = "8.13.2"; 8 + version = "8.16.3"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "rqlite"; 12 12 repo = pname; 13 13 rev = "v${version}"; 14 - sha256 = "sha256-YwwA9oqMJuHWaJ7zcSLJjbq3urIyUe6aZZS4kEeq7/8="; 14 + sha256 = "sha256-rgA2OGw5a3J/13864jArqK0BInQSN/7U7wvZ4Yv3+2g="; 15 15 }; 16 16 17 - vendorHash = "sha256-qNI3SJdgaBi78Tvsd+RJ52vKZrbUQdEaEG/zTDKX0J4="; 17 + vendorHash = "sha256-DTQiWE31rI0stANvc75Anguo5ymq8hH1vdZIZ5t4JLI="; 18 18 19 19 subPackages = [ "cmd/rqlite" "cmd/rqlited" "cmd/rqbench" ]; 20 20
+2 -2
pkgs/tools/admin/salt/default.nix
··· 11 11 12 12 python3.pkgs.buildPythonApplication rec { 13 13 pname = "salt"; 14 - version = "3006.4"; 14 + version = "3006.5"; 15 15 format = "setuptools"; 16 16 17 17 src = fetchPypi { 18 18 inherit pname version; 19 - hash = "sha256-0JeIXDPCz6oMzcYnylcNZ2kMjQN9x4Ab6IeIvMoQNq4="; 19 + hash = "sha256-b5aH8lQt3ICEsXy0fwpMr9SJQBI7o+1XMfaqgf5/lz4="; 20 20 }; 21 21 22 22 patches = [
+2 -2
pkgs/tools/misc/chafa/default.nix
··· 4 4 }: 5 5 6 6 stdenv.mkDerivation rec { 7 - version = "1.12.5"; 7 + version = "1.14.0"; 8 8 pname = "chafa"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "hpjansson"; 12 12 repo = "chafa"; 13 13 rev = version; 14 - sha256 = "sha256-2li2Vp+W4Q2/8WY8FJ519BuVR9KzddIJ1j/GY/hLMZo="; 14 + sha256 = "sha256-7l8+WD5/5uBXVnhwqiEScIEQ1dg0W2zqqZJ2AeKCZRU="; 15 15 }; 16 16 17 17 nativeBuildInputs = [ autoconf
+2 -2
pkgs/tools/misc/sacad/default.nix
··· 2 2 3 3 python3Packages.buildPythonApplication rec { 4 4 pname = "sacad"; 5 - version = "2.4.0"; 5 + version = "2.7.5"; 6 6 7 7 src = fetchPypi { 8 8 inherit pname version; 9 - sha256 = "sha256-KLVkyiXjpqskM67W9uPl9aPKc3pYMu0nAfwI0OpOniE="; 9 + sha256 = "sha256-ZJPcxKc0G8V7x9nyzKXaXpfNpMB3/qRoX0d4lfBZTFY="; 10 10 }; 11 11 12 12 propagatedBuildInputs = with python3Packages; [
+3 -3
pkgs/tools/misc/trillian/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "trillian"; 8 - version = "1.5.3"; 9 - vendorHash = "sha256-DsdkTYRQQjTCArD3bo1al8enFzjfT7DVfmjK5KUqPDI="; 8 + version = "1.6.0"; 9 + vendorHash = "sha256-tLhq6ILiKzFM1lIK0DbiIKsn1NWEI168BMaf/MOAtEo="; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "google"; 13 13 repo = pname; 14 14 rev = "v${version}"; 15 - sha256 = "sha256-fXqoe59JU5efAo5ByJ4027oqHakNCTvAtAq48MJZ9ZE="; 15 + sha256 = "sha256-YHwT+ddVRyHkmXkw2vROL4PS948pOMj9UwOtHorbTAQ="; 16 16 }; 17 17 18 18 subPackages = [
+2 -2
pkgs/tools/networking/mockoon/default.nix
··· 5 5 6 6 let 7 7 pname = "mockoon"; 8 - version = "6.0.1"; 8 + version = "6.1.0"; 9 9 10 10 src = fetchurl { 11 11 url = "https://github.com/mockoon/mockoon/releases/download/v${version}/mockoon-${version}.AppImage"; 12 - hash = "sha256-aV+jM/XxXbjkStSZE4x8qtrtYX/yKbye4WjO9PiaNQ4="; 12 + hash = "sha256-harZU3TTIzfJoY/jAQI0dm7YSOr24Y9xk9L5ZaBLdD8="; 13 13 }; 14 14 15 15 appimageContents = appimageTools.extractType2 {
+2 -2
pkgs/tools/networking/s3cmd/default.nix
··· 2 2 3 3 buildPythonApplication rec { 4 4 pname = "s3cmd"; 5 - version = "2.3.0"; 5 + version = "2.4.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "s3tools"; 9 9 repo = "s3cmd"; 10 10 rev = "refs/tags/v${version}"; 11 - sha256 = "sha256-nb4WEH8ELaG/bIe4NtjD4p99VJoG90UQ662iWyvnr2U="; 11 + sha256 = "sha256-cxwf6+9WFt3U7+JdKRgZxFElD+Dgf2P2VyejHVoiDJk="; 12 12 }; 13 13 14 14 propagatedBuildInputs = [ python-magic python-dateutil ];
+3 -3
pkgs/tools/package-management/npm-check-updates/default.nix
··· 5 5 6 6 buildNpmPackage rec { 7 7 pname = "npm-check-updates"; 8 - version = "16.14.0"; 8 + version = "16.14.12"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "raineorshine"; 12 12 repo = "npm-check-updates"; 13 13 rev = "v${version}"; 14 - hash = "sha256-X8Mu4Fd650H7eA2nfoefmr4jW974qLBLurmj2H4t7xY="; 14 + hash = "sha256-3/DaEgPF9+wofYqA1XrJul4/cNGuGeXAeRg0HW0O+Ok="; 15 15 }; 16 16 17 - npmDepsHash = "sha256-wm7/WlzqfE7DOT0jUTXBivlC9J8dyHa/OVSgi2SdO5w="; 17 + npmDepsHash = "sha256-zUJKuiMycVCuXMh6caMzmi6qpgknVsvmqV3XykhlSBI="; 18 18 19 19 meta = { 20 20 changelog = "https://github.com/raineorshine/npm-check-updates/blob/${src.rev}/CHANGELOG.md";
+4 -4
pkgs/tools/security/osv-scanner/default.nix
··· 6 6 }: 7 7 buildGoModule rec { 8 8 pname = "osv-scanner"; 9 - version = "1.5.0"; 9 + version = "1.6.1"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "google"; 13 13 repo = pname; 14 14 rev = "v${version}"; 15 - hash = "sha256-wWycONThNIqiSbpsopsc9AbAxOToWkTiNzkJ2I8Z0t4="; 15 + hash = "sha256-ddzdOk2sHNzjCM4cLJY+H9h13MjamlC1RYcnOcDGV4M="; 16 16 }; 17 17 18 - vendorHash = "sha256-CiRvryjBp3nUrPRxNqM88p4856yT+BuIsjvYuE+DmqI="; 18 + vendorHash = "sha256-9cE4UcQipJYwQDZA4jlcV68BBTgft7oRVlngg/PAmWI="; 19 19 20 20 subPackages = [ 21 21 "cmd/osv-scanner" ··· 24 24 ldflags = [ 25 25 "-s" 26 26 "-w" 27 - "-X main.version=${version}" 27 + "-X github.com/google/osv-scanner/internal/version.OSVVersion=${version}" 28 28 "-X main.commit=n/a" 29 29 "-X main.date=1970-01-01T00:00:00Z" 30 30 ];
+4 -3
pkgs/tools/security/vaultwarden/webvault.nix
··· 7 7 }: 8 8 9 9 let 10 - version = "2024.1.1"; 10 + version = "2024.1.1b"; 11 11 12 12 bw_web_builds = fetchFromGitHub { 13 13 owner = "dani-garcia"; 14 14 repo = "bw_web_builds"; 15 15 rev = "v${version}"; 16 - hash = "sha256-xtfpxcJLP0C4FdnO45gsaecOWJ/cKC++Abm7iatTH1Y="; 16 + hash = "sha256-jdr+3sIFdKmi0CI3TyFv+wCbhOBJECKQtx+X5EZjRsQ="; 17 17 }; 18 18 19 19 in buildNpmPackage rec { ··· 30 30 npmDepsHash = "sha256-IJ5JVz9hHu3NOzFJAyzfhsMfPQgYQGntDEDuBMI/iZc="; 31 31 32 32 postPatch = '' 33 - cp -r ${bw_web_builds}/{patches,resources} .. 33 + ln -s ${bw_web_builds}/{patches,resources} .. 34 34 PATH="${git}/bin:$PATH" VAULT_VERSION="${lib.removePrefix "web-" src.rev}" \ 35 35 bash ${bw_web_builds}/scripts/apply_patches.sh 36 36 ''; ··· 66 66 meta = with lib; { 67 67 description = "Integrates the web vault into vaultwarden"; 68 68 homepage = "https://github.com/dani-garcia/bw_web_builds"; 69 + changelog = "https://github.com/dani-garcia/bw_web_builds/releases/tag/v${version}"; 69 70 platforms = platforms.all; 70 71 license = licenses.gpl3Plus; 71 72 maintainers = with maintainers; [ dotlambda msteen mic92 ];
+3 -3
pkgs/tools/wayland/hyprland-per-window-layout/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "hyprland-per-window-layout"; 5 - version = "2.5"; 5 + version = "2.6"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "coffebar"; 9 9 repo = pname; 10 10 rev = version; 11 - hash = "sha256-muEM0jRNZ8osuZ6YSyNPFD/2IuXoNbR28It9cKeJwZ4="; 11 + hash = "sha256-g6cFZXEWKB9IxP/ARe788tXFpDofJNDWMwUU15yKYhA="; 12 12 }; 13 13 14 - cargoHash = "sha256-g7VCjxrf6qP6KcTNhHzFEFwP4EiIRTnjK6n93FGee54="; 14 + cargoHash = "sha256-kVu81NnwcKksHeS5ZM/SgTuh2olMgdBBxY3cJxwuW0Q="; 15 15 16 16 meta = with lib; { 17 17 description = "Per window keyboard layout (language) for Hyprland wayland compositor";