lol

Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
f85fe5fc ff42d233

+1271 -112
+6
maintainers/maintainer-list.nix
··· 17018 17018 fingerprint = "ADF4 C13D 0E36 1240 BD01 9B51 D1DE 6D7F 6936 63A5"; 17019 17019 }]; 17020 17020 }; 17021 + Silver-Golden = { 17022 + name = "Brendan Golden"; 17023 + email = "github+nixpkgs@brendan.ie"; 17024 + github = "Silver-Golden"; 17025 + githubId = 7858375; 17026 + }; 17021 17027 simarra = { 17022 17028 name = "simarra"; 17023 17029 email = "loic.martel@protonmail.com";
+2
nixos/modules/module-list.nix
··· 497 497 ./services/development/jupyterhub/default.nix 498 498 ./services/development/livebook.nix 499 499 ./services/development/lorri.nix 500 + ./services/development/nixseparatedebuginfod.nix 500 501 ./services/development/rstudio-server/default.nix 501 502 ./services/development/zammad.nix 502 503 ./services/display-managers/greetd.nix ··· 1175 1176 ./services/search/typesense.nix 1176 1177 ./services/security/aesmd.nix 1177 1178 ./services/security/authelia.nix 1179 + ./services/security/bitwarden-directory-connector-cli.nix 1178 1180 ./services/security/certmgr.nix 1179 1181 ./services/security/cfssl.nix 1180 1182 ./services/security/clamav.nix
+1
nixos/modules/programs/firefox.nix
··· 284 284 285 285 # Preferences are converted into a policy 286 286 programs.firefox.policies = { 287 + DisableAppUpdate = true; 287 288 Preferences = (mapAttrs 288 289 (_: value: { Value = value; Status = cfg.preferencesStatus; }) 289 290 cfg.preferences);
+105
nixos/modules/services/development/nixseparatedebuginfod.nix
··· 1 + { pkgs, lib, config, ... }: 2 + let 3 + cfg = config.services.nixseparatedebuginfod; 4 + url = "127.0.0.1:${toString cfg.port}"; 5 + in 6 + { 7 + options = { 8 + services.nixseparatedebuginfod = { 9 + enable = lib.mkEnableOption "separatedebuginfod, a debuginfod server providing source and debuginfo for nix packages"; 10 + port = lib.mkOption { 11 + description = "port to listen"; 12 + default = 1949; 13 + type = lib.types.port; 14 + }; 15 + nixPackage = lib.mkOption { 16 + type = lib.types.package; 17 + default = pkgs.nix; 18 + defaultText = lib.literalExpression "pkgs.nix"; 19 + description = '' 20 + The version of nix that nixseparatedebuginfod should use as client for the nix daemon. It is strongly advised to use nix version >= 2.18, otherwise some debug info may go missing. 21 + ''; 22 + }; 23 + allowOldNix = lib.mkOption { 24 + type = lib.types.bool; 25 + default = false; 26 + description = '' 27 + Do not fail evaluation when {option}`services.nixseparatedebuginfod.nixPackage` is older than nix 2.18. 28 + ''; 29 + }; 30 + }; 31 + }; 32 + config = lib.mkIf cfg.enable { 33 + assertions = [ { 34 + assertion = cfg.allowOldNix || (lib.versionAtLeast cfg.nixPackage.version "2.18"); 35 + message = "nixseparatedebuginfod works better when `services.nixseparatedebuginfod.nixPackage` is set to nix >= 2.18 (instead of ${cfg.nixPackage.name}). Set `services.nixseparatedebuginfod.allowOldNix` to bypass."; 36 + } ]; 37 + 38 + systemd.services.nixseparatedebuginfod = { 39 + wantedBy = [ "multi-user.target" ]; 40 + wants = [ "nix-daemon.service" ]; 41 + after = [ "nix-daemon.service" ]; 42 + path = [ cfg.nixPackage ]; 43 + serviceConfig = { 44 + ExecStart = [ "${pkgs.nixseparatedebuginfod}/bin/nixseparatedebuginfod -l ${url}" ]; 45 + Restart = "on-failure"; 46 + CacheDirectory = "nixseparatedebuginfod"; 47 + # nix does not like DynamicUsers in allowed-users 48 + User = "nixseparatedebuginfod"; 49 + Group = "nixseparatedebuginfod"; 50 + 51 + # hardening 52 + # Filesystem stuff 53 + ProtectSystem = "strict"; # Prevent writing to most of / 54 + ProtectHome = true; # Prevent accessing /home and /root 55 + PrivateTmp = true; # Give an own directory under /tmp 56 + PrivateDevices = true; # Deny access to most of /dev 57 + ProtectKernelTunables = true; # Protect some parts of /sys 58 + ProtectControlGroups = true; # Remount cgroups read-only 59 + RestrictSUIDSGID = true; # Prevent creating SETUID/SETGID files 60 + PrivateMounts = true; # Give an own mount namespace 61 + RemoveIPC = true; 62 + UMask = "0077"; 63 + 64 + # Capabilities 65 + CapabilityBoundingSet = ""; # Allow no capabilities at all 66 + NoNewPrivileges = true; # Disallow getting more capabilities. This is also implied by other options. 67 + 68 + # Kernel stuff 69 + ProtectKernelModules = true; # Prevent loading of kernel modules 70 + SystemCallArchitectures = "native"; # Usually no need to disable this 71 + ProtectKernelLogs = true; # Prevent access to kernel logs 72 + ProtectClock = true; # Prevent setting the RTC 73 + 74 + # Networking 75 + RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6"; 76 + 77 + # Misc 78 + LockPersonality = true; # Prevent change of the personality 79 + ProtectHostname = true; # Give an own UTS namespace 80 + RestrictRealtime = true; # Prevent switching to RT scheduling 81 + MemoryDenyWriteExecute = true; # Maybe disable this for interpreters like python 82 + RestrictNamespaces = true; 83 + }; 84 + }; 85 + 86 + users.users.nixseparatedebuginfod = { 87 + isSystemUser = true; 88 + group = "nixseparatedebuginfod"; 89 + }; 90 + 91 + users.groups.nixseparatedebuginfod = { }; 92 + 93 + nix.settings.extra-allowed-users = [ "nixseparatedebuginfod" ]; 94 + 95 + environment.variables.DEBUGINFOD_URLS = "http://${url}"; 96 + 97 + environment.systemPackages = [ 98 + # valgrind support requires debuginfod-find on PATH 99 + (lib.getBin pkgs.elfutils) 100 + ]; 101 + 102 + environment.etc."gdb/gdbinit.d/nixseparatedebuginfod.gdb".text = "set debuginfod enabled on"; 103 + 104 + }; 105 + }
+323
nixos/modules/services/security/bitwarden-directory-connector-cli.nix
··· 1 + { 2 + config, 3 + lib, 4 + pkgs, 5 + ... 6 + }: 7 + with lib; let 8 + cfg = config.services.bitwarden-directory-connector-cli; 9 + in { 10 + options.services.bitwarden-directory-connector-cli = { 11 + enable = mkEnableOption "Bitwarden Directory Connector"; 12 + 13 + package = mkPackageOption pkgs "bitwarden-directory-connector-cli" {}; 14 + 15 + domain = mkOption { 16 + type = types.str; 17 + description = lib.mdDoc "The domain the Bitwarden/Vaultwarden is accessible on."; 18 + example = "https://vaultwarden.example.com"; 19 + }; 20 + 21 + user = mkOption { 22 + type = types.str; 23 + description = lib.mdDoc "User to run the program."; 24 + default = "bwdc"; 25 + }; 26 + 27 + interval = mkOption { 28 + type = types.str; 29 + default = "*:0,15,30,45"; 30 + description = lib.mdDoc "The interval when to run the connector. This uses systemd's OnCalendar syntax."; 31 + }; 32 + 33 + ldap = mkOption { 34 + description = lib.mdDoc '' 35 + Options to configure the LDAP connection. 36 + If you used the desktop application to test the configuration you can find the settings by searching for `ldap` in `~/.config/Bitwarden\ Directory\ Connector/data.json`. 37 + ''; 38 + default = {}; 39 + type = types.submodule ({ 40 + config, 41 + options, 42 + ... 43 + }: { 44 + freeformType = types.attrsOf (pkgs.formats.json {}).type; 45 + 46 + config.finalJSON = builtins.toJSON (removeAttrs config (filter (x: x == "finalJSON" || ! options.${x}.isDefined or false) (attrNames options))); 47 + 48 + options = { 49 + finalJSON = mkOption { 50 + type = (pkgs.formats.json {}).type; 51 + internal = true; 52 + readOnly = true; 53 + visible = false; 54 + }; 55 + 56 + ssl = mkOption { 57 + type = types.bool; 58 + default = false; 59 + description = lib.mdDoc "Whether to use TLS."; 60 + }; 61 + startTls = mkOption { 62 + type = types.bool; 63 + default = false; 64 + description = lib.mdDoc "Whether to use STARTTLS."; 65 + }; 66 + 67 + hostname = mkOption { 68 + type = types.str; 69 + description = lib.mdDoc "The host the LDAP is accessible on."; 70 + example = "ldap.example.com"; 71 + }; 72 + 73 + port = mkOption { 74 + type = types.port; 75 + default = 389; 76 + description = lib.mdDoc "Port LDAP is accessible on."; 77 + }; 78 + 79 + ad = mkOption { 80 + type = types.bool; 81 + default = false; 82 + description = lib.mdDoc "Whether the LDAP Server is an Active Directory."; 83 + }; 84 + 85 + pagedSearch = mkOption { 86 + type = types.bool; 87 + default = false; 88 + description = lib.mdDoc "Whether the LDAP server paginates search results."; 89 + }; 90 + 91 + rootPath = mkOption { 92 + type = types.str; 93 + description = lib.mdDoc "Root path for LDAP."; 94 + example = "dc=example,dc=com"; 95 + }; 96 + 97 + username = mkOption { 98 + type = types.str; 99 + description = lib.mdDoc "The user to authenticate as."; 100 + example = "cn=admin,dc=example,dc=com"; 101 + }; 102 + }; 103 + }); 104 + }; 105 + 106 + sync = mkOption { 107 + description = lib.mdDoc '' 108 + Options to configure what gets synced. 109 + If you used the desktop application to test the configuration you can find the settings by searching for `sync` in `~/.config/Bitwarden\ Directory\ Connector/data.json`. 110 + ''; 111 + default = {}; 112 + type = types.submodule ({ 113 + config, 114 + options, 115 + ... 116 + }: { 117 + freeformType = types.attrsOf (pkgs.formats.json {}).type; 118 + 119 + config.finalJSON = builtins.toJSON (removeAttrs config (filter (x: x == "finalJSON" || ! options.${x}.isDefined or false) (attrNames options))); 120 + 121 + options = { 122 + finalJSON = mkOption { 123 + type = (pkgs.formats.json {}).type; 124 + internal = true; 125 + readOnly = true; 126 + visible = false; 127 + }; 128 + 129 + removeDisabled = mkOption { 130 + type = types.bool; 131 + default = true; 132 + description = lib.mdDoc "Remove users from bitwarden groups if no longer in the ldap group."; 133 + }; 134 + 135 + overwriteExisting = mkOption { 136 + type = types.bool; 137 + default = false; 138 + description = 139 + lib.mdDoc "Remove and re-add users/groups, See https://bitwarden.com/help/user-group-filters/#overwriting-syncs for more details."; 140 + }; 141 + 142 + largeImport = mkOption { 143 + type = types.bool; 144 + default = false; 145 + description = lib.mdDoc "Enable if you are syncing more than 2000 users/groups."; 146 + }; 147 + 148 + memberAttribute = mkOption { 149 + type = types.str; 150 + description = lib.mdDoc "Attribute that lists members in a LDAP group."; 151 + example = "uniqueMember"; 152 + }; 153 + 154 + creationDateAttribute = mkOption { 155 + type = types.str; 156 + description = lib.mdDoc "Attribute that lists a user's creation date."; 157 + example = "whenCreated"; 158 + }; 159 + 160 + useEmailPrefixSuffix = mkOption { 161 + type = types.bool; 162 + default = false; 163 + description = lib.mdDoc "If a user has no email address, combine a username prefix with a suffix value to form an email."; 164 + }; 165 + emailPrefixAttribute = mkOption { 166 + type = types.str; 167 + description = lib.mdDoc "The attribute that contains the users username."; 168 + example = "accountName"; 169 + }; 170 + emailSuffix = mkOption { 171 + type = types.str; 172 + description = lib.mdDoc "Suffix for the email, normally @example.com."; 173 + example = "@example.com"; 174 + }; 175 + 176 + users = mkOption { 177 + type = types.bool; 178 + default = false; 179 + description = lib.mdDoc "Sync users."; 180 + }; 181 + userPath = mkOption { 182 + type = types.str; 183 + description = lib.mdDoc "User directory, relative to root."; 184 + default = "ou=users"; 185 + }; 186 + userObjectClass = mkOption { 187 + type = types.str; 188 + description = lib.mdDoc "Class that users must have."; 189 + default = "inetOrgPerson"; 190 + }; 191 + userEmailAttribute = mkOption { 192 + type = types.str; 193 + description = lib.mdDoc "Attribute for a users email."; 194 + default = "mail"; 195 + }; 196 + userFilter = mkOption { 197 + type = types.str; 198 + description = lib.mdDoc "LDAP filter for users."; 199 + example = "(memberOf=cn=sales,ou=groups,dc=example,dc=com)"; 200 + default = ""; 201 + }; 202 + 203 + groups = mkOption { 204 + type = types.bool; 205 + default = false; 206 + description = lib.mdDoc "Whether to sync ldap groups into BitWarden."; 207 + }; 208 + groupPath = mkOption { 209 + type = types.str; 210 + description = lib.mdDoc "Group directory, relative to root."; 211 + default = "ou=groups"; 212 + }; 213 + groupObjectClass = mkOption { 214 + type = types.str; 215 + description = lib.mdDoc "A class that groups will have."; 216 + default = "groupOfNames"; 217 + }; 218 + groupNameAttribute = mkOption { 219 + type = types.str; 220 + description = lib.mdDoc "Attribute for a name of group."; 221 + default = "cn"; 222 + }; 223 + groupFilter = mkOption { 224 + type = types.str; 225 + description = lib.mdDoc "LDAP filter for groups."; 226 + example = "(cn=sales)"; 227 + default = ""; 228 + }; 229 + }; 230 + }); 231 + }; 232 + 233 + secrets = { 234 + ldap = mkOption { 235 + type = types.str; 236 + description = "Path to file that contains LDAP password for user in {option}`ldap.username"; 237 + }; 238 + 239 + bitwarden = { 240 + client_path_id = mkOption { 241 + type = types.str; 242 + description = "Path to file that contains Client ID."; 243 + }; 244 + client_path_secret = mkOption { 245 + type = types.str; 246 + description = "Path to file that contains Client Secret."; 247 + }; 248 + }; 249 + }; 250 + }; 251 + 252 + config = mkIf cfg.enable { 253 + users.groups."${cfg.user}" = {}; 254 + users.users."${cfg.user}" = { 255 + isSystemUser = true; 256 + group = cfg.user; 257 + }; 258 + 259 + systemd = { 260 + timers.bitwarden-directory-connector-cli = { 261 + description = "Sync timer for Bitwarden Directory Connector"; 262 + wantedBy = ["timers.target"]; 263 + after = ["network-online.target"]; 264 + timerConfig = { 265 + OnCalendar = cfg.interval; 266 + Unit = "bitwarden-directory-connector-cli.service"; 267 + Persistent = true; 268 + }; 269 + }; 270 + 271 + services.bitwarden-directory-connector-cli = { 272 + description = "Main process for Bitwarden Directory Connector"; 273 + path = [pkgs.jq]; 274 + 275 + environment = { 276 + BITWARDENCLI_CONNECTOR_APPDATA_DIR = "/tmp"; 277 + BITWARDENCLI_CONNECTOR_PLAINTEXT_SECRETS = "true"; 278 + }; 279 + 280 + serviceConfig = { 281 + Type = "oneshot"; 282 + User = "${cfg.user}"; 283 + PrivateTmp = true; 284 + preStart = '' 285 + set -eo pipefail 286 + 287 + # create the config file 288 + ${lib.getExe cfg.package} data-file 289 + touch /tmp/data.json.tmp 290 + chmod 600 /tmp/data.json{,.tmp} 291 + 292 + ${lib.getExe cfg.package} config server ${cfg.domain} 293 + 294 + # now login to set credentials 295 + export BW_CLIENTID="$(< ${escapeShellArg cfg.secrets.bitwarden.client_path_id})" 296 + export BW_CLIENTSECRET="$(< ${escapeShellArg cfg.secrets.bitwarden.client_path_secret})" 297 + ${lib.getExe cfg.package} login 298 + 299 + jq '.authenticatedAccounts[0] as $account 300 + | .[$account].directoryConfigurations.ldap |= $ldap_data 301 + | .[$account].directorySettings.organizationId |= $orgID 302 + | .[$account].directorySettings.sync |= $sync_data' \ 303 + --argjson ldap_data ${escapeShellArg cfg.ldap.finalJSON} \ 304 + --arg orgID "''${BW_CLIENTID//organization.}" \ 305 + --argjson sync_data ${escapeShellArg cfg.sync.finalJSON} \ 306 + /tmp/data.json \ 307 + > /tmp/data.json.tmp 308 + 309 + mv -f /tmp/data.json.tmp /tmp/data.json 310 + 311 + # final config 312 + ${lib.getExe cfg.package} config directory 0 313 + ${lib.getExe cfg.package} config ldap.password --secretfile ${cfg.secrets.ldap} 314 + ''; 315 + 316 + ExecStart = "${lib.getExe cfg.package} sync"; 317 + }; 318 + }; 319 + }; 320 + }; 321 + 322 + meta.maintainers = with maintainers; [Silver-Golden]; 323 + }
+1
nixos/tests/all-tests.nix
··· 605 605 nixos-rebuild-install-bootloader = handleTestOn ["x86_64-linux"] ./nixos-rebuild-install-bootloader.nix {}; 606 606 nixos-rebuild-specialisations = handleTestOn ["x86_64-linux"] ./nixos-rebuild-specialisations.nix {}; 607 607 nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; }; 608 + nixseparatedebuginfod = handleTest ./nixseparatedebuginfod.nix {}; 608 609 node-red = handleTest ./node-red.nix {}; 609 610 nomad = handleTest ./nomad.nix {}; 610 611 non-default-filesystems = handleTest ./non-default-filesystems.nix {};
+80
nixos/tests/nixseparatedebuginfod.nix
··· 1 + import ./make-test-python.nix ({ pkgs, lib, ... }: 2 + let 3 + secret-key = "key-name:/COlMSRbehSh6YSruJWjL+R0JXQUKuPEn96fIb+pLokEJUjcK/2Gv8Ai96D7JGay5gDeUTx5wdpPgNvum9YtwA=="; 4 + public-key = "key-name:BCVI3Cv9hr/AIveg+yRmsuYA3lE8ecHaT4Db7pvWLcA="; 5 + in 6 + { 7 + name = "nixseparatedebuginfod"; 8 + /* A binary cache with debug info and source for nix */ 9 + nodes.cache = { pkgs, ... }: { 10 + services.nix-serve = { 11 + enable = true; 12 + secretKeyFile = builtins.toFile "secret-key" secret-key; 13 + openFirewall = true; 14 + }; 15 + system.extraDependencies = [ 16 + pkgs.nix.debug 17 + pkgs.nix.src 18 + pkgs.sl 19 + ]; 20 + }; 21 + /* the machine where we need the debuginfo */ 22 + nodes.machine = { 23 + imports = [ 24 + ../modules/installer/cd-dvd/channel.nix 25 + ]; 26 + services.nixseparatedebuginfod.enable = true; 27 + nix.settings = { 28 + substituters = lib.mkForce [ "http://cache:5000" ]; 29 + trusted-public-keys = [ public-key ]; 30 + }; 31 + environment.systemPackages = [ 32 + pkgs.valgrind 33 + pkgs.gdb 34 + (pkgs.writeShellScriptBin "wait_for_indexation" '' 35 + set -x 36 + while debuginfod-find debuginfo /run/current-system/sw/bin/nix |& grep 'File too large'; do 37 + sleep 1; 38 + done 39 + '') 40 + ]; 41 + }; 42 + testScript = '' 43 + start_all() 44 + cache.wait_for_unit("nix-serve.service") 45 + cache.wait_for_open_port(5000) 46 + machine.wait_for_unit("nixseparatedebuginfod.service") 47 + machine.wait_for_open_port(1949) 48 + 49 + with subtest("show the config to debug the test"): 50 + machine.succeed("nix --extra-experimental-features nix-command show-config |& logger") 51 + machine.succeed("cat /etc/nix/nix.conf |& logger") 52 + with subtest("check that the binary cache works"): 53 + machine.succeed("nix-store -r ${pkgs.sl}") 54 + 55 + # nixseparatedebuginfod needs .drv to associate executable -> source 56 + # on regular systems this would be provided by nixos-rebuild 57 + machine.succeed("nix-instantiate '<nixpkgs>' -A nix") 58 + 59 + machine.succeed("timeout 600 wait_for_indexation") 60 + 61 + # test debuginfod-find 62 + machine.succeed("debuginfod-find debuginfo /run/current-system/sw/bin/nix") 63 + 64 + # test that gdb can fetch source 65 + out = machine.succeed("gdb /run/current-system/sw/bin/nix --batch -x ${builtins.toFile "commands" '' 66 + start 67 + l 68 + ''}") 69 + print(out) 70 + assert 'int main(' in out 71 + 72 + # test that valgrind can display location information 73 + # this relies on the fact that valgrind complains about nix 74 + # libgc helps in this regard, and we also ask valgrind to show leak kinds 75 + # which are usually false positives. 76 + out = machine.succeed("valgrind --leak-check=full --show-leak-kinds=all nix-env --version 2>&1") 77 + print(out) 78 + assert 'main.cc' in out 79 + ''; 80 + })
+12 -7
pkgs/applications/editors/emacs/elisp-packages/manual-packages/wat-mode/default.nix
··· 1 1 # Manually packaged until it is upstreamed to melpa 2 2 # See https://github.com/devonsparks/wat-mode/issues/1 3 - { lib, trivialBuild, fetchFromGitHub, fetchpatch, emacs }: 3 + { lib, melpaBuild, fetchFromGitHub, writeText }: 4 4 5 - trivialBuild rec { 5 + melpaBuild rec { 6 6 pname = "wat-mode"; 7 - version = "unstable-2022-07-13"; 7 + version = "20220713.1"; 8 8 9 9 src = fetchFromGitHub { 10 10 owner = "devonsparks"; ··· 13 13 hash = "sha256-jV5V3TRY+D3cPSz3yFwVWn9yInhGOYIaUTPEhsOBxto="; 14 14 }; 15 15 16 - meta = with lib; { 16 + commit = "46b4df83e92c585295d659d049560dbf190fe501"; 17 + 18 + recipe = writeText "recipe" '' 19 + (wat-mode :repo "devonsparks/wat-mode" :fetcher github) 20 + ''; 21 + 22 + meta = { 17 23 homepage = "https://github.com/devonsparks/wat-mode"; 18 24 description = "An Emacs major mode for WebAssembly's text format"; 19 - license = licenses.gpl3Only; 20 - maintainers = with maintainers; [ nagy ]; 21 - inherit (emacs.meta) platforms; 25 + license = lib.licenses.gpl3Only; 26 + maintainers = with lib.maintainers; [ nagy ]; 22 27 }; 23 28 }
+4 -4
pkgs/applications/emulators/citra/default.nix
··· 15 15 in { 16 16 nightly = qt6Packages.callPackage ./generic.nix rec { 17 17 pname = "citra-nightly"; 18 - version = "2043"; 18 + version = "2070"; 19 19 20 20 src = fetchFromGitHub { 21 21 owner = "citra-emu"; 22 22 repo = "citra-nightly"; 23 23 rev = "nightly-${version}"; 24 - sha256 = "sha256-26M3uzqp4rUMOhr619UooupZT11B03IJfamUPNkceQk="; 24 + sha256 = "1rmc7dk7wzmxgkq7xsmx9wscszhcfr3mkvnykwgamrcb9bm8p5rb"; 25 25 fetchSubmodules = true; 26 26 }; 27 27 ··· 30 30 31 31 canary = qt6Packages.callPackage ./generic.nix rec { 32 32 pname = "citra-canary"; 33 - version = "2695"; 33 + version = "2740"; 34 34 35 35 src = fetchFromGitHub { 36 36 owner = "citra-emu"; 37 37 repo = "citra-canary"; 38 38 rev = "canary-${version}"; 39 - sha256 = "sha256-090er4aUGze8bk3DIFZoa+/6EcJhr4bim3nWgZHs1mo="; 39 + sha256 = "0m11xy0ad9sy7zsnwnb7vad3g0g78v747a1abp612ybg0aczwf9l"; 40 40 fetchSubmodules = true; 41 41 }; 42 42
+5 -1
pkgs/applications/emulators/citra/generic.nix
··· 15 15 , enet 16 16 , ffmpeg 17 17 , fmt 18 + , gamemode 18 19 , glslang 19 20 , httplib 20 21 , inih ··· 108 109 109 110 # Add versions 110 111 echo 'set(BUILD_FULLNAME "${branchCaptialized} ${version}")' >> CMakeModules/GenerateBuildInfo.cmake 112 + 113 + # Add gamemode 114 + substituteInPlace externals/gamemode/include/gamemode_client.h --replace "libgamemode.so.0" "${lib.getLib gamemode}/lib/libgamemode.so.0" 111 115 ''; 112 116 113 117 postInstall = let ··· 124 128 meta = with lib; { 125 129 broken = (stdenv.isLinux && stdenv.isAarch64); 126 130 homepage = "https://citra-emu.org"; 127 - description = "The ${branch} branch of an open-source emulator for the Ninteno 3DS"; 131 + description = "The ${branch} branch of an open-source emulator for the Nintendo 3DS"; 128 132 longDescription = '' 129 133 A Nintendo 3DS Emulator written in C++ 130 134 Using the nightly branch is recommended for general usage.
+1 -1
pkgs/applications/misc/electrum/ltc.nix
··· 65 65 matplotlib 66 66 pbkdf2 67 67 protobuf 68 - py_scrypt 68 + py-scrypt 69 69 pysocks 70 70 qrcode 71 71 requests
+3 -3
pkgs/applications/misc/gimoji/default.nix
··· 7 7 8 8 rustPlatform.buildRustPackage rec { 9 9 pname = "gimoji"; 10 - version = "0.7.2"; 10 + version = "0.7.3"; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "zeenix"; 14 14 repo = "gimoji"; 15 15 rev = version; 16 - hash = "sha256-PF7vjbmoNSBD9C6JOB1s5NHnBEkv1LD/3RZAB0/HFPc="; 16 + hash = "sha256-xQ02jmPuu1IHkQCCJn2FVPcJRbwN+k8FhsZyDX0oHaw="; 17 17 }; 18 18 19 - cargoHash = "sha256-iJblgcwn9uCl2X0AjG+dlAwdwwyZ321LRBFjDCZOr/A="; 19 + cargoHash = "sha256-DSLIH6swVQXHrqKBxlrhNTG5maRmUi6Ndmuuv0Vo3Ak="; 20 20 21 21 buildInputs = lib.optionals stdenv.isDarwin [ 22 22 darwin.apple_sdk.frameworks.AppKit
+4 -4
pkgs/applications/misc/joplin-desktop/default.nix
··· 2 2 3 3 let 4 4 pname = "joplin-desktop"; 5 - version = "2.13.12"; 5 + version = "2.13.13"; 6 6 7 7 inherit (stdenv.hostPlatform) system; 8 8 throwSystem = throw "Unsupported system: ${system}"; ··· 16 16 src = fetchurl { 17 17 url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}${suffix}"; 18 18 sha256 = { 19 - x86_64-linux = "sha256-h+aprE7D2bZcKgBoOKwPGgiM2Yo05c3TZaR1elOsp70="; 20 - x86_64-darwin = "sha256-4VHipPJ3Tkf7NSy7sytk793ApOQm7cRsl5DNO0xjpIw="; 21 - aarch64-darwin = "sha256-LW7myTExWblFDke/o/E7tNBRBrkyNkOvnHiztIT7x3Q="; 19 + x86_64-linux = "sha256-Cc9NhYrYimj1NjbwnEueQzqC6yCAZi0YUtmJRorarCk="; 20 + x86_64-darwin = "sha256-tUdTcr5CkGqEdTuGwZvBmwMW3oCCXwdWnaXjjATHjQg="; 21 + aarch64-darwin = "sha256-Xh54WrLbHcbGMkz9ZN07ZuSwelHdj97sH1eQb0cgAQg="; 22 22 }.${system} or throwSystem; 23 23 }; 24 24
+3 -3
pkgs/applications/misc/kbt/default.nix
··· 9 9 10 10 rustPlatform.buildRustPackage rec { 11 11 pname = "kbt"; 12 - version = "2.0.6"; 12 + version = "2.1.0"; 13 13 14 14 src = fetchFromGitHub { 15 15 owner = "bloznelis"; 16 16 repo = "kbt"; 17 17 rev = version; 18 - hash = "sha256-G5/Sb/suTUkpR6OGlOawLVGLTthcrp78Y+5mxlndfA4="; 18 + hash = "sha256-ROCZDa5eyGF9yE+zdZ4snzdz8+jk+H6ZnqsnCe8JtJw="; 19 19 }; 20 20 21 - cargoHash = "sha256-7P93mttZ9W76lpGPKN33cgr4nEaHRlDQWov+TUbDHkM="; 21 + cargoHash = "sha256-6zD9WRPWEt0ubppaMRTOusy0zm3z6SGB/5/kMxcJ/Ag="; 22 22 23 23 nativeBuildInputs = lib.optionals stdenv.isLinux [ 24 24 pkg-config
+2 -2
pkgs/applications/networking/cluster/kubedb-cli/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "kubedb-cli"; 5 - version = "0.40.0"; 5 + version = "0.40.1"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "kubedb"; 9 9 repo = "cli"; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-gMSaJM1qDUUHucVMEiN7VyEm2jWDYBPujy3cQ8SRtHk="; 11 + sha256 = "sha256-GGZjqXw0Fi5QdQjVrw//sDVA8oRKADCwHeRY22z7bko="; 12 12 }; 13 13 14 14 vendorHash = null;
+22 -12
pkgs/applications/science/misc/snakemake/default.nix
··· 1 1 { lib 2 2 , fetchFromGitHub 3 3 , python3 4 + , runtimeShell 4 5 }: 5 6 6 7 python3.pkgs.buildPythonApplication rec { 7 8 pname = "snakemake"; 8 - version = "7.32.4"; 9 + version = "8.0.1"; 9 10 format = "setuptools"; 10 11 11 12 src = fetchFromGitHub { 12 13 owner = "snakemake"; 13 14 repo = pname; 14 15 rev = "refs/tags/v${version}"; 15 - hash = "sha256-9KuMPqvM8ZCTuomc0R9MBxsK3KIpukDTrlwU6MHysK0="; 16 + hash = "sha256-F4c/lgp7J6LLye+f3FpzaXz3zM7R+jXxTziPlVbxFxA="; 16 17 }; 17 18 19 + postPatch = '' 20 + patchShebangs --build tests/ 21 + patchShebangs --host snakemake/executors/jobscript.sh 22 + substituteInPlace snakemake/shell.py \ 23 + --replace "/bin/sh" "${runtimeShell}" 24 + ''; 25 + 18 26 propagatedBuildInputs = with python3.pkgs; [ 19 27 appdirs 20 28 configargparse ··· 23 31 docutils 24 32 gitpython 25 33 humanfriendly 34 + immutables 26 35 jinja2 27 36 jsonschema 28 37 nbformat ··· 32 41 requests 33 42 reretry 34 43 smart-open 44 + snakemake-interface-executor-plugins 45 + snakemake-interface-common 46 + snakemake-interface-storage-plugins 35 47 stopit 36 48 tabulate 37 49 throttler ··· 46 58 # setup. 47 59 48 60 nativeCheckInputs = with python3.pkgs; [ 61 + numpy 49 62 pandas 50 63 pytestCheckHook 51 64 requests-mock 52 - pillow 65 + snakemake-executor-plugin-cluster-generic 53 66 ]; 54 67 55 68 disabledTestPaths = [ 56 - "tests/test_slurm.py" 57 - "tests/test_tes.py" 58 - "tests/test_tibanna.py" 59 - "tests/test_linting.py" 60 - "tests/test_google_lifesciences.py" 61 - "tests/test_conda_python_script/test_script.py" 69 + "tests/test_conda_python_3_7_script/test_script.py" 62 70 ]; 63 71 64 72 disabledTests = [ 65 - # Tests require network access 66 - "test_github_issue1396" 67 - "test_github_issue1460" 73 + "test_deploy_sources" 68 74 ]; 69 75 70 76 pythonImportsCheck = [ 71 77 "snakemake" 72 78 ]; 79 + 80 + preCheck = '' 81 + export HOME="$(mktemp -d)" 82 + ''; 73 83 74 84 meta = with lib; { 75 85 homepage = "https://snakemake.github.io";
+7
pkgs/applications/version-management/gogs/default.nix
··· 45 45 license = licenses.mit; 46 46 maintainers = [ maintainers.schneefux ]; 47 47 mainProgram = "gogs"; 48 + knownVulnerabilities = [ '' 49 + Gogs has known unpatched vulnerabilities and upstream maintainers appears to be unresponsive. 50 + 51 + More information can be found in forgejo's blogpost: https://forgejo.org/2023-11-release-v1-20-5-1/ 52 + 53 + You might want to consider migrating to Gitea or forgejo. 54 + '' ]; 48 55 }; 49 56 }
+9 -1
pkgs/applications/virtualization/virt-manager/default.nix
··· 17 17 hash = "sha256-UgZ58WLXq0U3EDt4311kv0kayVU17In4kwnQ+QN1E7A="; 18 18 }; 19 19 20 + patches = [ 21 + # refresh Fedora tree URLs in virt-install-osinfo* expected XMLs 22 + (fetchpatch { 23 + url = "https://github.com/virt-manager/virt-manager/commit/6e5c1db6b4a0af96afeb09a09fb2fc2b73308f01.patch"; 24 + hash = "sha256-zivVo6nHvfB7aHadOouQZCBXn5rY12nxFjQ4FFwjgZI="; 25 + }) 26 + ]; 27 + 20 28 nativeBuildInputs = [ 21 29 intltool file 22 30 gobject-introspection # for setup hook populating GI_TYPELIB_PATH ··· 77 85 ]; 78 86 79 87 preCheck = '' 80 - export HOME=. 88 + export HOME=$(mktemp -d) 81 89 ''; # <- Required for "tests/test_urldetect.py". 82 90 83 91 postCheck = ''
+66
pkgs/by-name/bi/bitwarden-directory-connector-cli/package.nix
··· 1 + { 2 + lib, 3 + buildNpmPackage, 4 + fetchFromGitHub, 5 + buildPackages, 6 + python3, 7 + pkg-config, 8 + libsecret, 9 + nodejs_18, 10 + }: 11 + buildNpmPackage rec { 12 + pname = "bitwarden-directory-connector-cli"; 13 + version = "2023.10.0"; 14 + nodejs = nodejs_18; 15 + 16 + src = fetchFromGitHub { 17 + owner = "bitwarden"; 18 + repo = "directory-connector"; 19 + rev = "v${version}"; 20 + hash = "sha256-PlOtTh+rpTxAv8ajHBDHZuL7yeeLVpbAfKEDPQlejIg="; 21 + }; 22 + 23 + postPatch = '' 24 + ${lib.getExe buildPackages.jq} 'del(.scripts.preinstall)' package.json > package.json.tmp 25 + mv -f package.json{.tmp,} 26 + ''; 27 + 28 + npmDepsHash = "sha256-jBAWWY12qeX2EDhUvT3TQpnQvYXRsIilRrXGpVzxYvw="; 29 + 30 + env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; 31 + 32 + makeCacheWritable = true; 33 + npmBuildScript = "build:cli:prod"; 34 + 35 + installPhase = '' 36 + runHook preInstall 37 + mkdir -p $out/libexec/bitwarden-directory-connector 38 + cp -R {build-cli,node_modules} $out/libexec/bitwarden-directory-connector 39 + runHook postInstall 40 + ''; 41 + 42 + # needs to be wrapped with nodejs so that it can be executed 43 + postInstall = '' 44 + chmod +x $out/libexec/bitwarden-directory-connector/build-cli/bwdc.js 45 + mkdir -p $out/bin 46 + ln -s $out/libexec/bitwarden-directory-connector/build-cli/bwdc.js $out/bin/bitwarden-directory-connector-cli 47 + ''; 48 + 49 + buildInputs = [ 50 + libsecret 51 + ]; 52 + 53 + nativeBuildInputs = [ 54 + python3 55 + pkg-config 56 + ]; 57 + 58 + meta = with lib; { 59 + description = "LDAP connector for Bitwarden"; 60 + homepage = "https://github.com/bitwarden/directory-connector"; 61 + license = licenses.gpl3Only; 62 + maintainers = with maintainers; [Silver-Golden]; 63 + platforms = platforms.linux; 64 + mainProgram = "bitwarden-directory-connector-cli"; 65 + }; 66 + }
+3 -3
pkgs/by-name/me/memtree/package.nix
··· 6 6 7 7 python3Packages.buildPythonApplication { 8 8 pname = "memtree"; 9 - version = "unstable-2023-11-22"; 9 + version = "unstable-2024-01-04"; 10 10 pyproject = true; 11 11 12 12 src = fetchFromGitHub { 13 13 owner = "nbraud"; 14 14 repo = "memtree"; 15 - rev = "edc09d91dcd72f175d6adc1d08b261dd95cc4fbf"; 16 - hash = "sha256-YLZm0wjkjaTw/lHY5k4cqPXCgINe+49SGPLZq+eRdI4="; 15 + rev = "97615952eabdc5e8e1a4bd590dd1f4971f3c5a24"; 16 + hash = "sha256-Ifp8hwkuyBw57fGer3GbDiJaRjL4TD3hzj+ecGXWqI0="; 17 17 }; 18 18 19 19 nativeBuildInputs = with python3Packages; [
+49
pkgs/by-name/ni/nixseparatedebuginfod/package.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , rustPlatform 4 + , libarchive 5 + , openssl 6 + , sqlite 7 + , pkg-config 8 + , nixosTests 9 + }: 10 + 11 + rustPlatform.buildRustPackage rec { 12 + pname = "nixseparatedebuginfod"; 13 + version = "0.3.2"; 14 + 15 + src = fetchFromGitHub { 16 + owner = "symphorien"; 17 + repo = "nixseparatedebuginfod"; 18 + rev = "v${version}"; 19 + hash = "sha256-XSEHNoc3h21foVeR28KgfiBTRHyUh+GJ52LMD2xFHfA="; 20 + }; 21 + 22 + cargoHash = "sha256-t6W6siHuga/T9kmanA735zH2i9eCOT7vD6v7E5LIp9k="; 23 + 24 + # tests need a working nix install with access to the internet 25 + doCheck = false; 26 + 27 + buildInputs = [ 28 + libarchive 29 + openssl 30 + sqlite 31 + ]; 32 + 33 + nativeBuildInputs = [ pkg-config ]; 34 + 35 + passthru = { 36 + tests = { 37 + inherit (nixosTests) nixseparatedebuginfod; 38 + }; 39 + }; 40 + 41 + meta = with lib; { 42 + description = "Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed"; 43 + homepage = "https://github.com/symphorien/nixseparatedebuginfod"; 44 + license = licenses.gpl3Only; 45 + maintainers = [ maintainers.symphorien ]; 46 + platforms = platforms.linux; 47 + mainProgram = "nixseparatedebuginfod"; 48 + }; 49 + }
+2 -2
pkgs/data/misc/osinfo-db/default.nix
··· 8 8 9 9 stdenv.mkDerivation rec { 10 10 pname = "osinfo-db"; 11 - version = "20230308"; 11 + version = "20231215"; 12 12 13 13 src = fetchurl { 14 14 url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz"; 15 - sha256 = "sha256-VGugTsxekzui1/PztDM6KYDUrk38UoSYm5xUdY8rkIg="; 15 + hash = "sha256-37fFl1zk7//ZKq3QAJSg98WTtBmI/aU5kV9kWfcWRVQ="; 16 16 }; 17 17 18 18 nativeBuildInputs = [
+1 -1
pkgs/data/themes/alacritty-theme/default.nix
··· 22 22 sourceRoot = "${self.src.name}/themes"; 23 23 installPhase = '' 24 24 runHook preInstall 25 - install -Dt $out *.yaml 25 + install -Dt $out *.toml 26 26 runHook postInstall 27 27 ''; 28 28
+3
pkgs/development/julia-modules/tests/.gitignore
··· 1 + test_runs/ 2 + .stack-work/ 3 + *~
+25
pkgs/development/julia-modules/tests/README.md
··· 1 + 2 + # Testing `julia.withPackages` 3 + 4 + This folder contains a test suite for ensuring that the top N most popular Julia packages (as measured by download count) work properly. The key parts are 5 + 6 + * `top-julia-packages.nix`: an impure derivation for fetching Julia download data and processing it into a file called `top-julia-packages.yaml`. This YAML file contains an array of objects with fields "name", "uuid", and "count", and is sorted in decreasing order of count. 7 + * `julia-top-n`: a small Haskell program which reads `top-julia-packages.yaml` and builds a `julia.withPackages` environment for each package, with a nice interactive display and configurable parallelism. It also tests whether evaluating `using <package-name>` works in the resulting environment. 8 + 9 + > **Warning:** 10 + > These tests should only be run on maintainer machines, not Hydra! `julia.withPackages` uses IFD, which is not allowed in Hydra. 11 + 12 + ## Quick start 13 + 14 + ``` shell 15 + # Test the top 100 Julia packages 16 + ./run_tests.sh -n 100 17 + ``` 18 + 19 + ## Options 20 + 21 + You can run `./run_tests.sh --help` to see additional options for the test harness. The main ones are 22 + 23 + * `-n`/`--top-n`: how many of the top packages to build (default: 100). 24 + * `-p`/`--parallelism`: how many builds to run at once (default: 10). 25 + * `-c`/`--count-file`: path to `top-julia-packages.yaml`.
+89
pkgs/development/julia-modules/tests/julia-top-n/app/Main.hs
··· 1 + {-# LANGUAGE DataKinds #-} 2 + {-# LANGUAGE DeriveAnyClass #-} 3 + {-# LANGUAGE DeriveGeneric #-} 4 + {-# LANGUAGE FlexibleContexts #-} 5 + {-# LANGUAGE LambdaCase #-} 6 + {-# LANGUAGE OverloadedStrings #-} 7 + {-# LANGUAGE RecordWildCards #-} 8 + {-# LANGUAGE ScopedTypeVariables #-} 9 + {-# LANGUAGE ViewPatterns #-} 10 + 11 + module Main (main) where 12 + 13 + import Control.Exception 14 + import Control.Monad 15 + import Data.Aeson as A hiding (Options, defaultOptions) 16 + import qualified Data.Aeson.Key as A 17 + import qualified Data.Aeson.KeyMap as HM 18 + import qualified Data.ByteString.Lazy.Char8 as BL8 19 + import qualified Data.List as L 20 + import Data.Text as T 21 + import qualified Data.Vector as V 22 + import qualified Data.Yaml as Yaml 23 + import GHC.Generics 24 + import Options.Applicative 25 + import System.Exit 26 + import System.FilePath 27 + import Test.Sandwich hiding (info) 28 + import UnliftIO.MVar 29 + import UnliftIO.Process 30 + 31 + 32 + data Args = Args { 33 + countFilePath :: FilePath 34 + , topN :: Int 35 + , parallelism :: Int 36 + } 37 + 38 + argsParser :: Parser Args 39 + argsParser = Args 40 + <$> strOption (long "count-file" <> short 'c' <> help "YAML file containing package names and counts") 41 + <*> option auto (long "top-n" <> short 'n' <> help "How many of the top packages to build" <> showDefault <> value 100 <> metavar "INT") 42 + <*> option auto (long "parallelism" <> short 'p' <> help "How many builds to run at once" <> showDefault <> value 10 <> metavar "INT") 43 + 44 + data NameAndCount = NameAndCount { 45 + name :: Text 46 + , count :: Int 47 + , uuid :: Text 48 + } deriving (Show, Eq, Generic, FromJSON) 49 + 50 + newtype JuliaPath = JuliaPath FilePath 51 + deriving Show 52 + 53 + julia :: Label "julia" (MVar (Maybe JuliaPath)) 54 + julia = Label 55 + 56 + main :: IO () 57 + main = do 58 + clo <- parseCommandLineArgs argsParser (return ()) 59 + let Args {..} = optUserOptions clo 60 + 61 + namesAndCounts :: [NameAndCount] <- Yaml.decodeFileEither countFilePath >>= \case 62 + Left err -> throwIO $ userError ("Couldn't decode names and counts YAML file: " <> show err) 63 + Right x -> pure x 64 + 65 + runSandwichWithCommandLineArgs' defaultOptions argsParser $ 66 + describe ("Building environments for top " <> show topN <> " Julia packages") $ 67 + parallelN parallelism $ 68 + forM_ (L.take topN namesAndCounts) $ \(NameAndCount {..}) -> 69 + introduce' (defaultNodeOptions { nodeOptionsVisibilityThreshold = 0 }) (T.unpack name) julia (newMVar Nothing) (const $ return ()) $ do 70 + it "Builds" $ do 71 + let cp = proc "nix" ["build", "--impure", "--no-link", "--json", "--expr" 72 + , "with import ../../../../. {}; julia.withPackages [\"" <> T.unpack name <> "\"]" 73 + ] 74 + output <- readCreateProcessWithLogging cp "" 75 + juliaPath <- case A.eitherDecode (BL8.pack output) of 76 + Right (A.Array ((V.!? 0) -> Just (A.Object (aesonLookup "outputs" -> Just (A.Object (aesonLookup "out" -> Just (A.String t))))))) -> pure (JuliaPath ((T.unpack t) </> "bin" </> "julia")) 77 + x -> expectationFailure ("Couldn't parse output: " <> show x) 78 + 79 + getContext julia >>= flip modifyMVar_ (const $ return (Just juliaPath)) 80 + 81 + it "Uses" $ do 82 + getContext julia >>= readMVar >>= \case 83 + Nothing -> expectationFailure "Build step failed." 84 + Just (JuliaPath juliaPath) -> do 85 + let cp = proc juliaPath ["-e", "using " <> T.unpack name] 86 + createProcessWithLogging cp >>= waitForProcess >>= (`shouldBe` ExitSuccess) 87 + 88 + aesonLookup :: Text -> HM.KeyMap v -> Maybe v 89 + aesonLookup = HM.lookup . A.fromText
+16
pkgs/development/julia-modules/tests/julia-top-n/default.nix
··· 1 + { mkDerivation, aeson, base, filepath, lib, optparse-applicative 2 + , sandwich, text, unliftio, yaml 3 + }: 4 + mkDerivation { 5 + pname = "julia-top-n"; 6 + version = "0.1.0.0"; 7 + src = ./.; 8 + isLibrary = false; 9 + isExecutable = true; 10 + executableHaskellDepends = [ 11 + aeson base filepath optparse-applicative sandwich text unliftio 12 + yaml 13 + ]; 14 + license = lib.licenses.bsd3; 15 + mainProgram = "julia-top-n-exe"; 16 + }
+34
pkgs/development/julia-modules/tests/julia-top-n/julia-top-n.cabal
··· 1 + cabal-version: 2.2 2 + 3 + -- This file has been generated from package.yaml by hpack version 0.36.0. 4 + -- 5 + -- see: https://github.com/sol/hpack 6 + 7 + name: julia-top-n 8 + version: 0.1.0.0 9 + author: Tom McLaughlin 10 + maintainer: tom@codedown.io 11 + license: BSD-3-Clause 12 + build-type: Simple 13 + 14 + executable julia-top-n-exe 15 + main-is: Main.hs 16 + other-modules: 17 + Paths_julia_top_n 18 + autogen-modules: 19 + Paths_julia_top_n 20 + hs-source-dirs: 21 + app 22 + ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N 23 + build-depends: 24 + aeson 25 + , base >=4.7 && <5 26 + , bytestring 27 + , filepath 28 + , optparse-applicative 29 + , sandwich 30 + , text 31 + , unliftio 32 + , vector 33 + , yaml 34 + default-language: Haskell2010
+37
pkgs/development/julia-modules/tests/julia-top-n/package.yaml
··· 1 + name: julia-top-n 2 + version: 0.1.0.0 3 + license: BSD-3-Clause 4 + author: "Tom McLaughlin" 5 + maintainer: "tom@codedown.io" 6 + 7 + dependencies: 8 + - aeson 9 + - base >= 4.7 && < 5 10 + - bytestring 11 + - filepath 12 + - optparse-applicative 13 + - sandwich 14 + - text 15 + - unliftio 16 + - vector 17 + - yaml 18 + 19 + ghc-options: 20 + - -Wall 21 + - -Wcompat 22 + - -Widentities 23 + - -Wincomplete-record-updates 24 + - -Wincomplete-uni-patterns 25 + - -Wmissing-export-lists 26 + - -Wmissing-home-modules 27 + - -Wpartial-fields 28 + - -Wredundant-constraints 29 + 30 + executables: 31 + julia-top-n-exe: 32 + main: Main.hs 33 + source-dirs: app 34 + ghc-options: 35 + - -threaded 36 + - -rtsopts 37 + - -with-rtsopts=-N
+11
pkgs/development/julia-modules/tests/julia-top-n/stack.yaml
··· 1 + 2 + resolver: 3 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/4.yaml 4 + 5 + packages: 6 + - . 7 + 8 + nix: 9 + pure: false 10 + packages: 11 + - zlib
+13
pkgs/development/julia-modules/tests/julia-top-n/stack.yaml.lock
··· 1 + # This file was autogenerated by Stack. 2 + # You should not edit this file by hand. 3 + # For more information, please see the documentation at: 4 + # https://docs.haskellstack.org/en/stable/lock_files 5 + 6 + packages: [] 7 + snapshots: 8 + - completed: 9 + sha256: 8b211c5a6aad3787e023dfddaf7de7868968e4f240ecedf14ad1c5b2199046ca 10 + size: 714097 11 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/4.yaml 12 + original: 13 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/4.yaml
+33
pkgs/development/julia-modules/tests/process_top_n.py
··· 1 + #! /usr/bin/env nix-shell 2 + #! nix-shell -i python3 -p "python3.withPackages(ps: with ps; [ pyyaml toml ])" 3 + 4 + import csv 5 + from pathlib import Path 6 + import sys 7 + import toml 8 + import yaml 9 + 10 + requests_csv_path = Path(sys.argv[1]) 11 + registry_path = Path(sys.argv[2]) 12 + 13 + # Generate list of tuples (UUID, count) 14 + rows = [] 15 + with open(requests_csv_path) as f: 16 + reader = csv.reader(f) 17 + for row in reader: 18 + if row[2] == "user": 19 + # Get UUID and request_count 20 + rows.append((row[0], int(row[4]))) 21 + rows.sort(key=(lambda x: x[1]), reverse=True) 22 + 23 + # Build a map from UUID -> name 24 + registry = toml.load(registry_path / "Registry.toml") 25 + uuid_to_name = {k: v["name"] for k, v in registry["packages"].items()} 26 + 27 + results = [] 28 + for (uuid, count) in rows: 29 + name = uuid_to_name.get(uuid) 30 + if not name: continue 31 + results.append({ "uuid": uuid, "name": uuid_to_name.get(uuid), "count": count }) 32 + 33 + yaml.dump(results, sys.stdout, default_flow_style=False)
+15
pkgs/development/julia-modules/tests/run_tests.sh
··· 1 + #! /usr/bin/env nix-shell 2 + #! nix-shell -i bash -p jq 3 + 4 + set -eo pipefail 5 + 6 + SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 7 + cd $SCRIPTDIR 8 + 9 + TOP_N_FILE=$(nix build --impure -f top-julia-packages.nix --no-link --json | jq -r '.[0].outputs.out') 10 + echo "Got top Julia packages: $TOP_N_FILE" 11 + 12 + TESTER_PROGRAM=$(nix build --impure --expr 'with import ../../../../. {}; haskellPackages.callPackage ./julia-top-n {}' --no-link --json | jq -r '.[0].outputs.out')/bin/julia-top-n-exe 13 + echo "Built tester program: $TESTER_PROGRAM" 14 + 15 + "$TESTER_PROGRAM" --tui -c "$TOP_N_FILE" $*
+28
pkgs/development/julia-modules/tests/top-julia-packages.nix
··· 1 + with import ../../../../. {}; 2 + 3 + let 4 + package-requests = stdenv.mkDerivation { 5 + name = "julia-package-requests.csv"; 6 + 7 + __impure = true; 8 + 9 + buildInputs = [cacert gzip wget]; 10 + 11 + buildCommand = '' 12 + wget https://julialang-logs.s3.amazonaws.com/public_outputs/current/package_requests.csv.gz 13 + gunzip package_requests.csv.gz 14 + ls -lh 15 + cp package_requests.csv $out 16 + ''; 17 + }; 18 + 19 + registry = callPackage ../registry.nix {}; 20 + 21 + in 22 + 23 + runCommand "top-julia-packages.yaml" { 24 + __impure = true; 25 + nativeBuildInputs = [(python3.withPackages (ps: with ps; [pyyaml toml]))]; 26 + } '' 27 + python ${./process_top_n.py} ${package-requests} ${registry} > $out 28 + ''
+1 -1
pkgs/development/libraries/physics/fastnlo_toolkit/default.nix pkgs/development/libraries/physics/fastnlo-toolkit/default.nix
··· 14 14 }: 15 15 16 16 stdenv.mkDerivation rec { 17 - pname = "fastnlo_toolkit"; 17 + pname = "fastnlo-toolkit"; 18 18 version = "2.5.0-2826"; 19 19 20 20 src = fetchurl {
+8
pkgs/development/libraries/valhalla/default.nix
··· 36 36 url = "https://github.com/valhalla/valhalla/commit/e4845b68e8ef8de9eabb359b23bf34c879e21f2b.patch"; 37 37 hash = "sha256-xCufmXHGj1JxaMwm64JT9FPY+o0+x4glfJSYLdvHI8U="; 38 38 }) 39 + 40 + # Fix gcc-13 build: 41 + # https://github.com/valhalla/valhalla/pull/4154 42 + (fetchpatch { 43 + name = "gcc-13.patch"; 44 + url = "https://github.com/valhalla/valhalla/commit/ed93f30272377cc6803533a1bb94fe81d14af81c.patch"; 45 + hash = "sha256-w4pnOqk/Jj3unVuesE64QSecrUIVSqwK69t9xNVc4GA="; 46 + }) 39 47 ]; 40 48 41 49 postPatch = ''
+3 -2
pkgs/development/python-modules/py_scrypt/default.nix pkgs/development/python-modules/py-scrypt/default.nix
··· 5 5 }: 6 6 7 7 buildPythonPackage rec { 8 - pname = "scrypt"; 8 + pname = "py-scrypt"; 9 9 version = "0.8.20"; 10 10 11 11 src = fetchPypi { 12 - inherit pname version; 12 + pname = "scrypt"; 13 + inherit version; 13 14 hash = "sha256-DSJsHGdE+y4wizkUEGabHfXP6CY3/8te1Im/grLS63g="; 14 15 }; 15 16
+38
pkgs/development/python-modules/snakemake-executor-plugin-cluster-generic/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , poetry-core 5 + , snakemake-interface-executor-plugins 6 + , snakemake-interface-common 7 + }: 8 + 9 + buildPythonPackage rec { 10 + pname = "snakemake-executor-plugin-cluster-generic"; 11 + version = "1.0.7"; 12 + format = "pyproject"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "snakemake"; 16 + repo = pname; 17 + rev = "refs/tags/v${version}"; 18 + hash = "sha256-1W/8jf+R1798cu3sWI0LTSyVawtmFfwlAqRHwfmIAzU="; 19 + }; 20 + 21 + nativeBuildInputs = [ 22 + poetry-core 23 + ]; 24 + 25 + propagatedBuildInputs = [ 26 + snakemake-interface-executor-plugins 27 + snakemake-interface-common 28 + ]; 29 + 30 + pythonImportsCheck = [ "snakemake_executor_plugin_cluster_generic" ]; 31 + 32 + meta = with lib; { 33 + description = "Generic cluster executor for Snakemake"; 34 + homepage = "https://github.com/snakemake/snakemake-executor-plugin-cluster-generic/tags"; 35 + license = licenses.mit; 36 + maintainers = with maintainers; [ veprbl ]; 37 + }; 38 + }
+38
pkgs/development/python-modules/snakemake-interface-common/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , poetry-core 5 + , argparse-dataclass 6 + , ConfigArgParse 7 + }: 8 + 9 + buildPythonPackage rec { 10 + pname = "snakemake-interface-common"; 11 + version = "1.15.0"; 12 + format = "pyproject"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "snakemake"; 16 + repo = pname; 17 + rev = "refs/tags/v${version}"; 18 + hash = "sha256-Rf2eMkRvkTCR2swB53ekjv8U8DzTPgjhIkBVrn6gTTI="; 19 + }; 20 + 21 + nativeBuildInputs = [ 22 + poetry-core 23 + ]; 24 + 25 + propagatedBuildInputs = [ 26 + argparse-dataclass 27 + ConfigArgParse 28 + ]; 29 + 30 + pythonImportsCheck = [ "snakemake_interface_common" ]; 31 + 32 + meta = with lib; { 33 + description = "Common functions and classes for Snakemake and its plugins"; 34 + homepage = "https://github.com/snakemake/snakemake-interface-common"; 35 + license = licenses.mit; 36 + maintainers = with maintainers; [ veprbl ]; 37 + }; 38 + }
+40
pkgs/development/python-modules/snakemake-interface-executor-plugins/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , poetry-core 5 + , argparse-dataclass 6 + , throttler 7 + , snakemake-interface-common 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "snakemake-interface-executor-plugins"; 12 + version = "8.1.3"; 13 + format = "pyproject"; 14 + 15 + src = fetchFromGitHub { 16 + owner = "snakemake"; 17 + repo = pname; 18 + rev = "refs/tags/v${version}"; 19 + hash = "sha256-QBLdqhR6WrO/zT0Ux5xcUtr5HbrDy91qiWuSjAA5c3E="; 20 + }; 21 + 22 + nativeBuildInputs = [ 23 + poetry-core 24 + ]; 25 + 26 + propagatedBuildInputs = [ 27 + argparse-dataclass 28 + throttler 29 + snakemake-interface-common 30 + ]; 31 + 32 + pythonImportsCheck = [ "snakemake_interface_executor_plugins" ]; 33 + 34 + meta = with lib; { 35 + description = "This package provides a stable interface for interactions between Snakemake and its executor plugins"; 36 + homepage = "https://github.com/snakemake/snakemake-interface-executor-plugins"; 37 + license = licenses.mit; 38 + maintainers = with maintainers; [ veprbl ]; 39 + }; 40 + }
+43
pkgs/development/python-modules/snakemake-interface-storage-plugins/default.nix
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , poetry-core 5 + , reretry 6 + , snakemake-interface-common 7 + , throttler 8 + , wrapt 9 + , snakemake 10 + }: 11 + 12 + buildPythonPackage rec { 13 + pname = "snakemake-interface-storage-plugins"; 14 + version = "3.0.0"; 15 + format = "pyproject"; 16 + 17 + src = fetchFromGitHub { 18 + owner = "snakemake"; 19 + repo = pname; 20 + rev = "refs/tags/v${version}"; 21 + hash = "sha256-MinqSMpBlp3pCgQxorkMdrJuO0GExJsO02kg2/mGsFw="; 22 + }; 23 + 24 + nativeBuildInputs = [ 25 + poetry-core 26 + ]; 27 + 28 + propagatedBuildInputs = [ 29 + reretry 30 + snakemake-interface-common 31 + throttler 32 + wrapt 33 + ]; 34 + 35 + pythonImportsCheck = [ "snakemake_interface_storage_plugins" ]; 36 + 37 + meta = with lib; { 38 + description = "This package provides a stable interface for interactions between Snakemake and its storage plugins"; 39 + homepage = "https://github.com/snakemake/snakemake-interface-storage-plugins"; 40 + license = licenses.mit; 41 + maintainers = with maintainers; [ veprbl ]; 42 + }; 43 + }
-23
pkgs/development/python-modules/thumborpexif/default.nix
··· 1 - { lib 2 - , buildPythonPackage 3 - , fetchPypi 4 - , isPy27 5 - }: 6 - 7 - buildPythonPackage rec { 8 - pname = "thumbor-pexif"; 9 - version = "0.14.1"; 10 - disabled = ! isPy27; 11 - 12 - src = fetchPypi { 13 - inherit pname version; 14 - sha256 = "96dcc03ea6066d9546baf54f6841f4048b0b24a291eed65d098b3348c8872d99"; 15 - }; 16 - 17 - meta = with lib; { 18 - description = "Module to parse and edit the EXIF data tags in a JPEG image"; 19 - homepage = "http://www.benno.id.au/code/pexif/"; 20 - license = licenses.mit; 21 - }; 22 - 23 - }
+2 -2
pkgs/development/tools/micronaut/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "micronaut"; 5 - version = "4.2.2"; 5 + version = "4.2.3"; 6 6 7 7 src = fetchzip { 8 8 url = "https://github.com/micronaut-projects/micronaut-starter/releases/download/v${version}/micronaut-cli-${version}.zip"; 9 - sha256 = "sha256-3YKKFWJvTwe/g/+9yAYHTU6chE48zdXpKXDpwLlM7eU="; 9 + sha256 = "sha256-+03wjNxIZr8vhvK3zfvFBwXC5WmEs5A6mydGXsmGuCI="; 10 10 }; 11 11 12 12 nativeBuildInputs = [ makeWrapper installShellFiles ];
+32
pkgs/misc/drivers/epkowa/default.nix
··· 287 287 }; 288 288 meta = common_meta // { description = "iscan GT-X750 for " + passthru.hw; }; 289 289 }; 290 + gt1500 = stdenv.mkDerivation rec { 291 + name = "iscan-gt-1500-bundle"; 292 + version = "2.30.4"; 293 + 294 + src = fetchurl { 295 + urls = [ 296 + "https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz" 297 + "https://web.archive.org/web/https://download2.ebz.epson.net/iscan/plugin/gt-1500/rpm/x64/iscan-gt-1500-bundle-${version}.x64.rpm.tar.gz" 298 + ]; 299 + sha256 = "sha256-1rVsbBsb+QtCOT1FsyhgvCbZIN6IeQH7rZXNmsD7cl8="; 300 + }; 301 + 302 + nativeBuildInputs = [ autoPatchelfHook rpm ]; 303 + 304 + installPhase = '' 305 + cd plugins 306 + ${rpm}/bin/rpm2cpio iscan-plugin-gt-1500-*.x86_64.rpm | ${cpio}/bin/cpio -idmv 307 + mkdir $out 308 + cp -r usr/share $out 309 + cp -r usr/lib64 $out/lib 310 + mv $out/share/iscan $out/share/esci 311 + mv $out/lib/iscan $out/lib/esci 312 + ''; 313 + 314 + passthru = { 315 + registrationCommand = '' 316 + $registry --add interpreter usb 0x04b8 0x0133 "$plugin/lib/esci/libesint86 $plugin/share/esci/esfw86.bin" 317 + ''; 318 + hw = "GT-1500"; 319 + }; 320 + meta = common_meta // { description = "iscan GT-1500 for " + passthru.hw; }; 321 + }; 290 322 network = stdenv.mkDerivation rec { 291 323 pname = "iscan-nt-bundle"; 292 324 # for the version, look for the driver of XP-750 in the search page
+4 -4
pkgs/os-specific/linux/kernel/zen-kernels.nix
··· 4 4 # comments with variant added for update script 5 5 # ./update-zen.py zen 6 6 zenVariant = { 7 - version = "6.6.9"; #zen 7 + version = "6.6.10"; #zen 8 8 suffix = "zen1"; #zen 9 - sha256 = "09vrkwyx4ri6ba48jfv8j4ssj0h0w2wgzqwwb8ribif1rkb59mw0"; #zen 9 + sha256 = "1hhy5jp1s65vpvrw9xylx3xl7mmagzmm5r9bq81hvvr7bhf754ny"; #zen 10 10 isLqx = false; 11 11 }; 12 12 # ./update-zen.py lqx 13 13 lqxVariant = { 14 - version = "6.6.9"; #lqx 14 + version = "6.6.10"; #lqx 15 15 suffix = "lqx1"; #lqx 16 - sha256 = "1ivf4iwxjp28xmfk8y3wxs64jqrjzgn6xwxkpad3mxc9n18yl8hz"; #lqx 16 + sha256 = "1rfia3cbs81gjvr8r1w4kgi3ghr3plqyzaiglifbdr1zkxjias44"; #lqx 17 17 isLqx = true; 18 18 }; 19 19 zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
+3 -4
pkgs/os-specific/linux/qmk-udev-rules/default.nix
··· 1 1 { lib, stdenv, fetchFromGitHub }: 2 2 3 3 ## Usage 4 - # In NixOS, simply add this package to services.udev.packages: 5 - # services.udev.packages = [ pkgs.qmk-udev-rules ]; 4 + # In NixOS, set hardware.keyboard.qmk.enable = true; 6 5 7 6 stdenv.mkDerivation rec { 8 7 pname = "qmk-udev-rules"; 9 - version = "0.22.3"; 8 + version = "0.23.3"; 10 9 11 10 src = fetchFromGitHub { 12 11 owner = "qmk"; 13 12 repo = "qmk_firmware"; 14 13 rev = version; 15 - hash = "sha256-HLQxmBlzTdsOAMqfc4taoMM+V2G5novMsbc1drZlNGg="; 14 + hash = "sha256-dFc6S9x7sBYZAQn0coZJpmGz66Fx0l4rrexjyB4k0zA="; 16 15 }; 17 16 18 17 dontBuild = true;
+19 -17
pkgs/servers/monitoring/plugins/default.nix
··· 1 1 { lib 2 2 , stdenv 3 3 , fetchFromGitHub 4 - , writeShellScript 4 + , fetchpatch 5 5 , autoreconfHook 6 6 , pkg-config 7 7 , runCommand ··· 40 40 mkdir -p $out/bin 41 41 ln -s /run/wrappers/bin/sendmail $out/bin/mailq 42 42 ''; 43 - 44 - # For unknown reasons the installer tries executing $out/share and fails so 45 - # we create it and remove it again later. 46 - share = writeShellScript "share" '' 47 - exit 0 48 - ''; 49 - 50 43 in 51 44 stdenv.mkDerivation rec { 52 45 pname = "monitoring-plugins"; 53 - version = "2.3.0"; 46 + version = "2.3.5"; 54 47 55 48 src = fetchFromGitHub { 56 49 owner = "monitoring-plugins"; 57 50 repo = "monitoring-plugins"; 58 - rev = "v" + lib.versions.majorMinor version; 59 - sha256 = "sha256-yLhHOSrPFRjW701aOL8LPe4OnuJxL6f+dTxNqm0evIg="; 51 + rev = "v${version}"; 52 + sha256 = "sha256-J9fzlxIpujoG7diSRscFhmEV9HpBOxFTJSmGGFjAzcM="; 60 53 }; 61 54 55 + patches = [ 56 + # fix build (makefile cannot produce -lcrypto) 57 + # remove on next release 58 + (fetchpatch { 59 + url = "https://github.com/monitoring-plugins/monitoring-plugins/commit/bad156676894a2755c8b76519a11cdd2037e5cd6.patch"; 60 + hash = "sha256-aI/sX04KXe968SwdS8ZamNtgdNbHtho5cDsDaA+cjZY="; 61 + }) 62 + # fix check_smtp with --starttls https://github.com/monitoring-plugins/monitoring-plugins/pull/1952 63 + # remove on next release 64 + (fetchpatch { 65 + url = "https://github.com/monitoring-plugins/monitoring-plugins/commit/2eea6bb2a04bbfb169bac5f0f7c319f998e8ab87.patch"; 66 + hash = "sha256-CyVD340+zOxuxRRPmtowD3DFFRB1Q7+AANzul9HqwBI="; 67 + }) 68 + ]; 69 + 62 70 # TODO: Awful hack. Grrr... 63 71 # Anyway the check that configure performs to figure out the ping 64 72 # syntax is totally impure, because it runs an actual ping to ··· 78 86 --with-ping-command='${lib.getBin unixtools.ping}/bin/ping -4 -n -U -w %d -c %d %s' 79 87 --with-ping6-command='${lib.getBin unixtools.ping}/bin/ping -6 -n -U -w %d -c %d %s' 80 88 ) 81 - 82 - install -Dm555 ${share} $out/share 83 89 ''; 84 90 85 91 configureFlags = [ ··· 106 112 nativeBuildInputs = [ autoreconfHook pkg-config ]; 107 113 108 114 enableParallelBuilding = true; 109 - 110 - postInstall = '' 111 - rm $out/share 112 - ''; 113 115 114 116 meta = with lib; { 115 117 description = "Official monitoring plugins for Nagios/Icinga/Sensu and others";
+2 -2
pkgs/tools/admin/wander/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "wander"; 5 - version = "0.14.1"; 5 + version = "1.0.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "robinovitch61"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-ULttOJcP3LHQAlyJKGEKT3B3PqYOP5+IxDej673020M="; 11 + sha256 = "sha256-zz9DqRrylCbUCSBl4wspb8BYfmCyQhMmmYwdsbTExbo="; 12 12 }; 13 13 14 14 vendorHash = "sha256-0S8tzP5yNUrH6fp+v7nbUPTMWzYXyGw+ZNcXkSN+tWY=";
+2 -2
pkgs/tools/graphics/maskromtool/default.nix
··· 9 9 10 10 stdenv.mkDerivation rec { 11 11 pname = "maskromtool"; 12 - version = "2023-12-07"; 12 + version = "2024-01-1"; 13 13 14 14 src = fetchFromGitHub { 15 15 owner = "travisgoodspeed"; 16 16 repo = "maskromtool"; 17 17 rev = "v${version}"; 18 - hash = "sha256-2bwgvdXPbSiG2BE2vkT2ThjdkrWgt3v8U729sBMuymg="; 18 + hash = "sha256-iKzq0hH45uHtWr2QZsVSPUZjmU6rXUGqVQ8SlIhOuJ0="; 19 19 }; 20 20 21 21 buildInputs = [
+3 -3
pkgs/tools/misc/killport/default.nix
··· 5 5 6 6 rustPlatform.buildRustPackage rec { 7 7 pname = "killport"; 8 - version = "0.9.1"; 8 + version = "0.9.2"; 9 9 10 10 src = fetchCrate { 11 11 inherit pname version; 12 - hash = "sha256-aaKvrWJGZ26wyqoblAcUkGUPkbt8XNx9Z4xT+qI2B3o="; 12 + hash = "sha256-eyRI4ZVp9HPMvpzyV9sQdh2r966pCdyUPnEhxGkzH3Q="; 13 13 }; 14 14 15 - cargoHash = "sha256-4CUMt5aDHq943uU5PAY1TJtmCqlBvgOruGQ69OG5fB4="; 15 + cargoHash = "sha256-QQ43dT9BTu7qCzpnTGKzlVL6jKDXofXStYWYNLHSuVs="; 16 16 17 17 nativeBuildInputs = [ rustPlatform.bindgenHook ]; 18 18
+2 -2
pkgs/tools/security/kubernetes-polaris/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "kubernetes-polaris"; 5 - version = "8.5.3"; 5 + version = "8.5.4"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "FairwindsOps"; 9 9 repo = "polaris"; 10 10 rev = version; 11 - sha256 = "sha256-dDB1afMtuK4SySa5HX6LhOnPUXlKSzpJDJ+/1SCcB/0="; 11 + sha256 = "sha256-Ip8SJi77QjNF2ez2NU48NKi+suOhViecuQyXSY6hLkI="; 12 12 }; 13 13 14 14 vendorHash = "sha256-ZWetW+Xar4BXXlR0iG+O/NRqYk41x+PPVCGis2W2Nkk=";
+2 -1
pkgs/top-level/aliases.nix
··· 264 264 ### F ### 265 265 266 266 faustStk = faustPhysicalModeling; # Added 2023-05-16 267 - fastnlo = fastnlo_toolkit; # Added 2021-04-24 267 + fastnlo = fastnlo-toolkit; # Added 2021-04-24 268 + fastnlo_toolkit = fastnlo-toolkit; # Added 2024-01-03 268 269 inherit (luaPackages) fennel; # Added 2022-09-24 269 270 fetchFromGithub = throw "You meant fetchFromGitHub, with a capital H"; # preserve 270 271 findimagedupes = throw "findimagedupes has been removed because the perl bindings are no longer compatible"; # Added 2023-07-10
+1 -1
pkgs/top-level/all-packages.nix
··· 40016 40016 40017 40017 fastjet-contrib = callPackage ../development/libraries/physics/fastjet-contrib { }; 40018 40018 40019 - fastnlo_toolkit = callPackage ../development/libraries/physics/fastnlo_toolkit { }; 40019 + fastnlo-toolkit = callPackage ../development/libraries/physics/fastnlo-toolkit { }; 40020 40020 40021 40021 geant4 = libsForQt5.callPackage ../development/libraries/physics/geant4 { }; 40022 40022
+3
pkgs/top-level/python-aliases.nix
··· 145 145 face_recognition_models = face-recognition-models; # added 2022-10-15 146 146 factory_boy = factory-boy; # added 2023-10-08 147 147 fake_factory = throw "fake_factory has been removed because it is unused and deprecated by upstream since 2016."; # added 2022-05-30 148 + fastnlo_toolkit = fastnlo-toolkit; # added 2024-01-03 148 149 faulthandler = throw "faulthandler is built into ${python.executable}"; # added 2021-07-12 149 150 inherit (super.pkgs) fetchPypi; # added 2023-05-25 150 151 filebrowser_safe = filebrowser-safe; # added 2024-01-03 ··· 359 360 Pyro5 = pyro5; # added 2023-02-19 360 361 PyRSS2Gen = pyrss2gen; # added 2023-02-19 361 362 pyruckus = throw "pyruckus has been removed, it was deprecrated in favor of aioruckus."; # added 2023-09-07 363 + py_scrypt = py-scrypt; # added 2024-01-07 362 364 pysha3 = throw "pysha3 has been removed, use safe-pysha3 instead"; # added 2023-05-20 363 365 pysmart-smartx = pysmart; # added 2021-10-22 364 366 pySmartDL = pysmartdl; # added 2023-10-11 ··· 467 469 Theano = theano; # added 2023-02-19 468 470 TheanoWithCuda = theanoWithCuda; # added 2023-02-19 469 471 TheanoWithoutCuda = theanoWithoutCuda; # added 2023-02-19 472 + thumborPexif = throw "thumborPexif has been removed, because it was unused."; # added 2024-01-07 470 473 torrent_parser = torrent-parser; # added 2023-11-04 471 474 transip = throw "transip has been removed because it is no longer maintained. TransIP SOAP V5 API was marked as deprecated"; # added 2023-02-27 472 475 tumpa = throw "tumpa was promoted to a top-level attribute"; # added 2022-11-19
+10 -4
pkgs/top-level/python-packages.nix
··· 3928 3928 3929 3929 fastjsonschema = callPackage ../development/python-modules/fastjsonschema { }; 3930 3930 3931 - fastnlo_toolkit = toPythonModule (pkgs.fastnlo_toolkit.override { 3931 + fastnlo-toolkit = toPythonModule (pkgs.fastnlo-toolkit.override { 3932 3932 withPython = true; 3933 3933 inherit (self) python; 3934 3934 }); ··· 11155 11155 11156 11156 pyscreeze = callPackage ../development/python-modules/pyscreeze { }; 11157 11157 11158 - py_scrypt = callPackage ../development/python-modules/py_scrypt { }; 11158 + py-scrypt = callPackage ../development/python-modules/py-scrypt { }; 11159 11159 11160 11160 pyscrypt = callPackage ../development/python-modules/pyscrypt { }; 11161 11161 ··· 13328 13328 inherit (self) python; 13329 13329 }); 13330 13330 13331 + snakemake-executor-plugin-cluster-generic = callPackage ../development/python-modules/snakemake-executor-plugin-cluster-generic { }; 13332 + 13333 + snakemake-interface-common = callPackage ../development/python-modules/snakemake-interface-common { }; 13334 + 13335 + snakemake-interface-executor-plugins = callPackage ../development/python-modules/snakemake-interface-executor-plugins { }; 13336 + 13337 + snakemake-interface-storage-plugins = callPackage ../development/python-modules/snakemake-interface-storage-plugins { }; 13338 + 13331 13339 snakebite = callPackage ../development/python-modules/snakebite { }; 13332 13340 13333 13341 snakeviz = callPackage ../development/python-modules/snakeviz { }; ··· 14277 14285 thriftpy2 = callPackage ../development/python-modules/thriftpy2 { }; 14278 14286 14279 14287 throttler = callPackage ../development/python-modules/throttler { }; 14280 - 14281 - thumborPexif = callPackage ../development/python-modules/thumborpexif { }; 14282 14288 14283 14289 tkinter = callPackage ../development/python-modules/tkinter { 14284 14290 py = python.override { x11Support=true; };