Merge master into staging-next

authored by github-actions[bot] and committed by GitHub 14abde4e 26128332

+1640 -334
+18
maintainers/maintainer-list.nix
··· 4745 githubId = 4956158; 4746 name = "Robin Stumm"; 4747 }; 4748 DerTim1 = { 4749 email = "tim.digel@active-group.de"; 4750 github = "DerTim1"; ··· 7788 matrix = "@chris:netsoj.nl"; 7789 name = "Chris Josten"; 7790 }; 7791 henrikolsson = { 7792 email = "henrik@fixme.se"; 7793 github = "henrikolsson"; ··· 10328 github = "kini"; 10329 githubId = 691290; 10330 name = "Keshav Kini"; 10331 }; 10332 kinzoku = { 10333 email = "kinzokudev4869@gmail.com";
··· 4745 githubId = 4956158; 4746 name = "Robin Stumm"; 4747 }; 4748 + DerRockWolf = { 4749 + email = "git@rockwolf.eu"; 4750 + github = "DerRockWolf"; 4751 + githubId = 50499906; 4752 + name = "DerRockWolf"; 4753 + }; 4754 DerTim1 = { 4755 email = "tim.digel@active-group.de"; 4756 github = "DerTim1"; ··· 7794 matrix = "@chris:netsoj.nl"; 7795 name = "Chris Josten"; 7796 }; 7797 + hennk = { 7798 + email = "henning.kiel@gmail.com"; 7799 + github = "hennk"; 7800 + githubId = 328259; 7801 + name = "Henning Kiel"; 7802 + }; 7803 henrikolsson = { 7804 email = "henrik@fixme.se"; 7805 github = "henrikolsson"; ··· 10340 github = "kini"; 10341 githubId = 691290; 10342 name = "Keshav Kini"; 10343 + }; 10344 + kintrix = { 10345 + email = "kintrix007@proton.me"; 10346 + github = "kintrix007"; 10347 + githubId = 60898798; 10348 + name = "kintrix"; 10349 }; 10350 kinzoku = { 10351 email = "kinzokudev4869@gmail.com";
+4
nixos/doc/manual/release-notes/rl-2405.section.md
··· 449 450 - `nextcloud-setup.service` no longer changes the group of each file & directory inside `/var/lib/nextcloud/{config,data,store-apps}` if one of these directories has the wrong owner group. This was part of transitioning the group used for `/var/lib/nextcloud`, but isn't necessary anymore. 451 452 - 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`. 453 454 - Gitea 1.21 upgrade has several breaking changes, including:
··· 449 450 - `nextcloud-setup.service` no longer changes the group of each file & directory inside `/var/lib/nextcloud/{config,data,store-apps}` if one of these directories has the wrong owner group. This was part of transitioning the group used for `/var/lib/nextcloud`, but isn't necessary anymore. 451 452 + - `services.kavita` now uses the freeform option `services.kavita.settings` for the application settings file. 453 + The options `services.kavita.ipAdresses` and `services.kavita.port` now exist at `services.kavita.settings.IpAddresses` 454 + and `services.kavita.settings.IpAddresses`. 455 + 456 - 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`. 457 458 - Gitea 1.21 upgrade has several breaking changes, including:
-1
nixos/lib/test-driver/test_driver/machine.py
··· 1250 check_return=False, 1251 check_output=False, 1252 ) 1253 - self.wait_for_console_text(r"systemd\[1\]:.*Switching root\.") 1254 self.connected = False 1255 self.connect()
··· 1250 check_return=False, 1251 check_output=False, 1252 ) 1253 self.connected = False 1254 self.connect()
+5
nixos/modules/module-list.nix
··· 1107 ./services/networking/rpcbind.nix 1108 ./services/networking/rxe.nix 1109 ./services/networking/sabnzbd.nix 1110 ./services/networking/seafile.nix 1111 ./services/networking/searx.nix 1112 ./services/networking/shadowsocks.nix
··· 1107 ./services/networking/rpcbind.nix 1108 ./services/networking/rxe.nix 1109 ./services/networking/sabnzbd.nix 1110 + ./services/networking/scion/scion.nix 1111 + ./services/networking/scion/scion-control.nix 1112 + ./services/networking/scion/scion-daemon.nix 1113 + ./services/networking/scion/scion-dispatcher.nix 1114 + ./services/networking/scion/scion-router.nix 1115 ./services/networking/seafile.nix 1116 ./services/networking/searx.nix 1117 ./services/networking/shadowsocks.nix
+69
nixos/modules/services/networking/scion/scion-control.nix
···
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.scion.scion-control; 7 + toml = pkgs.formats.toml { }; 8 + defaultConfig = { 9 + general = { 10 + id = "cs"; 11 + config_dir = "/etc/scion"; 12 + reconnect_to_dispatcher = true; 13 + }; 14 + beacon_db = { 15 + connection = "/var/lib/scion-control/control.beacon.db"; 16 + }; 17 + path_db = { 18 + connection = "/var/lib/scion-control/control.path.db"; 19 + }; 20 + trust_db = { 21 + connection = "/var/lib/scion-control/control.trust.db"; 22 + }; 23 + log.console = { 24 + level = "info"; 25 + }; 26 + }; 27 + configFile = toml.generate "scion-control.toml" (defaultConfig // cfg.settings); 28 + in 29 + { 30 + options.services.scion.scion-control = { 31 + enable = mkEnableOption (lib.mdDoc "the scion-control service"); 32 + settings = mkOption { 33 + default = { }; 34 + type = toml.type; 35 + example = literalExpression '' 36 + { 37 + path_db = { 38 + connection = "/var/lib/scion-control/control.path.db"; 39 + }; 40 + log.console = { 41 + level = "info"; 42 + }; 43 + } 44 + ''; 45 + description = lib.mdDoc '' 46 + scion-control configuration. Refer to 47 + <https://docs.scion.org/en/latest/manuals/common.html> 48 + for details on supported values. 49 + ''; 50 + }; 51 + }; 52 + config = mkIf cfg.enable { 53 + systemd.services.scion-control = { 54 + description = "SCION Control Service"; 55 + after = [ "network-online.target" "scion-dispatcher.service" ]; 56 + wants = [ "network-online.target" "scion-dispatcher.service" ]; 57 + wantedBy = [ "multi-user.target" ]; 58 + serviceConfig = { 59 + Type = "simple"; 60 + Group = if (config.services.scion.scion-dispatcher.enable == true) then "scion" else null; 61 + ExecStart = "${pkgs.scion}/bin/scion-control --config ${configFile}"; 62 + DynamicUser = true; 63 + Restart = "on-failure"; 64 + BindPaths = [ "/dev/shm:/run/shm" ]; 65 + StateDirectory = "scion-control"; 66 + }; 67 + }; 68 + }; 69 + }
+64
nixos/modules/services/networking/scion/scion-daemon.nix
···
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.scion.scion-daemon; 7 + toml = pkgs.formats.toml { }; 8 + defaultConfig = { 9 + general = { 10 + id = "sd"; 11 + config_dir = "/etc/scion"; 12 + reconnect_to_dispatcher = true; 13 + }; 14 + path_db = { 15 + connection = "/var/lib/scion-daemon/sd.path.db"; 16 + }; 17 + trust_db = { 18 + connection = "/var/lib/scion-daemon/sd.trust.db"; 19 + }; 20 + log.console = { 21 + level = "info"; 22 + }; 23 + }; 24 + configFile = toml.generate "scion-daemon.toml" (defaultConfig // cfg.settings); 25 + in 26 + { 27 + options.services.scion.scion-daemon = { 28 + enable = mkEnableOption (lib.mdDoc "the scion-daemon service"); 29 + settings = mkOption { 30 + default = { }; 31 + type = toml.type; 32 + example = literalExpression '' 33 + { 34 + path_db = { 35 + connection = "/var/lib/scion-daemon/sd.path.db"; 36 + }; 37 + log.console = { 38 + level = "info"; 39 + }; 40 + } 41 + ''; 42 + description = lib.mdDoc '' 43 + scion-daemon configuration. Refer to 44 + <https://docs.scion.org/en/latest/manuals/common.html> 45 + for details on supported values. 46 + ''; 47 + }; 48 + }; 49 + config = mkIf cfg.enable { 50 + systemd.services.scion-daemon = { 51 + description = "SCION Daemon"; 52 + after = [ "network-online.target" "scion-dispatcher.service" ]; 53 + wants = [ "network-online.target" "scion-dispatcher.service" ]; 54 + wantedBy = [ "multi-user.target" ]; 55 + serviceConfig = { 56 + Type = "simple"; 57 + ExecStart = "${pkgs.scion}/bin/scion-daemon --config ${configFile}"; 58 + Restart = "on-failure"; 59 + DynamicUser = true; 60 + StateDirectory = "scion-daemon"; 61 + }; 62 + }; 63 + }; 64 + }
+74
nixos/modules/services/networking/scion/scion-dispatcher.nix
···
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.scion.scion-dispatcher; 7 + toml = pkgs.formats.toml { }; 8 + defaultConfig = { 9 + dispatcher = { 10 + id = "dispatcher"; 11 + socket_file_mode = "0770"; 12 + application_socket = "/dev/shm/dispatcher/default.sock"; 13 + }; 14 + log.console = { 15 + level = "info"; 16 + }; 17 + }; 18 + configFile = toml.generate "scion-dispatcher.toml" (defaultConfig // cfg.settings); 19 + in 20 + { 21 + options.services.scion.scion-dispatcher = { 22 + enable = mkEnableOption (lib.mdDoc "the scion-dispatcher service"); 23 + settings = mkOption { 24 + default = { }; 25 + type = toml.type; 26 + example = literalExpression '' 27 + { 28 + dispatcher = { 29 + id = "dispatcher"; 30 + socket_file_mode = "0770"; 31 + application_socket = "/dev/shm/dispatcher/default.sock"; 32 + }; 33 + log.console = { 34 + level = "info"; 35 + }; 36 + } 37 + ''; 38 + description = lib.mdDoc '' 39 + scion-dispatcher configuration. Refer to 40 + <https://docs.scion.org/en/latest/manuals/common.html> 41 + for details on supported values. 42 + ''; 43 + }; 44 + }; 45 + config = mkIf cfg.enable { 46 + # Needed for group ownership of the dispatcher socket 47 + users.groups.scion = {}; 48 + 49 + # scion programs hardcode path to dispatcher in /run/shm, and is not 50 + # configurable at runtime upstream plans to obsolete the dispatcher in 51 + # favor of an SCMP daemon, at which point this can be removed. 52 + system.activationScripts.scion-dispatcher = '' 53 + ln -sf /dev/shm /run/shm 54 + ''; 55 + 56 + systemd.services.scion-dispatcher = { 57 + description = "SCION Dispatcher"; 58 + after = [ "network-online.target" ]; 59 + wants = [ "network-online.target" ]; 60 + wantedBy = [ "multi-user.target" ]; 61 + serviceConfig = { 62 + Type = "simple"; 63 + Group = "scion"; 64 + DynamicUser = true; 65 + BindPaths = [ "/dev/shm:/run/shm" ]; 66 + ExecStartPre = "${pkgs.coreutils}/bin/rm -rf /run/shm/dispatcher"; 67 + ExecStart = "${pkgs.scion}/bin/scion-dispatcher --config ${configFile}"; 68 + Restart = "on-failure"; 69 + StateDirectory = "scion-dispatcher"; 70 + }; 71 + }; 72 + }; 73 + } 74 +
+49
nixos/modules/services/networking/scion/scion-router.nix
···
··· 1 + { config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.scion.scion-router; 7 + toml = pkgs.formats.toml { }; 8 + defaultConfig = { 9 + general = { 10 + id = "br"; 11 + config_dir = "/etc/scion"; 12 + }; 13 + }; 14 + configFile = toml.generate "scion-router.toml" (defaultConfig // cfg.settings); 15 + in 16 + { 17 + options.services.scion.scion-router = { 18 + enable = mkEnableOption (lib.mdDoc "the scion-router service"); 19 + settings = mkOption { 20 + default = { }; 21 + type = toml.type; 22 + example = literalExpression '' 23 + { 24 + general.id = "br"; 25 + } 26 + ''; 27 + description = lib.mdDoc '' 28 + scion-router configuration. Refer to 29 + <https://docs.scion.org/en/latest/manuals/common.html> 30 + for details on supported values. 31 + ''; 32 + }; 33 + }; 34 + config = mkIf cfg.enable { 35 + systemd.services.scion-router = { 36 + description = "SCION Router"; 37 + after = [ "network-online.target" ]; 38 + wants = [ "network-online.target" ]; 39 + wantedBy = [ "multi-user.target" ]; 40 + serviceConfig = { 41 + Type = "simple"; 42 + ExecStart = "${pkgs.scion}/bin/scion-router --config ${configFile}"; 43 + Restart = "on-failure"; 44 + DynamicUser = true; 45 + StateDirectory = "scion-router"; 46 + }; 47 + }; 48 + }; 49 + }
+39
nixos/modules/services/networking/scion/scion.nix
···
··· 1 + { config, lib, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.scion; 7 + in 8 + { 9 + options.services.scion = { 10 + enable = mkEnableOption (lib.mdDoc "all of the scion components and services"); 11 + bypassBootstrapWarning = mkOption { 12 + type = types.bool; 13 + default = false; 14 + description = lib.mdDoc '' 15 + bypass Nix warning about SCION PKI bootstrapping 16 + ''; 17 + }; 18 + }; 19 + config = mkIf cfg.enable { 20 + services.scion = { 21 + scion-dispatcher.enable = true; 22 + scion-daemon.enable = true; 23 + scion-router.enable = true; 24 + scion-control.enable = true; 25 + }; 26 + assertions = [ 27 + { assertion = cfg.bypassBootstrapWarning == true; 28 + message = '' 29 + SCION is a routing protocol and requires bootstrapping with a manual, imperative key signing ceremony. You may want to join an existing Isolation Domain (ISD) such as scionlab.org, or bootstrap your own. If you have completed and configured the public key infrastructure for SCION and are sure this process is complete, then add the following to your configuration: 30 + 31 + services.scion.bypassBootstrapWarning = true; 32 + 33 + refer to docs.scion.org for more information 34 + ''; 35 + } 36 + ]; 37 + }; 38 + } 39 +
+43 -20
nixos/modules/services/web-apps/kavita.nix
··· 2 3 let 4 cfg = config.services.kavita; 5 - in { 6 options.services.kavita = { 7 enable = lib.mkEnableOption (lib.mdDoc "Kavita reading server"); 8 ··· 27 It can be generated with `head -c 32 /dev/urandom | base64`. 28 ''; 29 }; 30 - port = lib.mkOption { 31 - default = 5000; 32 - type = lib.types.port; 33 - description = lib.mdDoc "Port to bind to."; 34 - }; 35 - ipAdresses = lib.mkOption { 36 - default = ["0.0.0.0" "::"]; 37 - type = lib.types.listOf lib.types.str; 38 - description = lib.mdDoc "IP Addresses to bind to. The default is to bind 39 - to all IPv4 and IPv6 addresses."; 40 }; 41 }; 42 ··· 46 wantedBy = [ "multi-user.target" ]; 47 after = [ "network.target" ]; 48 preStart = '' 49 - umask u=rwx,g=rx,o= 50 - cat > "${cfg.dataDir}/config/appsettings.json" <<EOF 51 - { 52 - "TokenKey": "$(cat ${cfg.tokenKeyFile})", 53 - "Port": ${toString cfg.port}, 54 - "IpAddresses": "${lib.concatStringsSep "," cfg.ipAdresses}" 55 - } 56 - EOF 57 ''; 58 serviceConfig = { 59 WorkingDirectory = cfg.dataDir; 60 - ExecStart = "${lib.getExe cfg.package}"; 61 Restart = "always"; 62 User = cfg.user; 63 };
··· 2 3 let 4 cfg = config.services.kavita; 5 + settingsFormat = pkgs.formats.json { }; 6 + appsettings = settingsFormat.generate "appsettings.json" ({ TokenKey = "@TOKEN@"; } // cfg.settings); 7 + in 8 + { 9 + imports = [ 10 + (lib.mkChangedOptionModule [ "services" "kavita" "ipAdresses" ] [ "services" "kavita" "settings" "IpAddresses" ] (config: 11 + let value = lib.getAttrFromPath [ "services" "kavita" "ipAdresses" ] config; in 12 + lib.concatStringsSep "," value 13 + )) 14 + (lib.mkRenamedOptionModule [ "services" "kavita" "port" ] [ "services" "kavita" "settings" "Port" ]) 15 + ]; 16 + 17 options.services.kavita = { 18 enable = lib.mkEnableOption (lib.mdDoc "Kavita reading server"); 19 ··· 38 It can be generated with `head -c 32 /dev/urandom | base64`. 39 ''; 40 }; 41 + 42 + settings = lib.mkOption { 43 + default = { }; 44 + description = lib.mdDoc '' 45 + Kavita configuration options, as configured in {file}`appsettings.json`. 46 + ''; 47 + type = lib.types.submodule { 48 + freeformType = settingsFormat.type; 49 + 50 + options = { 51 + Port = lib.mkOption { 52 + default = 5000; 53 + type = lib.types.port; 54 + description = lib.mdDoc "Port to bind to."; 55 + }; 56 + 57 + IpAddresses = lib.mkOption { 58 + default = "0.0.0.0,::"; 59 + type = lib.types.commas; 60 + description = lib.mdDoc '' 61 + IP Addresses to bind to. The default is to bind to all IPv4 and IPv6 addresses. 62 + ''; 63 + }; 64 + }; 65 + }; 66 }; 67 }; 68 ··· 72 wantedBy = [ "multi-user.target" ]; 73 after = [ "network.target" ]; 74 preStart = '' 75 + install -m600 ${appsettings} ${lib.escapeShellArg cfg.dataDir}/config/appsettings.json 76 + ${pkgs.replace-secret}/bin/replace-secret '@TOKEN@' \ 77 + ''${CREDENTIALS_DIRECTORY}/token \ 78 + '${cfg.dataDir}/config/appsettings.json' 79 ''; 80 serviceConfig = { 81 WorkingDirectory = cfg.dataDir; 82 + LoadCredential = [ "token:${cfg.tokenKeyFile}" ]; 83 + ExecStart = lib.getExe cfg.package; 84 Restart = "always"; 85 User = cfg.user; 86 };
+1
nixos/modules/virtualisation/incus.nix
··· 263 { 264 INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config"; 265 INCUS_OVMF_PATH = ovmf; 266 PATH = lib.mkForce serverBinPath; 267 } 268 (lib.mkIf (cfg.ui.enable) { "INCUS_UI" = cfg.ui.package; })
··· 263 { 264 INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config"; 265 INCUS_OVMF_PATH = ovmf; 266 + INCUS_USBIDS_PATH = "${pkgs.hwdata}/share/hwdata/usb.ids"; 267 PATH = lib.mkForce serverBinPath; 268 } 269 (lib.mkIf (cfg.ui.enable) { "INCUS_UI" = cfg.ui.package; })
+2
nixos/tests/all-tests.nix
··· 791 sanoid = handleTest ./sanoid.nix {}; 792 scaphandre = handleTest ./scaphandre.nix {}; 793 schleuder = handleTest ./schleuder.nix {}; 794 scrutiny = handleTest ./scrutiny.nix {}; 795 sddm = handleTest ./sddm.nix {}; 796 seafile = handleTest ./seafile.nix {}; ··· 963 user-activation-scripts = handleTest ./user-activation-scripts.nix {}; 964 user-expiry = runTest ./user-expiry.nix; 965 user-home-mode = handleTest ./user-home-mode.nix {}; 966 uwsgi = handleTest ./uwsgi.nix {}; 967 v2ray = handleTest ./v2ray.nix {}; 968 varnish60 = handleTest ./varnish.nix { package = pkgs.varnish60; };
··· 791 sanoid = handleTest ./sanoid.nix {}; 792 scaphandre = handleTest ./scaphandre.nix {}; 793 schleuder = handleTest ./schleuder.nix {}; 794 + scion-freestanding-deployment = handleTest ./scion/freestanding-deployment {}; 795 scrutiny = handleTest ./scrutiny.nix {}; 796 sddm = handleTest ./sddm.nix {}; 797 seafile = handleTest ./seafile.nix {}; ··· 964 user-activation-scripts = handleTest ./user-activation-scripts.nix {}; 965 user-expiry = runTest ./user-expiry.nix; 966 user-home-mode = handleTest ./user-home-mode.nix {}; 967 + ustreamer = handleTest ./ustreamer.nix {}; 968 uwsgi = handleTest ./uwsgi.nix {}; 969 v2ray = handleTest ./v2ray.nix {}; 970 varnish60 = handleTest ./varnish.nix { package = pkgs.varnish60; };
+26 -20
nixos/tests/kavita.nix
··· 1 - import ./make-test-python.nix ({ pkgs, ...} : { 2 name = "kavita"; 3 meta = with pkgs.lib.maintainers; { 4 maintainers = [ misterio77 ]; ··· 8 kavita = { config, pkgs, ... }: { 9 services.kavita = { 10 enable = true; 11 - port = 5000; 12 - tokenKeyFile = builtins.toFile "kavita.key" "QfpjFvjT83BLtZ74GE3U3Q=="; 13 }; 14 }; 15 }; 16 17 - testScript = let 18 - regUrl = "http://kavita:5000/api/Account/register"; 19 - payload = builtins.toFile "payload.json" (builtins.toJSON { 20 - username = "foo"; 21 - password = "correcthorsebatterystaple"; 22 - email = "foo@bar"; 23 - }); 24 - in '' 25 - kavita.start 26 - kavita.wait_for_unit("kavita.service") 27 28 - # Check that static assets are working 29 - kavita.wait_until_succeeds("curl http://kavita:5000/site.webmanifest | grep Kavita") 30 31 - # Check that registration is working 32 - kavita.succeed("curl -fX POST ${regUrl} --json @${payload}") 33 - # But only for the first one 34 - kavita.fail("curl -fX POST ${regUrl} --json @${payload}") 35 - ''; 36 })
··· 1 + import ./make-test-python.nix ({ pkgs, ... }: { 2 name = "kavita"; 3 meta = with pkgs.lib.maintainers; { 4 maintainers = [ misterio77 ]; ··· 8 kavita = { config, pkgs, ... }: { 9 services.kavita = { 10 enable = true; 11 + tokenKeyFile = builtins.toFile "kavita.key" "d26ba694b455271a8872415830fb7b5c58f8da98f9ef7f58b2ca4c34bd406512"; 12 }; 13 }; 14 }; 15 16 + testScript = 17 + let 18 + regUrl = "http://kavita:5000/api/Account/register"; 19 + loginUrl = "http://kavita:5000/api/Account/login"; 20 + localeUrl = "http://kavita:5000/api/locale"; 21 + in 22 + '' 23 + import json 24 25 + kavita.start 26 + kavita.wait_for_unit("kavita.service") 27 + 28 + # Check that static assets are working 29 + kavita.wait_until_succeeds("curl http://kavita:5000/site.webmanifest | grep Kavita") 30 + 31 + # Check that registration is working 32 + kavita.succeed("""curl -fX POST ${regUrl} --json '{"username": "foo", "password": "correcthorsebatterystaple"}'""") 33 + # But only for the first one 34 + kavita.fail("""curl -fX POST ${regUrl} --json '{"username": "foo", "password": "correcthorsebatterystaple"}'""") 35 36 + # Log in and retrieve token 37 + session = json.loads(kavita.succeed("""curl -fX POST ${loginUrl} --json '{"username": "foo", "password": "correcthorsebatterystaple"}'""")) 38 + # Check list of locales 39 + locales = json.loads(kavita.succeed(f"curl -fX GET ${localeUrl} -H 'Authorization: Bearer {session['token']}'")) 40 + assert len(locales) > 0, "expected a list of locales" 41 + ''; 42 })
+12
nixos/tests/scion/freestanding-deployment/README.rst
···
··· 1 + This NixOS VM test implements the network topology outlined in https://github.com/scionproto/scion/blob/27983125bccac6b84d1f96f406853aab0e460405/doc/tutorials/deploy.rst#sample-scion-demo-topology, below is an excerpt from that document 2 + 3 + Sample SCION Demo Topology 4 + .......................... 5 + 6 + The topology of the ISD includes the inter-AS connections to neighboring ASes, and defines the underlay IP/UDP addresses of services and routers running in this AS. This is specified in topology files - this guide later explains how to configure these files. A following graphic depicts the topology on a high level. 7 + 8 + .. figure:: https://github.com/scionproto/scion/raw/27983125bccac6b84d1f96f406853aab0e460405/doc/tutorials/deploy/SCION-deployment-guide.drawio.png 9 + :width: 95 % 10 + :figwidth: 100 % 11 + 12 + *Figure 1 - Topology of the sample SCION demo environment. It consists of 1 ISD, 3 core ASes and 2 non-core ASes.*
+172
nixos/tests/scion/freestanding-deployment/default.nix
···
··· 1 + # implements https://github.com/scionproto/scion/blob/27983125bccac6b84d1f96f406853aab0e460405/doc/tutorials/deploy.rst 2 + import ../../make-test-python.nix ({ pkgs, ... }: 3 + let 4 + trust-root-configuration-keys = pkgs.runCommand "generate-trc-keys.sh" { 5 + buildInputs = [ 6 + pkgs.scion 7 + ]; 8 + } '' 9 + set -euo pipefail 10 + 11 + mkdir /tmp/tutorial-scion-certs && cd /tmp/tutorial-scion-certs 12 + mkdir AS{1..5} 13 + 14 + # Create voting and root keys and (self-signed) certificates for core ASes 15 + pushd AS1 16 + scion-pki certificate create --not-after=3650d --profile=sensitive-voting <(echo '{"isd_as": "42-ffaa:1:1", "common_name": "42-ffaa:1:1 sensitive voting cert"}') sensitive-voting.pem sensitive-voting.key 17 + scion-pki certificate create --not-after=3650d --profile=regular-voting <(echo '{"isd_as": "42-ffaa:1:1", "common_name": "42-ffaa:1:1 regular voting cert"}') regular-voting.pem regular-voting.key 18 + scion-pki certificate create --not-after=3650d --profile=cp-root <(echo '{"isd_as": "42-ffaa:1:1", "common_name": "42-ffaa:1:1 cp root cert"}') cp-root.pem cp-root.key 19 + popd 20 + 21 + pushd AS2 22 + scion-pki certificate create --not-after=3650d --profile=cp-root <(echo '{"isd_as": "42-ffaa:1:2", "common_name": "42-ffaa:1:2 cp root cert"}') cp-root.pem cp-root.key 23 + popd 24 + 25 + pushd AS3 26 + scion-pki certificate create --not-after=3650d --profile=sensitive-voting <(echo '{"isd_as": "42-ffaa:1:3", "common_name": "42-ffaa:1:3 sensitive voting cert"}') sensitive-voting.pem sensitive-voting.key 27 + scion-pki certificate create --not-after=3650d --profile=regular-voting <(echo '{"isd_as": "42-ffaa:1:3", "common_name": "42-ffaa:1:3 regular voting cert"}') regular-voting.pem regular-voting.key 28 + popd 29 + 30 + # Create the TRC (Trust Root Configuration) 31 + mkdir tmp 32 + echo ' 33 + isd = 42 34 + description = "Demo ISD 42" 35 + serial_version = 1 36 + base_version = 1 37 + voting_quorum = 2 38 + 39 + core_ases = ["ffaa:1:1", "ffaa:1:2", "ffaa:1:3"] 40 + authoritative_ases = ["ffaa:1:1", "ffaa:1:2", "ffaa:1:3"] 41 + cert_files = ["AS1/sensitive-voting.pem", "AS1/regular-voting.pem", "AS1/cp-root.pem", "AS2/cp-root.pem", "AS3/sensitive-voting.pem", "AS3/regular-voting.pem"] 42 + 43 + [validity] 44 + not_before = '$(date +%s)' 45 + validity = "365d"' \ 46 + > trc-B1-S1-pld.tmpl 47 + 48 + scion-pki trc payload --out=tmp/ISD42-B1-S1.pld.der --template trc-B1-S1-pld.tmpl 49 + rm trc-B1-S1-pld.tmpl 50 + 51 + # Sign and bundle the TRC 52 + scion-pki trc sign tmp/ISD42-B1-S1.pld.der AS1/sensitive-voting.{pem,key} --out tmp/ISD42-B1-S1.AS1-sensitive.trc 53 + scion-pki trc sign tmp/ISD42-B1-S1.pld.der AS1/regular-voting.{pem,key} --out tmp/ISD42-B1-S1.AS1-regular.trc 54 + scion-pki trc sign tmp/ISD42-B1-S1.pld.der AS3/sensitive-voting.{pem,key} --out tmp/ISD42-B1-S1.AS3-sensitive.trc 55 + scion-pki trc sign tmp/ISD42-B1-S1.pld.der AS3/regular-voting.{pem,key} --out tmp/ISD42-B1-S1.AS3-regular.trc 56 + 57 + scion-pki trc combine tmp/ISD42-B1-S1.AS{1,3}-{sensitive,regular}.trc --payload tmp/ISD42-B1-S1.pld.der --out ISD42-B1-S1.trc 58 + rm tmp -r 59 + 60 + # Create CA key and certificate for issuing ASes 61 + pushd AS1 62 + scion-pki certificate create --profile=cp-ca <(echo '{"isd_as": "42-ffaa:1:1", "common_name": "42-ffaa:1:1 CA cert"}') cp-ca.pem cp-ca.key --ca cp-root.pem --ca-key cp-root.key 63 + popd 64 + pushd AS2 65 + scion-pki certificate create --profile=cp-ca <(echo '{"isd_as": "42-ffaa:1:2", "common_name": "42-ffaa:1:2 CA cert"}') cp-ca.pem cp-ca.key --ca cp-root.pem --ca-key cp-root.key 66 + popd 67 + 68 + # Create AS key and certificate chains 69 + scion-pki certificate create --profile=cp-as <(echo '{"isd_as": "42-ffaa:1:1", "common_name": "42-ffaa:1:1 AS cert"}') AS1/cp-as.pem AS1/cp-as.key --ca AS1/cp-ca.pem --ca-key AS1/cp-ca.key --bundle 70 + scion-pki certificate create --profile=cp-as <(echo '{"isd_as": "42-ffaa:1:2", "common_name": "42-ffaa:1:2 AS cert"}') AS2/cp-as.pem AS2/cp-as.key --ca AS2/cp-ca.pem --ca-key AS2/cp-ca.key --bundle 71 + scion-pki certificate create --profile=cp-as <(echo '{"isd_as": "42-ffaa:1:3", "common_name": "42-ffaa:1:3 AS cert"}') AS3/cp-as.pem AS3/cp-as.key --ca AS1/cp-ca.pem --ca-key AS1/cp-ca.key --bundle 72 + scion-pki certificate create --profile=cp-as <(echo '{"isd_as": "42-ffaa:1:4", "common_name": "42-ffaa:1:4 AS cert"}') AS4/cp-as.pem AS4/cp-as.key --ca AS1/cp-ca.pem --ca-key AS1/cp-ca.key --bundle 73 + scion-pki certificate create --profile=cp-as <(echo '{"isd_as": "42-ffaa:1:5", "common_name": "42-ffaa:1:5 AS cert"}') AS5/cp-as.pem AS5/cp-as.key --ca AS2/cp-ca.pem --ca-key AS2/cp-ca.key --bundle 74 + 75 + for i in {1..5} 76 + do 77 + mkdir -p $out/AS$i 78 + cp AS$i/cp-as.{key,pem} $out/AS$i 79 + done 80 + 81 + mv *.trc $out 82 + ''; 83 + imports = hostId: [ 84 + ({ 85 + services.scion = { 86 + enable = true; 87 + bypassBootstrapWarning = true; 88 + }; 89 + networking = { 90 + useNetworkd = true; 91 + useDHCP = false; 92 + }; 93 + systemd.network.networks."01-eth1" = { 94 + name = "eth1"; 95 + networkConfig.Address = "192.168.1.${toString hostId}/24"; 96 + }; 97 + environment.etc = { 98 + "scion/topology.json".source = ./topology${toString hostId}.json; 99 + "scion/crypto/as".source = trust-root-configuration-keys + "/AS${toString hostId}"; 100 + "scion/certs/ISD42-B1-S1.trc".source = trust-root-configuration-keys + "/ISD42-B1-S1.trc"; 101 + "scion/keys/master0.key".text = "U${toString hostId}v4k23ZXjGDwDofg/Eevw=="; 102 + "scion/keys/master1.key".text = "dBMko${toString hostId}qMS8DfrN/zP2OUdA=="; 103 + }; 104 + environment.systemPackages = [ 105 + pkgs.scion 106 + ]; 107 + }) 108 + ]; 109 + in 110 + { 111 + name = "scion-test"; 112 + nodes = { 113 + scion01 = { ... }: { 114 + imports = (imports 1); 115 + }; 116 + scion02 = { ... }: { 117 + imports = (imports 2); 118 + }; 119 + scion03 = { ... }: { 120 + imports = (imports 3); 121 + }; 122 + scion04 = { ... }: { 123 + imports = (imports 4); 124 + }; 125 + scion05 = { ... }: { 126 + imports = (imports 5); 127 + }; 128 + }; 129 + testScript = let 130 + pingAll = pkgs.writeShellScript "ping-all-scion.sh" '' 131 + addresses="42-ffaa:1:1 42-ffaa:1:2 42-ffaa:1:3 42-ffaa:1:4 42-ffaa:1:5" 132 + timeout=100 133 + wait_for_all() { 134 + for as in "$@" 135 + do 136 + scion showpaths $as --no-probe > /dev/null 137 + return 1 138 + done 139 + return 0 140 + } 141 + ping_all() { 142 + for as in "$@" 143 + do 144 + scion ping "$as,127.0.0.1" -c 3 145 + done 146 + return 0 147 + } 148 + for i in $(seq 0 $timeout); do 149 + wait_for_all $addresses && exit 0 150 + ping_all $addresses && exit 0 151 + sleep 1 152 + done 153 + ''; 154 + in 155 + '' 156 + # List of AS instances 157 + machines = [scion01, scion02, scion03, scion04, scion05] 158 + 159 + # Wait for scion-control.service on all instances 160 + for i in machines: 161 + i.wait_for_unit("scion-control.service") 162 + 163 + # Execute pingAll command on all instances 164 + for i in machines: 165 + i.succeed("${pingAll} >&2") 166 + 167 + # Restart scion-dispatcher and ping again to test robustness 168 + for i in machines: 169 + i.succeed("systemctl restart scion-dispatcher >&2") 170 + i.succeed("${pingAll} >&2") 171 + ''; 172 + })
+51
nixos/tests/scion/freestanding-deployment/topology1.json
···
··· 1 + { 2 + "attributes": [ 3 + "core" 4 + ], 5 + "isd_as": "42-ffaa:1:1", 6 + "mtu": 1472, 7 + "control_service": { 8 + "cs": { 9 + "addr": "127.0.0.1:31000" 10 + } 11 + }, 12 + "discovery_service": { 13 + "cs": { 14 + "addr": "127.0.0.1:31000" 15 + } 16 + }, 17 + "border_routers": { 18 + "br": { 19 + "internal_addr": "127.0.0.1:31002", 20 + "interfaces": { 21 + "1": { 22 + "underlay": { 23 + "public": "192.168.1.1:50014", 24 + "remote": "192.168.1.4:50014" 25 + }, 26 + "isd_as": "42-ffaa:1:4", 27 + "link_to": "child", 28 + "mtu": 1472 29 + }, 30 + "2": { 31 + "underlay": { 32 + "public": "192.168.1.1:50012", 33 + "remote": "192.168.1.2:50012" 34 + }, 35 + "isd_as": "42-ffaa:1:2", 36 + "link_to": "core", 37 + "mtu": 1472 38 + }, 39 + "3": { 40 + "underlay": { 41 + "public": "192.168.1.1:50013", 42 + "remote": "192.168.1.3:50013" 43 + }, 44 + "isd_as": "42-ffaa:1:3", 45 + "link_to": "core", 46 + "mtu": 1472 47 + } 48 + } 49 + } 50 + } 51 + }
+51
nixos/tests/scion/freestanding-deployment/topology2.json
···
··· 1 + { 2 + "attributes": [ 3 + "core" 4 + ], 5 + "isd_as": "42-ffaa:1:2", 6 + "mtu": 1472, 7 + "control_service": { 8 + "cs": { 9 + "addr": "127.0.0.1:31000" 10 + } 11 + }, 12 + "discovery_service": { 13 + "cs": { 14 + "addr": "127.0.0.1:31000" 15 + } 16 + }, 17 + "border_routers": { 18 + "br": { 19 + "internal_addr": "127.0.0.1:31002", 20 + "interfaces": { 21 + "1": { 22 + "underlay": { 23 + "public": "192.168.1.2:50012", 24 + "remote": "192.168.1.1:50012" 25 + }, 26 + "isd_as": "42-ffaa:1:1", 27 + "link_to": "core", 28 + "mtu": 1472 29 + }, 30 + "2": { 31 + "underlay": { 32 + "public": "192.168.1.2:50023", 33 + "remote": "192.168.1.3:50023" 34 + }, 35 + "isd_as": "42-ffaa:1:3", 36 + "link_to": "core", 37 + "mtu": 1472 38 + }, 39 + "3": { 40 + "underlay": { 41 + "public": "192.168.1.2:50025", 42 + "remote": "192.168.1.5:50025" 43 + }, 44 + "isd_as": "42-ffaa:1:5", 45 + "link_to": "child", 46 + "mtu": 1472 47 + } 48 + } 49 + } 50 + } 51 + }
+60
nixos/tests/scion/freestanding-deployment/topology3.json
···
··· 1 + { 2 + "attributes": [ 3 + "core" 4 + ], 5 + "isd_as": "42-ffaa:1:3", 6 + "mtu": 1472, 7 + "control_service": { 8 + "cs": { 9 + "addr": "127.0.0.1:31000" 10 + } 11 + }, 12 + "discovery_service": { 13 + "cs": { 14 + "addr": "127.0.0.1:31000" 15 + } 16 + }, 17 + "border_routers": { 18 + "br": { 19 + "internal_addr": "127.0.0.1:31002", 20 + "interfaces": { 21 + "1": { 22 + "underlay": { 23 + "public": "192.168.1.3:50013", 24 + "remote": "192.168.1.1:50013" 25 + }, 26 + "isd_as": "42-ffaa:1:1", 27 + "link_to": "core", 28 + "mtu": 1472 29 + }, 30 + "2": { 31 + "underlay": { 32 + "public": "192.168.1.3:50023", 33 + "remote": "192.168.1.2:50023" 34 + }, 35 + "isd_as": "42-ffaa:1:2", 36 + "link_to": "core", 37 + "mtu": 1472 38 + }, 39 + "3": { 40 + "underlay": { 41 + "public": "192.168.1.3:50034", 42 + "remote": "192.168.1.4:50034" 43 + }, 44 + "isd_as": "42-ffaa:1:4", 45 + "link_to": "child", 46 + "mtu": 1472 47 + }, 48 + "4": { 49 + "underlay": { 50 + "public": "192.168.1.3:50035", 51 + "remote": "192.168.1.5:50035" 52 + }, 53 + "isd_as": "42-ffaa:1:5", 54 + "link_to": "child", 55 + "mtu": 1472 56 + } 57 + } 58 + } 59 + } 60 + }
+40
nixos/tests/scion/freestanding-deployment/topology4.json
···
··· 1 + { 2 + "attributes": [], 3 + "isd_as": "42-ffaa:1:4", 4 + "mtu": 1472, 5 + "control_service": { 6 + "cs": { 7 + "addr": "127.0.0.1:31000" 8 + } 9 + }, 10 + "discovery_service": { 11 + "cs": { 12 + "addr": "127.0.0.1:31000" 13 + } 14 + }, 15 + "border_routers": { 16 + "br": { 17 + "internal_addr": "127.0.0.1:31002", 18 + "interfaces": { 19 + "1": { 20 + "underlay": { 21 + "public": "192.168.1.4:50014", 22 + "remote": "192.168.1.1:50014" 23 + }, 24 + "isd_as": "42-ffaa:1:1", 25 + "link_to": "parent", 26 + "mtu": 1472 27 + }, 28 + "2": { 29 + "underlay": { 30 + "public": "192.168.1.4:50034", 31 + "remote": "192.168.1.3:50034" 32 + }, 33 + "isd_as": "42-ffaa:1:3", 34 + "link_to": "parent", 35 + "mtu": 1472 36 + } 37 + } 38 + } 39 + } 40 + }
+40
nixos/tests/scion/freestanding-deployment/topology5.json
···
··· 1 + { 2 + "attributes": [], 3 + "isd_as": "42-ffaa:1:5", 4 + "mtu": 1472, 5 + "control_service": { 6 + "cs": { 7 + "addr": "127.0.0.1:31000" 8 + } 9 + }, 10 + "discovery_service": { 11 + "cs": { 12 + "addr": "127.0.0.1:31000" 13 + } 14 + }, 15 + "border_routers": { 16 + "br": { 17 + "internal_addr": "127.0.0.1:31002", 18 + "interfaces": { 19 + "1": { 20 + "underlay": { 21 + "public": "192.168.1.5:50025", 22 + "remote": "192.168.1.2:50025" 23 + }, 24 + "isd_as": "42-ffaa:1:2", 25 + "link_to": "parent", 26 + "mtu": 1472 27 + }, 28 + "2": { 29 + "underlay": { 30 + "public": "192.168.1.5:50035", 31 + "remote": "192.168.1.3:50035" 32 + }, 33 + "isd_as": "42-ffaa:1:3", 34 + "link_to": "parent", 35 + "mtu": 1472 36 + } 37 + } 38 + } 39 + } 40 + }
+75
nixos/tests/ustreamer.nix
···
··· 1 + import ./make-test-python.nix ({ pkgs, ... }: { 2 + name = "ustreamer-vmtest"; 3 + nodes = { 4 + client = {...}: { 5 + environment.systemPackages = [ pkgs.curl ]; 6 + }; 7 + camera = {config, ...}: let 8 + configFile = pkgs.writeText "akvcam-configFile" '' 9 + [Cameras] 10 + cameras/size = 2 11 + 12 + cameras/1/type = output 13 + cameras/1/mode = mmap, userptr, rw 14 + cameras/1/description = Virtual Camera (output device) 15 + cameras/1/formats = 2 16 + cameras/1/videonr = 7 17 + 18 + cameras/2/type = capture 19 + cameras/2/mode = mmap, rw 20 + cameras/2/description = Virtual Camera 21 + cameras/2/formats = 1, 2 22 + cameras/2/videonr = 9 23 + 24 + [Connections] 25 + connections/size = 1 26 + connections/1/connection = 1:2 27 + 28 + [Formats] 29 + formats/size = 2 30 + 31 + formats/1/format = YUY2 32 + formats/1/width = 640 33 + formats/1/height = 480 34 + formats/1/fps = 30 35 + 36 + formats/2/format = RGB24, YUY2 37 + formats/2/width = 640 38 + formats/2/height = 480 39 + formats/2/fps = 20/1, 15/2 40 + ''; 41 + in { 42 + environment.systemPackages = [ pkgs.ustreamer ]; 43 + networking.firewall.enable = false; 44 + systemd.services.ustreamer = { 45 + description = "ustreamer service"; 46 + wantedBy = ["multi-user.target"]; 47 + serviceConfig = { 48 + DynamicUser = true; 49 + ExecStart = "${pkgs.ustreamer}/bin/ustreamer --host=0.0.0.0 --port 8000 --device /dev/video9 --device-timeout=8"; 50 + PrivateTmp = true; 51 + BindReadOnlyPaths = "/dev/video9"; 52 + SupplementaryGroups = [ 53 + "video" 54 + ]; 55 + Restart = "always"; 56 + }; 57 + }; 58 + boot.extraModulePackages = [config.boot.kernelPackages.akvcam]; 59 + boot.kernelModules = ["akvcam"]; 60 + boot.extraModprobeConfig = '' 61 + options akvcam config_file=${configFile} 62 + ''; 63 + }; 64 + }; 65 + 66 + testScript = '' 67 + start_all() 68 + 69 + camera.wait_for_unit("ustreamer.service") 70 + camera.wait_for_open_port(8000) 71 + 72 + client.wait_for_unit("multi-user.target") 73 + client.succeed("curl http://camera:8000") 74 + ''; 75 + })
+21
pkgs/applications/editors/emacs/sources.nix
··· 110 variant = "macport"; 111 rev = "emacs-28.2-mac-9.1"; 112 hash = "sha256-Ne2jQ2nVLNiQmnkkOXVc5AkLVkTpm8pFC7VNY2gQjPE="; 113 }); 114 115 emacs29-macport = import ./make-emacs.nix (mkArgs {
··· 110 variant = "macport"; 111 rev = "emacs-28.2-mac-9.1"; 112 hash = "sha256-Ne2jQ2nVLNiQmnkkOXVc5AkLVkTpm8pFC7VNY2gQjPE="; 113 + patches = fetchpatch: [ 114 + # CVE-2022-45939 115 + (fetchpatch { 116 + url = "https://git.savannah.gnu.org/cgit/emacs.git/patch/?id=d48bb4874bc6cd3e69c7a15fc3c91cc141025c51"; 117 + hash = "sha256-TiBQkexn/eb6+IqJNDqR/Rn7S7LVdHmL/21A5tGsyJs="; 118 + }) 119 + 120 + # https://lists.gnu.org/archive/html/emacs-devel/2024-03/msg00611.html 121 + (fetchpatch { 122 + url = "https://gitweb.gentoo.org/proj/emacs-patches.git/plain/emacs/28.2/10_all_org-macro-eval.patch?id=af40e12cb742510e5d40a06ffc6dfca97e340dd6"; 123 + hash = "sha256-OdGt4e9JGjWJPkfJhbYsmQQc6jart4BH5aIKPIbWKFs="; 124 + }) 125 + (fetchpatch { 126 + url = "https://gitweb.gentoo.org/proj/emacs-patches.git/plain/emacs/28.2/11_all_untrusted-content.patch?id=af40e12cb742510e5d40a06ffc6dfca97e340dd6"; 127 + hash = "sha256-wa2bsnCt5yFx0+RAFZGBPI+OoKkbrfkkMer/KBEc/wA="; 128 + }) 129 + (fetchpatch { 130 + url = "https://gitweb.gentoo.org/proj/emacs-patches.git/plain/emacs/28.2/12_all_org-remote-unsafe.patch?id=af40e12cb742510e5d40a06ffc6dfca97e340dd6"; 131 + hash = "sha256-b6WU1o3PfDV/6BTPfPNUFny6oERJCNsDrvflxX3Yvek="; 132 + }) 133 + ]; 134 }); 135 136 emacs29-macport = import ./make-emacs.nix (mkArgs {
+23 -14
pkgs/applications/emulators/86box/default.nix
··· 6 , enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch 7 , enableVncRenderer ? false 8 , unfreeEnableDiscord ? false 9 }: 10 11 - stdenv.mkDerivation rec { 12 pname = "86Box"; 13 version = "4.1"; 14 15 src = fetchFromGitHub { 16 owner = "86Box"; 17 repo = "86Box"; 18 - rev = "v${version}"; 19 hash = "sha256-JYOJFXiUTLRs6AEMYNx88PwcVw13ChQzV1ZE5OtX6Ds="; 20 }; 21 ··· 48 ++ lib.optional (!enableDynarec) "-DDYNAREC=OFF" 49 ++ lib.optional (!unfreeEnableDiscord) "-DDISCORD=OFF"; 50 51 - postInstall = lib.optional stdenv.isLinux '' 52 install -Dm644 -t $out/share/applications $src/src/unix/assets/net.86box.86Box.desktop 53 54 for size in 48 64 72 96 128 192 256 512; do 55 install -Dm644 -t $out/share/icons/hicolor/"$size"x"$size"/apps \ 56 $src/src/unix/assets/"$size"x"$size"/net.86box.86Box.png 57 done; 58 ''; 59 60 # Some libraries are loaded dynamically, but QLibrary doesn't seem to search 61 # the runpath, so use a wrapper instead. 62 - postFixup = let 63 libPath = lib.makeLibraryPath ([ 64 libpcap 65 ] ++ lib.optional unfreeEnableDiscord discord-gamesdk); 66 libPathVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; 67 - in 68 - '' 69 - wrapProgram $out/bin/86Box \ 70 - "''${qtWrapperArgs[@]}" \ 71 - --prefix ${libPathVar} : "${libPath}" 72 ''; 73 - 74 - # Do not wrap twice. 75 - dontWrapQtApps = true; 76 77 meta = with lib; { 78 description = "Emulator of x86-based machines based on PCem."; 79 mainProgram = "86Box"; 80 homepage = "https://86box.net/"; 81 - license = with licenses; [ gpl2Only ] ++ optional unfreeEnableDiscord unfree; 82 maintainers = [ maintainers.jchw ]; 83 platforms = platforms.linux; 84 }; 85 - }
··· 6 , enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch 7 , enableVncRenderer ? false 8 , unfreeEnableDiscord ? false 9 + , unfreeEnableRoms ? false 10 }: 11 12 + stdenv.mkDerivation (finalAttrs: { 13 pname = "86Box"; 14 version = "4.1"; 15 16 src = fetchFromGitHub { 17 owner = "86Box"; 18 repo = "86Box"; 19 + rev = "v${finalAttrs.version}"; 20 hash = "sha256-JYOJFXiUTLRs6AEMYNx88PwcVw13ChQzV1ZE5OtX6Ds="; 21 }; 22 ··· 49 ++ lib.optional (!enableDynarec) "-DDYNAREC=OFF" 50 ++ lib.optional (!unfreeEnableDiscord) "-DDISCORD=OFF"; 51 52 + postInstall = lib.optionalString stdenv.isLinux '' 53 install -Dm644 -t $out/share/applications $src/src/unix/assets/net.86box.86Box.desktop 54 55 for size in 48 64 72 96 128 192 256 512; do 56 install -Dm644 -t $out/share/icons/hicolor/"$size"x"$size"/apps \ 57 $src/src/unix/assets/"$size"x"$size"/net.86box.86Box.png 58 done; 59 + '' 60 + + lib.optionalString unfreeEnableRoms '' 61 + mkdir -p $out/share/86Box 62 + ln -s ${finalAttrs.passthru.roms} $out/share/86Box/roms 63 ''; 64 65 + passthru = { 66 + roms = fetchFromGitHub { 67 + owner = "86Box"; 68 + repo = "roms"; 69 + rev = "v${finalAttrs.version}"; 70 + hash = "sha256-1HtoizO0QIGNjQTW0clzRp40h1ulw55+iTYz12UJSms="; 71 + }; 72 + }; 73 + 74 # Some libraries are loaded dynamically, but QLibrary doesn't seem to search 75 # the runpath, so use a wrapper instead. 76 + preFixup = let 77 libPath = lib.makeLibraryPath ([ 78 libpcap 79 ] ++ lib.optional unfreeEnableDiscord discord-gamesdk); 80 libPathVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; 81 + in '' 82 + makeWrapperArgs+=(--prefix ${libPathVar} : "${libPath}") 83 ''; 84 85 meta = with lib; { 86 description = "Emulator of x86-based machines based on PCem."; 87 mainProgram = "86Box"; 88 homepage = "https://86box.net/"; 89 + license = with licenses; [ gpl2Only ] 90 + ++ optional (unfreeEnableDiscord || unfreeEnableRoms) unfree; 91 maintainers = [ maintainers.jchw ]; 92 platforms = platforms.linux; 93 }; 94 + })
+32
pkgs/by-name/cg/cgterm/package.nix
···
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , SDL 5 + }: 6 + 7 + stdenv.mkDerivation (finalAttrs: { 8 + pname = "cg-term"; 9 + version = "1.7b2"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "MagerValp"; 13 + repo = "CGTerm"; 14 + rev = "01e35d64c29bccee52211b0afc66035a10e4792a"; # no tags 15 + hash = "sha256-Gk7t9wnVCRWwnqcItS3j031VqJnBqk6rHw1SABtzqfE="; 16 + }; 17 + 18 + buildInputs = [ 19 + SDL 20 + ]; 21 + 22 + makeFlags = [ "CC:=$(CC)" "PREFIX=$(out)" ]; 23 + 24 + meta = with lib; { 25 + description = "C/G telnet client for C64 BBS's"; 26 + homepage = "https://github.com/MagerValp/CGTerm"; 27 + license = licenses.bsd2; 28 + maintainers = with maintainers; [ matthewcroughan ]; 29 + mainProgram = "cg-term"; 30 + platforms = platforms.all; 31 + }; 32 + })
+26
pkgs/by-name/di/dipc/package.nix
···
··· 1 + { lib 2 + , rustPlatform 3 + , fetchFromGitHub 4 + }: 5 + 6 + rustPlatform.buildRustPackage rec { 7 + pname = "dipc"; 8 + version = "1.0.0"; 9 + 10 + src = fetchFromGitHub { 11 + owner = "doprz"; 12 + repo = "dipc"; 13 + rev = "bf578bd9474084b7099ef665138667e486dce671"; 14 + hash = "sha256-RXEC8bwdnUOaDmYIb7ci/JD+vi16tBn55FRsUmwaRzk="; 15 + }; 16 + 17 + cargoHash = "sha256-XQ85T64K1NLdSOtAFr0XluvFNTaHzoWKxoQtBQ+uSKQ="; 18 + 19 + meta = with lib; { 20 + description = "Convert your favorite images and wallpapers with your favorite color palettes/themes"; 21 + homepage = "https://github.com/doprz/dipc"; 22 + license = with licenses; [ mit asl20 ]; 23 + maintainers = with maintainers; [ ByteSudoer ]; 24 + mainProgram = "dipc"; 25 + }; 26 + }
+45
pkgs/by-name/dm/dmalloc/package.nix
···
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , testers 5 + , dmalloc 6 + }: 7 + 8 + stdenv.mkDerivation rec { 9 + pname = "dmalloc"; 10 + version = "5.6.5"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "j256"; 14 + repo = "dmalloc"; 15 + rev = "dmalloc_release_${lib.replaceStrings ["."] ["_"] version}"; 16 + hash = "sha256-P63I9s32C3v1q+Sy9joK0HKYb0ebBu9g72tTTwxvkz8="; 17 + }; 18 + 19 + configureFlags = [ 20 + "--enable-cxx" 21 + "--enable-shlib" 22 + "--enable-threads" 23 + ]; 24 + 25 + passthru.tests.version = testers.testVersion { 26 + package = dmalloc; 27 + }; 28 + 29 + meta = with lib; { 30 + description = "Debug Malloc memory allocation debugging C library"; 31 + longDescription = '' 32 + The debug memory allocation or "dmalloc" library has been designed as a 33 + drop in replacement for the system's malloc, realloc, calloc, free and 34 + other memory management routines while providing powerful debugging 35 + facilities configurable at runtime. These facilities include such things 36 + as memory-leak tracking, fence-post write detection, file/line number 37 + reporting, and general logging of statistics. 38 + ''; 39 + homepage = "https://dmalloc.com"; 40 + license = licenses.isc; 41 + maintainers = with maintainers; [ azahi ]; 42 + platforms = platforms.all; 43 + mainProgram = "dmalloc"; 44 + }; 45 + }
+5 -11
pkgs/by-name/gl/glide-media-player/package.nix
··· 13 , graphene 14 , gst_all_1 15 , glib-networking 16 - , darwin 17 }: 18 19 stdenv.mkDerivation rec { 20 pname = "glide-media-player"; 21 - version = "0.6.2"; 22 23 src = fetchFromGitHub { 24 owner = "philn"; 25 repo = "glide"; 26 rev = version; 27 - hash = "sha256-SN/1Yf4fHlDbJ2X6DGktsn1GFW8bbkeznlO1S8sBZyg="; 28 }; 29 30 cargoDeps = rustPlatform.fetchCargoTarball { 31 inherit src; 32 name = "${pname}-${version}"; 33 - hash = "sha256-2Ma7ZAKFiAQXFWFze4RLwGu33d/vC6FVW6fJdqwED20="; 34 }; 35 36 postPatch = '' ··· 41 patchShebangs --build \ 42 scripts/meson_post_install.py \ 43 build-aux/cargo-build.py 44 - '' + lib.optionalString stdenv.isDarwin '' 45 - sed -i "/wayland,x11egl,x11glx/d" meson.build 46 ''; 47 48 nativeBuildInputs = [ ··· 64 gst_all_1.gst-plugins-bad 65 gst_all_1.gst-plugins-good 66 glib-networking 67 - ] ++ lib.optionals stdenv.isDarwin [ 68 - darwin.apple_sdk_11_0.frameworks.IOKit 69 ]; 70 71 meta = with lib; { ··· 74 license = licenses.mit; 75 maintainers = with maintainers; [ aleksana ]; 76 mainProgram = "glide"; 77 - platforms = platforms.unix; 78 - # error: could not find system library 'gstreamer-gl-1.0' required by the 'gstreamer-gl-sys' crate 79 - broken = stdenv.isDarwin && stdenv.isx86_64; 80 }; 81 }
··· 13 , graphene 14 , gst_all_1 15 , glib-networking 16 }: 17 18 stdenv.mkDerivation rec { 19 pname = "glide-media-player"; 20 + version = "0.6.3"; 21 22 src = fetchFromGitHub { 23 owner = "philn"; 24 repo = "glide"; 25 rev = version; 26 + hash = "sha256-rWWMMuA41uFWazIJBVLxzaCrR5X5tI4x+GXXYkfeqz8="; 27 }; 28 29 cargoDeps = rustPlatform.fetchCargoTarball { 30 inherit src; 31 name = "${pname}-${version}"; 32 + hash = "sha256-Kvdbo5tkhwsah9W7Y5zqpoA3bVHfmjGj7Cjsqxkljls="; 33 }; 34 35 postPatch = '' ··· 40 patchShebangs --build \ 41 scripts/meson_post_install.py \ 42 build-aux/cargo-build.py 43 ''; 44 45 nativeBuildInputs = [ ··· 61 gst_all_1.gst-plugins-bad 62 gst_all_1.gst-plugins-good 63 glib-networking 64 ]; 65 66 meta = with lib; { ··· 69 license = licenses.mit; 70 maintainers = with maintainers; [ aleksana ]; 71 mainProgram = "glide"; 72 + # Required gdk4-{wayland,x11} and gstreamer-gl not available on darwin 73 + platforms = subtractLists platforms.darwin platforms.unix; 74 }; 75 }
-29
pkgs/by-name/in/incus/529.patch
··· 1 - From 32a4beecbf8098fdbb15ef5f36088956922630f7 Mon Sep 17 00:00:00 2001 2 - From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@stgraber.org> 3 - Date: Fri, 23 Feb 2024 18:47:15 -0500 4 - Subject: [PATCH] incusd/device/disk: Fix incorrect block volume usage 5 - MIME-Version: 1.0 6 - Content-Type: text/plain; charset=UTF-8 7 - Content-Transfer-Encoding: 8bit 8 - 9 - Signed-off-by: Stéphane Graber <stgraber@stgraber.org> 10 - --- 11 - internal/server/device/disk.go | 5 +++++ 12 - 1 file changed, 5 insertions(+) 13 - 14 - diff --git a/internal/server/device/disk.go b/internal/server/device/disk.go 15 - index 0d19e21139..4f9a3e7c1b 100644 16 - --- a/internal/server/device/disk.go 17 - +++ b/internal/server/device/disk.go 18 - @@ -339,6 +339,11 @@ func (d *disk) validateConfig(instConf instance.ConfigReader) error { 19 - var usedBy []string 20 - 21 - err = storagePools.VolumeUsedByInstanceDevices(d.state, d.pool.Name(), storageProjectName, &dbVolume.StorageVolume, true, func(inst db.InstanceArgs, project api.Project, usedByDevices []string) error { 22 - + // Don't count the current instance. 23 - + if d.inst != nil && d.inst.Project().Name == inst.Project && d.inst.Name() == inst.Name { 24 - + return nil 25 - + } 26 - + 27 - usedBy = append(usedBy, inst.Name) 28 - 29 - return nil
···
+1 -3
pkgs/by-name/in/incus/client.nix
··· 31 subPackages = [ "cmd/incus" ]; 32 33 postInstall = '' 34 - # use custom bash completion as it has extra logic for e.g. instance names 35 - installShellCompletion --bash --name incus ./scripts/bash/incus 36 - 37 installShellCompletion --cmd incus \ 38 --fish <($out/bin/incus completion fish) \ 39 --zsh <($out/bin/incus completion zsh) 40 '';
··· 31 subPackages = [ "cmd/incus" ]; 32 33 postInstall = '' 34 installShellCompletion --cmd incus \ 35 + --bash <($out/bin/incus completion bash) \ 36 --fish <($out/bin/incus completion fish) \ 37 --zsh <($out/bin/incus completion zsh) 38 '';
+1 -9
pkgs/by-name/in/incus/generic.nix
··· 45 inherit hash; 46 }; 47 48 - # replace with env var > 0.6 https://github.com/lxc/incus/pull/610 49 - postPatch = '' 50 - substituteInPlace internal/usbid/load.go \ 51 - --replace-fail "/usr/share/misc/usb.ids" "${hwdata}/share/hwdata/usb.ids" 52 - ''; 53 - 54 excludedPackages = [ 55 # statically compile these 56 "cmd/incus-agent" ··· 103 ''; 104 105 postInstall = '' 106 - # use custom bash completion as it has extra logic for e.g. instance names 107 - installShellCompletion --bash --name incus ./scripts/bash/incus 108 - 109 installShellCompletion --cmd incus \ 110 --fish <($out/bin/incus completion fish) \ 111 --zsh <($out/bin/incus completion zsh) 112 '';
··· 45 inherit hash; 46 }; 47 48 excludedPackages = [ 49 # statically compile these 50 "cmd/incus-agent" ··· 97 ''; 98 99 postInstall = '' 100 installShellCompletion --cmd incus \ 101 + --bash <($out/bin/incus completion bash) \ 102 --fish <($out/bin/incus completion fish) \ 103 --zsh <($out/bin/incus completion zsh) 104 '';
+4 -7
pkgs/by-name/in/incus/package.nix
··· 1 import ./generic.nix { 2 - hash = "sha256-tGuAS0lZvoYb+TvmCklQ8TADZhbm4w/lhdI0ycS4/0o="; 3 - version = "0.6.0"; 4 - vendorHash = "sha256-+WmgLOEBJ/7GF596iiTgyTPxn8l+hE6RVqjLKfCi5rs="; 5 - patches = [ 6 - # fix storage bug, fixed in > 0.6 7 - ./529.patch 8 - ]; 9 }
··· 1 import ./generic.nix { 2 + hash = "sha256-6TLoua3rooDRyPc5BPYgzU/oeVy6F8h+p3UtKGPZkAE="; 3 + version = "0.7.0"; 4 + vendorHash = "sha256-Slw58pszT6sbpxK6/f+ojA+uStt0zSWxztFTm5ovZr8="; 5 + patches = [ ]; 6 }
+9 -2
pkgs/by-name/in/incus/update.nu
··· 10 let current_version = nix eval --raw -f default.nix $"($attr).version" | str trim 11 12 if $latest_tag != $current_version { 13 update-source-version $attr $latest_tag $"--file=($file)" 14 15 let oldVendorHash = nix-instantiate . --eval --strict -A $"($attr).goModules.drvAttrs.outputHash" --json | from json 16 - let vendorHash = do { nix-build -A $"($attr).goModules" } | complete | get stderr | lines | str trim | find --regex 'got:[[:space:]]*sha256' | split row ' ' | last 17 - open $file | str replace $oldVendorHash $vendorHash | save --force $file 18 19 } 20 21 {"lts?": $lts, before: $current_version, after: $latest_tag}
··· 10 let current_version = nix eval --raw -f default.nix $"($attr).version" | str trim 11 12 if $latest_tag != $current_version { 13 + print $"Updating: new ($latest_tag) != old ($current_version)" 14 update-source-version $attr $latest_tag $"--file=($file)" 15 16 let oldVendorHash = nix-instantiate . --eval --strict -A $"($attr).goModules.drvAttrs.outputHash" --json | from json 17 + let checkBuild = do { nix-build -A $"($attr).goModules" } | complete 18 + let vendorHash = $checkBuild.stderr | lines | str trim | find --regex 'got:[[:space:]]*sha256' | split row ' ' | last 19 20 + if $vendorHash != null { 21 + open $file | str replace $oldVendorHash $vendorHash | save --force $file 22 + } else { 23 + print $checkBuild.stderr 24 + exit 1 25 + } 26 } 27 28 {"lts?": $lts, before: $current_version, after: $latest_tag}
+28
pkgs/by-name/jo/job-security/package.nix
···
··· 1 + { lib 2 + , stdenv 3 + , rustPlatform 4 + , fetchFromGitHub 5 + }: 6 + 7 + rustPlatform.buildRustPackage rec { 8 + pname = "job-security"; 9 + version = "unstable-0-2024-03-24"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "yshui"; 13 + repo = "job-security"; 14 + rev = "3881a4a0e66afe19cbdba3f43d0f85732796f977"; 15 + hash = "sha256-mXmDzBsHdiim0bWrs0SvgtMZmKnYVz/RV9LNqPHHlnk="; 16 + }; 17 + 18 + cargoHash = "sha256-W5evL36ByUUjvSwa3Nmf4MT2oZYoQ8kmchNOxUwmpuE="; 19 + 20 + meta = { 21 + description = "Job control from anywhere"; 22 + homepage = "https://github.com/yshui/job-security"; 23 + license = with lib.licenses; [ asl20 mit mpl20 ]; 24 + maintainers = with lib.maintainers; [ fgaz ]; 25 + mainProgram = "jobs"; 26 + broken = stdenv.isDarwin; 27 + }; 28 + }
+15
pkgs/by-name/sc/scion/package.nix
··· 2 , buildGoModule 3 , fetchFromGitHub 4 , fetchpatch2 5 }: 6 let 7 version = "0.10.0"; ··· 42 ${skipTest 1 "TestOpensslCompatible" "scion-pki/trcs/sign_test.go"} 43 ''; 44 45 doCheck = true; 46 47 patches = [ ··· 50 hash = "sha256-mMGJMPB6T7KeDXjEXffdrhzyKwaFmhuisK6PjHOJIdU="; 51 }) 52 ]; 53 54 meta = with lib; { 55 description = "A future Internet architecture utilizing path-aware networking";
··· 2 , buildGoModule 3 , fetchFromGitHub 4 , fetchpatch2 5 + , nixosTests 6 }: 7 let 8 version = "0.10.0"; ··· 43 ${skipTest 1 "TestOpensslCompatible" "scion-pki/trcs/sign_test.go"} 44 ''; 45 46 + postInstall = '' 47 + set +e 48 + mv $out/bin/gateway $out/bin/scion-ip-gateway 49 + mv $out/bin/dispatcher $out/bin/scion-dispatcher 50 + mv $out/bin/router $out/bin/scion-router 51 + mv $out/bin/control $out/bin/scion-control 52 + mv $out/bin/daemon $out/bin/scion-daemon 53 + set -e 54 + ''; 55 + 56 doCheck = true; 57 58 patches = [ ··· 61 hash = "sha256-mMGJMPB6T7KeDXjEXffdrhzyKwaFmhuisK6PjHOJIdU="; 62 }) 63 ]; 64 + 65 + passthru.tests = { 66 + inherit (nixosTests) scion-freestanding-deployment; 67 + }; 68 69 meta = with lib; { 70 description = "A future Internet architecture utilizing path-aware networking";
+80
pkgs/by-name/st/stackit-cli/package.nix
···
··· 1 + { lib 2 + , buildGoModule 3 + , fetchFromGitHub 4 + , installShellFiles 5 + , makeWrapper 6 + , less 7 + , xdg-utils 8 + , testers 9 + , runCommand 10 + , stackit-cli 11 + }: 12 + 13 + buildGoModule rec { 14 + pname = "stackit-cli"; 15 + version = "0.1.0-prerelease.2"; 16 + 17 + src = fetchFromGitHub { 18 + owner = "stackitcloud"; 19 + repo = "stackit-cli"; 20 + rev = "v${version}"; 21 + hash = "sha256-GS3ZXarhXs1xuVmiLPMrrzXnO79R1+2va0x7N7CKNjQ="; 22 + }; 23 + 24 + vendorHash = "sha256-Cill5hq8KVeKGRX2u9oIudi/s8XHIW5C8sgbTshrLY4="; 25 + 26 + subPackages = [ "." ]; 27 + 28 + CGO_ENABLED = 0; 29 + 30 + ldflags = [ 31 + "-s" 32 + "-w" 33 + "-X main.version=${version}" 34 + ]; 35 + 36 + nativeBuildInputs = [ installShellFiles makeWrapper ]; 37 + 38 + preCheck = '' 39 + export HOME=$TMPDIR # needed because the binary always creates a dir & config file 40 + ''; 41 + 42 + postInstall = '' 43 + export HOME=$TMPDIR # needed because the binary always creates a dir & config file 44 + mv $out/bin/{${pname},stackit} # rename the binary 45 + 46 + installShellCompletion --cmd stackit --bash <($out/bin/stackit completion bash) 47 + installShellCompletion --cmd stackit --zsh <($out/bin/stackit completion zsh) 48 + installShellCompletion --cmd stackit --fish <($out/bin/stackit completion fish) 49 + # Use this instead, once https://github.com/stackitcloud/stackit-cli/issues/153 is fixed: 50 + # installShellCompletion --cmd stackit \ 51 + # --bash <($out/bin/stackit completion bash) \ 52 + # --zsh <($out/bin/stackit completion zsh) \ 53 + # --fish <($out/bin/stackit completion fish) 54 + # Ensure that all 3 completion scripts exist AND have content (should be kept for regression testing) 55 + [ $(find $out/share -not -empty -type f | wc -l) -eq 3 ] 56 + ''; 57 + 58 + postFixup = '' 59 + wrapProgram $out/bin/stackit \ 60 + --suffix PATH : ${lib.makeBinPath [ less xdg-utils ]} 61 + ''; 62 + 63 + nativeCheckInputs = [ less ]; 64 + 65 + passthru.tests = { 66 + version = testers.testVersion { 67 + package = stackit-cli; 68 + command = "HOME=$TMPDIR stackit --version"; 69 + }; 70 + }; 71 + 72 + meta = with lib; { 73 + description = "CLI to manage STACKIT cloud services"; 74 + homepage = "https://github.com/stackitcloud/stackit-cli"; 75 + changelog = "https://github.com/stackitcloud/stackit-cli/releases/tag/v${version}"; 76 + license = licenses.asl20; 77 + maintainers = with maintainers; [ DerRockWolf ]; 78 + mainProgram = "stackit"; 79 + }; 80 + }
+55
pkgs/by-name/vl/vlc-bittorrent/package.nix
···
··· 1 + { lib 2 + , autoconf-archive 3 + , autoreconfHook 4 + , boost 5 + , fetchFromGitHub 6 + , libtorrent-rasterbar 7 + , libvlc 8 + , openssl 9 + , pkg-config 10 + , stdenv 11 + }: 12 + 13 + # VLC does not know where the vlc-bittorrent package is installed. 14 + # make sure to have something like: 15 + # environment.variables.VLC_PLUGIN_PATH = "${pkgs.vlc-bittorrent}"; 16 + 17 + stdenv.mkDerivation (finalAttrs: { 18 + pname = "vlc-bittorrent"; 19 + version = "2.15.0"; 20 + 21 + src = fetchFromGitHub { 22 + owner = "johang"; 23 + repo = "vlc-bittorrent"; 24 + rev = "v${finalAttrs.version}"; 25 + hash = "sha256-7FHeQYHbMKZJ3yeHqxTTAUwghTje+gEX8gSEJzfG5sQ="; 26 + }; 27 + 28 + nativeBuildInputs = [ 29 + autoconf-archive 30 + autoreconfHook 31 + pkg-config 32 + ]; 33 + 34 + buildInputs = [ 35 + boost 36 + libtorrent-rasterbar 37 + libvlc 38 + openssl 39 + ]; 40 + 41 + strictDeps = true; 42 + 43 + # It's a library, should not have a desktop file 44 + postFixup = '' 45 + rm -r $out/share/ 46 + ''; 47 + 48 + meta = with lib; { 49 + description = "A bittorrent plugin for VLC"; 50 + homepage = "https://github.com/johang/vlc-bittorrent"; 51 + license = licenses.gpl3Plus; 52 + platforms = platforms.linux; 53 + maintainers = [ maintainers.kintrix ]; 54 + }; 55 + })
+3 -3
pkgs/data/fonts/iosevka/default.nix
··· 55 56 buildNpmPackage rec { 57 pname = "Iosevka${toString set}"; 58 - version = "29.0.3"; 59 60 src = fetchFromGitHub { 61 owner = "be5invis"; 62 repo = "iosevka"; 63 rev = "v${version}"; 64 - hash = "sha256-7vNfmrQ/B+T9hF5/ikIU1RvBcSRStnEmOY7VPbrll6s="; 65 }; 66 67 - npmDepsHash = "sha256-FGGhuMlDhXd97AY23/ZPlrcrmirZIooAYJaskn2aM6w="; 68 69 nativeBuildInputs = [ 70 remarshal
··· 55 56 buildNpmPackage rec { 57 pname = "Iosevka${toString set}"; 58 + version = "29.0.4"; 59 60 src = fetchFromGitHub { 61 owner = "be5invis"; 62 repo = "iosevka"; 63 rev = "v${version}"; 64 + hash = "sha256-dkFvgiGCHvBp7gBNAG08cfpTc0c7b2oU56xfxjPHhm8="; 65 }; 66 67 + npmDepsHash = "sha256-IvMO0LZy/vlNxsp2D5pK97l6OIltrjv8iZ2CGl2XhFM="; 68 69 nativeBuildInputs = [ 70 remarshal
+1 -1
pkgs/development/libraries/qt-6/qt-env.nix
··· 4 inherit name; 5 paths = [ qtbase ] ++ paths; 6 7 - pathsToLink = [ "/bin" "/mkspecs" "/include" "/lib" "/share" "/libexec" ]; 8 extraOutputsToInstall = [ "out" "dev" ]; 9 10 postBuild = ''
··· 4 inherit name; 5 paths = [ qtbase ] ++ paths; 6 7 + pathsToLink = [ "/metatypes" "/bin" "/mkspecs" "/include" "/lib" "/share" "/libexec" ]; 8 extraOutputsToInstall = [ "out" "dev" ]; 9 10 postBuild = ''
+2 -2
pkgs/development/python-modules/llama-index-readers-database/default.nix
··· 9 10 buildPythonPackage rec { 11 pname = "llama-index-readers-database"; 12 - version = "0.1.2"; 13 pyproject = true; 14 15 disabled = pythonOlder "3.8"; ··· 17 src = fetchPypi { 18 pname = "llama_index_readers_database"; 19 inherit version; 20 - hash = "sha256-9hbaUioGe8KVWX1O+Bwx0aOvJtVGb4lX/SZwYNJ/Xp0="; 21 }; 22 23 build-system = [
··· 9 10 buildPythonPackage rec { 11 pname = "llama-index-readers-database"; 12 + version = "0.1.3"; 13 pyproject = true; 14 15 disabled = pythonOlder "3.8"; ··· 17 src = fetchPypi { 18 pname = "llama_index_readers_database"; 19 inherit version; 20 + hash = "sha256-1J6FE6iID4U9cEcPPUK5CvCTmbgVWxI4AFLrx+gPGWg="; 21 }; 22 23 build-system = [
+2 -2
pkgs/development/python-modules/pathlib-abc/default.nix
··· 8 9 buildPythonPackage rec { 10 pname = "pathlib-abc"; 11 - version = "0.1.1"; 12 pyproject = true; 13 14 disabled = pythonOlder "3.8"; ··· 16 src = fetchPypi { 17 pname = "pathlib_abc"; 18 inherit version; 19 - hash = "sha256-CE573ZGbD3d0kUqeZM2GobOYYPgfeB3XJCWGMfKRWr4="; 20 }; 21 22 build-system = [
··· 8 9 buildPythonPackage rec { 10 pname = "pathlib-abc"; 11 + version = "0.2.0"; 12 pyproject = true; 13 14 disabled = pythonOlder "3.8"; ··· 16 src = fetchPypi { 17 pname = "pathlib_abc"; 18 inherit version; 19 + hash = "sha256-ua9rOf1RMhSFZ47DgD0KEeAqIuhp6AUsrLbo9l3nuGI="; 20 }; 21 22 build-system = [
+7 -2
pkgs/development/python-modules/sqlmodel/default.nix
··· 25 hash = "sha256-hDJcekn0ExYUCs8kBZkJzsWqXsB/cI6RbW3EhRCCioM="; 26 }; 27 28 - nativeBuildInputs = [ 29 poetry-core 30 ]; 31 32 - propagatedBuildInputs = [ 33 pydantic 34 sqlalchemy 35 ]; ··· 43 44 pythonImportsCheck = [ 45 "sqlmodel" 46 ]; 47 48 disabledTestPaths = [
··· 25 hash = "sha256-hDJcekn0ExYUCs8kBZkJzsWqXsB/cI6RbW3EhRCCioM="; 26 }; 27 28 + build-system = [ 29 poetry-core 30 ]; 31 32 + dependencies = [ 33 pydantic 34 sqlalchemy 35 ]; ··· 43 44 pythonImportsCheck = [ 45 "sqlmodel" 46 + ]; 47 + 48 + disabledTests = [ 49 + # AssertionError: assert 'enum_field VARCHAR(1) 50 + "test_sqlite_ddl_sql" 51 ]; 52 53 disabledTestPaths = [
+2 -2
pkgs/development/tools/analysis/flow/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "flow"; 5 - version = "0.231.0"; 6 7 src = fetchFromGitHub { 8 owner = "facebook"; 9 repo = "flow"; 10 rev = "v${version}"; 11 - hash = "sha256-xZ6hyAnfWMwNZfkDIPV+0Cjs/HBMwBME6tZwQW38Cmk="; 12 }; 13 14 postPatch = ''
··· 2 3 stdenv.mkDerivation rec { 4 pname = "flow"; 5 + version = "0.232.0"; 6 7 src = fetchFromGitHub { 8 owner = "facebook"; 9 repo = "flow"; 10 rev = "v${version}"; 11 + hash = "sha256-hYFVfkkJFAg5Ij7kwLiMeIHYjPLElHhzDPET6kBQCSg="; 12 }; 13 14 postPatch = ''
+2 -2
pkgs/development/tools/continuous-integration/github-runner/default.nix
··· 23 24 buildDotnetModule rec { 25 pname = "github-runner"; 26 - version = "2.314.1"; 27 28 src = fetchFromGitHub { 29 owner = "actions"; 30 repo = "runner"; 31 rev = "v${version}"; 32 - hash = "sha256-PHcCXWA6LcxpqdbTGbOUqnS4fIJLbHOhEPdagGF71q0="; 33 leaveDotGit = true; 34 postFetch = '' 35 git -C $out rev-parse --short HEAD > $out/.git-revision
··· 23 24 buildDotnetModule rec { 25 pname = "github-runner"; 26 + version = "2.315.0"; 27 28 src = fetchFromGitHub { 29 owner = "actions"; 30 repo = "runner"; 31 rev = "v${version}"; 32 + hash = "sha256-kKfwLZYV4uEkHt82YWNtDehbspgnH8heckVU5aA/YiY="; 33 leaveDotGit = true; 34 postFetch = '' 35 git -C $out rev-parse --short HEAD > $out/.git-revision
+3 -3
pkgs/development/tools/hclfmt/default.nix
··· 2 3 buildGoModule rec { 4 pname = "hclfmt"; 5 - version = "2.20.0"; 6 7 src = fetchFromGitHub { 8 owner = "hashicorp"; 9 repo = "hcl"; 10 rev = "v${version}"; 11 - hash = "sha256-gXipXBi/IFB4F+vr1BBp91kcIRpWvxkSttb62Cl3h0g="; 12 }; 13 14 - vendorHash = "sha256-MXiLfCbXXw2PMlj/3eAvbReH11IzS/G/4ajV37B5lOs="; 15 16 # The code repository includes other tools which are not useful. Only build 17 # hclfmt.
··· 2 3 buildGoModule rec { 4 pname = "hclfmt"; 5 + version = "2.20.1"; 6 7 src = fetchFromGitHub { 8 owner = "hashicorp"; 9 repo = "hcl"; 10 rev = "v${version}"; 11 + hash = "sha256-+4K6k32azx/66eag9c6lUN8TUJ1ICx4Q8zpnTJWqgQ0="; 12 }; 13 14 + vendorHash = "sha256-L5OabeDUXbrwFOgWRhi9FPTWK+xbL54ZM7cYhS15Jis="; 15 16 # The code repository includes other tools which are not useful. Only build 17 # hclfmt.
+3 -3
pkgs/development/tools/misc/texlab/default.nix
··· 15 in 16 rustPlatform.buildRustPackage rec { 17 pname = "texlab"; 18 - version = "5.13.1"; 19 20 src = fetchFromGitHub { 21 owner = "latex-lsp"; 22 repo = "texlab"; 23 rev = "refs/tags/v${version}"; 24 - hash = "sha256-fmtNalpOOPEiMO5zDD6m01cDfFuaLQsYPk6cc7yvjog="; 25 }; 26 27 - cargoHash = "sha256-5ojXplzkBwchnSZLkwR5jz8WgyEA14Y1iVQ+Q19U8Tg="; 28 29 outputs = [ "out" ] ++ lib.optional (!isCross) "man"; 30
··· 15 in 16 rustPlatform.buildRustPackage rec { 17 pname = "texlab"; 18 + version = "5.14.0"; 19 20 src = fetchFromGitHub { 21 owner = "latex-lsp"; 22 repo = "texlab"; 23 rev = "refs/tags/v${version}"; 24 + hash = "sha256-/VXhL03wZz0B0qoQe7JqmtzN020LSmcWB5QOkZFboz0="; 25 }; 26 27 + cargoHash = "sha256-hIQeo4FCEbgpa99ho5cwJgiXtAYbqgzyj6kW8fNtTWA="; 28 29 outputs = [ "out" ] ++ lib.optional (!isCross) "man"; 30
+3 -3
pkgs/development/tools/rust/cargo-mobile2/default.nix
··· 12 let 13 inherit (darwin.apple_sdk.frameworks) CoreServices; 14 pname = "cargo-mobile2"; 15 - version = "0.11.0"; 16 in 17 rustPlatform.buildRustPackage { 18 inherit pname version; ··· 20 owner = "tauri-apps"; 21 repo = pname; 22 rev = "cargo-mobile2-v${version}"; 23 - hash = "sha256-1P9ImNyYU1dwGdwc1f6QSGm7H7D5uEozfSJqfEzla+A="; 24 }; 25 26 # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at 27 # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202 28 # sourceRoot = "${src.name}/tooling/cli"; 29 30 - cargoHash = "sha256-DmZ7Bdx5EHFkN528EhhJnNOLXEcLglFHvdgywpE59uo="; 31 32 preBuild = '' 33 mkdir -p $out/share/
··· 12 let 13 inherit (darwin.apple_sdk.frameworks) CoreServices; 14 pname = "cargo-mobile2"; 15 + version = "0.11.1"; 16 in 17 rustPlatform.buildRustPackage { 18 inherit pname version; ··· 20 owner = "tauri-apps"; 21 repo = pname; 22 rev = "cargo-mobile2-v${version}"; 23 + hash = "sha256-HLDuWEKLij1hTKxf3lrAb4d2DIHzzkj4kuiZXgQwH4Q="; 24 }; 25 26 # Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at 27 # https://discourse.nixos.org/t/difficulty-using-buildrustpackage-with-a-src-containing-multiple-cargo-workspaces/10202 28 # sourceRoot = "${src.name}/tooling/cli"; 29 30 + cargoHash = "sha256-jCsP5xhNkqnwz8HocUzzf17omU8WDNrL/WVj/lP+51w="; 31 32 preBuild = '' 33 mkdir -p $out/share/
+4
pkgs/development/tools/vagrant/default.nix
··· 91 mkdir -p "$out/vagrant-plugins/plugins.d" 92 echo '{}' > "$out/vagrant-plugins/plugins.json" 93 94 mkdir -p $out/share/bash-completion/completions/ 95 cp -av contrib/bash/completion.sh $out/share/bash-completion/completions/vagrant 96 '' + 97 lib.optionalString withLibvirt '' 98 substitute ${./vagrant-libvirt.json.in} $out/vagrant-plugins/plugins.d/vagrant-libvirt.json \
··· 91 mkdir -p "$out/vagrant-plugins/plugins.d" 92 echo '{}' > "$out/vagrant-plugins/plugins.json" 93 94 + # install bash completion 95 mkdir -p $out/share/bash-completion/completions/ 96 cp -av contrib/bash/completion.sh $out/share/bash-completion/completions/vagrant 97 + # install zsh completion 98 + mkdir -p $out/share/zsh/site-functions/ 99 + cp -av contrib/zsh/_vagrant $out/share/zsh/site-functions/ 100 '' + 101 lib.optionalString withLibvirt '' 102 substitute ${./vagrant-libvirt.json.in} $out/vagrant-plugins/plugins.d/vagrant-libvirt.json \
-1
pkgs/os-specific/linux/akvcam/default.nix
··· 29 maintainers = with maintainers; [ freezeboy ]; 30 platforms = platforms.linux; 31 license = licenses.gpl2Only; 32 - broken = kernel.kernelAtLeast "5.18"; 33 }; 34 }
··· 29 maintainers = with maintainers; [ freezeboy ]; 30 platforms = platforms.linux; 31 license = licenses.gpl2Only; 32 }; 33 }
+54 -14
pkgs/servers/web-apps/kavita/change-webroot.diff
··· 1 diff --git a/API/Controllers/FallbackController.cs b/API/Controllers/FallbackController.cs 2 - index 2f5d7fce..faaf128a 100644 3 --- a/API/Controllers/FallbackController.cs 4 +++ b/API/Controllers/FallbackController.cs 5 - @@ -1,4 +1,4 @@ 6 - -using System; 7 - +using System; 8 - using System.IO; 9 - using API.Services; 10 - using Microsoft.AspNetCore.Authorization; 11 @@ -22,7 +22,7 @@ public class FallbackController : Controller 12 13 - public ActionResult Index() 14 { 15 - return PhysicalFile(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "index.html"), "text/HTML"); 16 - + return PhysicalFile(Path.Combine("@web_root@", "index.html"), "text/HTML"); 17 } 18 } 19 20 diff --git a/API/Startup.cs b/API/Startup.cs 21 - index f84ef638..7eaeb05e 100644 22 --- a/API/Startup.cs 23 +++ b/API/Startup.cs 24 - @@ -33,6 +33,7 @@ using Microsoft.AspNetCore.ResponseCompression; 25 - using Microsoft.AspNetCore.StaticFiles; 26 using Microsoft.Extensions.Configuration; 27 using Microsoft.Extensions.DependencyInjection; 28 +using Microsoft.Extensions.FileProviders; 29 using Microsoft.Extensions.Hosting; 30 using Microsoft.Extensions.Logging; 31 using Microsoft.Net.Http.Headers; 32 - @@ -298,6 +299,7 @@ public class Startup 33 34 app.UseStaticFiles(new StaticFileOptions 35 { 36 - + FileProvider = new PhysicalFileProvider("@web_root@"), 37 ContentTypeProvider = new FileExtensionContentTypeProvider(), 38 HttpsCompression = HttpsCompressionMode.Compress, 39 OnPrepareResponse = ctx =>
··· 1 diff --git a/API/Controllers/FallbackController.cs b/API/Controllers/FallbackController.cs 2 + index 0c925476..c7b30f39 100644 3 --- a/API/Controllers/FallbackController.cs 4 +++ b/API/Controllers/FallbackController.cs 5 @@ -22,7 +22,7 @@ public class FallbackController : Controller 6 7 + public PhysicalFileResult Index() 8 { 9 - return PhysicalFile(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "index.html"), "text/HTML"); 10 + + return PhysicalFile(Path.Combine("@webroot@", "index.html"), "text/HTML"); 11 } 12 } 13 14 + diff --git a/API/Services/DirectoryService.cs b/API/Services/DirectoryService.cs 15 + index 15afddf9..aff1f230 100644 16 + --- a/API/Services/DirectoryService.cs 17 + +++ b/API/Services/DirectoryService.cs 18 + @@ -113,7 +113,7 @@ public class DirectoryService : IDirectoryService 19 + ExistOrCreate(SiteThemeDirectory); 20 + FaviconDirectory = FileSystem.Path.Join(FileSystem.Directory.GetCurrentDirectory(), "config", "favicons"); 21 + ExistOrCreate(FaviconDirectory); 22 + - LocalizationDirectory = FileSystem.Path.Join(FileSystem.Directory.GetCurrentDirectory(), "I18N"); 23 + + LocalizationDirectory = FileSystem.Path.Join("@out@/lib/kavita-backend", "I18N"); 24 + } 25 + 26 + /// <summary> 27 + diff --git a/API/Services/LocalizationService.cs b/API/Services/LocalizationService.cs 28 + index ab3ad3d8..ac813a69 100644 29 + --- a/API/Services/LocalizationService.cs 30 + +++ b/API/Services/LocalizationService.cs 31 + @@ -52,8 +52,7 @@ public class LocalizationService : ILocalizationService 32 + else 33 + { 34 + _localizationDirectoryUi = directoryService.FileSystem.Path.Join( 35 + - directoryService.FileSystem.Directory.GetCurrentDirectory(), 36 + - "wwwroot", "assets/langs"); 37 + + "@webroot@", "assets/langs"); 38 + } 39 + 40 + _cacheOptions = new MemoryCacheEntryOptions() 41 diff --git a/API/Startup.cs b/API/Startup.cs 42 + index 939bfb58..1adb9373 100644 43 --- a/API/Startup.cs 44 +++ b/API/Startup.cs 45 + @@ -36,6 +36,7 @@ using Microsoft.AspNetCore.StaticFiles; 46 + using Microsoft.EntityFrameworkCore; 47 using Microsoft.Extensions.Configuration; 48 using Microsoft.Extensions.DependencyInjection; 49 +using Microsoft.Extensions.FileProviders; 50 using Microsoft.Extensions.Hosting; 51 using Microsoft.Extensions.Logging; 52 using Microsoft.Net.Http.Headers; 53 + @@ -298,9 +299,6 @@ public class Startup 54 + app.UsePathBase(basePath); 55 + if (!env.IsDevelopment()) 56 + { 57 + - // We don't update the index.html in local as we don't serve from there 58 + - UpdateBaseUrlInIndex(basePath); 59 + - 60 + // Update DB with what's in config 61 + var dataContext = serviceProvider.GetRequiredService<DataContext>(); 62 + var setting = dataContext.ServerSetting.SingleOrDefault(x => x.Key == ServerSettingKey.BaseUrl); 63 + @@ -333,6 +334,7 @@ public class Startup 64 65 app.UseStaticFiles(new StaticFileOptions 66 { 67 + + FileProvider = new PhysicalFileProvider("@webroot@"), 68 ContentTypeProvider = new FileExtensionContentTypeProvider(), 69 HttpsCompression = HttpsCompressionMode.Compress, 70 OnPrepareResponse = ctx => 71 + @@ -394,7 +396,7 @@ public class Startup 72 + try 73 + { 74 + var htmlDoc = new HtmlDocument(); 75 + - var indexHtmlPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "index.html"); 76 + + var indexHtmlPath = Path.Combine("@webroot@", "index.html"); 77 + htmlDoc.Load(indexHtmlPath); 78 + 79 + var baseNode = htmlDoc.DocumentNode.SelectSingleNode("/html/head/base");
+17 -11
pkgs/servers/web-apps/kavita/default.nix
··· 10 11 stdenvNoCC.mkDerivation (finalAttrs: { 12 pname = "kavita"; 13 - version = "0.7.1.4"; 14 15 src = fetchFromGitHub { 16 owner = "kareadita"; 17 repo = "kavita"; 18 rev = "v${finalAttrs.version}"; 19 - hash = "sha256-jNhiwyz6iVSLlvMNjI689TwQYuEvTJ+QaPvvDQ4UOwc="; 20 }; 21 22 backend = buildDotnetModule { ··· 25 26 patches = [ 27 # The webroot is hardcoded as ./wwwroot 28 - (substituteAll { 29 - src = ./change-webroot.diff; 30 - web_root = "${finalAttrs.frontend}/lib/node_modules/kavita-webui/dist"; 31 - }) 32 ]; 33 34 executables = [ "API" ]; 35 36 projectFile = "API/API.csproj"; 37 nugetDeps = ./nuget-deps.nix; 38 - dotnet-sdk = dotnetCorePackages.sdk_6_0; 39 - dotnet-runtime = dotnetCorePackages.aspnetcore_6_0; 40 }; 41 42 frontend = buildNpmPackage { ··· 48 npmBuildScript = "prod"; 49 npmFlags = [ "--legacy-peer-deps" ]; 50 npmRebuildFlags = [ "--ignore-scripts" ]; # Prevent playwright from trying to install browsers 51 - npmDepsHash = "sha256-w0CuTPyCQyAxULvqd6+GiZaPlO8fh4xLmbEnGA47pL8="; 52 }; 53 54 dontBuild = true; ··· 64 runHook postInstall 65 ''; 66 67 - passthru.tests = { inherit (nixosTests) kavita; }; 68 69 meta = { 70 description = "A fast, feature rich, cross platform reading server"; ··· 72 changelog = "https://github.com/kareadita/kavita/releases/tag/${finalAttrs.src.rev}"; 73 license = lib.licenses.gpl3Only; 74 platforms = lib.platforms.linux; 75 - maintainers = with lib.maintainers; [ misterio77 ]; 76 mainProgram = "kavita"; 77 }; 78 })
··· 10 11 stdenvNoCC.mkDerivation (finalAttrs: { 12 pname = "kavita"; 13 + version = "0.7.13"; 14 15 src = fetchFromGitHub { 16 owner = "kareadita"; 17 repo = "kavita"; 18 rev = "v${finalAttrs.version}"; 19 + hash = "sha256-S4lJTLxNjGmgBJt89i3whBglMU2EQ0VelLG6iP6bY8g="; 20 }; 21 22 backend = buildDotnetModule { ··· 25 26 patches = [ 27 # The webroot is hardcoded as ./wwwroot 28 + ./change-webroot.diff 29 ]; 30 + postPatch = '' 31 + substituteInPlace API/Services/DirectoryService.cs --subst-var out 32 + 33 + substituteInPlace API/Startup.cs API/Services/LocalizationService.cs API/Controllers/FallbackController.cs \ 34 + --subst-var-by webroot "${finalAttrs.frontend}/lib/node_modules/kavita-webui/dist/browser" 35 + ''; 36 37 executables = [ "API" ]; 38 39 projectFile = "API/API.csproj"; 40 nugetDeps = ./nuget-deps.nix; 41 + dotnet-sdk = dotnetCorePackages.sdk_8_0; 42 + dotnet-runtime = dotnetCorePackages.aspnetcore_8_0; 43 }; 44 45 frontend = buildNpmPackage { ··· 51 npmBuildScript = "prod"; 52 npmFlags = [ "--legacy-peer-deps" ]; 53 npmRebuildFlags = [ "--ignore-scripts" ]; # Prevent playwright from trying to install browsers 54 + npmDepsHash = "sha256-jseoczC2Ay3D1wDUZbWXTYQJGSWdgobJ3+Z1bp+PQG4="; 55 }; 56 57 dontBuild = true; ··· 67 runHook postInstall 68 ''; 69 70 + passthru = { 71 + tests = { inherit (nixosTests) kavita; }; 72 + updateScript = ./update.sh; 73 + }; 74 75 meta = { 76 description = "A fast, feature rich, cross platform reading server"; ··· 78 changelog = "https://github.com/kareadita/kavita/releases/tag/${finalAttrs.src.rev}"; 79 license = lib.licenses.gpl3Only; 80 platforms = lib.platforms.linux; 81 + maintainers = with lib.maintainers; [ misterio77 nevivurn ]; 82 mainProgram = "kavita"; 83 }; 84 })
+149 -153
pkgs/servers/web-apps/kavita/nuget-deps.nix
··· 2 # Please dont edit it manually, your changes might get overwritten! 3 4 { fetchNuGet }: [ 5 - (fetchNuGet { pname = "AutoMapper"; version = "12.0.0"; sha256 = "014r8kff1hw2k7q6979h4f333sr1lh367lmgx4iny2v3k93s7d7x"; }) 6 - (fetchNuGet { pname = "AutoMapper.Extensions.Microsoft.DependencyInjection"; version = "12.0.0"; sha256 = "1l17sby8l1ixn008y17wi98h74af7zmpann9kfzvqr4p0z7lg86m"; }) 7 - (fetchNuGet { pname = "CsvHelper"; version = "30.0.1"; sha256 = "0v01s672zcrd3fjwzh14dihbal3apzyg3dc80k05a90ljk8yh9wl"; }) 8 - (fetchNuGet { pname = "Docnet.Core"; version = "2.4.0-alpha.4"; sha256 = "1giv20m5gi03ybhgs10fim1k3amfc7k0iz6bwb14gw0qcnh63mhy"; }) 9 (fetchNuGet { pname = "DotNet.Glob"; version = "3.1.3"; sha256 = "1klgj9m7i3g8x1yj96wnikvf0hlvr6rhqhl4mgis08imcrl95qg6"; }) 10 - (fetchNuGet { pname = "ExCSS"; version = "4.1.0"; sha256 = "1dbnl1dgkkwcrls9nw63xsjph14f3xx134dksbcjak3k3ynbnl6v"; }) 11 (fetchNuGet { pname = "Flurl"; version = "3.0.6"; sha256 = "1y82lbag0gkfpj361psk5761hn7k0zmrp9cpdvnjyp75bdimiaiy"; }) 12 (fetchNuGet { pname = "Flurl.Http"; version = "3.2.4"; sha256 = "0vp5a1rrfi28in775d7fac96rcrikzjd2gbz0k3p925y1f2wlw5k"; }) 13 - (fetchNuGet { pname = "Hangfire"; version = "1.7.31"; sha256 = "1c02nrg16pm5aypvlnddyj6zds4sj59qrhc980d9y5gf7nx72kjl"; }) 14 - (fetchNuGet { pname = "Hangfire.AspNetCore"; version = "1.7.31"; sha256 = "0shfgqphjyb61djvrssnf2npbid236lbdpfvsznsl5hga9x3bdah"; }) 15 (fetchNuGet { pname = "Hangfire.Core"; version = "1.6.1"; sha256 = "0rg4lzzckscck9gvjqhcn1yq9qymfs4dfkv6fwgnklyfpvxmsqbq"; }) 16 (fetchNuGet { pname = "Hangfire.Core"; version = "1.6.17"; sha256 = "0kr2hjnl9c4dpk4kf95jxcgsxalvixfm6xis37qn5ja9n9ygqans"; }) 17 - (fetchNuGet { pname = "Hangfire.Core"; version = "1.7.0"; sha256 = "0yy9z7zssqysyp73phg6p5p1lva56d1vh9r825dn6w26jxdrlz21"; }) 18 - (fetchNuGet { pname = "Hangfire.Core"; version = "1.7.31"; sha256 = "13jfgd9x7a63yqs0b7y9jnkwi1jwq7h2mp8cxp0bzn3xk8w45kqi"; }) 19 - (fetchNuGet { pname = "Hangfire.Core"; version = "1.7.6"; sha256 = "19rfwpq714fybxara6vsr3r0h0wgnzrrvhqlhprh5lvgv15z9glm"; }) 20 - (fetchNuGet { pname = "Hangfire.InMemory"; version = "0.3.4"; sha256 = "1afrvxw6z0a78wrrv4mzrn86pvwr9zy97cwfs2k7s1aq5wp655r8"; }) 21 (fetchNuGet { pname = "Hangfire.MaximumConcurrentExecutions"; version = "1.1.0"; sha256 = "181147h5dsbml58ffq1jc7k6012fahi0n20wply9gmn6v1dh8h66"; }) 22 (fetchNuGet { pname = "Hangfire.MemoryStorage.Core"; version = "1.4.0"; sha256 = "1hw8dlclxgg21ay1pqj9mxxm3alm03k9wxaz055lb14w3nzyma3c"; }) 23 - (fetchNuGet { pname = "Hangfire.SqlServer"; version = "1.7.31"; sha256 = "1hjln8jnp3ysv525c7cm31z0jpxgvncn3isi57mjalax0pjsl5hb"; }) 24 - (fetchNuGet { pname = "Hangfire.Storage.SQLite"; version = "0.3.2"; sha256 = "05w8la0zyh6lvgw98lwh1jaqxj0h9720jz5fc3bl4gaxnxfw17y2"; }) 25 - (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.46"; sha256 = "0yx0xgbbzd6fdyslf7pc37bxk4hfkj1c7359ibqwmapv9aby7lm2"; }) 26 - (fetchNuGet { pname = "Humanizer.Core"; version = "2.8.26"; sha256 = "1v8xd12yms4qq1md4vh6faxicmqrvahqdd7sdkyzrphab9v44nsm"; }) 27 (fetchNuGet { pname = "MarkdownDeep.NET.Core"; version = "1.5.0.4"; sha256 = "0cpshs1lwmyyg40lvnf4b9s1z7yaw6s4a0341qr4ww40791gzvrl"; }) 28 - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; version = "6.0.16"; sha256 = "1v02j1i139a8x32hgi1yhcpp754xi0sg5b7iqzmslvinfg3b7dwn"; }) 29 - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.16"; sha256 = "0c6ys204024yi6wh6jyyvkv60f877nzlmzl6np30w9a3nxlavnhw"; }) 30 - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.16"; sha256 = "1xdhn8v8y947kw29npck1h9qaw8rj81q7a0qwawpc2200ds96n40"; }) 31 - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.16"; sha256 = "1p84za2cxyxxbkgxhfnmdarkz64dacx9f52jplrfs9rgl19anan4"; }) 32 - (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.16"; sha256 = "1i26fssv17w3kcaqwk5w2aq03jdijhrfl0xp0q5s68j7i4wrlv6l"; }) 33 (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.Abstractions"; version = "2.2.0"; sha256 = "0vj7fhpk0d95nkkxz4q0rma6pb4ym96mx6nms4603y0l19h0k5yh"; }) 34 - (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.JwtBearer"; version = "6.0.10"; sha256 = "0prhz63lakq9vihdppb6k1q9ix2crzbcfpkxbks698cirh9pbxmn"; }) 35 - (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.OpenIdConnect"; version = "6.0.10"; sha256 = "0vpw55k7w2ha9nrffabq4mhik54y93bbf9hk99klaxnirnxhrjqh"; }) 36 (fetchNuGet { pname = "Microsoft.AspNetCore.Authorization"; version = "2.2.0"; sha256 = "1mpq8pmxlxfa625k2ghv6xcyy2wdpwv56xzya9mvmlnh50h1i8rx"; }) 37 (fetchNuGet { pname = "Microsoft.AspNetCore.Authorization.Policy"; version = "2.2.0"; sha256 = "1d1zh65kfjf81j21ssmhr465vx08bra8424vgnrb22gdx03mhwd2"; }) 38 (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "2.2.0"; sha256 = "1rl94r8b0zq14f3dhfnvfjj1ivr81iw9zh5kdgs3zkdv0xc9x21j"; }) 39 - (fetchNuGet { pname = "Microsoft.AspNetCore.Cryptography.Internal"; version = "6.0.10"; sha256 = "1jlhgrzm4pv9yigif1khrqkc7hk4v8lz657hfiqvvih32xm13c1w"; }) 40 - (fetchNuGet { pname = "Microsoft.AspNetCore.Cryptography.KeyDerivation"; version = "6.0.10"; sha256 = "1k6j5mm7cbqljr0x6qks0359r5r33mw4a0mpanfqc1sd3i3x465y"; }) 41 (fetchNuGet { pname = "Microsoft.AspNetCore.Hosting.Abstractions"; version = "2.2.0"; sha256 = "043k651vbfshh3s997x42ymj8nb32419m7q3sjw5q2c27anrhfhv"; }) 42 (fetchNuGet { pname = "Microsoft.AspNetCore.Hosting.Server.Abstractions"; version = "2.2.0"; sha256 = "0nz73bwrvhc1n7gd7xxm3p5ww2wx9qr9m9i43y20gh0c54adkygh"; }) 43 (fetchNuGet { pname = "Microsoft.AspNetCore.Http"; version = "2.2.0"; sha256 = "1fcrafpa57sab3as18idqknzlxkx49n4sxzlzik3sj6pcji5j17q"; }) ··· 46 (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Common"; version = "1.1.0"; sha256 = "0x3hq0d3bs6n46nfvbd5n4cgi6m4yjfsf3k25xjcc8gcj66072iy"; }) 47 (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Extensions"; version = "2.2.0"; sha256 = "118gp1mfb8ymcvw87fzgjqwlc1d1b0l0sbfki291ydg414cz3dfn"; }) 48 (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Features"; version = "2.2.0"; sha256 = "0xrlq8i61vzhzzy25n80m7wh2kn593rfaii3aqnxdsxsg6sfgnx1"; }) 49 - (fetchNuGet { pname = "Microsoft.AspNetCore.Identity.EntityFrameworkCore"; version = "6.0.10"; sha256 = "0zdgc7336lh562p8cy03wk8aawk5ngyzgbalbrqfbzf4graawsna"; }) 50 (fetchNuGet { pname = "Microsoft.AspNetCore.Routing"; version = "2.2.0"; sha256 = "12kv602j2rxp43l1v3618yz3pdd7hqc3r98ya0bqz6y2ppvhbyws"; }) 51 (fetchNuGet { pname = "Microsoft.AspNetCore.Routing.Abstractions"; version = "2.2.0"; sha256 = "0d9wwz1rsh1fslbv1y72jpkvqv2v9n28rl3vslcg0x74lp2678ly"; }) 52 (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR"; version = "1.1.0"; sha256 = "16p01hxcrpj7iiwcqmwjfmciyisxp1mr0qa1wcx1ja4i0m0g292l"; }) ··· 55 (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.Json"; version = "1.1.0"; sha256 = "0zcyb3brzpw03f7vgkc3450izpvjgy0kjkgkp1mi9bc76xrvv094"; }) 56 (fetchNuGet { pname = "Microsoft.AspNetCore.WebSockets"; version = "2.2.0"; sha256 = "0hii6kd45xhswjwakhzm8wqxr10l959cch6h2w0x0ika3315a6b3"; }) 57 (fetchNuGet { pname = "Microsoft.AspNetCore.WebUtilities"; version = "2.2.0"; sha256 = "0cs1g4ing4alfbwyngxzgvkrv7z964isv1j9dzflafda4p0wxmsi"; }) 58 (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; }) 59 - (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.5.0"; sha256 = "01i28nvzccxbqmiz217fxs6hnjwmd5fafs37rd49a6qp53y6623l"; }) 60 (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; }) 61 - (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "6.0.10"; sha256 = "1sdh5rw2pyg6c64z0haxf57bakd5kwaav624vlqif1m59iz26rag"; }) 62 - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "6.0.10"; sha256 = "014varyy877kxzgqp9bl9l81avz8dr34hn4ad23qr17lvllchk95"; }) 63 - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "6.0.10"; sha256 = "1w93zr8z1f3yn6ygxnlbly8spz3jr77v0h9ky596gpvfg46wi5fd"; }) 64 - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "6.0.10"; sha256 = "0wvkgrmxgjnqv2kc69n44wsy129f09951a8dh7d4vjbi5f5jcx12"; }) 65 - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Design"; version = "6.0.10"; sha256 = "0pwah00gbm7rycsvjp4yaph9wjxnh14lzlds2r8v2smw0zwzp9da"; }) 66 - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "6.0.10"; sha256 = "11b2ibj5sgj8mm708vm9ar8vqgzsx9j4rsxzzn3xnrqbjvfxpjal"; }) 67 - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite"; version = "6.0.10"; sha256 = "0hv70ns69rgf029219jkasrw16j8609gnmi1zk7v2wgm8pxdsjdy"; }) 68 - (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "6.0.10"; sha256 = "1s1wj12maw6kzfxzh1j2wrx5m1vwcsc411jq6zklqvrbw0r0ylyc"; }) 69 (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; sha256 = "1pi2bm3cm0a7jzqzmfc2r7bpcdkmk3hhjfvb2c81j7wl7xdw3624"; }) 70 - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "6.0.0"; sha256 = "0qn30d3pg4rx1x2k525jj4x5g1fxm2v5m0ksz2dmk1gmqalpask8"; }) 71 - (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "6.0.1"; sha256 = "0ra0ldbg09r40jzvfqhpb3h42h80nafvka9hg51dja32k3mxn5gk"; }) 72 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "2.0.0"; sha256 = "0yssxq9di5h6xw2cayp5hj3l9b2p0jw9wcjz73rwk4586spac9s9"; }) 73 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "6.0.0"; sha256 = "1zdyai2rzngmsp3706d12qrdk315c1s3ja218fzb3nc3wd1vz0s8"; }) 74 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.0.0"; sha256 = "1ilz2yrgg9rbjyhn6a5zh9pr51nmh11z7sixb4p7vivgydj9gxwf"; }) 75 (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.2.0"; sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674"; }) 76 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.1.8"; sha256 = "05mlbia6vag0a0zfflv1m3ix48230wx0yib5hp7zsc72jpcmjd7q"; }) 77 (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j"; }) 78 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.0.0"; sha256 = "1prvdbma6r18n5agbhhabv6g357p1j70gq4m9g0vs859kf44nrgc"; }) 79 (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "6.0.0"; sha256 = "15hb2rbzgri1fq8wpj4ll7czm3rxqzszs02phnhjnncp90m5rmpc"; }) 80 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "6.0.0"; sha256 = "1hb4qrq9xdxzh2px515pv1vkz1jigwaxw1hfg9w8s6pgl8z04l4c"; }) 81 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "6.0.1"; sha256 = "16xpqfzpcjk3mg70g5g2qrkhqf7rppah3q6dasdddbpikw43ni47"; }) 82 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "6.0.0"; sha256 = "02nna984iwnyyz4jjh9vs405nlj0yk1g5vz4v2x30z2c89mx5f9w"; }) 83 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "6.0.0"; sha256 = "1c6l5szma1pdn61ncq1kaqibg0dz65hbma2xl626a8d1m6awn353"; }) 84 - (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "6.0.1"; sha256 = "0faddzvkhjhsn9fp269r4sapjrahiynwlwakhzljfg3k94jfldk1"; }) 85 - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0"; sha256 = "1wlhb2vygzfdjbdzy7waxblmrx0q3pdcqvpapnpmq9fcx5m8r6w1"; }) 86 - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.1"; sha256 = "0kl5ypidmzllyxb91gwy3z950dc416p1y8wikzbdbp0l7aaaxq2p"; }) 87 (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.0.0"; sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; }) 88 (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.2.0"; sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5"; }) 89 - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.8"; sha256 = "1vkhhyxpam3svbqkkxrcxh9h4r6h3vm76cdzmfqn7gbxgswc4y2w"; }) 90 (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.9"; sha256 = "1l7ng71y18fwdlyq2ycl12hmv9wrf7k7knz2jwv9w9w7spmp8jv6"; }) 91 - (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; }) 92 (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0"; sha256 = "1vi67fw7q99gj7jd64gnnfr4d2c0ijpva7g9prps48ja6g91x6a9"; }) 93 - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "3.0.0"; sha256 = "1cm0hycgb33mf1ja9q91wxi3gk13d1p462gdq7gndrya23hw2jm5"; }) 94 (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "3.1.6"; sha256 = "13m2na8a5mglbbjjp0dxb8ifkf23grkyk1g8585mr7v6cbj098ac"; }) 95 - (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "6.0.0"; sha256 = "08c4fh1n8vsish1vh7h73mva34g0as4ph29s4lvps7kmjb4z64nl"; }) 96 (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.2.0"; sha256 = "1f83ffb4xjwljg8dgzdsa3pa0582q6b4zm0si467fgkybqzk3c54"; }) 97 - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "3.1.8"; sha256 = "0z173lsfypzjdx1a352svh1pgk7lgq2wpj5q60i1rgcrd3ib8b21"; }) 98 - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "6.0.0"; sha256 = "1fbqmfapxdz77drcv1ndyj2ybvd2rv4c9i9pgiykcpl4fa6dc65q"; }) 99 - (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "6.0.0"; sha256 = "1ikc3kf325xig6njbi2aj5kmww4xlaq9lsrpc8v764fsm4x10474"; }) 100 - (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "6.0.0"; sha256 = "09gyyv4fwy9ys84z3aq4lm9y09b7bd1d4l4gfdinmg0z9678f1a4"; }) 101 - (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "6.0.1"; sha256 = "11jwzzyryr6i2nwfcrs4rjv4qg0zmm15gaa882xk54ric3zc37ig"; }) 102 (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "2.2.0"; sha256 = "1xc7xr1nq7akfahyl5in9iyxrygap2xi9nxh39rfm37sf8lk55v1"; }) 103 - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "3.1.8"; sha256 = "1lc69rn259gd6y4rjy0hwrcfnhkr0y0ac8w4ldh6mpk073snfjq0"; }) 104 - (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "6.0.0"; sha256 = "1mwjx6li4a82nb589763whpnhf5hfy1bpv1dzqqvczb1lhxhzhlj"; }) 105 - (fetchNuGet { pname = "Microsoft.Extensions.Identity.Core"; version = "6.0.10"; sha256 = "1cqp9adfc0nzakykqdj7v2842sys910k64pmnklc2jrdn5chphba"; }) 106 - (fetchNuGet { pname = "Microsoft.Extensions.Identity.Stores"; version = "6.0.10"; sha256 = "01kzmgbyii2sxi89iv7fjvk1crqcnzkz7m6dvfjnhgx479fm8g68"; }) 107 (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.0.0"; sha256 = "1jkwjcq1ld9znz1haazk8ili2g4pzfdp6i7r7rki4hg3jcadn386"; }) 108 - (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "5.0.0"; sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3"; }) 109 (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "6.0.0"; sha256 = "0fd9jii3y3irfcwlsiww1y9npjgabzarh33rn566wpcz24lijszi"; }) 110 (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.0.0"; sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h"; }) 111 (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.2.0"; sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl"; }) 112 - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.1.8"; sha256 = "0iq8py91xvma10rysq3dl29nxhmlgniad3cvafb4jg8iz52ym24h"; }) 113 - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "5.0.0"; sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; }) 114 (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.0"; sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0"; }) 115 - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "2.0.0"; sha256 = "1kndzxrbxd6hh6zpas25xx096q2lablrdx5di79vsmkxf65996a9"; }) 116 - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "6.0.0"; sha256 = "0plx785hk61arjxf0m3ywy9hl5nii25raj4523n3ql7mmv6hxqr1"; }) 117 - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "6.0.0"; sha256 = "1383b0r33dzz0hrch9cqzzxr9vxr21qq0a5vnrpkfq71m2fky31d"; }) 118 - (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "6.0.0"; sha256 = "0aql9kc45g2d6z1hmwr3p1a2qy9m3f36bds3054givsnpnis81wk"; }) 119 - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "6.0.0"; sha256 = "0j3g2k8sr99kr73w66yk4ghq469syyxzayq6fjfnjjgj1y7x05fl"; }) 120 - (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "6.0.0"; sha256 = "0ck8r63qal88349kkbj1i98fd8z9kcp41s13yyz8cpkygn15wq4g"; }) 121 (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "2.2.0"; sha256 = "0n1q9lvc24ii1shzy575xldgmz7imnk4dswwwcgmzz93klri9r1z"; }) 122 (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.0.0"; sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; }) 123 (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.2.0"; sha256 = "1b20yh03fg4nmmi3vlf6gf13vrdkmklshfzl3ijygcs4c2hly6v0"; }) 124 - (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; }) 125 (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "6.0.0"; sha256 = "008pnk2p50i594ahz308v81a41mbjz9mwcarqhmrjpl2d20c868g"; }) 126 - (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "2.0.0"; sha256 = "1isc3rjbzz60f7wbmgcwslx5d10hm5hisnk7v54vfi2bz7132gll"; }) 127 (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "6.0.0"; sha256 = "1k6q91vrhq1r74l4skibn7wzxzww9l74ibxb2i8gg4q6fzbiivba"; }) 128 (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; }) 129 (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.2.0"; sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c"; }) 130 - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.1.8"; sha256 = "1p48hk3r9ikv36wdpwdrbvaccziazncf7nl60fr82i04199lfhgl"; }) 131 - (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; }) 132 (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; }) 133 - (fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "6.24.0"; sha256 = "06hdlj8j3ckhr2jglcfwmazlqbcnwqb10c86vwnwmiv6czrl9m2b"; }) 134 - (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "6.24.0"; sha256 = "1lxfbjcvqdk9aircy30jrwsjfr0dwn334shis0k3x0qag3ynp180"; }) 135 - (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "6.10.0"; sha256 = "0fg742czl8rz6ljh6gscv6sck2f8dfgrig3j76ihzrnayd0hjvyf"; }) 136 - (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "6.24.0"; sha256 = "07l8hfpd50gab12s8xiad8wi4ggr6v3pmv7b0zbff6i9yshp0lgj"; }) 137 - (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols"; version = "6.10.0"; sha256 = "17cm3xpkp5rvfcx5d8bnsgc1mq52ky1fxv1h48dk1nafkkijg3zq"; }) 138 - (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols.OpenIdConnect"; version = "6.10.0"; sha256 = "18n9d5qywvv5jc0iryxfasy3lwknf1zv76hz64656x39aprwdmm3"; }) 139 - (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "6.10.0"; sha256 = "1qlg5snjxzgwx7lwkszl6aziyzs2jbsr0xvbn1lhq2lq7gl07khy"; }) 140 - (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "6.24.0"; sha256 = "1rgxi6jkhm8nj8yby65v1b6x8fp655b92w2y7ly2fj385s0d5qgy"; }) 141 - (fetchNuGet { pname = "Microsoft.IO.RecyclableMemoryStream"; version = "2.2.1"; sha256 = "1nz1cv5dz0bg9snzig6fyaidb92b4ynfljj7l34vnqc9xbnqxv83"; }) 142 (fetchNuGet { pname = "Microsoft.Net.Http.Headers"; version = "2.2.0"; sha256 = "0w6lrk9z67bcirq2cj2ldfhnizc6id77ba6i30hjzgqjlyhh1gx5"; }) 143 - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.16"; sha256 = "0iv5186gb778swka9ylzblwvr8pp7cmsvji5iiszrnfvk8c4n3ia"; }) 144 - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.16"; sha256 = "1pv9arqbmxlh86rnx6nss2cl91hi22j83p66m4ahds34caykf32l"; }) 145 - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.16"; sha256 = "01f98kkq8p3xll4mh6ck8ljgs3k5psv5z7mys7kpvk7lvag2svaa"; }) 146 - (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.16"; sha256 = "19ffmw131b8kv7l5pmwi4358j5xhla48qdyn6jv9fznffcsxfgzc"; }) 147 - (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; version = "6.0.16"; sha256 = "1w89n5grnxdis0wclfimi9ij8g046yrw76rhmcp8l57xm8nl21yj"; }) 148 - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.16"; sha256 = "10dlkzk61nnnw6f5rr1lmrws2p4hvbpkswm3209w45z350n9nlpy"; }) 149 - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.16"; sha256 = "1fjrc1l7ihal93ybxqzlxrs7vdqb9jhkabh2acwrmlh7q5197vn2"; }) 150 - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.16"; sha256 = "0jsfjp32z08pgi82blcrhmf5ipkhlg1kld8jmr7znzgv0kic8xyh"; }) 151 - (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.16"; sha256 = "0gghxcr32mri7235f41w5ngdxrw85q28nd7d57hmzj72cv93yxb3"; }) 152 (fetchNuGet { pname = "Microsoft.NETCore.Jit"; version = "1.0.2"; sha256 = "0jaan2wmg80lr0mhgfy70kb5cqjwv1a2ikmxgd0glpcxp7wr7pag"; }) 153 (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) 154 (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) 155 (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; }) 156 (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; }) 157 - (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; }) 158 (fetchNuGet { pname = "Microsoft.NETCore.Portable.Compatibility"; version = "1.0.1"; sha256 = "1qwar1jv2pwl354bbi75rvcjz27rrk0z0vzgx8h4f1ypn2m5h3f5"; }) 159 (fetchNuGet { pname = "Microsoft.NETCore.Runtime.CoreCLR"; version = "1.0.2"; sha256 = "1hxgsjyzh7hdgd34xwpn5s2myy1b1y9ms7xhvs6mkb75wap49bpc"; }) 160 (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) ··· 164 (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.3.1"; sha256 = "0icds4jxz90v156vkbza1s1rqdf737glfddbllkp6y2zcnin99yv"; }) 165 (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; }) 166 (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) 167 - (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.4.0"; sha256 = "088j2anh1rnkxdcycw5kgp97ahk7cj741y6kask84880835arsb6"; }) 168 - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; }) 169 (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; }) 170 (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; }) 171 - (fetchNuGet { pname = "NetVips"; version = "2.2.0"; sha256 = "10hqqzd84qa0yn9zcyzv8mcjh6g7g0xv0fc4binh92zw9a4g542p"; }) 172 - (fetchNuGet { pname = "NetVips.Native"; version = "8.13.1"; sha256 = "0yxci6zffy8kaz8dg85b2qw8zcjswmm56m5bvxaha1khbx1vpkz3"; }) 173 - (fetchNuGet { pname = "NetVips.Native.linux-arm"; version = "8.13.1"; sha256 = "0ypz0qslkmcd62n7z3y4yq16f9ybbnvka16bk7h72cv6bsdw9hzp"; }) 174 - (fetchNuGet { pname = "NetVips.Native.linux-arm64"; version = "8.13.1"; sha256 = "0wvh7rl1c56ipa1i6rh6nq80wvvl5bz2wswk219lyb2psd0vza3f"; }) 175 - (fetchNuGet { pname = "NetVips.Native.linux-musl-arm64"; version = "8.13.1"; sha256 = "0gj92wg76ynfx0kz8z26mg67aclyz0yn6xxp0g5mlj09kscbmikx"; }) 176 - (fetchNuGet { pname = "NetVips.Native.linux-musl-x64"; version = "8.13.1"; sha256 = "13hf0mij2gryn00701msamq5ijrdgv080ipm50gz80vb09l3ra2s"; }) 177 - (fetchNuGet { pname = "NetVips.Native.linux-x64"; version = "8.13.1"; sha256 = "1yx3mrp9n85fqpkgn43fv8ah9rcv301cn3ngkzy54rzlmlmf0qr2"; }) 178 - (fetchNuGet { pname = "NetVips.Native.osx-arm64"; version = "8.13.1"; sha256 = "1ifh9ic2g91kwsz7p1g4icw36rs0hjnd8dr1ahgrdb4nh5ap3vcc"; }) 179 - (fetchNuGet { pname = "NetVips.Native.osx-x64"; version = "8.13.1"; sha256 = "0ksgydiv8d63brsg2wkpc2dv88yz3kw2zzx0i0gfnwwn7vxsv1k9"; }) 180 - (fetchNuGet { pname = "NetVips.Native.win-arm64"; version = "8.13.1"; sha256 = "1qzfz5wys81dmf4v4l4gmx8syx7x26450fwp2dc8fh4m33910dqr"; }) 181 - (fetchNuGet { pname = "NetVips.Native.win-x64"; version = "8.13.1"; sha256 = "02x7n14w2iff5xvp340yc4j810mk3hnd8z8vl604r3ywwbaaykn2"; }) 182 - (fetchNuGet { pname = "NetVips.Native.win-x86"; version = "8.13.1"; sha256 = "1lzrqvmxqbm0y897bavl7pmfn2ywpjw6arfvj0v5i84y7glrp981"; }) 183 (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.1"; sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m"; }) 184 (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; }) 185 (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; }) 186 (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; }) 187 - (fetchNuGet { pname = "NReco.Logging.File"; version = "1.1.5"; sha256 = "1chvzhyvlnqswa1r1vbnk4h0as2f2dba3dnsldmmck7pb0vaj673"; }) 188 (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) 189 (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; }) 190 (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) ··· 207 (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) 208 (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; }) 209 (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) 210 - (fetchNuGet { pname = "runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "15wnpyy506q3vyk1yzdjjf49zpdynr7ghh0x5fbz4pcc1if0p9ky"; }) 211 (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.1.0"; sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; }) 212 (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; }) 213 (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; }) ··· 231 (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; }) 232 (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) 233 (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) 234 - (fetchNuGet { pname = "runtime.win-arm64.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "07byf1iyqb7jkb17sp0mmjk46fwq6fx8mlpzywxl7qk09sma44gk"; }) 235 - (fetchNuGet { pname = "runtime.win-x64.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "0167s4mpq8bzk3y11pylnynzjr2nc84w96al9x4l8yrf34ccm18y"; }) 236 - (fetchNuGet { pname = "runtime.win-x86.runtime.native.System.Data.SqlClient.sni"; version = "4.4.0"; sha256 = "0k3rkfrlm9jjz56dra61jgxinb8zsqlqzik2sjwz7f8v6z6ddycc"; }) 237 (fetchNuGet { pname = "Scrutor"; version = "3.3.0"; sha256 = "0qdfbp73hbsiqbv0rg6f91hnp1j535iqk8bmp3ickwd7w337m1vi"; }) 238 - (fetchNuGet { pname = "Serilog"; version = "2.12.0"; sha256 = "0lqxpc96qcjkv9pr1rln7mi4y7n7jdi4vb36c2fv3845w1vswgr4"; }) 239 - (fetchNuGet { pname = "Serilog.AspNetCore"; version = "6.0.1"; sha256 = "1i3cs0dfba82x4m08i0h3wv53dnbx3j3lidsqd6flgfhk5y8q13q"; }) 240 (fetchNuGet { pname = "Serilog.Enrichers.Thread"; version = "3.2.0-dev-00752"; sha256 = "0d0phxzdpc8xkbyd18s1dcv9xa22gqs2i2x5cpa9qzj0g8zwp641"; }) 241 - (fetchNuGet { pname = "Serilog.Extensions.Hosting"; version = "5.0.1"; sha256 = "11fs8qiikv3flpl6yhfrwflgvbdy62np7blx7nzcf6gx02zdgy1b"; }) 242 (fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "3.0.1"; sha256 = "069qy7dm5nxb372ij112ppa6m99b4iaimj3sji74m659fwrcrl9a"; }) 243 - (fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "3.1.0"; sha256 = "0lv370ks2fjdn1nsgkbzbmw6hybnincw3jabr471a5w39pp4fl1c"; }) 244 - (fetchNuGet { pname = "Serilog.Formatting.Compact"; version = "1.1.0"; sha256 = "1w3qhj1jrihb20gr9la4r4gcmdyyy6dai2xflwhzvgqrq05wlycy"; }) 245 - (fetchNuGet { pname = "Serilog.Settings.Configuration"; version = "3.4.0"; sha256 = "1l6fyy9y5a168i1mm107aqyrwzhqmpy0cp1v13l2b89yv8dc105j"; }) 246 (fetchNuGet { pname = "Serilog.Sinks.AspNetCore.SignalR"; version = "0.4.0"; sha256 = "0sljv39dr8mfbxjzqzik6qa72rc48v9z1hny4j61381cscnank1a"; }) 247 - (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.1.0"; sha256 = "1rpkphmqfh3bv3m7v1zwz88wz4sirj4xqyff9ga0c6bqhblj6wii"; }) 248 (fetchNuGet { pname = "Serilog.Sinks.Debug"; version = "2.0.0"; sha256 = "1i7j870l47gan3gpnnlzkccn5lbm7518cnkp25a3g5gp9l0dbwpw"; }) 249 (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; }) 250 (fetchNuGet { pname = "Serilog.Sinks.SignalR.Core"; version = "0.1.2"; sha256 = "16f86661vr7gw8xay1735y551p0z39mks7xagwxb8lxqxwmm4gzf"; }) 251 - (fetchNuGet { pname = "SharpCompress"; version = "0.32.2"; sha256 = "1p198bl08ia89rf4n6yjpacj3yrz6s574snsfl40l8vlqcdrc1pm"; }) 252 - (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "2.1.3"; sha256 = "12qb0r7v2v91vw8q8ygr67y527gwhbas6d6zdvrv4ksxwjx9dzp9"; }) 253 - (fetchNuGet { pname = "SonarAnalyzer.CSharp"; version = "8.47.0.55603"; sha256 = "1rwrhag17zdwf96mw1c2cc0xk555w310c7gadlc4gqgaim0c2xdp"; }) 254 - (fetchNuGet { pname = "sqlite-net-pcl"; version = "1.7.335"; sha256 = "1wlgr2s7gij7pgm9f9vrb1mkiniwm2mqxzxqdkixc81n3d27q1qn"; }) 255 - (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.0.6"; sha256 = "1ip0a653dx5cqybxg27zyz5ps31f2yz50g3jvz3vx39isx79gax3"; }) 256 - (fetchNuGet { pname = "SQLitePCLRaw.bundle_green"; version = "2.0.3"; sha256 = "1rhzih4i82mnxac0bhcjp657g8fx83b95n39lkfkyqjbf591jc3k"; }) 257 - (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.0.3"; sha256 = "0m7k63zbyplgydn27yhy79hwjg869ar90ygkzc64l537wkn93ri3"; }) 258 - (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.0.6"; sha256 = "1w4iyg0v1v1z2m7akq7rv8lsgixp2m08732vr14vgpqs918bsy1i"; }) 259 - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.0.3"; sha256 = "0s0v2da7jim23wkkdasww8zmjqr9v3w082mfii8nybmkr9x4zz6x"; }) 260 - (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.0.6"; sha256 = "16378rh1lcqxynf5qj0kh8mrsb0jp37qqwg4285kqc5pknvh1bx3"; }) 261 - (fetchNuGet { pname = "SQLitePCLRaw.provider.dynamic_cdecl"; version = "2.0.3"; sha256 = "14mrvriw05hqzplfwz98082n5jqizix500hdl3vkvkjg9qvprhpy"; }) 262 - (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.0.6"; sha256 = "0chgrqyycb1kqnaxnhhfg0850b94blhzni8zn79c7ggb3pd2ykyz"; }) 263 - (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.4.0"; sha256 = "1jkgjnkjcb6dif0lzn7whjwwdd4fi6mzkmkdx8sfmv5cffzq4fvk"; }) 264 - (fetchNuGet { pname = "Swashbuckle.AspNetCore.Filters"; version = "7.0.6"; sha256 = "1wqm77sszmw7g5g8rmij5gw76ppr2j6zal24w4dhnf0wk8hqa8m6"; }) 265 - (fetchNuGet { pname = "Swashbuckle.AspNetCore.Filters.Abstractions"; version = "7.0.6"; sha256 = "0fd3f2m1hf01r3z2ag4x0mc3imc4psnnqds4pca2q8lhmmfpnrgx"; }) 266 (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "5.0.0"; sha256 = "1341nv8nmh6avs3y7w2szzir5qd0bndxwrkdmvvj3hcxj1126w2f"; }) 267 - (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.4.0"; sha256 = "1wccx8ig2xc6xcfh774m5z34w6jn0hjffiwc5sq9yl63zkv01vnn"; }) 268 (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "5.0.0"; sha256 = "00swg2avqnb38q2bsxljd34n8rpknp74h9vbn0fdnfds3a32cqr4"; }) 269 - (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.4.0"; sha256 = "1k58j6lfqcgrl5f7dw0xnbq6w5bvr42a9fc44vwbzl52kzjdlnh2"; }) 270 - (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.4.0"; sha256 = "1rxgf0hbkkzywh8z7asky2rrh1gpnrr514v1aj5vnmh49sa31kiz"; }) 271 (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; }) 272 (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; }) 273 (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; }) 274 (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) 275 (fetchNuGet { pname = "System.Buffers"; version = "4.5.0"; sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; }) 276 (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) 277 (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; }) 278 (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) 279 (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; }) 280 (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) 281 (fetchNuGet { pname = "System.Collections.Immutable"; version = "6.0.0"; sha256 = "1js98kmjn47ivcvkjqdmyipzknb9xbndssczm8gq224pbaj1p88c"; }) 282 (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; }) 283 (fetchNuGet { pname = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; }) 284 (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; }) 285 - (fetchNuGet { pname = "System.Data.SqlClient"; version = "4.4.0"; sha256 = "1djh6i8s9s035glf2kg3fnlxkj36gf6327w5q44229nw48y6x8kh"; }) 286 (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; }) 287 (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) 288 (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; }) 289 (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) 290 (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "6.0.0"; sha256 = "0rrihs9lnb1h6x4h0hn6kgfnh58qq7hx8qq99gh6fayx4dcnx3s5"; }) 291 - (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "6.0.0"; sha256 = "08y1x2d5w2hnhkh9r1998pjc7r4qp0rmzax062abha85s11chifd"; }) 292 (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; }) 293 (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; }) 294 (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; }) 295 (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) 296 - (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; }) 297 (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; }) 298 (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; }) 299 (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) ··· 301 (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) 302 (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; }) 303 (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) 304 - (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "6.24.0"; sha256 = "1s6r8ivhbnv1hdybizmw0336z0dsv4dis3p2d658hzsv5p758yip"; }) 305 (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; }) 306 (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) 307 - (fetchNuGet { pname = "System.IO.Abstractions"; version = "17.2.3"; sha256 = "1fs3asbc3f5maxc5il2iqmhhlbz4c69lh8r0r0xwjcjbly7agn0l"; }) 308 (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; }) 309 (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; }) 310 (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.0.1"; sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; }) ··· 314 (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; }) 315 (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) 316 (fetchNuGet { pname = "System.IO.Pipelines"; version = "4.5.2"; sha256 = "045sn3vyk5xysjjm19q4dj5c1g1rf8l98n4qsl9pl9id4fn08yq1"; }) 317 (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; }) 318 (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) 319 (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; }) 320 (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) 321 (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; }) 322 (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) 323 - (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; }) 324 (fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; }) 325 (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; }) 326 (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; }) ··· 342 (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) 343 (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; }) 344 (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) 345 (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; }) 346 (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) 347 (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; }) ··· 353 (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; }) 354 (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; }) 355 (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; }) 356 - (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; }) 357 (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) 358 (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; }) 359 (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) ··· 366 (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; }) 367 (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) 368 (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; }) 369 - (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.4.0"; sha256 = "0ixqw47krkazsw0ycm22ivkv7dpg6cjz8z8g0ii44bsx4l8gcx17"; }) 370 (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; }) 371 (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; }) 372 (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) 373 (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; }) 374 (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) 375 - (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.5.0"; sha256 = "1pm4ykbcz48f1hdmwpia432ha6qbb9kbrxrrp7cg3m8q8xn52ngn"; }) 376 (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; }) 377 (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) 378 (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; }) ··· 385 (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) 386 (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; }) 387 (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; }) 388 - (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.4.0"; sha256 = "11rr16fp68apc0arsymgj18w8ajs9a4366wgx9iqwny4glrl20wp"; }) 389 (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; }) 390 (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) 391 (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) 392 - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.4.0"; sha256 = "07bzjnflxjk9vgpljfybrpqmvsr9qr2f20nq5wf11imwa5pbhgfc"; }) 393 (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) 394 - (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "5.0.0"; sha256 = "1bn2pzaaq4wx9ixirr8151vm5hynn3lmrljcgjx9yghmm4k677k0"; }) 395 (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; }) 396 (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) 397 (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.5.0"; sha256 = "0srd5bva52n92i90wd88pzrqjsxnfgka3ilybwh7s6sf469y5s53"; }) 398 - (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "6.0.0"; sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; }) 399 - (fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; }) 400 (fetchNuGet { pname = "System.Text.Json"; version = "4.7.2"; sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4"; }) 401 - (fetchNuGet { pname = "System.Text.Json"; version = "6.0.0"; sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; }) 402 (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; }) 403 (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; }) 404 (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; }) 405 (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) 406 (fetchNuGet { pname = "System.Threading.Channels"; version = "4.5.0"; sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz"; }) 407 (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; }) 408 (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) 409 (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; }) ··· 416 (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; }) 417 (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; }) 418 (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; }) 419 - (fetchNuGet { pname = "VersOne.Epub"; version = "3.3.0-alpha1"; sha256 = "037wq88w6brfjswmraa1l6by7fcdd1nc3vri8plg9h6a7zjph4nc"; }) 420 ]
··· 2 # Please dont edit it manually, your changes might get overwritten! 3 4 { fetchNuGet }: [ 5 + (fetchNuGet { pname = "AutoMapper"; version = "12.0.1"; sha256 = "0s0wjl4ck3sal8a50x786wxs9mbca7bxaqk3558yx5wpld4h4z3b"; }) 6 + (fetchNuGet { pname = "AutoMapper.Extensions.Microsoft.DependencyInjection"; version = "12.0.1"; sha256 = "0gjsjgfmfa3xx773idh7nxly4mz9ragiy0dqsc9xfzy7b5mlzw91"; }) 7 + (fetchNuGet { pname = "Docnet.Core"; version = "2.6.0"; sha256 = "1b1nj984ly4zgj28fri1a6ych9sdiacxkms8pvzsclvyxkf0ri8m"; }) 8 (fetchNuGet { pname = "DotNet.Glob"; version = "3.1.3"; sha256 = "1klgj9m7i3g8x1yj96wnikvf0hlvr6rhqhl4mgis08imcrl95qg6"; }) 9 + (fetchNuGet { pname = "EasyCaching.Core"; version = "1.9.2"; sha256 = "0qkzaxmn899hhfh32s8mhg3zcqqy2p05kaaldz246nram5gvf7qp"; }) 10 + (fetchNuGet { pname = "EasyCaching.InMemory"; version = "1.9.2"; sha256 = "0ifcnmd3hqy44jvfwy3zzjccsxqalfv6clmj0clp9yln3js51awq"; }) 11 + (fetchNuGet { pname = "ExCSS"; version = "4.2.4"; sha256 = "04x3kaiywnjih8vrg5qafwvzgcsvshay8v3i2lv2ddkl6lnawh5n"; }) 12 (fetchNuGet { pname = "Flurl"; version = "3.0.6"; sha256 = "1y82lbag0gkfpj361psk5761hn7k0zmrp9cpdvnjyp75bdimiaiy"; }) 13 + (fetchNuGet { pname = "Flurl"; version = "3.0.7"; sha256 = "1i56774jsy2qlk573vzvcpjh5hf22yrhxs694j1c4gwggarnqz16"; }) 14 (fetchNuGet { pname = "Flurl.Http"; version = "3.2.4"; sha256 = "0vp5a1rrfi28in775d7fac96rcrikzjd2gbz0k3p925y1f2wlw5k"; }) 15 + (fetchNuGet { pname = "Hangfire"; version = "1.8.7"; sha256 = "11ygahx9bjd1y33cmihk5h7aggwcm7hvnzkg11cq066mrcrlzqr9"; }) 16 + (fetchNuGet { pname = "Hangfire.AspNetCore"; version = "1.8.7"; sha256 = "0lwvvk3d0rbghdk3k7r1z9a7hi6yagxynmzlp5bmb8raw5qx7q13"; }) 17 (fetchNuGet { pname = "Hangfire.Core"; version = "1.6.1"; sha256 = "0rg4lzzckscck9gvjqhcn1yq9qymfs4dfkv6fwgnklyfpvxmsqbq"; }) 18 (fetchNuGet { pname = "Hangfire.Core"; version = "1.6.17"; sha256 = "0kr2hjnl9c4dpk4kf95jxcgsxalvixfm6xis37qn5ja9n9ygqans"; }) 19 + (fetchNuGet { pname = "Hangfire.Core"; version = "1.8.0"; sha256 = "047g50s2nz32dnpqm9lnsvpgz8g3azip2mpc6s15wb78b8c9s48n"; }) 20 + (fetchNuGet { pname = "Hangfire.Core"; version = "1.8.7"; sha256 = "0f5l55sbw0shp0l9zv2h98l8ghvvhgdgqqwcq3rdlpapcv0w3z5j"; }) 21 + (fetchNuGet { pname = "Hangfire.InMemory"; version = "0.7.0"; sha256 = "0c6icc14kw5lybk2fqprks37vs3sv4j1acn8z12p3b62cxc2a3bb"; }) 22 (fetchNuGet { pname = "Hangfire.MaximumConcurrentExecutions"; version = "1.1.0"; sha256 = "181147h5dsbml58ffq1jc7k6012fahi0n20wply9gmn6v1dh8h66"; }) 23 (fetchNuGet { pname = "Hangfire.MemoryStorage.Core"; version = "1.4.0"; sha256 = "1hw8dlclxgg21ay1pqj9mxxm3alm03k9wxaz055lb14w3nzyma3c"; }) 24 + (fetchNuGet { pname = "Hangfire.NetCore"; version = "1.8.7"; sha256 = "09p53pm7z3v549w7bb85qf66wg62nx0gxy6rgkgk2lbyabacyi1a"; }) 25 + (fetchNuGet { pname = "Hangfire.SqlServer"; version = "1.8.7"; sha256 = "0kzddl3r5rxx1m95skj7hkimzkz9x57b51bhkq1yhvchjd9j5wzj"; }) 26 + (fetchNuGet { pname = "Hangfire.Storage.SQLite"; version = "0.4.0"; sha256 = "0kyyisvvx8m40wmfay1kcrzqwr3hhdlkppadkwsgk0r892d5drqw"; }) 27 + (fetchNuGet { pname = "HtmlAgilityPack"; version = "1.11.57"; sha256 = "0brswm659d2vb11021z7xylljlnaf344yf5q093bqxyhbxva8ijq"; }) 28 + (fetchNuGet { pname = "Humanizer.Core"; version = "2.14.1"; sha256 = "1ai7hgr0qwd7xlqfd92immddyi41j3ag91h3594yzfsgsy6yhyqi"; }) 29 (fetchNuGet { pname = "MarkdownDeep.NET.Core"; version = "1.5.0.4"; sha256 = "0cpshs1lwmyyg40lvnf4b9s1z7yaw6s4a0341qr4ww40791gzvrl"; }) 30 (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.Abstractions"; version = "2.2.0"; sha256 = "0vj7fhpk0d95nkkxz4q0rma6pb4ym96mx6nms4603y0l19h0k5yh"; }) 31 + (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.JwtBearer"; version = "8.0.1"; sha256 = "0519873g49gdbhnqizgxlikifcgswr09ybrh0wcwhbwiqnx49dg9"; }) 32 + (fetchNuGet { pname = "Microsoft.AspNetCore.Authentication.OpenIdConnect"; version = "8.0.1"; sha256 = "0n9x563ihvkp7cncwzlnyzm6zwxm6nsm8hv0j6f66jv7vzmcsq0q"; }) 33 (fetchNuGet { pname = "Microsoft.AspNetCore.Authorization"; version = "2.2.0"; sha256 = "1mpq8pmxlxfa625k2ghv6xcyy2wdpwv56xzya9mvmlnh50h1i8rx"; }) 34 (fetchNuGet { pname = "Microsoft.AspNetCore.Authorization.Policy"; version = "2.2.0"; sha256 = "1d1zh65kfjf81j21ssmhr465vx08bra8424vgnrb22gdx03mhwd2"; }) 35 (fetchNuGet { pname = "Microsoft.AspNetCore.Connections.Abstractions"; version = "2.2.0"; sha256 = "1rl94r8b0zq14f3dhfnvfjj1ivr81iw9zh5kdgs3zkdv0xc9x21j"; }) 36 + (fetchNuGet { pname = "Microsoft.AspNetCore.Cryptography.Internal"; version = "8.0.1"; sha256 = "1gc2y4v1cvayy2fai02gsv1z6fr58kxb5jnmbjqxnd0zf49m88j7"; }) 37 + (fetchNuGet { pname = "Microsoft.AspNetCore.Cryptography.KeyDerivation"; version = "8.0.1"; sha256 = "0fnvim0rmiw9jm8xvajb5b9w4wawp95szy2dfh2aw1n8jgzs207x"; }) 38 (fetchNuGet { pname = "Microsoft.AspNetCore.Hosting.Abstractions"; version = "2.2.0"; sha256 = "043k651vbfshh3s997x42ymj8nb32419m7q3sjw5q2c27anrhfhv"; }) 39 (fetchNuGet { pname = "Microsoft.AspNetCore.Hosting.Server.Abstractions"; version = "2.2.0"; sha256 = "0nz73bwrvhc1n7gd7xxm3p5ww2wx9qr9m9i43y20gh0c54adkygh"; }) 40 (fetchNuGet { pname = "Microsoft.AspNetCore.Http"; version = "2.2.0"; sha256 = "1fcrafpa57sab3as18idqknzlxkx49n4sxzlzik3sj6pcji5j17q"; }) ··· 43 (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Connections.Common"; version = "1.1.0"; sha256 = "0x3hq0d3bs6n46nfvbd5n4cgi6m4yjfsf3k25xjcc8gcj66072iy"; }) 44 (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Extensions"; version = "2.2.0"; sha256 = "118gp1mfb8ymcvw87fzgjqwlc1d1b0l0sbfki291ydg414cz3dfn"; }) 45 (fetchNuGet { pname = "Microsoft.AspNetCore.Http.Features"; version = "2.2.0"; sha256 = "0xrlq8i61vzhzzy25n80m7wh2kn593rfaii3aqnxdsxsg6sfgnx1"; }) 46 + (fetchNuGet { pname = "Microsoft.AspNetCore.Identity.EntityFrameworkCore"; version = "8.0.1"; sha256 = "08pnswpz17pfr923p9iv6imgzb8yfhsi4g31lxrhzglagahv4hiy"; }) 47 (fetchNuGet { pname = "Microsoft.AspNetCore.Routing"; version = "2.2.0"; sha256 = "12kv602j2rxp43l1v3618yz3pdd7hqc3r98ya0bqz6y2ppvhbyws"; }) 48 (fetchNuGet { pname = "Microsoft.AspNetCore.Routing.Abstractions"; version = "2.2.0"; sha256 = "0d9wwz1rsh1fslbv1y72jpkvqv2v9n28rl3vslcg0x74lp2678ly"; }) 49 (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR"; version = "1.1.0"; sha256 = "16p01hxcrpj7iiwcqmwjfmciyisxp1mr0qa1wcx1ja4i0m0g292l"; }) ··· 52 (fetchNuGet { pname = "Microsoft.AspNetCore.SignalR.Protocols.Json"; version = "1.1.0"; sha256 = "0zcyb3brzpw03f7vgkc3450izpvjgy0kjkgkp1mi9bc76xrvv094"; }) 53 (fetchNuGet { pname = "Microsoft.AspNetCore.WebSockets"; version = "2.2.0"; sha256 = "0hii6kd45xhswjwakhzm8wqxr10l959cch6h2w0x0ika3315a6b3"; }) 54 (fetchNuGet { pname = "Microsoft.AspNetCore.WebUtilities"; version = "2.2.0"; sha256 = "0cs1g4ing4alfbwyngxzgvkrv7z964isv1j9dzflafda4p0wxmsi"; }) 55 + (fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; }) 56 + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; }) 57 + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.5.0"; sha256 = "0hjzca7v3qq4wqzi9chgxzycbaysnjgj28ps20695x61sia6i3da"; }) 58 + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.5.0"; sha256 = "1l6v0ii5lapmfnfpjwi3j5bwlx8v9nvyani5pwvqzdfqsd5m7mp5"; }) 59 + (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp.Workspaces"; version = "4.5.0"; sha256 = "0skg5a8i4fq6cndxcjwciai808p0zpqz9kbvck94mcywfzassv1a"; }) 60 + (fetchNuGet { pname = "Microsoft.CodeAnalysis.Workspaces.Common"; version = "4.5.0"; sha256 = "1wjwsrnn5frahqciwaxsgalv80fs6xhqy6kcqy7hcsh7jrfc1kjq"; }) 61 (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; }) 62 (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; }) 63 + (fetchNuGet { pname = "Microsoft.Data.Sqlite.Core"; version = "8.0.1"; sha256 = "1ippysjxq97vz4kd0jxiqbcamgd9xxb6n23ias5d4c7gbiwayz0z"; }) 64 + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore"; version = "8.0.1"; sha256 = "1k1c63vkzr020q0pb6xxf29xlgxldnzhlqpmpq9fig85y73s84ds"; }) 65 + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Abstractions"; version = "8.0.1"; sha256 = "1p8c2xfz8kgzswh9kq38mmy8qxfynnkywj9vwx15azbi8wcmh24x"; }) 66 + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Analyzers"; version = "8.0.1"; sha256 = "0l0fi9kiinj021sfk85qds1rdzavpkl24sjyzfyb8q8jmj5l2i0n"; }) 67 + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Design"; version = "8.0.1"; sha256 = "1y21lmbnq271q7q1vsq1z5gnz4fy89zca8qzm6bg2qfv8bgqqrny"; }) 68 + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Relational"; version = "8.0.1"; sha256 = "12zmg196mpd0wacwyrckv6l5rl76dzmvr588i437xiwp0iyjcsh9"; }) 69 + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite"; version = "8.0.1"; sha256 = "1igwxjmzgzkzyhmg5jbis6hynnzf5vfzl00h053si89h5m6vvhmb"; }) 70 + (fetchNuGet { pname = "Microsoft.EntityFrameworkCore.Sqlite.Core"; version = "8.0.1"; sha256 = "0zg7whf02jlpcs72ngiydwd2xwwlvz3nja0xnyxv4k4w56qs8qcj"; }) 71 (fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; sha256 = "1pi2bm3cm0a7jzqzmfc2r7bpcdkmk3hhjfvb2c81j7wl7xdw3624"; }) 72 + (fetchNuGet { pname = "Microsoft.Extensions.Caching.Abstractions"; version = "8.0.0"; sha256 = "04m6ywsf9731z24nfd14z0ah8xl06619ba7mkdb4vg8h5jpllsn4"; }) 73 + (fetchNuGet { pname = "Microsoft.Extensions.Caching.Memory"; version = "8.0.0"; sha256 = "0bv8ihd5i2gwr97qljwf56h8mdwspmlw0zs64qyk608fb3ciwi25"; }) 74 + (fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; sha256 = "080kab87qgq2kh0ijry5kfdiq9afyzb8s0k3jqi5zbbi540yq4zl"; }) 75 (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "2.2.0"; sha256 = "1fv5277hyhfqmc0gqszyqb1ilwnijm8kc9606yia6hwr8pxyg674"; }) 76 + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "3.0.0"; sha256 = "0xdchxw63r8rh84zdjkv8i89lq4a7h5iwqw19vwjf0l5gavyz40q"; }) 77 (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "6.0.0"; sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j"; }) 78 + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; }) 79 (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "6.0.0"; sha256 = "15hb2rbzgri1fq8wpj4ll7czm3rxqzszs02phnhjnncp90m5rmpc"; }) 80 + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "8.0.0"; sha256 = "1m0gawiz8f5hc3li9vd5psddlygwgkiw13d7div87kmkf4idza8r"; }) 81 + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.CommandLine"; version = "8.0.0"; sha256 = "026f7f2iv6ph2dc5rnslll0bly8qcx5clmh2nn9hgyqjizzc4qvy"; }) 82 + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.EnvironmentVariables"; version = "8.0.0"; sha256 = "13qb8wz3k59ihq0mjcqz1kwrpyzxn5da4dhk2pvcgc42z9kcbf7r"; }) 83 + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.FileExtensions"; version = "8.0.0"; sha256 = "1jrmlfzy4h32nzf1nm5q8bhkpx958b0ww9qx1k1zm4pyaf6mqb04"; }) 84 + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Json"; version = "8.0.0"; sha256 = "1n3ss26v1lq6b69fxk1vz3kqv9ppxq8ypgdqpd7415xrq66y4bqn"; }) 85 + (fetchNuGet { pname = "Microsoft.Extensions.Configuration.UserSecrets"; version = "8.0.0"; sha256 = "1br01zhzhnxjzqx63bxd25x48y9xs69hcs71pjni8y9kl50zja7z"; }) 86 + (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "8.0.0"; sha256 = "0i7qziz0iqmbk8zzln7kx9vd0lbx1x3va0yi3j1bgkjir13h78ps"; }) 87 (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.0.0"; sha256 = "1pwrfh9b72k9rq6mb2jab5qhhi225d5rjalzkapiayggmygc8nhz"; }) 88 (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.2.0"; sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5"; }) 89 + (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.0.0"; sha256 = "06s8j8v0w06f12jxw6vvsd0l5zqrmsvc3rr2gqx9z3gcq7mdnr3l"; }) 90 (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "3.1.9"; sha256 = "1l7ng71y18fwdlyq2ycl12hmv9wrf7k7knz2jwv9w9w7spmp8jv6"; }) 91 (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0"; sha256 = "1vi67fw7q99gj7jd64gnnfr4d2c0ijpva7g9prps48ja6g91x6a9"; }) 92 + (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "8.0.0"; sha256 = "1zw0bpp5742jzx03wvqc8csnvsbgdqi0ls9jfc5i2vd3cl8b74pg"; }) 93 (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "3.1.6"; sha256 = "13m2na8a5mglbbjjp0dxb8ifkf23grkyk1g8585mr7v6cbj098ac"; }) 94 + (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "8.0.0"; sha256 = "02jnx23hm1vid3yd9pw4gghzn6qkgdl5xfc5r0zrcxdax70rsh5a"; }) 95 + (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics"; version = "8.0.0"; sha256 = "0ghwkld91k20hcbmzg2137w81mzzdh8hfaapdwckhza0vipya4kw"; }) 96 + (fetchNuGet { pname = "Microsoft.Extensions.Diagnostics.Abstractions"; version = "8.0.0"; sha256 = "15m4j6w9n8h0mj7hlfzb83hd3wn7aq1s7fxbicm16slsjfwzj82i"; }) 97 (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.2.0"; sha256 = "1f83ffb4xjwljg8dgzdsa3pa0582q6b4zm0si467fgkybqzk3c54"; }) 98 + (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "3.0.0"; sha256 = "165l30n9mi9j3dv45rr4xx1dwg9z520yja22jcb7jw0lq0ic28j2"; }) 99 + (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "8.0.0"; sha256 = "1idq65fxwcn882c06yci7nscy9i0rgw6mqjrl7362prvvsd9f15r"; }) 100 + (fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "8.0.0"; sha256 = "05wxjvjbx79ir7vfkri6b28k8zl8fa6bbr0i7gahqrim2ijvkp6v"; }) 101 + (fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "8.0.0"; sha256 = "1igf2bqism22fxv7km5yv028r4rg12a4lki2jh4xg3brjkagiv7q"; }) 102 + (fetchNuGet { pname = "Microsoft.Extensions.Hosting"; version = "8.0.0"; sha256 = "1f2af5m1yny8b43251gsj75hjd9ixni1clcldy8cg91z1vxxm8dh"; }) 103 (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "2.2.0"; sha256 = "1xc7xr1nq7akfahyl5in9iyxrygap2xi9nxh39rfm37sf8lk55v1"; }) 104 + (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "3.0.0"; sha256 = "13ijaki0nzlvbwxjxb1hjhzj86jgn23nw34gdwp2l7bf3x2h4hw9"; }) 105 + (fetchNuGet { pname = "Microsoft.Extensions.Hosting.Abstractions"; version = "8.0.0"; sha256 = "00d5dwmzw76iy8z40ly01hy9gly49a7rpf7k7m99vrid1kxp346h"; }) 106 + (fetchNuGet { pname = "Microsoft.Extensions.Identity.Core"; version = "8.0.1"; sha256 = "0gf68x3zxbn3gxzdjmbfcqhm58ybxvpanl4pq8vs5g492qw7h24b"; }) 107 + (fetchNuGet { pname = "Microsoft.Extensions.Identity.Stores"; version = "8.0.1"; sha256 = "19c0by2r85jqz6pj8mnr047aasasr7fbzi3ih04gchj8la69ka5h"; }) 108 (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.0.0"; sha256 = "1jkwjcq1ld9znz1haazk8ili2g4pzfdp6i7r7rki4hg3jcadn386"; }) 109 (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "6.0.0"; sha256 = "0fd9jii3y3irfcwlsiww1y9npjgabzarh33rn566wpcz24lijszi"; }) 110 + (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "8.0.0"; sha256 = "0nppj34nmq25gnrg0wh1q22y4wdqbih4ax493f226azv8mkp9s1i"; }) 111 (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.0.0"; sha256 = "1x5isi71z02khikzvm7vaschb006pqqrsv86ky1x08a4hir4s43h"; }) 112 (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "2.2.0"; sha256 = "02w7hp6jicr7cl5p456k2cmrjvvhm6spg5kxnlncw3b72358m5wl"; }) 113 + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "3.0.0"; sha256 = "0453382r1f39hgvw631lk1hx2kas8xa1xjr6xq4wshan8d62xgd7"; }) 114 (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "6.0.0"; sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0"; }) 115 + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "8.0.0"; sha256 = "1klcqhg3hk55hb6vmjiq2wgqidsl81aldw0li2z98lrwx26msrr6"; }) 116 + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Configuration"; version = "8.0.0"; sha256 = "1d9b734vnll935661wqkgl7ry60rlh5p876l2bsa930mvfsaqfcv"; }) 117 + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Console"; version = "8.0.0"; sha256 = "1mvp3ipw7k33v2qw2yrvc4vl5yzgpk3yxa94gg0gz7wmcmhzvmkd"; }) 118 + (fetchNuGet { pname = "Microsoft.Extensions.Logging.Debug"; version = "8.0.0"; sha256 = "1h7mg97lj0ss47kq7zwnihh9c6xcrkwrr8ffhc16qcsrh36sg6q0"; }) 119 + (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventLog"; version = "8.0.0"; sha256 = "05vfrxw7mlwlwhsl6r4yrhxk3sd8dv5sl0hdlcpgw62n53incw5x"; }) 120 + (fetchNuGet { pname = "Microsoft.Extensions.Logging.EventSource"; version = "8.0.0"; sha256 = "0gbjll6p03rmw0cf8fp0p8cxzn9awmzv8hvnyqbczrkax5h7p94i"; }) 121 (fetchNuGet { pname = "Microsoft.Extensions.ObjectPool"; version = "2.2.0"; sha256 = "0n1q9lvc24ii1shzy575xldgmz7imnk4dswwwcgmzz93klri9r1z"; }) 122 (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.0.0"; sha256 = "0g4zadlg73f507krilhaaa7h0jdga216syrzjlyf5fdk25gxmjqh"; }) 123 (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "2.2.0"; sha256 = "1b20yh03fg4nmmi3vlf6gf13vrdkmklshfzl3ijygcs4c2hly6v0"; }) 124 (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "6.0.0"; sha256 = "008pnk2p50i594ahz308v81a41mbjz9mwcarqhmrjpl2d20c868g"; }) 125 + (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; }) 126 + (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.1"; sha256 = "01jsya858i861x6d7qbl3wlr0gp2y7x2m4q6f1r743w360z8zgpn"; }) 127 (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "6.0.0"; sha256 = "1k6q91vrhq1r74l4skibn7wzxzww9l74ibxb2i8gg4q6fzbiivba"; }) 128 + (fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; sha256 = "04nm8v5a3zp0ill7hjnwnja3s2676b4wffdri8hdk2341p7mp403"; }) 129 (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.0.0"; sha256 = "1xppr5jbny04slyjgngxjdm0maxdh47vq481ps944d7jrfs0p3mb"; }) 130 (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "2.2.0"; sha256 = "0znah6arbcqari49ymigg3wiy2hgdifz8zsq8vdc3ynnf45r7h0c"; }) 131 + (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "3.0.0"; sha256 = "1d89yybxm7c30h5w79psybmpvy0pw7ha9r0y70f7i0kxgp8n62bk"; }) 132 (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "6.0.0"; sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2"; }) 133 + (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; }) 134 + (fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.1.2"; sha256 = "01jdg8b1hi4nx5h1cn9baalfkp4y70kc2wf4lz77kw8w1fvrppa0"; }) 135 + (fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.2.0"; sha256 = "06r0hv7n4v1s751k2032frfh9hkfkxpi42rdz10llcay7lcqjjh6"; }) 136 + (fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "7.2.0"; sha256 = "17xbqb351xfnniwj2322xyaiajbdilihdp9j9knbr80d8rm62sv2"; }) 137 + (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.1.2"; sha256 = "1yi7s2pm4f8vl6b0qck0nrfsrf1h4jwamznkzl75n1cwxpbdikp8"; }) 138 + (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.2.0"; sha256 = "01zfbgg1vcqq36cg5sdrq0fy78fywm7m2v4a79011k5ng9g0ck7z"; }) 139 + (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols"; version = "7.1.2"; sha256 = "0ql5b7472g7359b1pqh2lfm8s3lym9vyzj1xpvbhsv9syk9czrg8"; }) 140 + (fetchNuGet { pname = "Microsoft.IdentityModel.Protocols.OpenIdConnect"; version = "7.1.2"; sha256 = "06r9i1m6zhfbbx18p0drpcbswirlq7xg0wm3iqfjgzxyv053033h"; }) 141 + (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.1.2"; sha256 = "1q70c1ax9f5nggqp4g8nyfaz0481grsaxhp85cmjpmx8l3q35zx9"; }) 142 + (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.2.0"; sha256 = "17xi2sb041dkigkkvnbg0lb5r1i9gjxv2irncqycg60hl1fcp27l"; }) 143 + (fetchNuGet { pname = "Microsoft.IO.RecyclableMemoryStream"; version = "3.0.0"; sha256 = "1zl39k27r4zq75r1x1zr1yl4nzxpkxdnnv6dwd4qp0xr22my85aq"; }) 144 (fetchNuGet { pname = "Microsoft.Net.Http.Headers"; version = "2.2.0"; sha256 = "0w6lrk9z67bcirq2cj2ldfhnizc6id77ba6i30hjzgqjlyhh1gx5"; }) 145 (fetchNuGet { pname = "Microsoft.NETCore.Jit"; version = "1.0.2"; sha256 = "0jaan2wmg80lr0mhgfy70kb5cqjwv1a2ikmxgd0glpcxp7wr7pag"; }) 146 (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) 147 (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) 148 (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; }) 149 (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.1.2"; sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141"; }) 150 (fetchNuGet { pname = "Microsoft.NETCore.Portable.Compatibility"; version = "1.0.1"; sha256 = "1qwar1jv2pwl354bbi75rvcjz27rrk0z0vzgx8h4f1ypn2m5h3f5"; }) 151 (fetchNuGet { pname = "Microsoft.NETCore.Runtime.CoreCLR"; version = "1.0.2"; sha256 = "1hxgsjyzh7hdgd34xwpn5s2myy1b1y9ms7xhvs6mkb75wap49bpc"; }) 152 (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) ··· 156 (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.3.1"; sha256 = "0icds4jxz90v156vkbza1s1rqdf737glfddbllkp6y2zcnin99yv"; }) 157 (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; }) 158 (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) 159 + (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "8.0.0"; sha256 = "05392f41ijgn17y8pbjcx535l1k09krnq3xdp60kyq568sn6xk2i"; }) 160 + (fetchNuGet { pname = "MimeTypeMapOfficial"; version = "1.0.17"; sha256 = "1l5d42pgfz4cpvgdyxf2crzyv7jycky5mhmrrl5501p3806i3r0y"; }) 161 + (fetchNuGet { pname = "Mono.TextTemplating"; version = "2.2.1"; sha256 = "1ih6399x4bxzchw7pq5195imir9viy2r1w702vy87vrarxyjqdp1"; }) 162 + (fetchNuGet { pname = "Nager.ArticleNumber"; version = "1.0.7"; sha256 = "1lfhr20527xhzql5nsn5c1s5as79haz9xcqan8pqsfk200hc27af"; }) 163 (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; }) 164 (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; }) 165 + (fetchNuGet { pname = "NetVips"; version = "2.4.0"; sha256 = "0q4ghm4d19hl6ilxvvmlgdffp3gjnkrirc5665lc85rvziw6xcx9"; }) 166 + (fetchNuGet { pname = "NetVips.Native"; version = "8.15.1"; sha256 = "1ah8frrady684nxf3w4iq6gjcmsrmhndhy6mcyrlsw2i4l4wf1lw"; }) 167 + (fetchNuGet { pname = "NetVips.Native.linux-arm"; version = "8.15.1"; sha256 = "0c4q5wwb7zmz8skzyyg6iag7qlxbc9pklzvi3qlml6c3qwv4b0mi"; }) 168 + (fetchNuGet { pname = "NetVips.Native.linux-arm64"; version = "8.15.1"; sha256 = "1dwjd780l1b1831x1ksiha0ds6414inwjxcl6mb5k3imzfzfck3a"; }) 169 + (fetchNuGet { pname = "NetVips.Native.linux-musl-arm64"; version = "8.15.1"; sha256 = "1md5dk905s28n8q2j6c5wp7zglzmcaqy4dim1qgillkk1651pqnl"; }) 170 + (fetchNuGet { pname = "NetVips.Native.linux-musl-x64"; version = "8.15.1"; sha256 = "1xwlwfidhwdnnw9c9dxag3y90h3l4n408jgq9v25ad8m441134zj"; }) 171 + (fetchNuGet { pname = "NetVips.Native.linux-x64"; version = "8.15.1"; sha256 = "1905sd6zf8qbsfdbh16i6c5f9dznqdgzhz1fywvjfspsbdj3hilp"; }) 172 + (fetchNuGet { pname = "NetVips.Native.osx-arm64"; version = "8.15.1"; sha256 = "03gj78ibggm32nr6qpiykq0h463y81rzsawfdp091ikbxmnm98c7"; }) 173 + (fetchNuGet { pname = "NetVips.Native.osx-x64"; version = "8.15.1"; sha256 = "0r0mqfk9i59nvj15wgzh2rymv6fl0liw5bdcgmk80bfsfjqsrv4d"; }) 174 + (fetchNuGet { pname = "NetVips.Native.win-arm64"; version = "8.15.1"; sha256 = "1l8qwdw03vbc4dkmvw2iyw7b8w0cm20mydgv6diby48q46g5xgcy"; }) 175 + (fetchNuGet { pname = "NetVips.Native.win-x64"; version = "8.15.1"; sha256 = "1vriqri1ppk8glmsyxb7cfcsi42kz6skpx5ggqkrxsfp9yz22x46"; }) 176 + (fetchNuGet { pname = "NetVips.Native.win-x86"; version = "8.15.1"; sha256 = "0p8166fsqmyzy5xvfy2raxp9h38m702mbqf9ab88vxig3i4rsxk8"; }) 177 (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.1"; sha256 = "1z68j07if1xf71lbsrgbia52r812i2dv541sy44ph4dzjjp7pd4m"; }) 178 (fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; }) 179 (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; }) 180 (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; }) 181 + (fetchNuGet { pname = "NReco.Logging.File"; version = "1.2.0"; sha256 = "0bqj9xygxg8bdhm467cmrpzigcikmadir1bq8p0rbfg0rg7ppd4a"; }) 182 (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) 183 (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; }) 184 (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) ··· 201 (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) 202 (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0"; sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf"; }) 203 (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) 204 (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.1.0"; sha256 = "0d720z4lzyfcabmmnvh0bnj76ll7djhji2hmfh3h44sdkjnlkknk"; }) 205 (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; }) 206 (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1"; sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6"; }) ··· 224 (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; }) 225 (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) 226 (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) 227 (fetchNuGet { pname = "Scrutor"; version = "3.3.0"; sha256 = "0qdfbp73hbsiqbv0rg6f91hnp1j535iqk8bmp3ickwd7w337m1vi"; }) 228 + (fetchNuGet { pname = "Serilog"; version = "3.1.1"; sha256 = "0ck51ndmaqflsri7yyw5792z42wsp91038rx2i6vg7z4r35vfvig"; }) 229 + (fetchNuGet { pname = "Serilog.AspNetCore"; version = "8.0.0"; sha256 = "0g1scn1a5paiydxk1nnrwzzqny2vabc3hniy6jwjqycag6ch2pni"; }) 230 (fetchNuGet { pname = "Serilog.Enrichers.Thread"; version = "3.2.0-dev-00752"; sha256 = "0d0phxzdpc8xkbyd18s1dcv9xa22gqs2i2x5cpa9qzj0g8zwp641"; }) 231 + (fetchNuGet { pname = "Serilog.Extensions.Hosting"; version = "8.0.0"; sha256 = "10cgp4nsrzkld5yxnvkfkwd0wkc1m8m7p5z42w4sqd8f188n8i9q"; }) 232 (fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "3.0.1"; sha256 = "069qy7dm5nxb372ij112ppa6m99b4iaimj3sji74m659fwrcrl9a"; }) 233 + (fetchNuGet { pname = "Serilog.Extensions.Logging"; version = "8.0.0"; sha256 = "087ab94sfhkj6h6x3cwwf66g456704faxnfyc4pi6shxk45b318s"; }) 234 + (fetchNuGet { pname = "Serilog.Formatting.Compact"; version = "2.0.0"; sha256 = "0y7vg2qji02riq7r0kgybarhkngw6gh3xw89w7c2hcmjawd96x3k"; }) 235 + (fetchNuGet { pname = "Serilog.Settings.Configuration"; version = "8.0.0"; sha256 = "0245gvndwbj4nbp8q09vp7w4i9iddxr0vzda2c3ja5afz1zgs395"; }) 236 (fetchNuGet { pname = "Serilog.Sinks.AspNetCore.SignalR"; version = "0.4.0"; sha256 = "0sljv39dr8mfbxjzqzik6qa72rc48v9z1hny4j61381cscnank1a"; }) 237 + (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "5.0.1"; sha256 = "0cnjjpnnhlx3k4385dbnddkz3n6khdshjix0hlv4gjmrrmjaixva"; }) 238 (fetchNuGet { pname = "Serilog.Sinks.Debug"; version = "2.0.0"; sha256 = "1i7j870l47gan3gpnnlzkccn5lbm7518cnkp25a3g5gp9l0dbwpw"; }) 239 (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; }) 240 (fetchNuGet { pname = "Serilog.Sinks.SignalR.Core"; version = "0.1.2"; sha256 = "16f86661vr7gw8xay1735y551p0z39mks7xagwxb8lxqxwmm4gzf"; }) 241 + (fetchNuGet { pname = "SharpCompress"; version = "0.36.0"; sha256 = "164ikphk4glldr73l247cjb65v064md0ccccm06rh0zvjq5iqlph"; }) 242 + (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "3.1.2"; sha256 = "0bc0753aczgw9mi9bcgly2x71w4adlr35krgf023vppc36809yhg"; }) 243 + (fetchNuGet { pname = "SonarAnalyzer.CSharp"; version = "9.17.0.82934"; sha256 = "1hk1fh8zp0ng6q29i2y17jdvbxxl3zgbzzag0dvap4wadqdpad1z"; }) 244 + (fetchNuGet { pname = "sqlite-net-pcl"; version = "1.8.116"; sha256 = "0h3s43pfjqgy9amrdj4d7p65hmys895hlkczj62wg974qb4z8l2y"; }) 245 + (fetchNuGet { pname = "SQLitePCLRaw.bundle_e_sqlite3"; version = "2.1.6"; sha256 = "0pzgdfl707pd9fz108xaff22w7c2y27yaix6wfp36phqkdnzz43m"; }) 246 + (fetchNuGet { pname = "SQLitePCLRaw.bundle_green"; version = "2.0.4"; sha256 = "1197ynpm4fl6il9vi0mi1s1pmw3rk3j0a05kwrxpqlfgp7iwhc22"; }) 247 + (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.0.4"; sha256 = "0lb5vwfl1hd24xzzdaj2p4k2hv2k0i3mgdri6fjj0ssb37mcyir1"; }) 248 + (fetchNuGet { pname = "SQLitePCLRaw.core"; version = "2.1.6"; sha256 = "1w8zsgz2w2q0a9cw9cl1rzrpv48a04nhyq67ywan6xlgknds65a7"; }) 249 + (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.0.4"; sha256 = "0kmx1w5qllmwxldr8338qxwmpfzc6g2lmyrah7wfaxd3mvfzky5c"; }) 250 + (fetchNuGet { pname = "SQLitePCLRaw.lib.e_sqlite3"; version = "2.1.6"; sha256 = "0g959z7r3h43nwzm7z3jiib1xvyx146lxyv0x6fl8ll5wivpjyxq"; }) 251 + (fetchNuGet { pname = "SQLitePCLRaw.provider.dynamic_cdecl"; version = "2.0.4"; sha256 = "084r98kilpm0q1aw41idq8slncpd7cz65g0m1wr0p8d12x8z5g6j"; }) 252 + (fetchNuGet { pname = "SQLitePCLRaw.provider.e_sqlite3"; version = "2.1.6"; sha256 = "1vs1c7yhi0mdqrd35ji289cxkhg7dxdnn6wgjjbngvqxkdhkyxyc"; }) 253 + (fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.5.0"; sha256 = "0k61chpz5j59s1yax28vx0mppx20ff8vg8grwja112hfrzj1f45n"; }) 254 + (fetchNuGet { pname = "Swashbuckle.AspNetCore.Filters"; version = "8.0.0"; sha256 = "13jiyn00cxslrgagkw69h6nxjxrrbyg3pwy8gj5iagk5x5gi6b6f"; }) 255 + (fetchNuGet { pname = "Swashbuckle.AspNetCore.Filters.Abstractions"; version = "8.0.0"; sha256 = "1sz2r45z2prglw3svrqy7xzl0z958yip71x6s97xrxsj776sqcf9"; }) 256 (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "5.0.0"; sha256 = "1341nv8nmh6avs3y7w2szzir5qd0bndxwrkdmvvj3hcxj1126w2f"; }) 257 + (fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.5.0"; sha256 = "1s6axf6fin8sss3bvzp0s039rxrx71vx4rl559miw12bz3lld8kc"; }) 258 (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "5.0.0"; sha256 = "00swg2avqnb38q2bsxljd34n8rpknp74h9vbn0fdnfds3a32cqr4"; }) 259 + (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.5.0"; sha256 = "0hq93gy5vyrigpdk9lhqwxglxwkbxa8ydllwcqs4bwfcsspzrs83"; }) 260 + (fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.5.0"; sha256 = "17hx7kc187higm0gk67dndng3n7932sn3fwyj48l45cvyr3025h7"; }) 261 (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; }) 262 (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; }) 263 (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; }) 264 (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) 265 (fetchNuGet { pname = "System.Buffers"; version = "4.5.0"; sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c"; }) 266 (fetchNuGet { pname = "System.Buffers"; version = "4.5.1"; sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3"; }) 267 + (fetchNuGet { pname = "System.CodeDom"; version = "4.4.0"; sha256 = "1zgbafm5p380r50ap5iddp11kzhr9khrf2pnai6k593wjar74p1g"; }) 268 (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; }) 269 (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) 270 (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12"; sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc"; }) 271 (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) 272 (fetchNuGet { pname = "System.Collections.Immutable"; version = "6.0.0"; sha256 = "1js98kmjn47ivcvkjqdmyipzknb9xbndssczm8gq224pbaj1p88c"; }) 273 (fetchNuGet { pname = "System.ComponentModel.Annotations"; version = "4.5.0"; sha256 = "1jj6f6g87k0iwsgmg3xmnn67a14mq88np0l1ys5zkxhkvbc8976p"; }) 274 + (fetchNuGet { pname = "System.Composition"; version = "6.0.0"; sha256 = "1p7hysns39cc24af6dwd4m48bqjsrr3clvi4aws152mh2fgyg50z"; }) 275 + (fetchNuGet { pname = "System.Composition.AttributedModel"; version = "6.0.0"; sha256 = "1mqrblb0l65hw39d0hnspqcv85didpn4wbiwhfgj4784wzqx2w6k"; }) 276 + (fetchNuGet { pname = "System.Composition.Convention"; version = "6.0.0"; sha256 = "02km3yb94p1c4s7liyhkmda0g71zm1rc8ijsfmy4bnlkq15xjw3b"; }) 277 + (fetchNuGet { pname = "System.Composition.Hosting"; version = "6.0.0"; sha256 = "0big5nk8c44rxp6cfykhk7rxvn2cgwa99w6c3v2a36adc3lj36ky"; }) 278 + (fetchNuGet { pname = "System.Composition.Runtime"; version = "6.0.0"; sha256 = "0vq5ik63yii1784gsa2f2kx9w6xllmm8b8rk0arid1jqdj1nyrlw"; }) 279 + (fetchNuGet { pname = "System.Composition.TypedParts"; version = "6.0.0"; sha256 = "0y9pq3y60nyrpfy51f576a0qjjdh61mcv8vnik32pm4bz56h9q72"; }) 280 (fetchNuGet { pname = "System.Console"; version = "4.0.0"; sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf"; }) 281 (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; }) 282 (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; }) 283 (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) 284 (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; }) 285 (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) 286 (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "6.0.0"; sha256 = "0rrihs9lnb1h6x4h0hn6kgfnh58qq7hx8qq99gh6fayx4dcnx3s5"; }) 287 + (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "8.0.0"; sha256 = "0nzra1i0mljvmnj1qqqg37xs7bl71fnpl68nwmdajchh65l878zr"; }) 288 + (fetchNuGet { pname = "System.Diagnostics.EventLog"; version = "8.0.0"; sha256 = "1xnvcidh2qf6k7w8ij1rvj0viqkq84cq47biw0c98xhxg5rk3pxf"; }) 289 (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; }) 290 (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; }) 291 (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; }) 292 (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) 293 + (fetchNuGet { pname = "System.Drawing.Common"; version = "8.0.1"; sha256 = "02l7y2j6f2qykl90iac28nvw1cnhic8vzixlq5fznw0zj72knz25"; }) 294 (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; }) 295 (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; }) 296 (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) ··· 298 (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) 299 (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.0.1"; sha256 = "0hjhdb5ri8z9l93bw04s7ynwrjrhx2n0p34sf33a9hl9phz69fyc"; }) 300 (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) 301 + (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "7.2.0"; sha256 = "000sfpv1bjwkwwb65fl85f3ifwvdadzkx93gwsb56vrsh00kd026"; }) 302 (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; }) 303 (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) 304 + (fetchNuGet { pname = "System.IO.Abstractions"; version = "20.0.4"; sha256 = "0qdp4522v0k219iixg4zk7vmpyx149rsnqhq3ykzkpd2mdg0f4nx"; }) 305 (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0"; sha256 = "0iym7s3jkl8n0vzm3jd6xqg9zjjjqni05x45dwxyjr2dy88hlgji"; }) 306 (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; }) 307 (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.0.1"; sha256 = "0h72znbagmgvswzr46mihn7xm7chfk2fhrp5krzkjf29pz0i6z82"; }) ··· 311 (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; }) 312 (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) 313 (fetchNuGet { pname = "System.IO.Pipelines"; version = "4.5.2"; sha256 = "045sn3vyk5xysjjm19q4dj5c1g1rf8l98n4qsl9pl9id4fn08yq1"; }) 314 + (fetchNuGet { pname = "System.IO.Pipelines"; version = "6.0.3"; sha256 = "1jgdazpmwc21dd9naq3l9n5s8a1jnbwlvgkf1pnm0aji6jd4xqdz"; }) 315 (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; }) 316 (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) 317 (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; }) 318 (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) 319 (fetchNuGet { pname = "System.Memory"; version = "4.5.1"; sha256 = "0f07d7hny38lq9w69wx4lxkn4wszrqf9m9js6fh9is645csm167c"; }) 320 (fetchNuGet { pname = "System.Memory"; version = "4.5.3"; sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a"; }) 321 (fetchNuGet { pname = "System.Net.Http"; version = "4.1.0"; sha256 = "1i5rqij1icg05j8rrkw4gd4pgia1978mqhjzhsjg69lvwcdfg8yb"; }) 322 (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; }) 323 (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; }) ··· 339 (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) 340 (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; }) 341 (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) 342 + (fetchNuGet { pname = "System.Reflection.Metadata"; version = "6.0.1"; sha256 = "0fjqifk4qz9lw5gcadpfalpplyr0z2b3p9x7h0ll481a9sqvppc9"; }) 343 (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; }) 344 (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) 345 (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.1.0"; sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7"; }) ··· 351 (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; }) 352 (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.1"; sha256 = "1xcrjx5fwg284qdnxyi2d0lzdm5q4frlpkp0nf6vvkx1kdz2prrf"; }) 353 (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.2"; sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi"; }) 354 (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; }) 355 (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; }) 356 (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) ··· 363 (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1"; sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn"; }) 364 (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) 365 (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; }) 366 (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; }) 367 (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; }) 368 (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) 369 (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; }) 370 (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) 371 (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; }) 372 (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) 373 (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0"; sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4"; }) ··· 380 (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) 381 (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; }) 382 (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; }) 383 (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; }) 384 (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) 385 (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) 386 (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.5.1"; sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w"; }) 387 + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "6.0.0"; sha256 = "0gm2kiz2ndm9xyzxgi0jhazgwslcs427waxgfa30m7yqll1kcrww"; }) 388 (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; }) 389 (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) 390 (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "4.5.0"; sha256 = "0srd5bva52n92i90wd88pzrqjsxnfgka3ilybwh7s6sf469y5s53"; }) 391 + (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; sha256 = "1wbypkx0m8dgpsaqgyywz4z760xblnwalb241d5qv9kx8m128i11"; }) 392 (fetchNuGet { pname = "System.Text.Json"; version = "4.7.2"; sha256 = "10xj1pw2dgd42anikvj9qm23ccssrcp7dpznpj4j7xjp1ikhy3y4"; }) 393 + (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; sha256 = "134savxw0sq7s448jnzw17bxcijsi1v38mirpbb6zfxmqlf04msw"; }) 394 (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; }) 395 (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; }) 396 (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; }) 397 (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) 398 (fetchNuGet { pname = "System.Threading.Channels"; version = "4.5.0"; sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz"; }) 399 + (fetchNuGet { pname = "System.Threading.Channels"; version = "6.0.0"; sha256 = "1qbyi7yymqc56frqy7awvcqc1m7x3xrpx87a37dgb3mbrjg9hlcj"; }) 400 (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; }) 401 (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) 402 (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; }) ··· 409 (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; }) 410 (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; }) 411 (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; }) 412 + (fetchNuGet { pname = "TestableIO.System.IO.Abstractions"; version = "20.0.4"; sha256 = "16jw4zw8pvck754r6744d11460w1fih8c77r8yzzw2w58iv2mns6"; }) 413 + (fetchNuGet { pname = "TestableIO.System.IO.Abstractions.Wrappers"; version = "20.0.4"; sha256 = "1c5sf8dva9vswl2qqkc6xcmznia8d5nqw46yvk4b1f9idv53j5nz"; }) 414 + (fetchNuGet { pname = "VersOne.Epub"; version = "3.3.1"; sha256 = "1v7ms857yhm38syi4l63g9hzn0y08n8csr4z4i56xmzpj1big2s6"; }) 415 + (fetchNuGet { pname = "ZstdSharp.Port"; version = "0.7.4"; sha256 = "0087rymvclj96pscd8lbjidsdg1g4p83m6y20bcicz8sx7jnnzyg"; }) 416 ]
+20
pkgs/servers/web-apps/kavita/update.sh
···
··· 1 + #!/usr/bin/env nix-shell 2 + #! nix-shell -i bash -p common-updater-scripts curl jq nix-prefetch-github prefetch-npm-deps 3 + 4 + set -euo pipefail 5 + 6 + latest_version=$(curl -s https://api.github.com/repos/Kareadita/Kavita/releases/latest | jq -r '.tag_name' | tr -d v) 7 + 8 + pushd "$(mktemp -d)" 9 + curl -s https://raw.githubusercontent.com/Kareadita/Kavita/v${latest_version}/UI/Web/package-lock.json -o package-lock.json 10 + npmDepsHash=$(prefetch-npm-deps package-lock.json) 11 + rm -f package-lock.json 12 + popd 13 + 14 + update-source-version kavita "$latest_version" 15 + 16 + pushd "$(dirname "${BASH_SOURCE[0]}")" 17 + sed -E 's#\bnpmDepsHash = ".*?"#npmDepsHash = "'"$npmDepsHash"'"#' -i default.nix 18 + popd 19 + 20 + $(nix-build -A kavita.backend.fetch-deps --no-out-link)
+6 -6
pkgs/tools/misc/yubikey-manager/default.nix
··· 8 9 python3Packages.buildPythonPackage rec { 10 pname = "yubikey-manager"; 11 - version = "5.3.0"; 12 pyproject = true; 13 14 src = fetchFromGitHub { 15 owner = "Yubico"; 16 repo = "yubikey-manager"; 17 rev = version; 18 - hash = "sha256-c5edonnvvGIZ6SJ6+gd2xcAy0/HiAEUEPMGQzOKK2Sw="; 19 }; 20 21 postPatch = '' ··· 55 makefun 56 ]; 57 58 - meta = with lib; { 59 homepage = "https://developers.yubico.com/yubikey-manager"; 60 changelog = "https://github.com/Yubico/yubikey-manager/releases/tag/${version}"; 61 description = "Command line tool for configuring any YubiKey over all USB transports"; 62 63 - license = licenses.bsd2; 64 - platforms = platforms.unix; 65 - maintainers = with maintainers; [ benley lassulus pinpox nickcao ]; 66 mainProgram = "ykman"; 67 }; 68 }
··· 8 9 python3Packages.buildPythonPackage rec { 10 pname = "yubikey-manager"; 11 + version = "5.4.0"; 12 pyproject = true; 13 14 src = fetchFromGitHub { 15 owner = "Yubico"; 16 repo = "yubikey-manager"; 17 rev = version; 18 + hash = "sha256-Rn3iGiiR48EFVAn9BRQ043L8x7WwH7XnazZlVw50IGU="; 19 }; 20 21 postPatch = '' ··· 55 makefun 56 ]; 57 58 + meta = { 59 homepage = "https://developers.yubico.com/yubikey-manager"; 60 changelog = "https://github.com/Yubico/yubikey-manager/releases/tag/${version}"; 61 description = "Command line tool for configuring any YubiKey over all USB transports"; 62 63 + license = lib.licenses.bsd2; 64 + platforms = lib.platforms.unix; 65 + maintainers = with lib.maintainers; [ benley lassulus pinpox nickcao ]; 66 mainProgram = "ykman"; 67 }; 68 }
+18 -2
pkgs/tools/networking/easyrsa/default.nix
··· 8 owner = "OpenVPN"; 9 repo = "easy-rsa"; 10 rev = "v${version}"; 11 - sha256 = "sha256-zdVcT04nj7eE1a6M7WHeWpwG/TVTwyK+WgD70XwPXfY="; 12 }; 13 14 nativeBuildInputs = [ makeWrapper ]; 15 16 installPhase = '' 17 mkdir -p $out/share/easy-rsa ··· 26 27 # Wrap it with the correct OpenSSL binary. 28 wrapProgram $out/bin/easyrsa \ 29 - --set EASYRSA_OPENSSL ${openssl.bin}/bin/openssl 30 31 # Helper utility 32 cat > $out/bin/easyrsa-init <<EOF ··· 34 cp -r $out/share/easy-rsa/* . 35 EOF 36 chmod +x $out/bin/easyrsa-init 37 ''; 38 39 meta = with lib; {
··· 8 owner = "OpenVPN"; 9 repo = "easy-rsa"; 10 rev = "v${version}"; 11 + hash = "sha256-zdVcT04nj7eE1a6M7WHeWpwG/TVTwyK+WgD70XwPXfY="; 12 }; 13 14 nativeBuildInputs = [ makeWrapper ]; 15 + nativeInstallCheckInputs = [ openssl.bin ]; 16 17 installPhase = '' 18 mkdir -p $out/share/easy-rsa ··· 27 28 # Wrap it with the correct OpenSSL binary. 29 wrapProgram $out/bin/easyrsa \ 30 + --set-default EASYRSA_OPENSSL ${openssl.bin}/bin/openssl 31 32 # Helper utility 33 cat > $out/bin/easyrsa-init <<EOF ··· 35 cp -r $out/share/easy-rsa/* . 36 EOF 37 chmod +x $out/bin/easyrsa-init 38 + ''; 39 + 40 + doInstallCheck = true; 41 + postInstallCheck = '' 42 + set -euo pipefail 43 + export EASYRSA_BATCH=1 44 + export EASYRSA_PASSIN=pass:nixpkgs 45 + export EASYRSA_PASSOUT="$EASYRSA_PASSIN" 46 + export EASYRSA_REQ_CN='nixpkgs test CA' 47 + export EASYRSA_KEY_SIZE=3072 48 + export EASYRSA_ALGO=rsa 49 + export EASYRSA_DIGEST=sha512 50 + $out/bin/easyrsa init-pki 51 + $out/bin/easyrsa build-ca 52 + openssl x509 -in pki/ca.crt -noout -subject | tee /dev/stderr | grep -zq "$EASYRSA_REQ_CN" 53 ''; 54 55 meta = with lib; {
+1
pkgs/tools/package-management/poetry/default.nix
··· 30 poetry-audit-plugin = callPackage ./plugins/poetry-audit-plugin.nix { }; 31 poetry-plugin-export = callPackage ./plugins/poetry-plugin-export.nix { }; 32 poetry-plugin-up = callPackage ./plugins/poetry-plugin-up.nix { }; 33 }; 34 35 # selector is a function mapping pythonPackages to a list of plugins
··· 30 poetry-audit-plugin = callPackage ./plugins/poetry-audit-plugin.nix { }; 31 poetry-plugin-export = callPackage ./plugins/poetry-plugin-export.nix { }; 32 poetry-plugin-up = callPackage ./plugins/poetry-plugin-up.nix { }; 33 + poetry-plugin-poeblix = callPackage ./plugins/poetry-plugin-poeblix.nix { }; 34 }; 35 36 # selector is a function mapping pythonPackages to a list of plugins
+37
pkgs/tools/package-management/poetry/plugins/poetry-plugin-poeblix.nix
···
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , poetry-core 5 + }: 6 + 7 + buildPythonPackage rec { 8 + pname = "poetry-plugin-poeblix"; 9 + version = "0.10.0"; 10 + pyproject = true; 11 + 12 + src = fetchFromGitHub { 13 + owner = "spoorn"; 14 + repo = "poeblix"; 15 + rev = "refs/tags/${version}"; 16 + hash = "sha256-TKadEOk9kM3ZYsQmE2ftzjHNGNKI17p0biMr+Nskigs="; 17 + }; 18 + 19 + postPatch = '' 20 + sed -i '/poetry =/d' pyproject.toml 21 + ''; 22 + 23 + nativeBuildInputs = [ 24 + poetry-core 25 + ]; 26 + 27 + doCheck = false; 28 + pythonImportsCheck = ["poeblix"]; 29 + 30 + meta = with lib; { 31 + changelog = "https://github.com/spoorn/poeblix/releases/tag/${src.rev}"; 32 + description = "Poetry Plugin that adds various features that extend the poetry command such as building wheel files with locked dependencies, and validations of wheel/docker containers"; 33 + license = licenses.mit; 34 + homepage = "https://github.com/spoorn/poeblix"; 35 + maintainers = with maintainers; [ hennk ]; 36 + }; 37 + }
+2 -2
pkgs/tools/security/exploitdb/default.nix
··· 6 7 stdenv.mkDerivation rec { 8 pname = "exploitdb"; 9 - version = "2024-03-23"; 10 11 src = fetchFromGitLab { 12 owner = "exploit-database"; 13 repo = pname; 14 rev = "refs/tags/${version}"; 15 - hash = "sha256-2Z6HY2Pz7PKh0iBXaplxj7il0Ekzqsbq57l0/Pk03+s="; 16 }; 17 18 nativeBuildInputs = [
··· 6 7 stdenv.mkDerivation rec { 8 pname = "exploitdb"; 9 + version = "2024-03-26"; 10 11 src = fetchFromGitLab { 12 owner = "exploit-database"; 13 repo = pname; 14 rev = "refs/tags/${version}"; 15 + hash = "sha256-oZfo9p23uvDw2f7O5AnycVpE14Rul8ZIeQPojVGQCXI="; 16 }; 17 18 nativeBuildInputs = [
+3 -3
pkgs/tools/typesetting/tex/texpresso/default.nix
··· 17 18 stdenv.mkDerivation rec { 19 pname = "texpresso"; 20 - version = "0-unstable-2024-03-24"; 21 22 nativeBuildInputs = [ 23 makeWrapper ··· 35 src = fetchFromGitHub { 36 owner = "let-def"; 37 repo = "texpresso"; 38 - rev = "08d4ae8632ef0da349595310d87ac01e70f2c6ae"; 39 - hash = "sha256-a0yBVtLfmE0oTl599FXp7A10JoiKusofLSeXigx4GvA="; 40 }; 41 42 buildFlags = [ "texpresso" ];
··· 17 18 stdenv.mkDerivation rec { 19 pname = "texpresso"; 20 + version = "0-unstable-2024-03-26"; 21 22 nativeBuildInputs = [ 23 makeWrapper ··· 35 src = fetchFromGitHub { 36 owner = "let-def"; 37 repo = "texpresso"; 38 + rev = "34d06efc5719a6289bbe2d05e5295566d0fbcfad"; 39 + hash = "sha256-rfrESh2Yz5FfwWW57wBZSJKPri2Pl1uhTGTM02dyOqM="; 40 }; 41 42 buildFlags = [ "texpresso" ];
+5
pkgs/top-level/all-packages.nix
··· 2621 2622 _86Box = callPackage ../applications/emulators/86box { }; 2623 2624 attract-mode = callPackage ../applications/emulators/attract-mode { }; 2625 2626 basiliskii = callPackage ../applications/emulators/basiliskii { };
··· 2621 2622 _86Box = callPackage ../applications/emulators/86box { }; 2623 2624 + _86Box-with-roms = _86Box.override { 2625 + unfreeEnableRoms = true; 2626 + unfreeEnableDiscord = true; 2627 + }; 2628 + 2629 attract-mode = callPackage ../applications/emulators/attract-mode { }; 2630 2631 basiliskii = callPackage ../applications/emulators/basiliskii { };
+53
pkgs/top-level/darwin-aliases.nix
···
··· 1 + lib: self: super: pkgs: 2 + 3 + ### Deprecated aliases - for backward compatibility 4 + 5 + ### Please maintain this list in ASCIIbetical ordering. 6 + ### Hint: the "sections" are delimited by ### <letter> ### 7 + 8 + # These aliases should not be used within nixpkgs, but exist to improve 9 + # backward compatibility in projects outside of nixpkgs. See the 10 + # documentation for the `allowAliases` option for more background. 11 + 12 + # A script to convert old aliases to throws and remove old 13 + # throws can be found in './maintainers/scripts/remove-old-aliases.py'. 14 + 15 + # Add 'preserve, reason: reason why' after the date if the alias should not be removed. 16 + # Try to keep them to a minimum. 17 + # valid examples of what to preserve: 18 + # distro aliases such as: 19 + # debian-package-name -> nixos-package-name 20 + 21 + # pkgs is provided to allow packages to be moved out of the darwin attrset. 22 + 23 + with self; 24 + 25 + let 26 + # Removing recurseForDerivation prevents derivations of aliased attribute set 27 + # to appear while listing all the packages available. 28 + removeRecurseForDerivations = 29 + alias: 30 + if alias.recurseForDerivations or false then 31 + lib.removeAttrs alias [ "recurseForDerivations" ] 32 + else 33 + alias; 34 + 35 + # Disabling distribution prevents top-level aliases for non-recursed package 36 + # sets from building on Hydra. 37 + removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias; 38 + 39 + # Make sure that we are not shadowing something from darwin-packages.nix. 40 + checkInPkgs = 41 + n: alias: 42 + if builtins.hasAttr n super then throw "Alias ${n} is still in darwin-packages.nix" else alias; 43 + 44 + mapAliases = lib.mapAttrs ( 45 + n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias)) 46 + ); 47 + in 48 + 49 + mapAliases ({ 50 + ### B ### 51 + 52 + builder = throw "'darwin.builder' has been changed and renamed to 'darwin.linux-builder'. The default ssh port is now 31022. Please update your configuration or override the port back to 22. See https://nixos.org/manual/nixpkgs/unstable/#sec-darwin-builder"; # added 2023-07-06 53 + })
+3 -3
pkgs/top-level/darwin-packages.nix
··· 18 fetchurlBoot = import ../build-support/fetchurl/boot.nix { 19 inherit (stdenv) system; 20 }; 21 in 22 23 makeScopeWithSplicing' { 24 otherSplices = generateSplicesForMkScope "darwin"; 25 extra = spliced: spliced.apple_sdk.frameworks; 26 - f = (self: let 27 inherit (self) mkDerivation callPackage; 28 29 # Must use pkgs.callPackage to avoid infinite recursion. ··· 260 modules = [ { nixpkgs.hostPlatform = "x86_64-linux"; } ]; 261 }; 262 263 - } // lib.optionalAttrs config.allowAliases { 264 - builder = throw "'darwin.builder' has been changed and renamed to 'darwin.linux-builder'. The default ssh port is now 31022. Please update your configuration or override the port back to 22. See https://nixos.org/manual/nixpkgs/unstable/#sec-darwin-builder"; # added 2023-07-06 265 }); 266 }
··· 18 fetchurlBoot = import ../build-support/fetchurl/boot.nix { 19 inherit (stdenv) system; 20 }; 21 + 22 + aliases = self: super: lib.optionalAttrs config.allowAliases (import ../top-level/darwin-aliases.nix lib self super pkgs); 23 in 24 25 makeScopeWithSplicing' { 26 otherSplices = generateSplicesForMkScope "darwin"; 27 extra = spliced: spliced.apple_sdk.frameworks; 28 + f = lib.extends aliases (self: let 29 inherit (self) mkDerivation callPackage; 30 31 # Must use pkgs.callPackage to avoid infinite recursion. ··· 262 modules = [ { nixpkgs.hostPlatform = "x86_64-linux"; } ]; 263 }; 264 265 }); 266 }