lol

Merge staging-next into staging

authored by

github-actions[bot] and committed by
GitHub
12edd19d b4c4fd5f

+1222 -818
+2 -2
lib/fileset/internal.nix
··· 172 else if ! isPath value then 173 if isStringLike value then 174 throw '' 175 - ${context} ("${toString value}") is a string-like value, but it should be a path instead. 176 Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.'' 177 else 178 throw '' 179 - ${context} is of type ${typeOf value}, but it should be a path instead.'' 180 else if ! pathExists value then 181 throw '' 182 ${context} (${toString value}) does not exist.''
··· 172 else if ! isPath value then 173 if isStringLike value then 174 throw '' 175 + ${context} ("${toString value}") is a string-like value, but it should be a file set or a path instead. 176 Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.'' 177 else 178 throw '' 179 + ${context} is of type ${typeOf value}, but it should be a file set or a path instead.'' 180 else if ! pathExists value then 181 throw '' 182 ${context} (${toString value}) does not exist.''
+2 -2
lib/fileset/tests.sh
··· 355 rm -rf * 356 357 # Path coercion only works for paths 358 - expectFailure 'toSource { root = ./.; fileset = 10; }' 'lib.fileset.toSource: `fileset` is of type int, but it should be a path instead.' 359 - expectFailure 'toSource { root = ./.; fileset = "/some/path"; }' 'lib.fileset.toSource: `fileset` \("/some/path"\) is a string-like value, but it should be a path instead. 360 \s*Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.' 361 362 # Path coercion errors for non-existent paths
··· 355 rm -rf * 356 357 # Path coercion only works for paths 358 + expectFailure 'toSource { root = ./.; fileset = 10; }' 'lib.fileset.toSource: `fileset` is of type int, but it should be a file set or a path instead.' 359 + expectFailure 'toSource { root = ./.; fileset = "/some/path"; }' 'lib.fileset.toSource: `fileset` \("/some/path"\) is a string-like value, but it should be a file set or a path instead. 360 \s*Paths represented as strings are not supported by `lib.fileset`, use `lib.sources` or derivations instead.' 361 362 # Path coercion errors for non-existent paths
+5
maintainers/maintainer-list.nix
··· 16429 fingerprint = "75F0 AB7C FE01 D077 AEE6 CAFD 353E 4A18 EE0F AB72"; 16430 }]; 16431 }; 16432 spacefrogg = { 16433 email = "spacefrogg-nixos@meterriblecrew.net"; 16434 github = "spacefrogg";
··· 16429 fingerprint = "75F0 AB7C FE01 D077 AEE6 CAFD 353E 4A18 EE0F AB72"; 16430 }]; 16431 }; 16432 + spacefault = { 16433 + github = "spacefault"; 16434 + githubId = 74156492; 16435 + name = "spacefault"; 16436 + }; 16437 spacefrogg = { 16438 email = "spacefrogg-nixos@meterriblecrew.net"; 16439 github = "spacefrogg";
+2
nixos/doc/manual/release-notes/rl-2311.section.md
··· 305 306 - `service.borgmatic.settings.location` and `services.borgmatic.configurations.<name>.location` are deprecated, please move your options out of sections to the global scope. 307 308 ## Other Notable Changes {#sec-release-23.11-notable-changes} 309 310 - The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
··· 305 306 - `service.borgmatic.settings.location` and `services.borgmatic.configurations.<name>.location` are deprecated, please move your options out of sections to the global scope. 307 308 + - `dagger` was removed because using a package called `dagger` and packaging it from source violates their trademark policy. 309 + 310 ## Other Notable Changes {#sec-release-23.11-notable-changes} 311 312 - The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
+390 -354
nixos/modules/security/pam.nix
··· 6 with lib; 7 8 let 9 parentConfig = config; 10 11 pamOpts = { config, name, ... }: let cfg = config; in let config = parentConfig; in { ··· 16 example = "sshd"; 17 type = types.str; 18 description = lib.mdDoc "Name of the PAM service."; 19 }; 20 21 unixAuth = mkOption { ··· 470 setLoginUid = mkDefault cfg.startSession; 471 limits = mkDefault config.security.pam.loginLimits; 472 473 # !!! TODO: move the LDAP stuff to the LDAP module, and the 474 # Samba stuff to the Samba module. This requires that the PAM 475 # module provides the right hooks. 476 - text = mkDefault 477 - ( 478 - '' 479 - # Account management. 480 - '' + 481 - optionalString use_ldap '' 482 - account sufficient ${pam_ldap}/lib/security/pam_ldap.so 483 - '' + 484 - optionalString cfg.mysqlAuth '' 485 - account sufficient ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf 486 - '' + 487 - optionalString (config.services.kanidm.enablePam) '' 488 - account sufficient ${pkgs.kanidm}/lib/pam_kanidm.so ignore_unknown_user 489 - '' + 490 - optionalString (config.services.sssd.enable && cfg.sssdStrictAccess==false) '' 491 - account sufficient ${pkgs.sssd}/lib/security/pam_sss.so 492 - '' + 493 - optionalString (config.services.sssd.enable && cfg.sssdStrictAccess) '' 494 - account [default=bad success=ok user_unknown=ignore] ${pkgs.sssd}/lib/security/pam_sss.so 495 - '' + 496 - optionalString config.security.pam.krb5.enable '' 497 - account sufficient ${pam_krb5}/lib/security/pam_krb5.so 498 - '' + 499 - optionalString cfg.googleOsLoginAccountVerification '' 500 - account [success=ok ignore=ignore default=die] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so 501 - account [success=ok default=ignore] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so 502 - '' + 503 - optionalString config.services.homed.enable '' 504 - account sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so 505 - '' + 506 # The required pam_unix.so module has to come after all the sufficient modules 507 # because otherwise, the account lookup will fail if the user does not exist 508 # locally, for example with MySQL- or LDAP-auth. 509 - '' 510 - account required pam_unix.so 511 512 - # Authentication management. 513 - '' + 514 - optionalString cfg.googleOsLoginAuthentication '' 515 - auth [success=done perm_denied=die default=ignore] ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so 516 - '' + 517 - optionalString cfg.rootOK '' 518 - auth sufficient pam_rootok.so 519 - '' + 520 - optionalString cfg.requireWheel '' 521 - auth required pam_wheel.so use_uid 522 - '' + 523 - optionalString cfg.logFailures '' 524 - auth required pam_faillock.so 525 - '' + 526 - optionalString cfg.mysqlAuth '' 527 - auth sufficient ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf 528 - '' + 529 - optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth) '' 530 - auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=${lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles} 531 - '' + 532 - (let p11 = config.security.pam.p11; in optionalString cfg.p11Auth '' 533 - auth ${p11.control} ${pkgs.pam_p11}/lib/security/pam_p11.so ${pkgs.opensc}/lib/opensc-pkcs11.so 534 - '') + 535 - (let u2f = config.security.pam.u2f; in optionalString cfg.u2fAuth ('' 536 - auth ${u2f.control} ${pkgs.pam_u2f}/lib/security/pam_u2f.so ${optionalString u2f.debug "debug"} ${optionalString (u2f.authFile != null) "authfile=${u2f.authFile}"} '' 537 - + ''${optionalString u2f.interactive "interactive"} ${optionalString u2f.cue "cue"} ${optionalString (u2f.appId != null) "appid=${u2f.appId}"} ${optionalString (u2f.origin != null) "origin=${u2f.origin}"} 538 - '')) + 539 - optionalString cfg.usbAuth '' 540 - auth sufficient ${pkgs.pam_usb}/lib/security/pam_usb.so 541 - '' + 542 - (let ussh = config.security.pam.ussh; in optionalString (config.security.pam.ussh.enable && cfg.usshAuth) '' 543 - auth ${ussh.control} ${pkgs.pam_ussh}/lib/security/pam_ussh.so ${optionalString (ussh.caFile != null) "ca_file=${ussh.caFile}"} ${optionalString (ussh.authorizedPrincipals != null) "authorized_principals=${ussh.authorizedPrincipals}"} ${optionalString (ussh.authorizedPrincipalsFile != null) "authorized_principals_file=${ussh.authorizedPrincipalsFile}"} ${optionalString (ussh.group != null) "group=${ussh.group}"} 544 - '') + 545 - (let oath = config.security.pam.oath; in optionalString cfg.oathAuth '' 546 - auth requisite ${pkgs.oath-toolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits} 547 - '') + 548 - (let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth '' 549 - auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.challengeResponsePath != null) "chalresp_path=${yubi.challengeResponsePath}"} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"} 550 - '') + 551 - (let dp9ik = config.security.pam.dp9ik; in optionalString dp9ik.enable '' 552 - auth ${dp9ik.control} ${pkgs.pam_dp9ik}/lib/security/pam_p9.so ${dp9ik.authserver} 553 - '') + 554 - optionalString cfg.fprintAuth '' 555 - auth sufficient ${pkgs.fprintd}/lib/security/pam_fprintd.so 556 - '' + 557 # Modules in this block require having the password set in PAM_AUTHTOK. 558 # pam_unix is marked as 'sufficient' on NixOS which means nothing will run 559 # after it succeeds. Certain modules need to run after pam_unix ··· 562 # We use try_first_pass the second time to avoid prompting password twice. 563 # 564 # The same principle applies to systemd-homed 565 - (optionalString ((cfg.unixAuth || config.services.homed.enable) && 566 (config.security.pam.enableEcryptfs 567 || config.security.pam.enableFscrypt 568 || cfg.pamMount ··· 573 || cfg.failDelay.enable 574 || cfg.duoSecurity.enable 575 || cfg.zfs)) 576 - ( 577 - optionalString config.services.homed.enable '' 578 - auth optional ${config.systemd.package}/lib/security/pam_systemd_home.so 579 - '' + 580 - optionalString cfg.unixAuth '' 581 - auth optional pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth 582 - '' + 583 - optionalString config.security.pam.enableEcryptfs '' 584 - auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap 585 - '' + 586 - optionalString config.security.pam.enableFscrypt '' 587 - auth optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so 588 - '' + 589 - optionalString cfg.zfs '' 590 - auth optional ${config.boot.zfs.package}/lib/security/pam_zfs_key.so homes=${config.security.pam.zfs.homes} 591 - '' + 592 - optionalString cfg.pamMount '' 593 - auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive 594 - '' + 595 - optionalString cfg.enableKwallet '' 596 - auth optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5 597 - '' + 598 - optionalString cfg.enableGnomeKeyring '' 599 - auth optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so 600 - '' + 601 - optionalString cfg.gnupg.enable '' 602 - auth optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.storeOnly " store-only"} 603 - '' + 604 - optionalString cfg.failDelay.enable '' 605 - auth optional ${pkgs.pam}/lib/security/pam_faildelay.so delay=${toString cfg.failDelay.delay} 606 - '' + 607 - optionalString cfg.googleAuthenticator.enable '' 608 - auth required ${pkgs.google-authenticator}/lib/security/pam_google_authenticator.so no_increment_hotp 609 - '' + 610 - optionalString cfg.duoSecurity.enable '' 611 - auth required ${pkgs.duo-unix}/lib/security/pam_duo.so 612 - '' 613 - )) + 614 - optionalString config.services.homed.enable '' 615 - auth sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so 616 - '' + 617 - optionalString cfg.unixAuth '' 618 - auth sufficient pam_unix.so ${optionalString cfg.allowNullPassword "nullok"} ${optionalString cfg.nodelay "nodelay"} likeauth try_first_pass 619 - '' + 620 - optionalString cfg.otpwAuth '' 621 - auth sufficient ${pkgs.otpw}/lib/security/pam_otpw.so 622 - '' + 623 - optionalString use_ldap '' 624 - auth sufficient ${pam_ldap}/lib/security/pam_ldap.so use_first_pass 625 - '' + 626 - optionalString config.services.kanidm.enablePam '' 627 - auth sufficient ${pkgs.kanidm}/lib/pam_kanidm.so ignore_unknown_user use_first_pass 628 - '' + 629 - optionalString config.services.sssd.enable '' 630 - auth sufficient ${pkgs.sssd}/lib/security/pam_sss.so use_first_pass 631 - '' + 632 - optionalString config.security.pam.krb5.enable '' 633 - auth [default=ignore success=1 service_err=reset] ${pam_krb5}/lib/security/pam_krb5.so use_first_pass 634 - auth [default=die success=done] ${pam_ccreds}/lib/security/pam_ccreds.so action=validate use_first_pass 635 - auth sufficient ${pam_ccreds}/lib/security/pam_ccreds.so action=store use_first_pass 636 - '' + 637 - '' 638 - auth required pam_deny.so 639 640 - # Password management. 641 - '' + 642 - optionalString config.services.homed.enable '' 643 - password sufficient ${config.systemd.package}/lib/security/pam_systemd_home.so 644 - '' + '' 645 - password sufficient pam_unix.so nullok yescrypt 646 - '' + 647 - optionalString config.security.pam.enableEcryptfs '' 648 - password optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so 649 - '' + 650 - optionalString config.security.pam.enableFscrypt '' 651 - password optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so 652 - '' + 653 - optionalString cfg.zfs '' 654 - password optional ${config.boot.zfs.package}/lib/security/pam_zfs_key.so homes=${config.security.pam.zfs.homes} 655 - '' + 656 - optionalString cfg.pamMount '' 657 - password optional ${pkgs.pam_mount}/lib/security/pam_mount.so 658 - '' + 659 - optionalString use_ldap '' 660 - password sufficient ${pam_ldap}/lib/security/pam_ldap.so 661 - '' + 662 - optionalString cfg.mysqlAuth '' 663 - password sufficient ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf 664 - '' + 665 - optionalString config.services.kanidm.enablePam '' 666 - password sufficient ${pkgs.kanidm}/lib/pam_kanidm.so 667 - '' + 668 - optionalString config.services.sssd.enable '' 669 - password sufficient ${pkgs.sssd}/lib/security/pam_sss.so 670 - '' + 671 - optionalString config.security.pam.krb5.enable '' 672 - password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass 673 - '' + 674 - optionalString cfg.enableGnomeKeyring '' 675 - password optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok 676 - '' + 677 - '' 678 679 - # Session management. 680 - '' + 681 - optionalString cfg.setEnvironment '' 682 - session required pam_env.so conffile=/etc/pam/environment readenv=0 683 - '' + 684 - '' 685 - session required pam_unix.so 686 - '' + 687 - optionalString cfg.setLoginUid '' 688 - session ${if config.boot.isContainer then "optional" else "required"} pam_loginuid.so 689 - '' + 690 - optionalString cfg.ttyAudit.enable (concatStringsSep " \\\n " ([ 691 - "session required ${pkgs.pam}/lib/security/pam_tty_audit.so" 692 - ] ++ optional cfg.ttyAudit.openOnly "open_only" 693 - ++ optional (cfg.ttyAudit.enablePattern != null) "enable=${cfg.ttyAudit.enablePattern}" 694 - ++ optional (cfg.ttyAudit.disablePattern != null) "disable=${cfg.ttyAudit.disablePattern}" 695 - )) + 696 - optionalString config.services.homed.enable '' 697 - session required ${config.systemd.package}/lib/security/pam_systemd_home.so 698 - '' + 699 - optionalString cfg.makeHomeDir '' 700 - session required ${pkgs.pam}/lib/security/pam_mkhomedir.so silent skel=${config.security.pam.makeHomeDir.skelDirectory} umask=${config.security.pam.makeHomeDir.umask} 701 - '' + 702 - optionalString cfg.updateWtmp '' 703 - session required ${pkgs.pam}/lib/security/pam_lastlog.so silent 704 - '' + 705 - optionalString config.security.pam.enableEcryptfs '' 706 - session optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so 707 - '' + 708 - optionalString config.security.pam.enableFscrypt '' 709 - # Work around https://github.com/systemd/systemd/issues/8598 710 - # Skips the pam_fscrypt module for systemd-user sessions which do not have a password 711 - # anyways. 712 - # See also https://github.com/google/fscrypt/issues/95 713 - session [success=1 default=ignore] pam_succeed_if.so service = systemd-user 714 - session optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so 715 - '' + 716 - optionalString cfg.zfs '' 717 - session [success=1 default=ignore] pam_succeed_if.so service = systemd-user 718 - session optional ${config.boot.zfs.package}/lib/security/pam_zfs_key.so homes=${config.security.pam.zfs.homes} ${optionalString config.security.pam.zfs.noUnmount "nounmount"} 719 - '' + 720 - optionalString cfg.pamMount '' 721 - session optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive 722 - '' + 723 - optionalString use_ldap '' 724 - session optional ${pam_ldap}/lib/security/pam_ldap.so 725 - '' + 726 - optionalString cfg.mysqlAuth '' 727 - session optional ${pkgs.pam_mysql}/lib/security/pam_mysql.so config_file=/etc/security/pam_mysql.conf 728 - '' + 729 - optionalString config.services.kanidm.enablePam '' 730 - session optional ${pkgs.kanidm}/lib/pam_kanidm.so 731 - '' + 732 - optionalString config.services.sssd.enable '' 733 - session optional ${pkgs.sssd}/lib/security/pam_sss.so 734 - '' + 735 - optionalString config.security.pam.krb5.enable '' 736 - session optional ${pam_krb5}/lib/security/pam_krb5.so 737 - '' + 738 - optionalString cfg.otpwAuth '' 739 - session optional ${pkgs.otpw}/lib/security/pam_otpw.so 740 - '' + 741 - optionalString cfg.startSession '' 742 - session optional ${config.systemd.package}/lib/security/pam_systemd.so 743 - '' + 744 - optionalString cfg.forwardXAuth '' 745 - session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99 746 - '' + 747 - optionalString (cfg.limits != []) '' 748 - session required ${pkgs.pam}/lib/security/pam_limits.so conf=${makeLimitsConf cfg.limits} 749 - '' + 750 - optionalString (cfg.showMotd && (config.users.motd != null || config.users.motdFile != null)) '' 751 - session optional ${pkgs.pam}/lib/security/pam_motd.so motd=${motd} 752 - '' + 753 - optionalString (cfg.enableAppArmor && config.security.apparmor.enable) '' 754 - session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug 755 - '' + 756 - optionalString (cfg.enableKwallet) '' 757 - session optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5 758 - '' + 759 - optionalString (cfg.enableGnomeKeyring) '' 760 - session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start 761 - '' + 762 - optionalString cfg.gnupg.enable '' 763 - session optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so ${optionalString cfg.gnupg.noAutostart " no-autostart"} 764 - '' + 765 - optionalString (config.virtualisation.lxc.lxcfs.enable) '' 766 - session optional ${pkgs.lxc}/lib/security/pam_cgfs.so -c all 767 - '' 768 - ); 769 }; 770 771 }; ··· 840 in 841 842 { 843 844 imports = [ 845 (mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ]) ··· 1402 fscrypt = {}; 1403 }; 1404 1405 - security.apparmor.includes."abstractions/pam" = let 1406 - isEnabled = test: fold or false (map test (attrValues config.security.pam.services)); 1407 - in 1408 lib.concatMapStrings 1409 (name: "r ${config.environment.etc."pam.d/${name}".source},\n") 1410 (attrNames config.security.pam.services) + ··· 1413 mr ${getLib pkgs.pam}/lib/security/pam_*.so, 1414 r ${getLib pkgs.pam}/lib/security/, 1415 '' + 1416 - optionalString use_ldap '' 1417 - mr ${pam_ldap}/lib/security/pam_ldap.so, 1418 - '' + 1419 - optionalString config.services.kanidm.enablePam '' 1420 - mr ${pkgs.kanidm}/lib/pam_kanidm.so, 1421 - '' + 1422 - optionalString config.services.sssd.enable '' 1423 - mr ${pkgs.sssd}/lib/security/pam_sss.so, 1424 - '' + 1425 - optionalString config.security.pam.krb5.enable '' 1426 - mr ${pam_krb5}/lib/security/pam_krb5.so, 1427 - mr ${pam_ccreds}/lib/security/pam_ccreds.so, 1428 - '' + 1429 - optionalString (isEnabled (cfg: cfg.googleOsLoginAccountVerification)) '' 1430 - mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so, 1431 - mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so, 1432 - '' + 1433 - optionalString (isEnabled (cfg: cfg.googleOsLoginAuthentication)) '' 1434 - mr ${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so, 1435 - '' + 1436 - optionalString (config.security.pam.enableSSHAgentAuth 1437 - && isEnabled (cfg: cfg.sshAgentAuth)) '' 1438 - mr ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so, 1439 - '' + 1440 - optionalString (isEnabled (cfg: cfg.fprintAuth)) '' 1441 - mr ${pkgs.fprintd}/lib/security/pam_fprintd.so, 1442 - '' + 1443 - optionalString (isEnabled (cfg: cfg.u2fAuth)) '' 1444 - mr ${pkgs.pam_u2f}/lib/security/pam_u2f.so, 1445 - '' + 1446 - optionalString (isEnabled (cfg: cfg.usbAuth)) '' 1447 - mr ${pkgs.pam_usb}/lib/security/pam_usb.so, 1448 - '' + 1449 - optionalString (isEnabled (cfg: cfg.usshAuth)) '' 1450 - mr ${pkgs.pam_ussh}/lib/security/pam_ussh.so, 1451 - '' + 1452 - optionalString (isEnabled (cfg: cfg.oathAuth)) '' 1453 - "mr ${pkgs.oath-toolkit}/lib/security/pam_oath.so, 1454 - '' + 1455 - optionalString (isEnabled (cfg: cfg.mysqlAuth)) '' 1456 - mr ${pkgs.pam_mysql}/lib/security/pam_mysql.so, 1457 - '' + 1458 - optionalString (isEnabled (cfg: cfg.yubicoAuth)) '' 1459 - mr ${pkgs.yubico-pam}/lib/security/pam_yubico.so, 1460 - '' + 1461 - optionalString (isEnabled (cfg: cfg.duoSecurity.enable)) '' 1462 - mr ${pkgs.duo-unix}/lib/security/pam_duo.so, 1463 - '' + 1464 - optionalString (isEnabled (cfg: cfg.otpwAuth)) '' 1465 - mr ${pkgs.otpw}/lib/security/pam_otpw.so, 1466 - '' + 1467 - optionalString config.security.pam.enableEcryptfs '' 1468 - mr ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so, 1469 - '' + 1470 - optionalString config.security.pam.enableFscrypt '' 1471 - mr ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so, 1472 - '' + 1473 - optionalString (isEnabled (cfg: cfg.pamMount)) '' 1474 - mr ${pkgs.pam_mount}/lib/security/pam_mount.so, 1475 - '' + 1476 - optionalString (isEnabled (cfg: cfg.enableGnomeKeyring)) '' 1477 - mr ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so, 1478 - '' + 1479 - optionalString (isEnabled (cfg: cfg.startSession)) '' 1480 - mr ${config.systemd.package}/lib/security/pam_systemd.so, 1481 - '' + 1482 - optionalString (isEnabled (cfg: cfg.enableAppArmor) 1483 - && config.security.apparmor.enable) '' 1484 - mr ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so, 1485 - '' + 1486 - optionalString (isEnabled (cfg: cfg.enableKwallet)) '' 1487 - mr ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so, 1488 - '' + 1489 - optionalString config.virtualisation.lxc.lxcfs.enable '' 1490 - mr ${pkgs.lxc}/lib/security/pam_cgfs.so, 1491 - '' + 1492 - optionalString (isEnabled (cfg: cfg.zfs)) '' 1493 - mr ${config.boot.zfs.package}/lib/security/pam_zfs_key.so, 1494 - '' + 1495 - optionalString config.services.homed.enable '' 1496 - mr ${config.systemd.package}/lib/security/pam_systemd_home.so 1497 - ''; 1498 }; 1499 1500 }
··· 6 with lib; 7 8 let 9 + 10 + mkRulesTypeOption = type: mkOption { 11 + # These options are experimental and subject to breaking changes without notice. 12 + description = lib.mdDoc '' 13 + PAM `${type}` rules for this service. 14 + 15 + Attribute keys are the name of each rule. 16 + ''; 17 + type = types.attrsOf (types.submodule ({ name, config, ... }: { 18 + options = { 19 + name = mkOption { 20 + type = types.str; 21 + description = lib.mdDoc '' 22 + Name of this rule. 23 + ''; 24 + internal = true; 25 + readOnly = true; 26 + }; 27 + enable = mkOption { 28 + type = types.bool; 29 + default = true; 30 + description = lib.mdDoc '' 31 + Whether this rule is added to the PAM service config file. 32 + ''; 33 + }; 34 + order = mkOption { 35 + type = types.int; 36 + description = lib.mdDoc '' 37 + Order of this rule in the service file. Rules are arranged in ascending order of this value. 38 + 39 + ::: {.warning} 40 + The `order` values for the built-in rules are subject to change. If you assign a constant value to this option, a system update could silently reorder your rule. You could be locked out of your system, or your system could be left wide open. When using this option, set it to a relative offset from another rule's `order` value: 41 + 42 + ```nix 43 + { 44 + security.pam.services.login.rules.auth.foo.order = 45 + config.security.pam.services.login.rules.auth.unix.order + 10; 46 + } 47 + ``` 48 + ::: 49 + ''; 50 + }; 51 + control = mkOption { 52 + type = types.str; 53 + description = lib.mdDoc '' 54 + Indicates the behavior of the PAM-API should the module fail to succeed in its authentication task. See `control` in {manpage}`pam.conf(5)` for details. 55 + ''; 56 + }; 57 + modulePath = mkOption { 58 + type = types.str; 59 + description = lib.mdDoc '' 60 + Either the full filename of the PAM to be used by the application (it begins with a '/'), or a relative pathname from the default module location. See `module-path` in {manpage}`pam.conf(5)` for details. 61 + ''; 62 + }; 63 + args = mkOption { 64 + type = types.listOf types.str; 65 + description = lib.mdDoc '' 66 + Tokens that can be used to modify the specific behavior of the given PAM. Such arguments will be documented for each individual module. See `module-arguments` in {manpage}`pam.conf(5)` for details. 67 + 68 + Escaping rules for spaces and square brackets are automatically applied. 69 + 70 + {option}`settings` are automatically added as {option}`args`. It's recommended to use the {option}`settings` option whenever possible so that arguments can be overridden. 71 + ''; 72 + }; 73 + settings = mkOption { 74 + type = with types; attrsOf (nullOr (oneOf [ bool str int pathInStore ])); 75 + default = {}; 76 + description = lib.mdDoc '' 77 + Settings to add as `module-arguments`. 78 + 79 + Boolean values render just the key if true, and nothing if false. Null values are ignored. All other values are rendered as key-value pairs. 80 + ''; 81 + }; 82 + }; 83 + config = { 84 + inherit name; 85 + # Formats an attrset of settings as args for use as `module-arguments`. 86 + args = concatLists (flip mapAttrsToList config.settings (name: value: 87 + if isBool value 88 + then optional value name 89 + else optional (value != null) "${name}=${toString value}" 90 + )); 91 + }; 92 + })); 93 + }; 94 + 95 parentConfig = config; 96 97 pamOpts = { config, name, ... }: let cfg = config; in let config = parentConfig; in { ··· 102 example = "sshd"; 103 type = types.str; 104 description = lib.mdDoc "Name of the PAM service."; 105 + }; 106 + 107 + rules = mkOption { 108 + # This option is experimental and subject to breaking changes without notice. 109 + visible = false; 110 + 111 + description = lib.mdDoc '' 112 + PAM rules for this service. 113 + 114 + ::: {.warning} 115 + This option and its suboptions are experimental and subject to breaking changes without notice. 116 + 117 + If you use this option in your system configuration, you will need to manually monitor this module for any changes. Otherwise, failure to adjust your configuration properly could lead to you being locked out of your system, or worse, your system could be left wide open to attackers. 118 + 119 + If you share configuration examples that use this option, you MUST include this warning so that users are informed. 120 + 121 + You may freely use this option within `nixpkgs`, and future changes will account for those use sites. 122 + ::: 123 + ''; 124 + type = types.submodule { 125 + options = genAttrs [ "account" "auth" "password" "session" ] mkRulesTypeOption; 126 + }; 127 }; 128 129 unixAuth = mkOption { ··· 578 setLoginUid = mkDefault cfg.startSession; 579 limits = mkDefault config.security.pam.loginLimits; 580 581 + text = let 582 + ensureUniqueOrder = type: rules: 583 + let 584 + checkPair = a: b: assert assertMsg (a.order != b.order) "security.pam.services.${name}.rules.${type}: rules '${a.name}' and '${b.name}' cannot have the same order value (${toString a.order})"; b; 585 + checked = zipListsWith checkPair rules (drop 1 rules); 586 + in take 1 rules ++ checked; 587 + # Formats a string for use in `module-arguments`. See `man pam.conf`. 588 + formatModuleArgument = token: 589 + if hasInfix " " token 590 + then "[${replaceStrings ["]"] ["\\]"] token}]" 591 + else token; 592 + formatRules = type: pipe cfg.rules.${type} [ 593 + attrValues 594 + (filter (rule: rule.enable)) 595 + (sort (a: b: a.order < b.order)) 596 + (ensureUniqueOrder type) 597 + (map (rule: concatStringsSep " " ( 598 + [ type rule.control rule.modulePath ] 599 + ++ map formatModuleArgument rule.args 600 + ++ [ "# ${rule.name} (order ${toString rule.order})" ] 601 + ))) 602 + (concatStringsSep "\n") 603 + ]; 604 + in mkDefault '' 605 + # Account management. 606 + ${formatRules "account"} 607 + 608 + # Authentication management. 609 + ${formatRules "auth"} 610 + 611 + # Password management. 612 + ${formatRules "password"} 613 + 614 + # Session management. 615 + ${formatRules "session"} 616 + ''; 617 + 618 # !!! TODO: move the LDAP stuff to the LDAP module, and the 619 # Samba stuff to the Samba module. This requires that the PAM 620 # module provides the right hooks. 621 + rules = let 622 + autoOrderRules = flip pipe [ 623 + (imap1 (index: rule: rule // { order = mkDefault (10000 + index * 100); } )) 624 + (map (rule: nameValuePair rule.name (removeAttrs rule [ "name" ]))) 625 + listToAttrs 626 + ]; 627 + in { 628 + account = autoOrderRules [ 629 + { name = "ldap"; enable = use_ldap; control = "sufficient"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; } 630 + { name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = { 631 + config_file = "/etc/security/pam_mysql.conf"; 632 + }; } 633 + { name = "kanidm"; enable = config.services.kanidm.enablePam; control = "sufficient"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; settings = { 634 + ignore_unknown_user = true; 635 + }; } 636 + { name = "sss"; enable = config.services.sssd.enable; control = if cfg.sssdStrictAccess then "[default=bad success=ok user_unknown=ignore]" else "sufficient"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; } 637 + { name = "krb5"; enable = config.security.pam.krb5.enable; control = "sufficient"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; } 638 + { name = "oslogin_login"; enable = cfg.googleOsLoginAccountVerification; control = "[success=ok ignore=ignore default=die]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so"; } 639 + { name = "oslogin_admin"; enable = cfg.googleOsLoginAccountVerification; control = "[success=ok default=ignore]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_admin.so"; } 640 + { name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 641 # The required pam_unix.so module has to come after all the sufficient modules 642 # because otherwise, the account lookup will fail if the user does not exist 643 # locally, for example with MySQL- or LDAP-auth. 644 + { name = "unix"; control = "required"; modulePath = "pam_unix.so"; } 645 + ]; 646 647 + auth = autoOrderRules ([ 648 + { name = "oslogin_login"; enable = cfg.googleOsLoginAuthentication; control = "[success=done perm_denied=die default=ignore]"; modulePath = "${pkgs.google-guest-oslogin}/lib/security/pam_oslogin_login.so"; } 649 + { name = "rootok"; enable = cfg.rootOK; control = "sufficient"; modulePath = "pam_rootok.so"; } 650 + { name = "wheel"; enable = cfg.requireWheel; control = "required"; modulePath = "pam_wheel.so"; settings = { 651 + use_uid = true; 652 + }; } 653 + { name = "faillock"; enable = cfg.logFailures; control = "required"; modulePath = "pam_faillock.so"; } 654 + { name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = { 655 + config_file = "/etc/security/pam_mysql.conf"; 656 + }; } 657 + { name = "ssh_agent_auth"; enable = config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth; control = "sufficient"; modulePath = "${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so"; settings = { 658 + file = lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles; 659 + }; } 660 + (let p11 = config.security.pam.p11; in { name = "p11"; enable = cfg.p11Auth; control = p11.control; modulePath = "${pkgs.pam_p11}/lib/security/pam_p11.so"; args = [ 661 + "${pkgs.opensc}/lib/opensc-pkcs11.so" 662 + ]; }) 663 + (let u2f = config.security.pam.u2f; in { name = "u2f"; enable = cfg.u2fAuth; control = u2f.control; modulePath = "${pkgs.pam_u2f}/lib/security/pam_u2f.so"; settings = { 664 + inherit (u2f) debug interactive cue origin; 665 + authfile = u2f.authFile; 666 + appid = u2f.appId; 667 + }; }) 668 + { name = "usb"; enable = cfg.usbAuth; control = "sufficient"; modulePath = "${pkgs.pam_usb}/lib/security/pam_usb.so"; } 669 + (let ussh = config.security.pam.ussh; in { name = "ussh"; enable = config.security.pam.ussh.enable && cfg.usshAuth; control = ussh.control; modulePath = "${pkgs.pam_ussh}/lib/security/pam_ussh.so"; settings = { 670 + ca_file = ussh.caFile; 671 + authorized_principals = ussh.authorizedPrincipals; 672 + authorized_principals_file = ussh.authorizedPrincipalsFile; 673 + inherit (ussh) group; 674 + }; }) 675 + (let oath = config.security.pam.oath; in { name = "oath"; enable = cfg.oathAuth; control = "requisite"; modulePath = "${pkgs.oath-toolkit}/lib/security/pam_oath.so"; settings = { 676 + inherit (oath) window digits; 677 + usersfile = oath.usersFile; 678 + }; }) 679 + (let yubi = config.security.pam.yubico; in { name = "yubico"; enable = cfg.yubicoAuth; control = yubi.control; modulePath = "${pkgs.yubico-pam}/lib/security/pam_yubico.so"; settings = { 680 + inherit (yubi) mode debug; 681 + chalresp_path = yubi.challengeResponsePath; 682 + id = mkIf (yubi.mode == "client") yubi.id; 683 + }; }) 684 + (let dp9ik = config.security.pam.dp9ik; in { name = "p9"; enable = dp9ik.enable; control = dp9ik.control; modulePath = "${pkgs.pam_dp9ik}/lib/security/pam_p9.so"; args = [ 685 + dp9ik.authserver 686 + ]; }) 687 + { name = "fprintd"; enable = cfg.fprintAuth; control = "sufficient"; modulePath = "${pkgs.fprintd}/lib/security/pam_fprintd.so"; } 688 + ] ++ 689 # Modules in this block require having the password set in PAM_AUTHTOK. 690 # pam_unix is marked as 'sufficient' on NixOS which means nothing will run 691 # after it succeeds. Certain modules need to run after pam_unix ··· 694 # We use try_first_pass the second time to avoid prompting password twice. 695 # 696 # The same principle applies to systemd-homed 697 + (optionals ((cfg.unixAuth || config.services.homed.enable) && 698 (config.security.pam.enableEcryptfs 699 || config.security.pam.enableFscrypt 700 || cfg.pamMount ··· 705 || cfg.failDelay.enable 706 || cfg.duoSecurity.enable 707 || cfg.zfs)) 708 + [ 709 + { name = "systemd_home-early"; enable = config.services.homed.enable; control = "optional"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 710 + { name = "unix-early"; enable = cfg.unixAuth; control = "optional"; modulePath = "pam_unix.so"; settings = { 711 + nullok = cfg.allowNullPassword; 712 + inherit (cfg) nodelay; 713 + likeauth = true; 714 + }; } 715 + { name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; settings = { 716 + unwrap = true; 717 + }; } 718 + { name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; } 719 + { name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = { 720 + inherit (config.security.pam.zfs) homes; 721 + }; } 722 + { name = "mount"; enable = cfg.pamMount; control = "optional"; modulePath = "${pkgs.pam_mount}/lib/security/pam_mount.so"; settings = { 723 + disable_interactive = true; 724 + }; } 725 + { name = "kwallet5"; enable = cfg.enableKwallet; control = "optional"; modulePath = "${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so"; settings = { 726 + kwalletd = "${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5"; 727 + }; } 728 + { name = "gnome_keyring"; enable = cfg.enableGnomeKeyring; control = "optional"; modulePath = "${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"; } 729 + { name = "gnupg"; enable = cfg.gnupg.enable; control = "optional"; modulePath = "${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"; settings = { 730 + store-only = cfg.gnupg.storeOnly; 731 + }; } 732 + { name = "faildelay"; enable = cfg.failDelay.enable; control = "optional"; modulePath = "${pkgs.pam}/lib/security/pam_faildelay.so"; settings = { 733 + inherit (cfg.failDelay) delay; 734 + }; } 735 + { name = "google_authenticator"; enable = cfg.googleAuthenticator.enable; control = "required"; modulePath = "${pkgs.google-authenticator}/lib/security/pam_google_authenticator.so"; settings = { 736 + no_increment_hotp = true; 737 + }; } 738 + { name = "duo"; enable = cfg.duoSecurity.enable; control = "required"; modulePath = "${pkgs.duo-unix}/lib/security/pam_duo.so"; } 739 + ]) ++ [ 740 + { name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 741 + { name = "unix"; enable = cfg.unixAuth; control = "sufficient"; modulePath = "pam_unix.so"; settings = { 742 + nullok = cfg.allowNullPassword; 743 + inherit (cfg) nodelay; 744 + likeauth = true; 745 + try_first_pass = true; 746 + }; } 747 + { name = "otpw"; enable = cfg.otpwAuth; control = "sufficient"; modulePath = "${pkgs.otpw}/lib/security/pam_otpw.so"; } 748 + { name = "ldap"; enable = use_ldap; control = "sufficient"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; settings = { 749 + use_first_pass = true; 750 + }; } 751 + { name = "kanidm"; enable = config.services.kanidm.enablePam; control = "sufficient"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; settings = { 752 + ignore_unknown_user = true; 753 + use_first_pass = true; 754 + }; } 755 + { name = "sss"; enable = config.services.sssd.enable; control = "sufficient"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; settings = { 756 + use_first_pass = true; 757 + }; } 758 + { name = "krb5"; enable = config.security.pam.krb5.enable; control = "[default=ignore success=1 service_err=reset]"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; settings = { 759 + use_first_pass = true; 760 + }; } 761 + { name = "ccreds-validate"; enable = config.security.pam.krb5.enable; control = "[default=die success=done]"; modulePath = "${pam_ccreds}/lib/security/pam_ccreds.so"; settings = { 762 + action = "validate"; 763 + use_first_pass = true; 764 + }; } 765 + { name = "ccreds-store"; enable = config.security.pam.krb5.enable; control = "sufficient"; modulePath = "${pam_ccreds}/lib/security/pam_ccreds.so"; settings = { 766 + action = "store"; 767 + use_first_pass = true; 768 + }; } 769 + { name = "deny"; control = "required"; modulePath = "pam_deny.so"; } 770 + ]); 771 772 + password = autoOrderRules [ 773 + { name = "systemd_home"; enable = config.services.homed.enable; control = "sufficient"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 774 + { name = "unix"; control = "sufficient"; modulePath = "pam_unix.so"; settings = { 775 + nullok = true; 776 + yescrypt = true; 777 + }; } 778 + { name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; } 779 + { name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; } 780 + { name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = { 781 + inherit (config.security.pam.zfs) homes; 782 + }; } 783 + { name = "mount"; enable = cfg.pamMount; control = "optional"; modulePath = "${pkgs.pam_mount}/lib/security/pam_mount.so"; } 784 + { name = "ldap"; enable = use_ldap; control = "sufficient"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; } 785 + { name = "mysql"; enable = cfg.mysqlAuth; control = "sufficient"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = { 786 + config_file = "/etc/security/pam_mysql.conf"; 787 + }; } 788 + { name = "kanidm"; enable = config.services.kanidm.enablePam; control = "sufficient"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; } 789 + { name = "sss"; enable = config.services.sssd.enable; control = "sufficient"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; } 790 + { name = "krb5"; enable = config.security.pam.krb5.enable; control = "sufficient"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; settings = { 791 + use_first_pass = true; 792 + }; } 793 + { name = "gnome_keyring"; enable = cfg.enableGnomeKeyring; control = "optional"; modulePath = "${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"; settings = { 794 + use_authtok = true; 795 + }; } 796 + ]; 797 798 + session = autoOrderRules [ 799 + { name = "env"; enable = cfg.setEnvironment; control = "required"; modulePath = "pam_env.so"; settings = { 800 + conffile = "/etc/pam/environment"; 801 + readenv = 0; 802 + }; } 803 + { name = "unix"; control = "required"; modulePath = "pam_unix.so"; } 804 + { name = "loginuid"; enable = cfg.setLoginUid; control = if config.boot.isContainer then "optional" else "required"; modulePath = "pam_loginuid.so"; } 805 + { name = "tty_audit"; enable = cfg.ttyAudit.enable; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_tty_audit.so"; settings = { 806 + open_only = cfg.ttyAudit.openOnly; 807 + enable = cfg.ttyAudit.enablePattern; 808 + disable = cfg.ttyAudit.disablePattern; 809 + }; } 810 + { name = "systemd_home"; enable = config.services.homed.enable; control = "required"; modulePath = "${config.systemd.package}/lib/security/pam_systemd_home.so"; } 811 + { name = "mkhomedir"; enable = cfg.makeHomeDir; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_mkhomedir.so"; settings = { 812 + silent = true; 813 + skel = config.security.pam.makeHomeDir.skelDirectory; 814 + inherit (config.security.pam.makeHomeDir) umask; 815 + }; } 816 + { name = "lastlog"; enable = cfg.updateWtmp; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_lastlog.so"; settings = { 817 + silent = true; 818 + }; } 819 + { name = "ecryptfs"; enable = config.security.pam.enableEcryptfs; control = "optional"; modulePath = "${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so"; } 820 + # Work around https://github.com/systemd/systemd/issues/8598 821 + # Skips the pam_fscrypt module for systemd-user sessions which do not have a password 822 + # anyways. 823 + # See also https://github.com/google/fscrypt/issues/95 824 + { name = "fscrypt-skip-systemd"; enable = config.security.pam.enableFscrypt; control = "[success=1 default=ignore]"; modulePath = "pam_succeed_if.so"; args = [ 825 + "service" "=" "systemd-user" 826 + ]; } 827 + { name = "fscrypt"; enable = config.security.pam.enableFscrypt; control = "optional"; modulePath = "${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so"; } 828 + { name = "zfs_key-skip-systemd"; enable = cfg.zfs; control = "[success=1 default=ignore]"; modulePath = "pam_succeed_if.so"; args = [ 829 + "service" "=" "systemd-user" 830 + ]; } 831 + { name = "zfs_key"; enable = cfg.zfs; control = "optional"; modulePath = "${config.boot.zfs.package}/lib/security/pam_zfs_key.so"; settings = { 832 + inherit (config.security.pam.zfs) homes; 833 + nounmount = config.security.pam.zfs.noUnmount; 834 + }; } 835 + { name = "mount"; enable = cfg.pamMount; control = "optional"; modulePath = "${pkgs.pam_mount}/lib/security/pam_mount.so"; settings = { 836 + disable_interactive = true; 837 + }; } 838 + { name = "ldap"; enable = use_ldap; control = "optional"; modulePath = "${pam_ldap}/lib/security/pam_ldap.so"; } 839 + { name = "mysql"; enable = cfg.mysqlAuth; control = "optional"; modulePath = "${pkgs.pam_mysql}/lib/security/pam_mysql.so"; settings = { 840 + config_file = "/etc/security/pam_mysql.conf"; 841 + }; } 842 + { name = "kanidm"; enable = config.services.kanidm.enablePam; control = "optional"; modulePath = "${pkgs.kanidm}/lib/pam_kanidm.so"; } 843 + { name = "sss"; enable = config.services.sssd.enable; control = "optional"; modulePath = "${pkgs.sssd}/lib/security/pam_sss.so"; } 844 + { name = "krb5"; enable = config.security.pam.krb5.enable; control = "optional"; modulePath = "${pam_krb5}/lib/security/pam_krb5.so"; } 845 + { name = "otpw"; enable = cfg.otpwAuth; control = "optional"; modulePath = "${pkgs.otpw}/lib/security/pam_otpw.so"; } 846 + { name = "systemd"; enable = cfg.startSession; control = "optional"; modulePath = "${config.systemd.package}/lib/security/pam_systemd.so"; } 847 + { name = "xauth"; enable = cfg.forwardXAuth; control = "optional"; modulePath = "pam_xauth.so"; settings = { 848 + xauthpath = "${pkgs.xorg.xauth}/bin/xauth"; 849 + systemuser = 99; 850 + }; } 851 + { name = "limits"; enable = cfg.limits != []; control = "required"; modulePath = "${pkgs.pam}/lib/security/pam_limits.so"; settings = { 852 + conf = "${makeLimitsConf cfg.limits}"; 853 + }; } 854 + { name = "motd"; enable = cfg.showMotd && (config.users.motd != null || config.users.motdFile != null); control = "optional"; modulePath = "${pkgs.pam}/lib/security/pam_motd.so"; settings = { 855 + inherit motd; 856 + }; } 857 + { name = "apparmor"; enable = cfg.enableAppArmor && config.security.apparmor.enable; control = "optional"; modulePath = "${pkgs.apparmor-pam}/lib/security/pam_apparmor.so"; settings = { 858 + order = "user,group,default"; 859 + debug = true; 860 + }; } 861 + { name = "kwallet5"; enable = cfg.enableKwallet; control = "optional"; modulePath = "${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so"; settings = { 862 + kwalletd = "${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5"; 863 + }; } 864 + { name = "gnome_keyring"; enable = cfg.enableGnomeKeyring; control = "optional"; modulePath = "${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"; settings = { 865 + auto_start = true; 866 + }; } 867 + { name = "gnupg"; enable = cfg.gnupg.enable; control = "optional"; modulePath = "${pkgs.pam_gnupg}/lib/security/pam_gnupg.so"; settings = { 868 + no-autostart = cfg.gnupg.noAutostart; 869 + }; } 870 + { name = "cgfs"; enable = config.virtualisation.lxc.lxcfs.enable; control = "optional"; modulePath = "${pkgs.lxc}/lib/security/pam_cgfs.so"; args = [ 871 + "-c" "all" 872 + ]; } 873 + ]; 874 + }; 875 }; 876 877 }; ··· 946 in 947 948 { 949 + 950 + meta.maintainers = [ maintainers.majiir ]; 951 952 imports = [ 953 (mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ]) ··· 1510 fscrypt = {}; 1511 }; 1512 1513 + security.apparmor.includes."abstractions/pam" = 1514 lib.concatMapStrings 1515 (name: "r ${config.environment.etc."pam.d/${name}".source},\n") 1516 (attrNames config.security.pam.services) + ··· 1519 mr ${getLib pkgs.pam}/lib/security/pam_*.so, 1520 r ${getLib pkgs.pam}/lib/security/, 1521 '' + 1522 + (with lib; pipe config.security.pam.services [ 1523 + attrValues 1524 + (catAttrs "rules") 1525 + (concatMap attrValues) 1526 + (concatMap attrValues) 1527 + (filter (rule: rule.enable)) 1528 + (catAttrs "modulePath") 1529 + (filter (hasPrefix "/")) 1530 + unique 1531 + (map (module: "mr ${module},")) 1532 + concatLines 1533 + ]); 1534 }; 1535 1536 }
+1 -1
nixos/modules/services/web-apps/writefreely.nix
··· 120 withConfigFile '' 121 query () { 122 local result=$(${sqlite}/bin/sqlite3 \ 123 - '${cfg.stateDir}/${settings.database.filename}' 124 "$1" \ 125 ) 126
··· 120 withConfigFile '' 121 query () { 122 local result=$(${sqlite}/bin/sqlite3 \ 123 + '${cfg.stateDir}/${settings.database.filename}' \ 124 "$1" \ 125 ) 126
+10 -1
nixos/modules/virtualisation/nixos-containers.nix
··· 649 ''; 650 }; 651 652 timeoutStartSec = mkOption { 653 type = types.str; 654 default = "1min"; ··· 826 containerConfig.path 827 config.environment.etc."${configurationDirectoryName}/${name}.conf".source 828 ]; 829 - restartIfChanged = true; 830 } 831 ) 832 )) config.containers)
··· 649 ''; 650 }; 651 652 + restartIfChanged = mkOption { 653 + type = types.bool; 654 + default = true; 655 + description = lib.mdDoc '' 656 + Whether the container should be restarted during a NixOS 657 + configuration switch if its definition has changed. 658 + ''; 659 + }; 660 + 661 timeoutStartSec = mkOption { 662 type = types.str; 663 default = "1min"; ··· 835 containerConfig.path 836 config.environment.etc."${configurationDirectoryName}/${name}.conf".source 837 ]; 838 + restartIfChanged = containerConfig.restartIfChanged; 839 } 840 ) 841 )) config.containers)
+1 -1
nixos/tests/pam/pam-u2f.nix
··· 20 '' 21 machine.wait_for_unit("multi-user.target") 22 machine.succeed( 23 - 'egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue.*origin=nixos-test" /etc/pam.d/ -R' 24 ) 25 ''; 26 })
··· 20 '' 21 machine.wait_for_unit("multi-user.target") 22 machine.succeed( 23 + 'egrep "auth required .*/lib/security/pam_u2f.so.*cue.*debug.*interactive.*origin=nixos-test" /etc/pam.d/ -R' 24 ) 25 ''; 26 })
+5 -4
nixos/tests/pam/test_chfn.py
··· 6 "auth required pam_deny.so", 7 "auth sufficient @@pam_ccreds@@/lib/security/pam_ccreds.so action=store use_first_pass", 8 "auth sufficient pam_rootok.so", 9 - "auth sufficient pam_unix.so likeauth try_first_pass", 10 "password sufficient @@pam_krb5@@/lib/security/pam_krb5.so use_first_pass", 11 "password sufficient pam_unix.so nullok yescrypt", 12 "session optional @@pam_krb5@@/lib/security/pam_krb5.so", ··· 15 } 16 actual_lines = set(machine.succeed("cat /etc/pam.d/chfn").splitlines()) 17 18 - missing_lines = expected_lines - actual_lines 19 - extra_lines = actual_lines - expected_lines 20 - non_functional_lines = set([line for line in extra_lines if (line == "" or line.startswith("#"))]) 21 unexpected_functional_lines = extra_lines - non_functional_lines 22 23 with subtest("All expected lines are in the file"):
··· 6 "auth required pam_deny.so", 7 "auth sufficient @@pam_ccreds@@/lib/security/pam_ccreds.so action=store use_first_pass", 8 "auth sufficient pam_rootok.so", 9 + "auth sufficient pam_unix.so likeauth try_first_pass", 10 "password sufficient @@pam_krb5@@/lib/security/pam_krb5.so use_first_pass", 11 "password sufficient pam_unix.so nullok yescrypt", 12 "session optional @@pam_krb5@@/lib/security/pam_krb5.so", ··· 15 } 16 actual_lines = set(machine.succeed("cat /etc/pam.d/chfn").splitlines()) 17 18 + stripped_lines = set([line.split("#")[0].rstrip() for line in actual_lines]) 19 + missing_lines = expected_lines - stripped_lines 20 + extra_lines = stripped_lines - expected_lines 21 + non_functional_lines = set([line for line in extra_lines if line == ""]) 22 unexpected_functional_lines = extra_lines - non_functional_lines 23 24 with subtest("All expected lines are in the file"):
-10
nixos/tests/systemd-repart.nix
··· 29 "+32M", 30 ]) 31 32 - # Fix the GPT table by moving the backup table to the end of the enlarged 33 - # disk image. This is necessary because we increased the size of the disk 34 - # before. The disk needs to be a raw disk because sgdisk can only run on 35 - # raw images. 36 - subprocess.run([ 37 - "${pkgs.gptfdisk}/bin/sgdisk", 38 - "--move-second-header", 39 - tmp_disk_image.name, 40 - ]) 41 - 42 # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image. 43 os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name 44 '';
··· 29 "+32M", 30 ]) 31 32 # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image. 33 os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name 34 '';
+16 -2
pkgs/applications/audio/espeak-ng/default.nix
··· 15 , pcaudiolib 16 , sonicSupport ? true 17 , sonic 18 , alsa-plugins 19 , makeWrapper 20 }: ··· 42 43 buildInputs = lib.optional mbrolaSupport mbrola 44 ++ lib.optional pcaudiolibSupport pcaudiolib 45 - ++ lib.optional sonicSupport sonic; 46 47 - preConfigure = "./autogen.sh"; 48 49 configureFlags = [ 50 "--with-mbrola=${if mbrolaSupport then "yes" else "no"}"
··· 15 , pcaudiolib 16 , sonicSupport ? true 17 , sonic 18 + , CoreAudio 19 + , AudioToolbox 20 + , AudioUnit 21 , alsa-plugins 22 , makeWrapper 23 }: ··· 45 46 buildInputs = lib.optional mbrolaSupport mbrola 47 ++ lib.optional pcaudiolibSupport pcaudiolib 48 + ++ lib.optional sonicSupport sonic 49 + ++ lib.optionals stdenv.isDarwin [ 50 + CoreAudio 51 + AudioToolbox 52 + AudioUnit 53 + ]; 54 55 + # touch ChangeLog to avoid below error on darwin: 56 + # Makefile.am: error: required file './ChangeLog.md' not found 57 + preConfigure = lib.optionalString stdenv.isDarwin '' 58 + touch ChangeLog 59 + '' + '' 60 + ./autogen.sh 61 + ''; 62 63 configureFlags = [ 64 "--with-mbrola=${if mbrolaSupport then "yes" else "no"}"
+2 -2
pkgs/applications/blockchains/monero-gui/default.nix
··· 88 for n in 16 24 32 48 64 96 128 256; do 89 size=$n"x"$n 90 install -Dm644 \ 91 - -t $out/share/icons/hicolor/$size/apps/monero.png \ 92 - $src/images/appicons/$size.png 93 done; 94 ''; 95
··· 88 for n in 16 24 32 48 64 96 128 256; do 89 size=$n"x"$n 90 install -Dm644 \ 91 + $src/images/appicons/$size.png \ 92 + $out/share/icons/hicolor/$size/apps/monero.png 93 done; 94 ''; 95
+5 -4
pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
··· 63 64 generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py 65 66 - { buildGrammar, """ 67 68 generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True) 69 70 generated_file += """ }: 71 72 - { 73 - """ 74 75 lockfile_path = os.path.join(nvim_treesitter_dir, "lockfile.json") 76 log.debug("Opening %s", lockfile_path) ··· 88 _generate_grammar, lockfile.items() 89 ): 90 generated_file += generated 91 - generated_file += "}\n" 92 return generated_file 93 94
··· 63 64 generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py 65 66 + { buildGrammar, """ 67 68 generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True) 69 70 generated_file += """ }: 71 72 + { 73 + """ 74 75 lockfile_path = os.path.join(nvim_treesitter_dir, "lockfile.json") 76 log.debug("Opening %s", lockfile_path) ··· 88 _generate_grammar, lockfile.items() 89 ): 90 generated_file += generated 91 + 92 + generated_file += "}\n" 93 return generated_file 94 95
+7 -3
pkgs/applications/editors/vim/plugins/update.py
··· 138 nvim_treesitter_dir = subprocess.check_output(cmd, text=True, timeout=90).strip() 139 140 generated = treesitter.update_grammars(nvim_treesitter_dir) 141 - open(os.path.join(args.nixpkgs, "generated.nix"), "w").write(generated) 142 143 if self.nixpkgs_repo: 144 index = self.nixpkgs_repo.index 145 for diff in index.diff(None): 146 - if diff.a_path == f"{NIXPKGS_NVIMTREESITTER_FOLDER}/generated.nix": 147 msg = "vimPlugins.nvim-treesitter: update grammars" 148 print(f"committing to nixpkgs: {msg}") 149 - index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))]) 150 index.commit(msg) 151 return 152 print("no updates to nvim-treesitter grammars")
··· 138 nvim_treesitter_dir = subprocess.check_output(cmd, text=True, timeout=90).strip() 139 140 generated = treesitter.update_grammars(nvim_treesitter_dir) 141 + treesitter_generated_nix_path = os.path.join( 142 + NIXPKGS_NVIMTREESITTER_FOLDER, 143 + "generated.nix" 144 + ) 145 + open(os.path.join(args.nixpkgs, treesitter_generated_nix_path), "w").write(generated) 146 147 if self.nixpkgs_repo: 148 index = self.nixpkgs_repo.index 149 for diff in index.diff(None): 150 + if diff.a_path == treesitter_generated_nix_path: 151 msg = "vimPlugins.nvim-treesitter: update grammars" 152 print(f"committing to nixpkgs: {msg}") 153 + index.add([treesitter_generated_nix_path]) 154 index.commit(msg) 155 return 156 print("no updates to nvim-treesitter grammars")
+2 -2
pkgs/applications/editors/vscode/extensions/default.nix
··· 1229 mktplcRef = { 1230 name = "elixir-ls"; 1231 publisher = "JakeBecker"; 1232 - version = "0.17.0"; 1233 - sha256 = "sha256-jb9WHX5jCdi4vzIRvh7i6ncicuISsEBBmlIHvqquqcA="; 1234 }; 1235 meta = { 1236 changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
··· 1229 mktplcRef = { 1230 name = "elixir-ls"; 1231 publisher = "JakeBecker"; 1232 + version = "0.17.1"; 1233 + sha256 = "sha256-WBtIdz+8zsyTl43ovU3Dz+8p154ZGvHp6BA3AQtXN/U="; 1234 }; 1235 meta = { 1236 changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
+6 -6
pkgs/applications/editors/vscode/vscodium.nix
··· 15 archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; 16 17 sha256 = { 18 - x86_64-linux = "1xzmfvkzqfxblahi2pc54fr7i6rynqm76p4wpbfzxrrh5a3xjwn3"; 19 - x86_64-darwin = "0lp6yqwqwfngl98nba8f77yypb44cfn7kcjhbc93s8kqd57m97zj"; 20 - aarch64-linux = "1hpwjdbfc8l4a7ln50s6h68abcb6djcc5y0h686s9k5v2axm7f3v"; 21 - aarch64-darwin = "0cbms9p8g2gjx9wmm78fzlscw62qasjv30al8v39bda3k694wnh5"; 22 - armv7l-linux = "0hvaray6b36j8s0fvffnkbsw7kf2rn2z4y8q4wlnqx3hfyalcvcn"; 23 }.${system} or throwSystem; 24 25 sourceRoot = lib.optionalString (!stdenv.isDarwin) "."; ··· 29 30 # Please backport all compatible updates to the stable release. 31 # This is important for the extension ecosystem. 32 - version = "1.82.2.23257"; 33 pname = "vscodium"; 34 35 executableName = "codium";
··· 15 archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; 16 17 sha256 = { 18 + x86_64-linux = "0cqkxd4pywkrvg3b96f1dyain6vlrb3di8a0yskmq3h58qd6k8rc"; 19 + x86_64-darwin = "09y3whpp2z8fgb42pb9lw0b4wn0np3rdjkn5l1kldjljfrcwcn9g"; 20 + aarch64-linux = "1kh8qylj77km8jhmx9a2bck7y4bb0fjx46sll7swagxz27b8ahi0"; 21 + aarch64-darwin = "14g60sx3c5m02ly880sxwhmzvpxqw4pfij2ibgyprzdlpap0r2b0"; 22 + armv7l-linux = "1s4rpd5p4kwmi89cml1106l9dccdwnqq3lyr8ym781pj9p75i8wp"; 23 }.${system} or throwSystem; 24 25 sourceRoot = lib.optionalString (!stdenv.isDarwin) "."; ··· 29 30 # Please backport all compatible updates to the stable release. 31 # This is important for the extension ecosystem. 32 + version = "1.83.1.23285"; 33 pname = "vscodium"; 34 35 executableName = "codium";
+6
pkgs/applications/misc/keepassxc/default.nix
··· 97 wrapQtApp "$out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC" 98 ''; 99 100 buildInputs = [ 101 curl 102 botan2
··· 97 wrapQtApp "$out/Applications/KeePassXC.app/Contents/MacOS/KeePassXC" 98 ''; 99 100 + # See https://github.com/keepassxreboot/keepassxc/blob/cd7a53abbbb81e468efb33eb56eefc12739969b8/src/browser/NativeMessageInstaller.cpp#L317 101 + postInstall = lib.optionalString withKeePassBrowser '' 102 + mkdir -p "$out/lib/mozilla/native-messaging-hosts" 103 + substituteAll "${./firefox-native-messaging-host.json}" "$out/lib/mozilla/native-messaging-hosts/org.keepassxc.keepassxc_browser.json" 104 + ''; 105 + 106 buildInputs = [ 107 curl 108 botan2
+9
pkgs/applications/misc/keepassxc/firefox-native-messaging-host.json
···
··· 1 + { 2 + "name": "org.keepassxc.keepassxc_browser", 3 + "description": "KeePassXC integration with native messaging support", 4 + "path": "@out@/bin/keepassxc-proxy", 5 + "type": "stdio", 6 + "allowed_extensions": [ 7 + "keepassxc-browser@keepassxc.org" 8 + ] 9 + }
+2
pkgs/applications/networking/browsers/firefox/wrapper.nix
··· 8 , browserpass, gnome-browser-connector, uget-integrator, plasma5Packages, bukubrow, pipewire 9 , tridactyl-native 10 , fx-cast-bridge 11 , udev 12 , libkrb5 13 , libva ··· 70 ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator 71 ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma5Packages.plasma-browser-integration 72 ++ lib.optional (cfg.enableFXCastBridge or false) fx-cast-bridge 73 ++ extraNativeMessagingHosts 74 ; 75 libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ]
··· 8 , browserpass, gnome-browser-connector, uget-integrator, plasma5Packages, bukubrow, pipewire 9 , tridactyl-native 10 , fx-cast-bridge 11 + , keepassxc 12 , udev 13 , libkrb5 14 , libva ··· 71 ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator 72 ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma5Packages.plasma-browser-integration 73 ++ lib.optional (cfg.enableFXCastBridge or false) fx-cast-bridge 74 + ++ lib.optional (cfg.enableKeePassXC or false) keepassxc 75 ++ extraNativeMessagingHosts 76 ; 77 libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ]
+2 -10
pkgs/applications/networking/browsers/lynx/default.nix
··· 13 14 stdenv.mkDerivation rec { 15 pname = "lynx"; 16 - version = "2.8.9rel.1"; 17 18 src = fetchurl { 19 urls = [ 20 "ftp://ftp.invisible-island.net/lynx/tarballs/lynx${version}.tar.bz2" 21 "https://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2" 22 ]; 23 - sha256 = "15cmyyma2kz1hfaa6mwjgli8zwdzq3jv0q2cl6nwzycjfwyijzrq"; 24 }; 25 26 enableParallelBuilding = true; 27 28 hardeningEnable = [ "pie" ]; 29 - 30 - patches = [ 31 - (fetchpatch { 32 - name = "CVE-2021-38165.patch"; 33 - url = "https://git.alpinelinux.org/aports/plain/main/lynx/CVE-2021-38165.patch?id=3400945dbbb8a87065360963e4caa0e17d3dcc61"; 34 - sha256 = "1aykb9y2g2vdpbbpvjlm4r40x7py2yv6jbywwcqcxrlciqcw4x57"; 35 - }) 36 - ]; 37 38 configureFlags = [ 39 "--enable-default-colors"
··· 13 14 stdenv.mkDerivation rec { 15 pname = "lynx"; 16 + version = "2.9.0dev.12"; 17 18 src = fetchurl { 19 urls = [ 20 "ftp://ftp.invisible-island.net/lynx/tarballs/lynx${version}.tar.bz2" 21 "https://invisible-mirror.net/archives/lynx/tarballs/lynx${version}.tar.bz2" 22 ]; 23 + hash = "sha256-pkVbFZ0Ad22OwQUShcly3B8MVS0FcaDP8Coj7BRu6OU="; 24 }; 25 26 enableParallelBuilding = true; 27 28 hardeningEnable = [ "pie" ]; 29 30 configureFlags = [ 31 "--enable-default-colors"
+5 -5
pkgs/applications/networking/instant-messengers/element/pin.nix
··· 1 { 2 - "version" = "1.11.45"; 3 "hashes" = { 4 - "desktopSrcHash" = "sha256-SxpnvIctV738mMRmMiuLgr1InMrlWH39/6lTO0wu+vQ="; 5 - "desktopYarnHash" = "09a2swngqjz4hahzvczhw0lh38y39glc1dkkhjkp4jqvmds9ni7n"; 6 - "webSrcHash" = "sha256-hImwZ7vzpupRulk9g5jhfv0sgZqmPXnggJjUUwZ+UCE="; 7 - "webYarnHash" = "0r2xzq9630vky32hqp3h1skdgv3jiiffi8553yzzk4zr45nlvf9d"; 8 }; 9 }
··· 1 { 2 + "version" = "1.11.46"; 3 "hashes" = { 4 + "desktopSrcHash" = "sha256-sgdvdTi3fi/vZohh/JPW3I24cQS0i84eM1dUgmEafWs="; 5 + "desktopYarnHash" = "1nssv92yk1a53v7mvijkrb3gzif5xrz2j6lxvg7p340z42rm7f9v"; 6 + "webSrcHash" = "sha256-3ucitVtYnOc5UUn4y3u+L0sKWJLt+NNrd5T6mn0wNBg="; 7 + "webYarnHash" = "19396p654zzzh6d18rpyckjd67lncch3r9a0zmjb7znsi7d78k63"; 8 }; 9 }
+3 -3
pkgs/applications/networking/rymdport/default.nix
··· 11 12 buildGoModule rec { 13 pname = "rymdport"; 14 - version = "3.5.0"; 15 16 src = fetchFromGitHub { 17 owner = "Jacalz"; 18 repo = "rymdport"; 19 rev = "v${version}"; 20 - hash = "sha256-aNLAj8rQSRp6fsEu052uc2gJE55A996YJY7tDApjHxA="; 21 }; 22 23 - vendorHash = "sha256-8TxuExcxiBTHVA9DTLfElKOq45a2EVLxqmByDyKJQ4c="; 24 25 nativeBuildInputs = [ 26 pkg-config
··· 11 12 buildGoModule rec { 13 pname = "rymdport"; 14 + version = "3.5.1"; 15 16 src = fetchFromGitHub { 17 owner = "Jacalz"; 18 repo = "rymdport"; 19 rev = "v${version}"; 20 + hash = "sha256-wsFZN2qDp0XScqBdwLYZdRsS30g+ex+sYjw2GkBwwI4="; 21 }; 22 23 + vendorHash = "sha256-SDNCVROfwCTfoQpUyChxtX3rTf0OPFOTzH5PeH4ahUI="; 24 25 nativeBuildInputs = [ 26 pkg-config
+2 -2
pkgs/applications/radio/freedv/default.nix
··· 25 26 stdenv.mkDerivation rec { 27 pname = "freedv"; 28 - version = "1.9.2"; 29 30 src = fetchFromGitHub { 31 owner = "drowe67"; 32 repo = "freedv-gui"; 33 rev = "v${version}"; 34 - hash = "sha256-SBWwAmIsa9HfaZpH8TioMm9IaoZ+x4HNHaOBps0vA0A="; 35 }; 36 37 postPatch = lib.optionalString stdenv.isDarwin ''
··· 25 26 stdenv.mkDerivation rec { 27 pname = "freedv"; 28 + version = "1.9.3"; 29 30 src = fetchFromGitHub { 31 owner = "drowe67"; 32 repo = "freedv-gui"; 33 rev = "v${version}"; 34 + hash = "sha256-tlkD8Kem4HPwrk3E98UKcPoBNoFucqarEBo+oihnQSU="; 35 }; 36 37 postPatch = lib.optionalString stdenv.isDarwin ''
+66
pkgs/development/compilers/yosys/plugins/synlig-makefile-for-nix.patch
···
··· 1 + diff --git a/Makefile b/Makefile 2 + index 4c96ae7..9e1a2e3 100755 3 + --- a/Makefile 4 + +++ b/Makefile 5 + @@ -3,7 +3,7 @@ 6 + # Setup make itself. 7 + 8 + .ONESHELL: 9 + -override SHELL := /bin/bash 10 + +SHELL := bash 11 + override .SHELLFLAGS := -e -u -o pipefail -O nullglob -O extglob -O globstar -c 12 + 13 + # Unset all default build- and recipe-related variables. 14 + @@ -315,7 +315,6 @@ endif 15 + GetTargetStructName = target[${1}] 16 + 17 + makefiles_to_include := \ 18 + - third_party/Build.*.mk \ 19 + frontends/*/Build.mk \ 20 + tests/*/Build.mk \ 21 + lib/*/Build.mk 22 + diff --git a/frontends/systemverilog/Build.mk b/frontends/systemverilog/Build.mk 23 + index acd9cb6..c039994 100644 24 + --- a/frontends/systemverilog/Build.mk 25 + +++ b/frontends/systemverilog/Build.mk 26 + @@ -1,6 +1,7 @@ 27 + t := systemverilog-plugin 28 + ts := $(call GetTargetStructName,${t}) 29 + out_dir := $(call GetTargetBuildDir,${t}) 30 + +mod_dir := third_party/yosys_mod 31 + 32 + cxx_is_clang := $(findstring clang,$(notdir ${CXX})) 33 + 34 + @@ -13,9 +14,9 @@ ${ts}.sources := \ 35 + ${${ts}.src_dir}uhdm_ast_frontend.cc \ 36 + ${${ts}.src_dir}uhdm_common_frontend.cc \ 37 + ${${ts}.src_dir}uhdm_surelog_ast_frontend.cc \ 38 + - ${$(call GetTargetStructName,yosys).mod_dir}const2ast.cc \ 39 + - ${$(call GetTargetStructName,yosys).mod_dir}edif.cc \ 40 + - ${$(call GetTargetStructName,yosys).mod_dir}simplify.cc 41 + + $(mod_dir)/const2ast.cc \ 42 + + $(mod_dir)/edif.cc \ 43 + + $(mod_dir)/simplify.cc 44 + 45 + define ${ts}.env = 46 + export PKG_CONFIG_PATH=$(call ShQuote,${$(call GetTargetStructName,surelog).output_vars.PKG_CONFIG_PATH}$(if ${PKG_CONFIG_PATH},:${PKG_CONFIG_PATH})) 47 + @@ -35,8 +36,8 @@ endif 48 + endif 49 + 50 + ${ts}.cxxflags = \ 51 + - -I${$(call GetTargetStructName,yosys).src_dir} \ 52 + - -I${$(call GetTargetStructName,yosys).mod_dir} \ 53 + + -I$(shell yosys-config --cxxflags) \ 54 + + -I$(mod_dir) \ 55 + -D_YOSYS_ \ 56 + -DYOSYS_ENABLE_PLUGINS \ 57 + $(shell ${${ts}.env}; pkg-config --cflags Surelog) \ 58 + @@ -55,7 +56,7 @@ ${ts}.ldflags = \ 59 + $(shell ${${ts}.env}; pkg-config --libs-only-L Surelog) \ 60 + ${build_type_ldflags} \ 61 + ${LDFLAGS} \ 62 + - -Wl,--export-dynamic 63 + + $(shell yosys-config --ldflags --ldlibs) 64 + 65 + ${ts}.ldlibs = \ 66 + $(shell ${${ts}.env}; pkg-config --libs-only-l --libs-only-other Surelog) \
+73
pkgs/development/compilers/yosys/plugins/synlig.nix
···
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , pkg-config 5 + , antlr4 6 + , capnproto 7 + , readline 8 + , surelog 9 + , uhdm 10 + , yosys 11 + }: 12 + 13 + stdenv.mkDerivation (finalAttrs: { 14 + pname = "yosys-synlig"; 15 + version = "2023.10.12"; # Currently no tagged versions upstream 16 + plugin = "synlig"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "chipsalliance"; 20 + repo = "synlig"; 21 + rev = "c5bd73595151212c61709d69a382917e96877a14"; 22 + sha256 = "sha256-WJhf5gdZTCs3EeNocP9aZAh6EZquHgYOG/xiTo8l0ao="; 23 + fetchSubmodules = false; # we use all dependencies from nix 24 + }; 25 + 26 + patches = [ 27 + ./synlig-makefile-for-nix.patch # Remove assumption submodules available. 28 + ]; 29 + 30 + nativeBuildInputs = [ 31 + pkg-config 32 + ]; 33 + 34 + buildInputs = [ 35 + antlr4.runtime.cpp 36 + capnproto 37 + readline 38 + surelog 39 + uhdm 40 + yosys 41 + ]; 42 + 43 + buildPhase = '' 44 + runHook preBuild 45 + make -j $NIX_BUILD_CORES build@systemverilog-plugin 46 + runHook postBuild 47 + ''; 48 + 49 + # Very simple litmus test that the plugin can be loaded successfully. 50 + doCheck = true; 51 + checkPhase = '' 52 + runHook preCheck 53 + yosys -p "plugin -i build/release/systemverilog-plugin/systemverilog.so;\ 54 + help read_systemverilog" | grep "Read SystemVerilog files using" 55 + runHook postCheck 56 + ''; 57 + 58 + installPhase = '' 59 + runHook preInstall 60 + mkdir -p $out/share/yosys/plugins 61 + cp ./build/release/systemverilog-plugin/systemverilog.so \ 62 + $out/share/yosys/plugins/systemverilog.so 63 + runHook postInstall 64 + ''; 65 + 66 + meta = with lib; { 67 + description = "SystemVerilog support plugin for Yosys"; 68 + homepage = "https://github.com/chipsalliance/synlig"; 69 + license = licenses.asl20; 70 + maintainers = with maintainers; [ hzeller ]; 71 + platforms = platforms.all; 72 + }; 73 + })
+3 -3
pkgs/development/embedded/svdtools/default.nix
··· 5 6 rustPlatform.buildRustPackage rec { 7 pname = "svdtools"; 8 - version = "0.3.3"; 9 10 src = fetchCrate { 11 inherit version pname; 12 - hash = "sha256-pZufVz7m91MiD1TfzTzS6mL0eBxawcr43GAfvDJVqfU="; 13 }; 14 15 - cargoHash = "sha256-FAJZ/3eNhxPvIKXnE9lpejQuMi+yeBaA5ra9Peb2yIM="; 16 17 meta = with lib; { 18 description = "Tools to handle vendor-supplied, often buggy SVD files";
··· 5 6 rustPlatform.buildRustPackage rec { 7 pname = "svdtools"; 8 + version = "0.3.4"; 9 10 src = fetchCrate { 11 inherit version pname; 12 + hash = "sha256-rdBUEOyE4bHqPXZs3MxT/oivagKmJIVE/hI9mp0RY0k="; 13 }; 14 15 + cargoHash = "sha256-mPz8m/9VGKSqXan/R1k1JTZ9a44CwCL6JefVyeeREeE="; 16 17 meta = with lib; { 18 description = "Tools to handle vendor-supplied, often buggy SVD files";
+2 -2
pkgs/development/libraries/nghttp3/default.nix
··· 6 7 stdenv.mkDerivation rec { 8 pname = "nghttp3"; 9 - version = "0.15.0"; 10 11 src = fetchFromGitHub { 12 owner = "ngtcp2"; 13 repo = pname; 14 rev = "v${version}"; 15 - hash = "sha256-ZnfwPgjBAI2elHrx7uzc3JX2MdeX/hsrFKj4TfMK2tI="; 16 }; 17 18 outputs = [ "out" "dev" "doc" ];
··· 6 7 stdenv.mkDerivation rec { 8 pname = "nghttp3"; 9 + version = "1.0.0"; 10 11 src = fetchFromGitHub { 12 owner = "ngtcp2"; 13 repo = pname; 14 rev = "v${version}"; 15 + hash = "sha256-mw0zI7528lvEZlv+/KuST7PWjuu37p/+EGGsjIEto2Q="; 16 }; 17 18 outputs = [ "out" "dev" "doc" ];
+2 -2
pkgs/development/libraries/ngtcp2/default.nix
··· 8 9 stdenv.mkDerivation rec { 10 pname = "ngtcp2"; 11 - version = "0.19.1"; 12 13 src = fetchFromGitHub { 14 owner = "ngtcp2"; 15 repo = pname; 16 rev = "v${version}"; 17 - hash = "sha256-agiQRy/e5VS+ANxajXYi5huRjQQ2M8eddH/AzmwnHdQ=="; 18 }; 19 20 outputs = [ "out" "dev" "doc" ];
··· 8 9 stdenv.mkDerivation rec { 10 pname = "ngtcp2"; 11 + version = "1.0.0"; 12 13 src = fetchFromGitHub { 14 owner = "ngtcp2"; 15 repo = pname; 16 rev = "v${version}"; 17 + hash = "sha256-dnYIRcNGTIzETu2OjTJa0IWB1+xttdGFKRBmMkTwrXk="; 18 }; 19 20 outputs = [ "out" "dev" "doc" ];
+5 -2
pkgs/development/libraries/pcaudiolib/default.nix
··· 38 ++ lib.optional stdenv.isLinux alsa-lib 39 ++ lib.optional pulseaudioSupport libpulseaudio; 40 41 - preConfigure = '' 42 ./autogen.sh 43 ''; 44 ··· 48 license = licenses.gpl3Plus; 49 maintainers = with maintainers; [ aske ]; 50 platforms = platforms.unix; 51 - badPlatforms = platforms.darwin; 52 }; 53 })
··· 38 ++ lib.optional stdenv.isLinux alsa-lib 39 ++ lib.optional pulseaudioSupport libpulseaudio; 40 41 + # touch ChangeLog to avoid below error on darwin: 42 + # Makefile.am: error: required file './ChangeLog.md' not found 43 + preConfigure = lib.optionalString stdenv.isDarwin '' 44 + touch ChangeLog 45 + '' + '' 46 ./autogen.sh 47 ''; 48 ··· 52 license = licenses.gpl3Plus; 53 maintainers = with maintainers; [ aske ]; 54 platforms = platforms.unix; 55 }; 56 })
+3 -3
pkgs/development/libraries/updfparser/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 name = "updfparser"; 5 - version = "unstable-2023-01-10"; 6 - rev = "a421098092ba600fb1686a7df8fc58cd67429f59"; 7 8 src = fetchzip { 9 url = "https://indefero.soutade.fr/p/updfparser/source/download/${rev}/"; 10 - sha256 = "sha256-Kt1QDj7E0GaT615kJW2MQKF9BeU5U7/95TQKODpxgNI="; 11 extension = "zip"; 12 }; 13
··· 2 3 stdenv.mkDerivation rec { 4 name = "updfparser"; 5 + version = "unstable-2023-08-08"; 6 + rev = "c5ce75b9eea8ebb2746b13eeb0f335813c615115"; 7 8 src = fetchzip { 9 url = "https://indefero.soutade.fr/p/updfparser/source/download/${rev}/"; 10 + hash = "sha256-RT7mvu43Izp0rHhKq4wR4kt0TDfzHvB2NGMR+fxO5UM="; 11 extension = "zip"; 12 }; 13
+2 -2
pkgs/development/python-modules/aiovlc/default.nix
··· 10 11 buildPythonPackage rec { 12 pname = "aiovlc"; 13 - version = "0.3.0"; 14 format = "setuptools"; 15 16 disabled = pythonOlder "3.9"; ··· 19 owner = "MartinHjelmare"; 20 repo = pname; 21 rev = "refs/tags/v${version}"; 22 - hash = "sha256-ZFLNgPxR5N+hI988POCYJD9QGivs1fYysyFtmxsJQaA="; 23 }; 24 25 postPatch = ''
··· 10 11 buildPythonPackage rec { 12 pname = "aiovlc"; 13 + version = "0.3.2"; 14 format = "setuptools"; 15 16 disabled = pythonOlder "3.9"; ··· 19 owner = "MartinHjelmare"; 20 repo = pname; 21 rev = "refs/tags/v${version}"; 22 + hash = "sha256-+IpWX661Axl2Ke1NGN6W9CMMQMEu7EQ/2PeRkkByAxI="; 23 }; 24 25 postPatch = ''
+2 -13
pkgs/development/python-modules/celery-types/default.nix
··· 1 { lib 2 , buildPythonPackage 3 - , fetchpatch 4 , fetchPypi 5 , poetry-core 6 , pythonOlder ··· 9 10 buildPythonPackage rec { 11 pname = "celery-types"; 12 - version = "0.19.0"; 13 format = "pyproject"; 14 15 disabled = pythonOlder "3.10"; 16 17 src = fetchPypi { 18 inherit pname version; 19 - hash = "sha256-1OLUJxsuxG/sCKDxKiU4i7o5HyaJdIW8rPo8UofMI28="; 20 }; 21 - 22 - patches = [ 23 - # remove extraneous build dependencies: 24 - # https://github.com/sbdchd/celery-types/pull/138 25 - (fetchpatch { 26 - name = "clean-up-build-dependencies.patch"; 27 - url = "https://github.com/sbdchd/celery-types/commit/ff83f06a0302084e1a690e2a5a8b25f2c0dfc6e7.patch"; 28 - hash = "sha256-c68SMugg6Qk88FC842/czoxLpk0uVAVSlWsvo4NI9uo="; 29 - }) 30 - ]; 31 32 propagatedBuildInputs = [ 33 typing-extensions
··· 1 { lib 2 , buildPythonPackage 3 , fetchPypi 4 , poetry-core 5 , pythonOlder ··· 8 9 buildPythonPackage rec { 10 pname = "celery-types"; 11 + version = "0.20.0"; 12 format = "pyproject"; 13 14 disabled = pythonOlder "3.10"; 15 16 src = fetchPypi { 17 inherit pname version; 18 + hash = "sha256-5cdiVVYF7QWSuu2dUZIwBGzo56EcZ6ghVVwIt87OGWA="; 19 }; 20 21 propagatedBuildInputs = [ 22 typing-extensions
-39
pkgs/development/python-modules/click-aliases/0001-Fix-quotes-in-test.patch
··· 1 - From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 2 - From: Nicolas Benes <nbenes.gh@xandea.de> 3 - Date: Mon, 12 Jun 2023 11:29:32 +0200 4 - Subject: [PATCH] Fix quotes in test 5 - 6 - 7 - diff --git a/tests/test_basic.py b/tests/test_basic.py 8 - index 077e6c0..90bbdc3 100644 9 - --- a/tests/test_basic.py 10 - +++ b/tests/test_basic.py 11 - @@ -43,8 +43,8 @@ def test_foobar(runner): 12 - 13 - TEST_INVALID = """Usage: cli [OPTIONS] COMMAND [ARGS]... 14 - {} 15 - -Error: No such command "bar". 16 - -""".format('Try "cli --help" for help.\n' if _click7 else '') 17 - +Error: No such command 'bar'. 18 - +""".format("Try 'cli --help' for help.\n" if _click7 else '') 19 - 20 - 21 - def test_invalid(runner): 22 - diff --git a/tests/test_foobar.py b/tests/test_foobar.py 23 - index fd6c4e6..ab0ad5d 100644 24 - --- a/tests/test_foobar.py 25 - +++ b/tests/test_foobar.py 26 - @@ -44,8 +44,8 @@ def test_foobar(runner): 27 - 28 - TEST_INVALID = """Usage: cli [OPTIONS] COMMAND [ARGS]... 29 - {} 30 - -Error: No such command "baz". 31 - -""".format('Try "cli --help" for help.\n' if _click7 else '') 32 - +Error: No such command 'baz'. 33 - +""".format("Try 'cli --help' for help.\n" if _click7 else '') 34 - 35 - 36 - def test_invalid(runner): 37 - -- 38 - 2.40.1 39 -
···
+7 -4
pkgs/development/python-modules/click-aliases/default.nix
··· 1 { lib 2 , buildPythonPackage 3 , fetchFromGitHub 4 , click 5 , pytestCheckHook 6 }: 7 8 buildPythonPackage rec { 9 pname = "click-aliases"; 10 - version = "1.0.1"; 11 12 src = fetchFromGitHub { 13 owner = "click-contrib"; 14 repo = "click-aliases"; 15 rev = "v${version}"; 16 - hash = "sha256-vzWlCb4m9TdRaVz4DrlRRZ60+9gj60NoiALgvaIG0gA="; 17 }; 18 19 - patches = [ 20 - ./0001-Fix-quotes-in-test.patch 21 ]; 22 23 propagatedBuildInputs = [
··· 1 { lib 2 , buildPythonPackage 3 , fetchFromGitHub 4 + , poetry-core 5 , click 6 , pytestCheckHook 7 }: 8 9 buildPythonPackage rec { 10 pname = "click-aliases"; 11 + version = "1.0.2"; 12 + 13 + pyproject = true; 14 15 src = fetchFromGitHub { 16 owner = "click-contrib"; 17 repo = "click-aliases"; 18 rev = "v${version}"; 19 + hash = "sha256-ZrNdxUMLRre0U9xCyyU8HjByNGMSXiuMDVjW9e88eyk="; 20 }; 21 22 + nativeBuildInputs = [ 23 + poetry-core 24 ]; 25 26 propagatedBuildInputs = [
+15 -14
pkgs/development/python-modules/django-filter/default.nix
··· 1 { lib 2 , buildPythonPackage 3 , fetchPypi 4 , django 5 - , djangorestframework, python, mock 6 }: 7 8 buildPythonPackage rec { 9 pname = "django-filter"; 10 - version = "23.2"; 11 12 src = fetchPypi { 13 inherit pname version; 14 - hash = "sha256-L+FfeBCEde2lJWkoEyBfpvnowcrxrmXapYYtQDxtvwA="; 15 }; 16 17 propagatedBuildInputs = [ django ]; 18 19 pythonImportsCheck = [ 20 "django_filters" 21 ]; 22 23 - # Tests fail (needs the 'crispy_forms' module not packaged on nixos) 24 - doCheck = false; 25 - 26 nativeCheckInputs = [ 27 djangorestframework 28 - django 29 - mock 30 ]; 31 32 - checkPhase = '' 33 - runHook preCheck 34 - ${python.interpreter} runtests.py tests 35 - runHook postCheck 36 - ''; 37 38 meta = with lib; { 39 description = "Reusable Django application for allowing users to filter querysets dynamically"; 40 - homepage = "https://pypi.org/project/django-filter/"; 41 license = licenses.bsd3; 42 maintainers = with maintainers; [ mmai ]; 43 };
··· 1 { lib 2 , buildPythonPackage 3 , fetchPypi 4 + , flit-core 5 , django 6 + , djangorestframework 7 + , pytestCheckHook 8 + , pytest-django 9 + , python 10 }: 11 12 buildPythonPackage rec { 13 pname = "django-filter"; 14 + version = "23.3"; 15 + format = "pyproject"; 16 17 src = fetchPypi { 18 inherit pname version; 19 + hash = "sha256-AV/hVVguGAW0Bik0Tkps88xARQgn0pTQQLS4wXSan6Y="; 20 }; 21 22 + nativeBuildInputs = [ flit-core ]; 23 + 24 propagatedBuildInputs = [ django ]; 25 26 pythonImportsCheck = [ 27 "django_filters" 28 ]; 29 30 nativeCheckInputs = [ 31 djangorestframework 32 + pytestCheckHook 33 + pytest-django 34 ]; 35 36 + env.DJANGO_SETTINGS_MODULE = "tests.settings"; 37 38 meta = with lib; { 39 description = "Reusable Django application for allowing users to filter querysets dynamically"; 40 + homepage = "https://github.com/carltongibson/django-filter"; 41 + changelog = "https://github.com/carltongibson/django-filter/blob/v${version}/CHANGES.rst"; 42 license = licenses.bsd3; 43 maintainers = with maintainers; [ mmai ]; 44 };
+2 -2
pkgs/development/python-modules/hahomematic/default.nix
··· 18 19 buildPythonPackage rec { 20 pname = "hahomematic"; 21 - version = "2023.10.11"; 22 format = "pyproject"; 23 24 disabled = pythonOlder "3.11"; ··· 27 owner = "danielperna84"; 28 repo = pname; 29 rev = "refs/tags/${version}"; 30 - hash = "sha256-9vKXIvCLmdKS+DIR6OY7/gnDdqWZfmi9FOGpbqCMCqA="; 31 }; 32 33 postPatch = ''
··· 18 19 buildPythonPackage rec { 20 pname = "hahomematic"; 21 + version = "2023.10.12"; 22 format = "pyproject"; 23 24 disabled = pythonOlder "3.11"; ··· 27 owner = "danielperna84"; 28 repo = pname; 29 rev = "refs/tags/${version}"; 30 + hash = "sha256-mlZlaUcpVflz1mTiI0rIAOnJD5+NqXjsb1xp+wvoQvs="; 31 }; 32 33 postPatch = ''
+3 -3
pkgs/development/python-modules/igraph/default.nix
··· 10 11 buildPythonPackage rec { 12 pname = "igraph"; 13 - version = "0.10.8"; 14 15 - disabled = pythonOlder "3.7"; 16 17 format = "setuptools"; 18 ··· 20 owner = "igraph"; 21 repo = "python-igraph"; 22 rev = "refs/tags/${version}"; 23 - hash = "sha256-EpWkFKN8fhKkzR2g9Uv0/LxSwi4TkraH5rjde7yR+C8="; 24 }; 25 26 postPatch = ''
··· 10 11 buildPythonPackage rec { 12 pname = "igraph"; 13 + version = "0.11.2"; 14 15 + disabled = pythonOlder "3.8"; 16 17 format = "setuptools"; 18 ··· 20 owner = "igraph"; 21 repo = "python-igraph"; 22 rev = "refs/tags/${version}"; 23 + hash = "sha256-evYnUv2PWO+LbVBBQPa708dQb8Wq8SQ92bJ6clQNV/g="; 24 }; 25 26 postPatch = ''
+5 -4
pkgs/development/python-modules/pylutron-caseta/default.nix
··· 1 { lib 2 , buildPythonPackage 3 , cryptography 4 , fetchFromGitHub 5 , pytest-asyncio 6 - , pytest-sugar 7 , pytest-timeout 8 , pytestCheckHook 9 , pythonOlder ··· 12 13 buildPythonPackage rec { 14 pname = "pylutron-caseta"; 15 - version = "0.18.2"; 16 format = "pyproject"; 17 18 disabled = pythonOlder "3.8"; ··· 21 owner = "gurumitts"; 22 repo = pname; 23 rev = "refs/tags/v${version}"; 24 - hash = "sha256-GyYJZIjvy4JYNCUUJpQxt32U8lMS/iQoz4llbCmJQhU="; 25 }; 26 27 nativeBuildInputs = [ ··· 34 35 nativeCheckInputs = [ 36 pytest-asyncio 37 - pytest-sugar 38 pytest-timeout 39 pytestCheckHook 40 ]; 41 42 pytestFlagsArray = [
··· 1 { lib 2 + , async-timeout 3 , buildPythonPackage 4 , cryptography 5 , fetchFromGitHub 6 , pytest-asyncio 7 , pytest-timeout 8 , pytestCheckHook 9 , pythonOlder ··· 12 13 buildPythonPackage rec { 14 pname = "pylutron-caseta"; 15 + version = "0.18.3"; 16 format = "pyproject"; 17 18 disabled = pythonOlder "3.8"; ··· 21 owner = "gurumitts"; 22 repo = pname; 23 rev = "refs/tags/v${version}"; 24 + hash = "sha256-tjmMu7LUne+hLLTXGqHhci9/PZiuQ10mQaARvL2sdIM="; 25 }; 26 27 nativeBuildInputs = [ ··· 34 35 nativeCheckInputs = [ 36 pytest-asyncio 37 pytest-timeout 38 pytestCheckHook 39 + ] ++ lib.optionals (pythonOlder "3.11") [ 40 + async-timeout 41 ]; 42 43 pytestFlagsArray = [
-45
pkgs/development/python-modules/pymazda/default.nix
··· 1 - { lib 2 - , aiohttp 3 - , buildPythonPackage 4 - , cryptography 5 - , fetchPypi 6 - , poetry-core 7 - , pythonOlder 8 - }: 9 - 10 - buildPythonPackage rec { 11 - pname = "pymazda"; 12 - version = "0.3.11"; 13 - format = "pyproject"; 14 - 15 - disabled = pythonOlder "3.8"; 16 - 17 - src = fetchPypi { 18 - inherit pname version; 19 - hash = "sha256-DiXLY4mfgRbE0Y1tOJnkMSQQj1vcySLVDBthOWe7/dM="; 20 - }; 21 - 22 - nativeBuildInputs = [ 23 - poetry-core 24 - ]; 25 - 26 - propagatedBuildInputs = [ 27 - aiohttp 28 - cryptography 29 - ]; 30 - 31 - # Project has no tests 32 - doCheck = false; 33 - 34 - pythonImportsCheck = [ 35 - "pymazda" 36 - ]; 37 - 38 - meta = with lib; { 39 - description = "Python client for interacting with the MyMazda API"; 40 - homepage = "https://github.com/bdr99/pymazda"; 41 - changelog = "https://github.com/bdr99/pymazda/releases/tag/${version}"; 42 - license = licenses.mit; 43 - maintainers = with maintainers; [ fab ]; 44 - }; 45 - }
···
+2 -2
pkgs/development/python-modules/pytensor/default.nix
··· 26 27 buildPythonPackage rec { 28 pname = "pytensor"; 29 - version = "2.17.1"; 30 pyproject = true; 31 32 disabled = pythonOlder "3.9"; ··· 35 owner = "pymc-devs"; 36 repo = "pytensor"; 37 rev = "refs/tags/rel-${version}"; 38 - hash = "sha256-xXS0uNR5rlmUjt9/TW/X/pQc5MS/MwHSQGCp7BkAVYg="; 39 }; 40 41 postPatch = ''
··· 26 27 buildPythonPackage rec { 28 pname = "pytensor"; 29 + version = "2.17.2"; 30 pyproject = true; 31 32 disabled = pythonOlder "3.9"; ··· 35 owner = "pymc-devs"; 36 repo = "pytensor"; 37 rev = "refs/tags/rel-${version}"; 38 + hash = "sha256-u1CbOjU3rQ6G3SSwYR3UlebymkupGMJWID4RH4v9PIk="; 39 }; 40 41 postPatch = ''
+2 -2
pkgs/development/python-modules/python-lsp-ruff/default.nix
··· 10 11 buildPythonPackage rec { 12 pname = "python-lsp-ruff"; 13 - version = "1.5.1"; 14 format = "pyproject"; 15 disabled = pythonOlder "3.7"; 16 17 src = fetchPypi { 18 inherit version; 19 pname = "python-lsp-ruff"; 20 - sha256 = "sha256-yvG4Qn9aym0rTDALURxHrWtDhO7g2VYsI+zLgb8z+gE="; 21 }; 22 23 postPatch = ''
··· 10 11 buildPythonPackage rec { 12 pname = "python-lsp-ruff"; 13 + version = "1.5.2"; 14 format = "pyproject"; 15 disabled = pythonOlder "3.7"; 16 17 src = fetchPypi { 18 inherit version; 19 pname = "python-lsp-ruff"; 20 + sha256 = "sha256-7vilIo1PHgHZ6yaRxTVt/bPwGt9g7rGvrq84eyIDIBw="; 21 }; 22 23 postPatch = ''
+2 -2
pkgs/development/python-modules/sagemaker/default.nix
··· 26 27 buildPythonPackage rec { 28 pname = "sagemaker"; 29 - version = "2.188.0"; 30 format = "setuptools"; 31 32 disabled = pythonOlder "3.8"; ··· 35 owner = "aws"; 36 repo = "sagemaker-python-sdk"; 37 rev = "refs/tags/v${version}"; 38 - hash = "sha256-iWNAsqDGTkELQn5K45AYpdzexE3DimI5xYWt3Udd4EI="; 39 }; 40 41 nativeBuildInputs = [
··· 26 27 buildPythonPackage rec { 28 pname = "sagemaker"; 29 + version = "2.192.1"; 30 format = "setuptools"; 31 32 disabled = pythonOlder "3.8"; ··· 35 owner = "aws"; 36 repo = "sagemaker-python-sdk"; 37 rev = "refs/tags/v${version}"; 38 + hash = "sha256-+1wb7O+fHhRE8aKlgAB/NRgx2J+LBkR7xuqfWnVYSKc="; 39 }; 40 41 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/scikit-hep-testdata/default.nix
··· 11 12 buildPythonPackage rec { 13 pname = "scikit-hep-testdata"; 14 - version = "0.4.31"; 15 format = "pyproject"; 16 17 disabled = pythonOlder "3.6"; ··· 20 owner = "scikit-hep"; 21 repo = pname; 22 rev = "refs/tags/v${version}"; 23 - hash = "sha256-/CUBRRezm84yAqnEVAC89vKIpALnvSkoSKBCmX84S0w="; 24 }; 25 26 SETUPTOOLS_SCM_PRETEND_VERSION = version;
··· 11 12 buildPythonPackage rec { 13 pname = "scikit-hep-testdata"; 14 + version = "0.4.33"; 15 format = "pyproject"; 16 17 disabled = pythonOlder "3.6"; ··· 20 owner = "scikit-hep"; 21 repo = pname; 22 rev = "refs/tags/v${version}"; 23 + hash = "sha256-IAi1LS6LqcvMR3dqNcppuyoMNM/hRT1eH+LZbczWW/M="; 24 }; 25 26 SETUPTOOLS_SCM_PRETEND_VERSION = version;
+7 -5
pkgs/development/python-modules/siuba/default.nix
··· 17 18 buildPythonPackage rec { 19 pname = "siuba"; 20 - version = "0.4.2"; 21 - disabled = pythonOlder "3.7"; 22 - 23 format = "setuptools"; 24 25 src = fetchFromGitHub { 26 owner = "machow"; 27 repo = "siuba"; 28 rev = "refs/tags/v${version}"; 29 - hash = "sha256-Q2nkK51bmIO2OcBuWu+u7yB8UmaqiZJXpuxXcytTlUY="; 30 }; 31 32 propagatedBuildInputs = [ ··· 45 hypothesis 46 pytestCheckHook 47 ]; 48 doCheck = false; 49 - # requires running mysql and postgres instances; see docker-compose.yml 50 51 pythonImportsCheck = [ 52 "siuba" ··· 56 meta = with lib; { 57 description = "Use dplyr-like syntax with pandas and SQL"; 58 homepage = "https://siuba.org"; 59 license = licenses.mit; 60 maintainers = with maintainers; [ bcdarwin ]; 61 };
··· 17 18 buildPythonPackage rec { 19 pname = "siuba"; 20 + version = "0.4.4"; 21 format = "setuptools"; 22 + 23 + disabled = pythonOlder "3.7"; 24 25 src = fetchFromGitHub { 26 owner = "machow"; 27 repo = "siuba"; 28 rev = "refs/tags/v${version}"; 29 + hash = "sha256-rd/yQH3sbZqQAQ1AN44vChe30GMJuIlZj3Ccfv1m3lU="; 30 }; 31 32 propagatedBuildInputs = [ ··· 45 hypothesis 46 pytestCheckHook 47 ]; 48 + 49 + # requires running mysql and postgres instances; see docker-compose.yml 50 doCheck = false; 51 52 pythonImportsCheck = [ 53 "siuba" ··· 57 meta = with lib; { 58 description = "Use dplyr-like syntax with pandas and SQL"; 59 homepage = "https://siuba.org"; 60 + changelog = "https://github.com/machow/siuba/releases/tag/v${version}"; 61 license = licenses.mit; 62 maintainers = with maintainers; [ bcdarwin ]; 63 };
+2 -2
pkgs/development/python-modules/stanza/default.nix
··· 14 15 buildPythonPackage rec { 16 pname = "stanza"; 17 - version = "1.6.0"; 18 format = "setuptools"; 19 20 disabled = pythonOlder "3.6"; ··· 23 owner = "stanfordnlp"; 24 repo = pname; 25 rev = "refs/tags/v${version}"; 26 - hash = "sha256-AyO/BC5JpkxaXXjj8pAVa4WGnK/GTw4xrmUvGLbLt3U="; 27 }; 28 29 propagatedBuildInputs = [
··· 14 15 buildPythonPackage rec { 16 pname = "stanza"; 17 + version = "1.6.1"; 18 format = "setuptools"; 19 20 disabled = pythonOlder "3.6"; ··· 23 owner = "stanfordnlp"; 24 repo = pname; 25 rev = "refs/tags/v${version}"; 26 + hash = "sha256-8WH83K/1SbzjlAmjKVh3gT9KVvQ6BMRmg3Z0SSeL1j8="; 27 }; 28 29 propagatedBuildInputs = [
+3 -3
pkgs/development/python-modules/structlog/default.nix
··· 16 17 buildPythonPackage rec { 18 pname = "structlog"; 19 - version = "23.1.0"; 20 format = "pyproject"; 21 22 - disabled = pythonOlder "3.7"; 23 24 src = fetchFromGitHub { 25 owner = "hynek"; 26 repo = "structlog"; 27 rev = "refs/tags/${version}"; 28 - hash = "sha256-0zHvBMiZB4cGntdYXA7C9V9+FfnDB6sHGuFRYAo/LJw="; 29 }; 30 31 SETUPTOOLS_SCM_PRETEND_VERSION = version;
··· 16 17 buildPythonPackage rec { 18 pname = "structlog"; 19 + version = "23.2.0"; 20 format = "pyproject"; 21 22 + disabled = pythonOlder "3.8"; 23 24 src = fetchFromGitHub { 25 owner = "hynek"; 26 repo = "structlog"; 27 rev = "refs/tags/${version}"; 28 + hash = "sha256-KSHKgkv+kObKCdWZDg5o6QYe0AMND9VLdEuseY/GyDY="; 29 }; 30 31 SETUPTOOLS_SCM_PRETEND_VERSION = version;
+4 -3
pkgs/development/python-modules/sumo/default.nix
··· 18 19 buildPythonPackage rec { 20 pname = "sumo"; 21 - version = "2.3.6"; 22 format = "setuptools"; 23 24 - disabled = pythonOlder "3.6"; 25 26 src = fetchFromGitHub { 27 owner = "SMTG-UCL"; 28 repo = "sumo"; 29 rev = "refs/tags/v${version}"; 30 - hash = "sha256-HQIs2G2hdKQkQOBs2lijmx/0cI4o/FFJU866PjtrBAE="; 31 }; 32 33 nativeBuildInputs = [ ··· 58 meta = with lib; { 59 description = "Toolkit for plotting and analysis of ab initio solid-state calculation data"; 60 homepage = "https://github.com/SMTG-UCL/sumo"; 61 license = licenses.mit; 62 maintainers = with maintainers; [ psyanticy ]; 63 };
··· 18 19 buildPythonPackage rec { 20 pname = "sumo"; 21 + version = "2.3.7"; 22 format = "setuptools"; 23 24 + disabled = pythonOlder "3.8"; 25 26 src = fetchFromGitHub { 27 owner = "SMTG-UCL"; 28 repo = "sumo"; 29 rev = "refs/tags/v${version}"; 30 + hash = "sha256-9NHz8SPymD9zANWMeajjavpjw68X4abqhrLl0dn92l0="; 31 }; 32 33 nativeBuildInputs = [ ··· 58 meta = with lib; { 59 description = "Toolkit for plotting and analysis of ab initio solid-state calculation data"; 60 homepage = "https://github.com/SMTG-UCL/sumo"; 61 + changelog = "https://github.com/SMTG-Bham/sumo/releases/tag/v${version}"; 62 license = licenses.mit; 63 maintainers = with maintainers; [ psyanticy ]; 64 };
+13 -3
pkgs/development/python-modules/tag-expressions/default.nix
··· 2 , buildPythonPackage 3 , fetchPypi 4 , pytestCheckHook 5 }: 6 7 buildPythonPackage rec { 8 pname = "tag-expressions"; 9 - version = "1.1.0"; 10 11 src = fetchPypi { 12 inherit pname version; 13 - sha256 = "1c0a49c3c0357976822b03c43db8d4a1c5548e16fb07ac939c10bbd5183f529d"; 14 }; 15 16 - nativeCheckInputs = [ pytestCheckHook ]; 17 18 meta = with lib; { 19 description = "Package to parse logical tag expressions";
··· 2 , buildPythonPackage 3 , fetchPypi 4 , pytestCheckHook 5 + , pythonOlder 6 }: 7 8 buildPythonPackage rec { 9 pname = "tag-expressions"; 10 + version = "2.0.0"; 11 + format = "setuptools"; 12 + 13 + disabled = pythonOlder "3.7"; 14 15 src = fetchPypi { 16 inherit pname version; 17 + hash = "sha256-/6Ym72jlgVdpel4V2W2aCKNtISDT9y5qz7+gTllUuPg="; 18 }; 19 20 + nativeCheckInputs = [ 21 + pytestCheckHook 22 + ]; 23 + 24 + pythonImportsCheck = [ 25 + "tagexpressions" 26 + ]; 27 28 meta = with lib; { 29 description = "Package to parse logical tag expressions";
+2 -2
pkgs/development/python-modules/tesserocr/default.nix
··· 17 18 buildPythonPackage rec { 19 pname = "tesserocr"; 20 - version = "2.6.1"; 21 22 src = fetchPypi { 23 inherit pname version; 24 - sha256 = "sha256-pz82cutgQ9ifMS6+40mcBiOsXIqeEquYdBWT+npZNPY="; 25 }; 26 27 # https://github.com/sirfz/tesserocr/issues/314
··· 17 18 buildPythonPackage rec { 19 pname = "tesserocr"; 20 + version = "2.6.2"; 21 22 src = fetchPypi { 23 inherit pname version; 24 + sha256 = "sha256-RVJfocGjVvnRVanekbN1nKRECEr9hTVE9aKaqFizA5A="; 25 }; 26 27 # https://github.com/sirfz/tesserocr/issues/314
+3 -3
pkgs/development/python-modules/textual-universal-directorytree/default.nix
··· 14 15 buildPythonPackage rec { 16 pname = "textual-universal-directorytree"; 17 - version = "1.0.1"; 18 format = "pyproject"; 19 20 src = fetchFromGitHub { 21 owner = "juftin"; 22 repo = "textual-universal-directorytree"; 23 - rev = "v${version}"; 24 - hash = "sha256-a7alxVmHTKJnJiU7X6UlUD2y7MY4O5TMR+02KcyPwEs="; 25 }; 26 27 nativeBuildInputs = [
··· 14 15 buildPythonPackage rec { 16 pname = "textual-universal-directorytree"; 17 + version = "1.0.2"; 18 format = "pyproject"; 19 20 src = fetchFromGitHub { 21 owner = "juftin"; 22 repo = "textual-universal-directorytree"; 23 + rev = "refs/tags/v${version}"; 24 + hash = "sha256-FL2bwPGqBmDn33Rhj7+VEpuqB4znEAw+GGAODTs25oo="; 25 }; 26 27 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/tubeup/default.nix
··· 10 11 buildPythonPackage rec { 12 pname = "tubeup"; 13 - version = "2023.8.19"; 14 format = "setuptools"; 15 16 disabled = pythonOlder "3.7"; 17 18 src = fetchPypi { 19 inherit pname version; 20 - sha256 = "sha256-0atpOUJIfXgw/5fi5w2ciAFDMgWmVH4U8d84zwLCRXk="; 21 }; 22 23 nativeBuildInputs = [
··· 10 11 buildPythonPackage rec { 12 pname = "tubeup"; 13 + version = "2023.9.19"; 14 format = "setuptools"; 15 16 disabled = pythonOlder "3.7"; 17 18 src = fetchPypi { 19 inherit pname version; 20 + sha256 = "sha256-Pp4h0MBoYhczmxPq21cLiYpLUeFP+2JoACcFpBl3b0E="; 21 }; 22 23 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/txtai/default.nix
··· 52 , unittestCheckHook 53 }: 54 let 55 - version = "6.0.0"; 56 api = [ aiohttp fastapi uvicorn ]; 57 # cloud = [ apache-libcloud ]; 58 console = [ rich ]; ··· 105 owner = "neuml"; 106 repo = "txtai"; 107 rev = "refs/tags/v${version}"; 108 - hash = "sha256-lGRdSUSQGdxe+I4WrUkE4hIyyJ1HcFn3cXO3zd27fsM="; 109 }; 110 111 nativeBuildInputs = [
··· 52 , unittestCheckHook 53 }: 54 let 55 + version = "6.1.0"; 56 api = [ aiohttp fastapi uvicorn ]; 57 # cloud = [ apache-libcloud ]; 58 console = [ rich ]; ··· 105 owner = "neuml"; 106 repo = "txtai"; 107 rev = "refs/tags/v${version}"; 108 + hash = "sha256-ZUMfDyebroa9r01bOUFYDyVjuNUqlPU88HBocp3YQJ4="; 109 }; 110 111 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/typepy/default.nix
··· 12 13 buildPythonPackage rec { 14 pname = "typepy"; 15 - version = "1.3.1"; 16 format = "setuptools"; 17 18 disabled = pythonOlder "3.7"; ··· 21 owner = "thombashi"; 22 repo = pname; 23 rev = "refs/tags/v${version}"; 24 - hash = "sha256-cgy1+6RZ1DUyH45bAKpGPOOZCwhCUghummw2fnfJGww="; 25 }; 26 27 propagatedBuildInputs = [
··· 12 13 buildPythonPackage rec { 14 pname = "typepy"; 15 + version = "1.3.2"; 16 format = "setuptools"; 17 18 disabled = pythonOlder "3.7"; ··· 21 owner = "thombashi"; 22 repo = pname; 23 rev = "refs/tags/v${version}"; 24 + hash = "sha256-oIDVjJwapHun0Rk04zOZ4IjAh7qZ2k0BXK6zqFmtVds="; 25 }; 26 27 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/unearth/default.nix
··· 15 16 buildPythonPackage rec { 17 pname = "unearth"; 18 - version = "0.11.0"; 19 format = "pyproject"; 20 21 disabled = pythonOlder "3.7"; 22 23 src = fetchPypi { 24 inherit pname version; 25 - hash = "sha256-ryBymzmNLzuDklHXReT0DyPLCb1reX4Kb/bu1GynBCI="; 26 }; 27 28 nativeBuildInputs = [
··· 15 16 buildPythonPackage rec { 17 pname = "unearth"; 18 + version = "0.11.1"; 19 format = "pyproject"; 20 21 disabled = pythonOlder "3.7"; 22 23 src = fetchPypi { 24 inherit pname version; 25 + hash = "sha256-abnU2GFz9vvoz2hcgpwxpg0MguG81sW1mvj9Vkvw3Bo="; 26 }; 27 28 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/uptime-kuma-api/default.nix
··· 7 8 buildPythonPackage rec { 9 pname = "uptime-kuma-api"; 10 - version = "1.2.0"; 11 format = "setuptools"; 12 13 disabled = pythonOlder "3.7"; ··· 15 src = fetchPypi { 16 pname = "uptime_kuma_api"; 17 inherit version; 18 - hash = "sha256-owRLc6823jJbEEzdJ3ORCkQfaEvxxs0uwYLzzCa17zI="; 19 }; 20 21 propagatedBuildInputs = [
··· 7 8 buildPythonPackage rec { 9 pname = "uptime-kuma-api"; 10 + version = "1.2.1"; 11 format = "setuptools"; 12 13 disabled = pythonOlder "3.7"; ··· 15 src = fetchPypi { 16 pname = "uptime_kuma_api"; 17 inherit version; 18 + hash = "sha256-tZ5ln3sy6W5RLcwjzLbhobCNLbHXIhXIzrcOVCG+Z+E="; 19 }; 20 21 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/vispy/default.nix
··· 17 18 buildPythonPackage rec { 19 pname = "vispy"; 20 - version = "0.14.0"; 21 format = "setuptools"; 22 23 disabled = pythonOlder "3.7"; 24 25 src = fetchPypi { 26 inherit pname version; 27 - hash = "sha256-3vcn528rZd7YhmSoPaUN2peWOWHBbxOk2FCr3UWTD5Q="; 28 }; 29 30 patches = [
··· 17 18 buildPythonPackage rec { 19 pname = "vispy"; 20 + version = "0.14.1"; 21 format = "setuptools"; 22 23 disabled = pythonOlder "3.7"; 24 25 src = fetchPypi { 26 inherit pname version; 27 + hash = "sha256-JJpQl5/ACotlEJKDNU3PEs9BXBpdz5gh4RP25ZC5uTw="; 28 }; 29 30 patches = [
+2 -2
pkgs/development/tools/build-managers/buck2/default.nix
··· 38 buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json); 39 40 # our version of buck2; this should be a git tag 41 - version = "2023-10-01"; 42 43 # the platform-specific, statically linked binary — which is also 44 # zstd-compressed ··· 63 # tooling 64 prelude-src = 65 let 66 - prelude-hash = "75aa81a92edd2bf477538f9a3f0fe6a47e811842"; 67 name = "buck2-prelude-${version}.tar.gz"; 68 hash = buildHashes."_prelude"; 69 url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz";
··· 38 buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json); 39 40 # our version of buck2; this should be a git tag 41 + version = "2023-10-15"; 42 43 # the platform-specific, statically linked binary — which is also 44 # zstd-compressed ··· 63 # tooling 64 prelude-src = 65 let 66 + prelude-hash = "880be565178cf1e08ce9badef52b215f91e48479"; 67 name = "buck2-prelude-${version}.tar.gz"; 68 hash = buildHashes."_prelude"; 69 url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz";
+5 -5
pkgs/development/tools/build-managers/buck2/hashes.json
··· 1 { "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh" 2 - , "_prelude": "sha256-SshYnziEP/2jdoeLZYkQOvH56VBOJZaf0TUt++tLO1U=" 3 - , "x86_64-linux": "sha256-eztjSDjgtXZWeDSPsKNSUGlIR+g8DsByIjDpcGNXB2s=" 4 - , "x86_64-darwin": "sha256-buC0mShgDPU1+oeuNdjP6hNq1MoJDIPaEHCGL+Rcsr8=" 5 - , "aarch64-linux": "sha256-52Ld12TzC51OutjZY+idpd7GhFr2tPksz1pda4F9Zag=" 6 - , "aarch64-darwin": "sha256-b9peYBF9FZbSdMiwC8E/+y15pWlFe37/Euj5v8q3v1E=" 7 }
··· 1 { "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh" 2 + , "_prelude": "sha256-mm9jU74rsLpiMzuDmSih6tzY4+NOiR15j+W96BVe/OI=" 3 + , "x86_64-linux": "sha256-qxymUjsSwCf6ev5TwlkWVGtMc9tj6Vt4yMIPaLHFAMM=" 4 + , "x86_64-darwin": "sha256-DGfpByvL4gmP+CR7VLCZS8IGSJ3esHhuKxHUfXJb/6k=" 5 + , "aarch64-linux": "sha256-zc9LEYmpVJttCTI6Qxm25KZRX8CJVJzVtSbouw0LB6g=" 6 + , "aarch64-darwin": "sha256-HUzpKJQN/22IQYmHLhW0fVQs0f86rREMTlp+yOfK0+Y=" 7 }
-44
pkgs/development/tools/continuous-integration/dagger/default.nix
··· 1 - { lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles, testers, dagger }: 2 - 3 - buildGoModule rec { 4 - pname = "dagger"; 5 - version = "0.8.8"; 6 - 7 - src = fetchFromGitHub { 8 - owner = "dagger"; 9 - repo = "dagger"; 10 - rev = "v${version}"; 11 - hash = "sha256-EHAQRmBgQEM0ypfUwuaoPnoKsQb1S+tarO1nHdmY5RI="; 12 - }; 13 - 14 - vendorHash = "sha256-fUNet9P6twEJP4eYooiHZ6qaJ3jEkJUwQ2zPzk3+eIs="; 15 - proxyVendor = true; 16 - 17 - subPackages = [ 18 - "cmd/dagger" 19 - ]; 20 - 21 - ldflags = [ "-s" "-w" "-X github.com/dagger/dagger/engine.Version=${version}" ]; 22 - 23 - nativeBuildInputs = [ installShellFiles ]; 24 - 25 - postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' 26 - installShellCompletion --cmd dagger \ 27 - --bash <($out/bin/dagger completion bash) \ 28 - --fish <($out/bin/dagger completion fish) \ 29 - --zsh <($out/bin/dagger completion zsh) 30 - ''; 31 - 32 - passthru.tests.version = testers.testVersion { 33 - package = dagger; 34 - command = "dagger version"; 35 - version = "v${version}"; 36 - }; 37 - 38 - meta = with lib; { 39 - description = "A portable devkit for CICD pipelines"; 40 - homepage = "https://dagger.io"; 41 - license = licenses.asl20; 42 - maintainers = with maintainers; [ jfroche sagikazarmark ]; 43 - }; 44 - }
···
+2 -2
pkgs/development/tools/moq/default.nix
··· 2 3 buildGoModule rec { 4 pname = "moq"; 5 - version = "0.3.2"; 6 7 src = fetchFromGitHub { 8 owner = "matryer"; 9 repo = "moq"; 10 rev = "v${version}"; 11 - sha256 = "sha256-T+vBzhc9XafCeXsW4/24vOn4U7N1t0S8DXkPNav7I94="; 12 }; 13 14 vendorHash = "sha256-lfs61YK5HmUd3/qA4o9MiWeTFhu4MTAkNH+f0iGlRe0=";
··· 2 3 buildGoModule rec { 4 pname = "moq"; 5 + version = "0.3.3"; 6 7 src = fetchFromGitHub { 8 owner = "matryer"; 9 repo = "moq"; 10 rev = "v${version}"; 11 + sha256 = "sha256-TOFWaPJ+XfgiQCVRXze29TG7Zfur0SV4mQNdgVIGj5o="; 12 }; 13 14 vendorHash = "sha256-lfs61YK5HmUd3/qA4o9MiWeTFhu4MTAkNH+f0iGlRe0=";
+130
pkgs/development/tools/mysql-shell/innovation.nix
···
··· 1 + { lib 2 + , stdenv 3 + , pkg-config 4 + , cmake 5 + , fetchurl 6 + , git 7 + , cctools 8 + , developer_cmds 9 + , DarwinTools 10 + , makeWrapper 11 + , CoreServices 12 + , bison 13 + , openssl 14 + , protobuf 15 + , curl 16 + , zlib 17 + , libssh 18 + , zstd 19 + , lz4 20 + , boost 21 + , readline 22 + , libtirpc 23 + , rpcsvc-proto 24 + , libedit 25 + , libevent 26 + , icu 27 + , re2 28 + , ncurses 29 + , libfido2 30 + , python3 31 + , cyrus_sasl 32 + , openldap 33 + , antlr 34 + }: 35 + 36 + let 37 + pythonDeps = with python3.pkgs; [ certifi paramiko pyyaml ]; 38 + 39 + mysqlShellVersion = "8.1.1"; 40 + mysqlServerVersion = "8.1.0"; 41 + in 42 + stdenv.mkDerivation (finalAttrs: { 43 + pname = "mysql-shell-innovation"; 44 + version = mysqlShellVersion; 45 + 46 + srcs = [ 47 + (fetchurl { 48 + url = "https://cdn.mysql.com//Downloads/MySQL-${lib.versions.majorMinor mysqlServerVersion}/mysql-${mysqlServerVersion}.tar.gz"; 49 + hash = "sha256-PdAXqUBzSqkHlqTGXhJeZxL2S7u+M4jTZGneqoe1mes="; 50 + }) 51 + (fetchurl { 52 + url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${finalAttrs.version}-src.tar.gz"; 53 + hash = "sha256-X7A2h9PWgQgNg7h64oD+Th/KsqP3UGpJ2etaP2B0VuY="; 54 + }) 55 + ]; 56 + 57 + sourceRoot = "mysql-shell-${finalAttrs.version}-src"; 58 + 59 + postUnpack = '' 60 + mv mysql-${mysqlServerVersion} mysql 61 + ''; 62 + 63 + postPatch = '' 64 + substituteInPlace ../mysql/cmake/libutils.cmake --replace /usr/bin/libtool libtool 65 + substituteInPlace ../mysql/cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool 66 + 67 + substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool 68 + ''; 69 + 70 + nativeBuildInputs = [ pkg-config cmake git bison makeWrapper ] 71 + ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ] 72 + ++ lib.optionals stdenv.isDarwin [ cctools developer_cmds DarwinTools ]; 73 + 74 + buildInputs = [ 75 + boost 76 + curl 77 + libedit 78 + libssh 79 + lz4 80 + openssl 81 + protobuf 82 + readline 83 + zlib 84 + zstd 85 + libevent 86 + icu 87 + re2 88 + ncurses 89 + libfido2 90 + cyrus_sasl 91 + openldap 92 + python3 93 + antlr.runtime.cpp 94 + ] ++ pythonDeps 95 + ++ lib.optionals stdenv.isLinux [ libtirpc ] 96 + ++ lib.optionals stdenv.isDarwin [ CoreServices ]; 97 + 98 + preConfigure = '' 99 + # Build MySQL 100 + echo "Building mysqlclient mysqlxclient" 101 + 102 + cmake -DWITH_BOOST=system -DWITH_SYSTEM_LIBS=ON -DWITH_ROUTER=OFF -DWITH_UNIT_TESTS=OFF \ 103 + -DFORCE_UNSUPPORTED_COMPILER=1 -S ../mysql -B ../mysql/build 104 + 105 + cmake --build ../mysql/build --parallel ''${NIX_BUILD_CORES:-1} --target mysqlclient mysqlxclient 106 + ''; 107 + 108 + cmakeFlags = [ 109 + "-DMYSQL_SOURCE_DIR=../mysql" 110 + "-DMYSQL_BUILD_DIR=../mysql/build" 111 + "-DMYSQL_CONFIG_EXECUTABLE=../../mysql/build/scripts/mysql_config" 112 + "-DWITH_ZSTD=system" 113 + "-DWITH_LZ4=system" 114 + "-DWITH_ZLIB=system" 115 + "-DWITH_PROTOBUF=${protobuf}" 116 + "-DHAVE_PYTHON=1" 117 + ]; 118 + 119 + postFixup = '' 120 + wrapProgram $out/bin/mysqlsh --set PYTHONPATH "${lib.makeSearchPath python3.sitePackages pythonDeps}" 121 + ''; 122 + 123 + meta = with lib; { 124 + homepage = "https://dev.mysql.com/doc/mysql-shell/${lib.versions.majorMinor finalAttrs.version}/en/"; 125 + description = "A new command line scriptable shell for MySQL"; 126 + license = licenses.gpl2; 127 + maintainers = with maintainers; [ aaronjheng ]; 128 + mainProgram = "mysqlsh"; 129 + }; 130 + })
+1 -1
pkgs/games/osu-lazer/bin.nix
··· 70 unfreeRedistributable # osu-framework contains libbass.so in repository 71 ]; 72 sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 73 - maintainers = with maintainers; [ delan stepbrobd ]; 74 mainProgram = "osu!"; 75 platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ]; 76 };
··· 70 unfreeRedistributable # osu-framework contains libbass.so in repository 71 ]; 72 sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 73 + maintainers = with maintainers; [ delan stepbrobd spacefault ]; 74 mainProgram = "osu!"; 75 platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ]; 76 };
+3 -3
pkgs/misc/screensavers/pipes-rs/default.nix
··· 2 3 rustPlatform.buildRustPackage rec { 4 pname = "pipes-rs"; 5 - version = "1.6.1"; 6 7 src = fetchFromGitHub { 8 owner = "lhvy"; 9 repo = pname; 10 rev = "v${version}"; 11 - sha256 = "sha256-0i5jAqOGq+N5bUM103Gk1Wzgwe7wUQRjJ+T4XqUkuZw="; 12 }; 13 14 - cargoHash = "sha256-LOU1BCFeX+F2dJdajgLDAtgyyrn6KkvLx3KtF9NkKcY="; 15 16 doInstallCheck = true; 17
··· 2 3 rustPlatform.buildRustPackage rec { 4 pname = "pipes-rs"; 5 + version = "1.6.2"; 6 7 src = fetchFromGitHub { 8 owner = "lhvy"; 9 repo = pname; 10 rev = "v${version}"; 11 + sha256 = "sha256-PUCbirnOPYIqt56IF6UQ7Jd0bJLsVY2pGIn/C95HTrQ="; 12 }; 13 14 + cargoHash = "sha256-6OTiciRqZyuX4FaDg131DEaVssUT2OYXdw/cxxJmLso="; 15 16 doInstallCheck = true; 17
+1 -2
pkgs/servers/home-assistant/component-packages.nix
··· 2 # Do not edit! 3 4 { 5 - version = "2023.10.1"; 6 components = { 7 "3_day_blinds" = ps: with ps; [ 8 ]; ··· 2485 maxcube-api 2486 ]; 2487 "mazda" = ps: with ps; [ 2488 - pymazda 2489 ]; 2490 "meater" = ps: with ps; [ 2491 meater-python
··· 2 # Do not edit! 3 4 { 5 + version = "2023.10.3"; 6 components = { 7 "3_day_blinds" = ps: with ps; [ 8 ]; ··· 2485 maxcube-api 2486 ]; 2487 "mazda" = ps: with ps; [ 2488 ]; 2489 "meater" = ps: with ps; [ 2490 meater-python
+3 -3
pkgs/servers/home-assistant/default.nix
··· 427 extraBuildInputs = extraPackages python.pkgs; 428 429 # Don't forget to run parse-requirements.py after updating 430 - hassVersion = "2023.10.1"; 431 432 in python.pkgs.buildPythonApplication rec { 433 pname = "homeassistant"; ··· 443 # Primary source is the pypi sdist, because it contains translations 444 src = fetchPypi { 445 inherit pname version; 446 - hash = "sha256-3VkV5DirOzLO9Qbo4s5of5Aie7JvSAN7hgHBTA8koAE="; 447 }; 448 449 # Secondary source is git for tests ··· 451 owner = "home-assistant"; 452 repo = "core"; 453 rev = "refs/tags/${version}"; 454 - hash = "sha256-mzj4JJ81Wr5FO1lVVwHlgnS3olxzXzMw0lFYPbTf634="; 455 }; 456 457 nativeBuildInputs = with python.pkgs; [
··· 427 extraBuildInputs = extraPackages python.pkgs; 428 429 # Don't forget to run parse-requirements.py after updating 430 + hassVersion = "2023.10.3"; 431 432 in python.pkgs.buildPythonApplication rec { 433 pname = "homeassistant"; ··· 443 # Primary source is the pypi sdist, because it contains translations 444 src = fetchPypi { 445 inherit pname version; 446 + hash = "sha256-7Eg6Ik8eiPPUTXyRedQLixaCnHDg9Dmikmhcq55+458="; 447 }; 448 449 # Secondary source is git for tests ··· 451 owner = "home-assistant"; 452 repo = "core"; 453 rev = "refs/tags/${version}"; 454 + hash = "sha256-4J1BBC6PvfbN4fKD+zUpW19sMvoKALilitNJlwB0ZTk="; 455 }; 456 457 nativeBuildInputs = with python.pkgs; [
+2 -2
pkgs/servers/mail/exim/default.nix
··· 11 12 stdenv.mkDerivation rec { 13 pname = "exim"; 14 - version = "4.96.1"; 15 16 src = fetchurl { 17 url = "https://ftp.exim.org/pub/exim/exim4/${pname}-${version}.tar.xz"; 18 - hash = "sha256-k6wHVcMX4f276ozLcKhoh2vfMUhpKJHHKtD+gWdnAz0="; 19 }; 20 21 enableParallelBuilding = true;
··· 11 12 stdenv.mkDerivation rec { 13 pname = "exim"; 14 + version = "4.96.2"; 15 16 src = fetchurl { 17 url = "https://ftp.exim.org/pub/exim/exim4/${pname}-${version}.tar.xz"; 18 + hash = "sha256-A44yfo0ek9AFusm7Bv0irsRNUCiTDW2+iBetRLv8HeY="; 19 }; 20 21 enableParallelBuilding = true;
+1 -1
pkgs/servers/monitoring/prometheus/junos-czerwonk-exporter.nix
··· 17 description = "Exporter for metrics from devices running JunOS"; 18 homepage = "https://github.com/czerwonk/junos_exporter"; 19 license = licenses.mit; 20 - maintainers = with maintainers; [ netali ]; 21 }; 22 }
··· 17 description = "Exporter for metrics from devices running JunOS"; 18 homepage = "https://github.com/czerwonk/junos_exporter"; 19 license = licenses.mit; 20 + maintainers = teams.wdz.members; 21 }; 22 }
+3 -3
pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
··· 2 3 buildGoModule rec { 4 pname = "prometheus-nextcloud-exporter"; 5 - version = "0.6.1"; 6 7 src = fetchFromGitHub { 8 owner = "xperimental"; 9 repo = "nextcloud-exporter"; 10 rev = "v${version}"; 11 - sha256 = "sha256-8Pz1Xa8P0T+5P4qCoyRyRqPtAaSiZw4BV+rSZf4exC0="; 12 }; 13 14 - vendorHash = "sha256-NIJH5Ya+fZ+37y+Lim/WizNCOYk1lpPRf6u70IoiFZk="; 15 16 passthru.tests = { inherit (nixosTests.prometheus-exporters) nextcloud; }; 17
··· 2 3 buildGoModule rec { 4 pname = "prometheus-nextcloud-exporter"; 5 + version = "0.6.2"; 6 7 src = fetchFromGitHub { 8 owner = "xperimental"; 9 repo = "nextcloud-exporter"; 10 rev = "v${version}"; 11 + sha256 = "sha256-OiuhxawEpD29EhbzA9DYeJ1J1/uMQGgBTZR9m/5egHI="; 12 }; 13 14 + vendorHash = "sha256-QlMj4ATpJATlQAsrxIHG/1vrD5E/4brsda3BoGGzDgk="; 15 16 passthru.tests = { inherit (nixosTests.prometheus-exporters) nextcloud; }; 17
+5 -5
pkgs/tools/misc/ytarchive/default.nix
··· 1 - { lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper, ffmpeg }: 2 3 buildGoModule rec { 4 pname = "ytarchive"; 5 - version = "unstable-2023-02-21"; 6 7 src = fetchFromGitHub { 8 owner = "Kethsar"; 9 repo = "ytarchive"; 10 - rev = "90aaf17b5e86eec52a95752e3c2dba4f54ee1068"; 11 - hash = "sha256-JRjQRbMqtd04/aO6NkInoDqfOrHnDrXj4C4/URiU6yo="; 12 }; 13 14 vendorHash = "sha256-sjwQ/zEYJRkeWUDB7TzV8z+kET8lVRnQkXYbZbcUeHY="; ··· 18 ldflags = [ "-s" "-w" "-X main.Commit=-${src.rev}" ]; 19 20 postInstall = '' 21 - wrapProgram $out/bin/ytarchive --prefix PATH : ${lib.makeBinPath [ ffmpeg ]} 22 ''; 23 24 meta = with lib; {
··· 1 + { lib, buildGoModule, fetchFromGitHub, makeBinaryWrapper, ffmpeg-headless }: 2 3 buildGoModule rec { 4 pname = "ytarchive"; 5 + version = "0.4.0"; 6 7 src = fetchFromGitHub { 8 owner = "Kethsar"; 9 repo = "ytarchive"; 10 + rev = "v${version}"; 11 + hash = "sha256-mQgpwuTIEHeDv/PzBHpK1sraxFj8Ef3y8vN5bLw5E94="; 12 }; 13 14 vendorHash = "sha256-sjwQ/zEYJRkeWUDB7TzV8z+kET8lVRnQkXYbZbcUeHY="; ··· 18 ldflags = [ "-s" "-w" "-X main.Commit=-${src.rev}" ]; 19 20 postInstall = '' 21 + wrapProgram $out/bin/ytarchive --prefix PATH : ${lib.makeBinPath [ ffmpeg-headless ]} 22 ''; 23 24 meta = with lib; {
+317 -144
pkgs/tools/networking/bandwhich/Cargo.lock
··· 30 31 [[package]] 32 name = "aho-corasick" 33 - version = "1.1.0" 34 source = "registry+https://github.com/rust-lang/crates.io-index" 35 - checksum = "0f2135563fb5c609d2b2b87c1e8ce7bc41b0b45430fa9661f457981503dd5bf0" 36 dependencies = [ 37 "memchr", 38 ] ··· 54 55 [[package]] 56 name = "anstream" 57 - version = "0.5.0" 58 source = "registry+https://github.com/rust-lang/crates.io-index" 59 - checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" 60 dependencies = [ 61 "anstyle", 62 "anstyle-parse", ··· 68 69 [[package]] 70 name = "anstyle" 71 - version = "1.0.3" 72 source = "registry+https://github.com/rust-lang/crates.io-index" 73 - checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" 74 75 [[package]] 76 name = "anstyle-parse" 77 - version = "0.2.1" 78 source = "registry+https://github.com/rust-lang/crates.io-index" 79 - checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" 80 dependencies = [ 81 "utf8parse", 82 ] ··· 92 93 [[package]] 94 name = "anstyle-wincon" 95 - version = "2.1.0" 96 source = "registry+https://github.com/rust-lang/crates.io-index" 97 - checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" 98 dependencies = [ 99 "anstyle", 100 "windows-sys 0.48.0", ··· 111 112 [[package]] 113 name = "async-trait" 114 - version = "0.1.73" 115 source = "registry+https://github.com/rust-lang/crates.io-index" 116 - checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" 117 dependencies = [ 118 "proc-macro2", 119 "quote", 120 - "syn 2.0.37", 121 ] 122 123 [[package]] ··· 143 144 [[package]] 145 name = "bandwhich" 146 - version = "0.21.0" 147 dependencies = [ 148 "anyhow", 149 "async-trait", 150 "chrono", 151 "clap", 152 "crossterm", 153 "http_req", 154 "insta", 155 "ipnetwork", 156 "netstat2", 157 "packet-builder", 158 "pnet", ··· 162 "ratatui", 163 "regex", 164 "resolv-conf", 165 "sysinfo", 166 "thiserror", 167 "tokio", ··· 184 185 [[package]] 186 name = "bitflags" 187 - version = "2.4.0" 188 source = "registry+https://github.com/rust-lang/crates.io-index" 189 - checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" 190 191 [[package]] 192 name = "block-buffer" ··· 205 206 [[package]] 207 name = "byteorder" 208 - version = "1.4.3" 209 source = "registry+https://github.com/rust-lang/crates.io-index" 210 - checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 211 212 [[package]] 213 name = "bytes" ··· 284 285 [[package]] 286 name = "clap" 287 - version = "4.4.4" 288 source = "registry+https://github.com/rust-lang/crates.io-index" 289 - checksum = "b1d7b8d5ec32af0fadc644bf1fd509a688c2103b185644bb1e29d164e0703136" 290 dependencies = [ 291 "clap_builder", 292 "clap_derive", 293 ] 294 295 [[package]] 296 name = "clap_builder" 297 - version = "4.4.4" 298 source = "registry+https://github.com/rust-lang/crates.io-index" 299 - checksum = "5179bb514e4d7c2051749d8fcefa2ed6d06a9f4e6d69faf3805f5d80b8cf8d56" 300 dependencies = [ 301 "anstream", 302 "anstyle", ··· 313 "heck", 314 "proc-macro2", 315 "quote", 316 - "syn 2.0.37", 317 ] 318 319 [[package]] ··· 381 ] 382 383 [[package]] 384 - name = "crossbeam-channel" 385 - version = "0.5.8" 386 - source = "registry+https://github.com/rust-lang/crates.io-index" 387 - checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" 388 - dependencies = [ 389 - "cfg-if", 390 - "crossbeam-utils", 391 - ] 392 - 393 - [[package]] 394 name = "crossbeam-deque" 395 version = "0.8.3" 396 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 429 source = "registry+https://github.com/rust-lang/crates.io-index" 430 checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" 431 dependencies = [ 432 - "bitflags 2.4.0", 433 "crossterm_winapi", 434 "libc", 435 "mio", ··· 466 467 [[package]] 468 name = "deranged" 469 - version = "0.3.8" 470 source = "registry+https://github.com/rust-lang/crates.io-index" 471 - checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" 472 473 [[package]] 474 name = "derive-new" ··· 513 "heck", 514 "proc-macro2", 515 "quote", 516 - "syn 2.0.37", 517 ] 518 519 [[package]] 520 name = "errno" 521 - version = "0.3.3" 522 source = "registry+https://github.com/rust-lang/crates.io-index" 523 - checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" 524 dependencies = [ 525 - "errno-dragonfly", 526 "libc", 527 "windows-sys 0.48.0", 528 ] 529 530 [[package]] 531 - name = "errno-dragonfly" 532 - version = "0.1.2" 533 - source = "registry+https://github.com/rust-lang/crates.io-index" 534 - checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 535 - dependencies = [ 536 - "cc", 537 - "libc", 538 - ] 539 - 540 - [[package]] 541 name = "fastrand" 542 - version = "2.0.0" 543 source = "registry+https://github.com/rust-lang/crates.io-index" 544 - checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" 545 546 [[package]] 547 name = "flate2" 548 - version = "1.0.27" 549 source = "registry+https://github.com/rust-lang/crates.io-index" 550 - checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" 551 dependencies = [ 552 "crc32fast", 553 "miniz_oxide", ··· 578 ] 579 580 [[package]] 581 name = "futures-channel" 582 version = "0.3.28" 583 source = "registry+https://github.com/rust-lang/crates.io-index" 584 checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" 585 dependencies = [ 586 "futures-core", 587 ] 588 589 [[package]] ··· 593 checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" 594 595 [[package]] 596 name = "futures-io" 597 version = "0.3.28" 598 source = "registry+https://github.com/rust-lang/crates.io-index" 599 checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" 600 601 [[package]] 602 name = "futures-task" 603 version = "0.3.28" 604 source = "registry+https://github.com/rust-lang/crates.io-index" 605 checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" 606 607 [[package]] 608 name = "futures-util" 609 version = "0.3.28" 610 source = "registry+https://github.com/rust-lang/crates.io-index" 611 checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" 612 dependencies = [ 613 "futures-core", 614 "futures-task", 615 "pin-project-lite", 616 "pin-utils", 617 "slab", ··· 658 659 [[package]] 660 name = "hermit-abi" 661 - version = "0.3.2" 662 source = "registry+https://github.com/rust-lang/crates.io-index" 663 - checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" 664 665 [[package]] 666 name = "hex" ··· 690 691 [[package]] 692 name = "http_req" 693 - version = "0.9.3" 694 source = "registry+https://github.com/rust-lang/crates.io-index" 695 - checksum = "42ce34c74ec562d68f2c23a532c62c1332ff1d1b6147fd118bd1938e090137d0" 696 dependencies = [ 697 "native-tls", 698 "unicase", ··· 748 749 [[package]] 750 name = "insta" 751 - version = "1.31.0" 752 source = "registry+https://github.com/rust-lang/crates.io-index" 753 - checksum = "a0770b0a3d4c70567f0d58331f3088b0e4c4f56c9b8d764efe654b4a5d46de3a" 754 dependencies = [ 755 "console", 756 "lazy_static", ··· 805 dependencies = [ 806 "either", 807 ] 808 809 [[package]] 810 name = "jobserver" 811 - version = "0.1.26" 812 source = "registry+https://github.com/rust-lang/crates.io-index" 813 - checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" 814 dependencies = [ 815 "libc", 816 ] ··· 832 833 [[package]] 834 name = "libc" 835 - version = "0.2.148" 836 source = "registry+https://github.com/rust-lang/crates.io-index" 837 - checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" 838 839 [[package]] 840 name = "linked-hash-map" ··· 850 851 [[package]] 852 name = "linux-raw-sys" 853 - version = "0.4.7" 854 source = "registry+https://github.com/rust-lang/crates.io-index" 855 - checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" 856 857 [[package]] 858 name = "lock_api" ··· 887 888 [[package]] 889 name = "memchr" 890 - version = "2.6.3" 891 source = "registry+https://github.com/rust-lang/crates.io-index" 892 - checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" 893 894 [[package]] 895 name = "memoffset" ··· 981 982 [[package]] 983 name = "num-traits" 984 - version = "0.2.16" 985 source = "registry+https://github.com/rust-lang/crates.io-index" 986 - checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" 987 dependencies = [ 988 "autocfg", 989 ] ··· 999 ] 1000 1001 [[package]] 1002 name = "object" 1003 version = "0.32.1" 1004 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1019 source = "registry+https://github.com/rust-lang/crates.io-index" 1020 checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" 1021 dependencies = [ 1022 - "bitflags 2.4.0", 1023 "cfg-if", 1024 "foreign-types", 1025 "libc", ··· 1036 dependencies = [ 1037 "proc-macro2", 1038 "quote", 1039 - "syn 2.0.37", 1040 ] 1041 1042 [[package]] ··· 1189 "proc-macro2", 1190 "quote", 1191 "regex", 1192 - "syn 2.0.37", 1193 ] 1194 1195 [[package]] ··· 1236 ] 1237 1238 [[package]] 1239 name = "ppv-lite86" 1240 version = "0.2.17" 1241 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1243 1244 [[package]] 1245 name = "proc-macro2" 1246 - version = "1.0.67" 1247 source = "registry+https://github.com/rust-lang/crates.io-index" 1248 - checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" 1249 dependencies = [ 1250 "unicode-ident", 1251 ] ··· 1262 "flate2", 1263 "hex", 1264 "lazy_static", 1265 - "rustix 0.36.15", 1266 ] 1267 1268 [[package]] ··· 1316 source = "registry+https://github.com/rust-lang/crates.io-index" 1317 checksum = "2e2e4cd95294a85c3b4446e63ef054eea43e0205b1fd60120c16b74ff7ff96ad" 1318 dependencies = [ 1319 - "bitflags 2.4.0", 1320 "cassowary", 1321 "crossterm", 1322 "indoc", ··· 1329 1330 [[package]] 1331 name = "rayon" 1332 - version = "1.7.0" 1333 source = "registry+https://github.com/rust-lang/crates.io-index" 1334 - checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" 1335 dependencies = [ 1336 "either", 1337 "rayon-core", ··· 1339 1340 [[package]] 1341 name = "rayon-core" 1342 - version = "1.11.0" 1343 source = "registry+https://github.com/rust-lang/crates.io-index" 1344 - checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" 1345 dependencies = [ 1346 - "crossbeam-channel", 1347 "crossbeam-deque", 1348 "crossbeam-utils", 1349 - "num_cpus", 1350 ] 1351 1352 [[package]] ··· 1360 1361 [[package]] 1362 name = "regex" 1363 - version = "1.9.5" 1364 source = "registry+https://github.com/rust-lang/crates.io-index" 1365 - checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" 1366 dependencies = [ 1367 "aho-corasick", 1368 "memchr", ··· 1372 1373 [[package]] 1374 name = "regex-automata" 1375 - version = "0.3.8" 1376 source = "registry+https://github.com/rust-lang/crates.io-index" 1377 - checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" 1378 dependencies = [ 1379 "aho-corasick", 1380 "memchr", ··· 1383 1384 [[package]] 1385 name = "regex-syntax" 1386 - version = "0.7.5" 1387 source = "registry+https://github.com/rust-lang/crates.io-index" 1388 - checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" 1389 1390 [[package]] 1391 name = "resolv-conf" ··· 1398 ] 1399 1400 [[package]] 1401 name = "rustc-demangle" 1402 version = "0.1.23" 1403 source = "registry+https://github.com/rust-lang/crates.io-index" 1404 checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 1405 1406 [[package]] 1407 name = "rustix" 1408 - version = "0.36.15" 1409 source = "registry+https://github.com/rust-lang/crates.io-index" 1410 - checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941" 1411 dependencies = [ 1412 "bitflags 1.3.2", 1413 "errno", ··· 1419 1420 [[package]] 1421 name = "rustix" 1422 - version = "0.38.13" 1423 source = "registry+https://github.com/rust-lang/crates.io-index" 1424 - checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662" 1425 dependencies = [ 1426 - "bitflags 2.4.0", 1427 "errno", 1428 "libc", 1429 - "linux-raw-sys 0.4.7", 1430 "windows-sys 0.48.0", 1431 ] 1432 ··· 1475 ] 1476 1477 [[package]] 1478 name = "serde" 1479 - version = "1.0.188" 1480 source = "registry+https://github.com/rust-lang/crates.io-index" 1481 - checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" 1482 dependencies = [ 1483 "serde_derive", 1484 ] 1485 1486 [[package]] 1487 name = "serde_derive" 1488 - version = "1.0.188" 1489 source = "registry+https://github.com/rust-lang/crates.io-index" 1490 - checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" 1491 dependencies = [ 1492 "proc-macro2", 1493 "quote", 1494 - "syn 2.0.37", 1495 ] 1496 1497 [[package]] 1498 name = "sha1" 1499 - version = "0.10.5" 1500 source = "registry+https://github.com/rust-lang/crates.io-index" 1501 - checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" 1502 dependencies = [ 1503 "cfg-if", 1504 "cpufeatures", ··· 1507 1508 [[package]] 1509 name = "sha2" 1510 - version = "0.10.7" 1511 source = "registry+https://github.com/rust-lang/crates.io-index" 1512 - checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" 1513 dependencies = [ 1514 "cfg-if", 1515 "cpufeatures", ··· 1548 1549 [[package]] 1550 name = "similar" 1551 - version = "2.2.1" 1552 source = "registry+https://github.com/rust-lang/crates.io-index" 1553 - checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" 1554 1555 [[package]] 1556 name = "slab" ··· 1563 1564 [[package]] 1565 name = "smallvec" 1566 - version = "1.11.0" 1567 source = "registry+https://github.com/rust-lang/crates.io-index" 1568 - checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" 1569 1570 [[package]] 1571 name = "socket2" ··· 1594 1595 [[package]] 1596 name = "strum_macros" 1597 - version = "0.25.2" 1598 source = "registry+https://github.com/rust-lang/crates.io-index" 1599 - checksum = "ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059" 1600 dependencies = [ 1601 "heck", 1602 "proc-macro2", 1603 "quote", 1604 "rustversion", 1605 - "syn 2.0.37", 1606 ] 1607 1608 [[package]] ··· 1624 1625 [[package]] 1626 name = "syn" 1627 - version = "2.0.37" 1628 source = "registry+https://github.com/rust-lang/crates.io-index" 1629 - checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" 1630 dependencies = [ 1631 "proc-macro2", 1632 "quote", ··· 1657 "cfg-if", 1658 "fastrand", 1659 "redox_syscall", 1660 - "rustix 0.38.13", 1661 "windows-sys 0.48.0", 1662 ] 1663 1664 [[package]] 1665 name = "thiserror" 1666 - version = "1.0.48" 1667 source = "registry+https://github.com/rust-lang/crates.io-index" 1668 - checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" 1669 dependencies = [ 1670 "thiserror-impl", 1671 ] 1672 1673 [[package]] 1674 name = "thiserror-impl" 1675 - version = "1.0.48" 1676 source = "registry+https://github.com/rust-lang/crates.io-index" 1677 - checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" 1678 dependencies = [ 1679 "proc-macro2", 1680 "quote", 1681 - "syn 2.0.37", 1682 ] 1683 1684 [[package]] 1685 name = "time" 1686 - version = "0.3.28" 1687 source = "registry+https://github.com/rust-lang/crates.io-index" 1688 - checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" 1689 dependencies = [ 1690 "deranged", 1691 "serde", 1692 "time-core", 1693 ] 1694 1695 [[package]] 1696 name = "time-core" 1697 - version = "0.1.1" 1698 source = "registry+https://github.com/rust-lang/crates.io-index" 1699 - checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" 1700 1701 [[package]] 1702 name = "tinyvec" ··· 1715 1716 [[package]] 1717 name = "tokio" 1718 - version = "1.32.0" 1719 source = "registry+https://github.com/rust-lang/crates.io-index" 1720 - checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" 1721 dependencies = [ 1722 "backtrace", 1723 "bytes", ··· 1731 1732 [[package]] 1733 name = "tracing" 1734 - version = "0.1.37" 1735 source = "registry+https://github.com/rust-lang/crates.io-index" 1736 - checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 1737 dependencies = [ 1738 - "cfg-if", 1739 "pin-project-lite", 1740 "tracing-attributes", 1741 "tracing-core", ··· 1743 1744 [[package]] 1745 name = "tracing-attributes" 1746 - version = "0.1.26" 1747 source = "registry+https://github.com/rust-lang/crates.io-index" 1748 - checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" 1749 dependencies = [ 1750 "proc-macro2", 1751 "quote", 1752 - "syn 2.0.37", 1753 ] 1754 1755 [[package]] 1756 name = "tracing-core" 1757 - version = "0.1.31" 1758 source = "registry+https://github.com/rust-lang/crates.io-index" 1759 - checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" 1760 dependencies = [ 1761 "once_cell", 1762 ] 1763 1764 [[package]] 1765 name = "trust-dns-proto" 1766 - version = "0.23.0" 1767 source = "registry+https://github.com/rust-lang/crates.io-index" 1768 - checksum = "0dc775440033cb114085f6f2437682b194fa7546466024b1037e82a48a052a69" 1769 dependencies = [ 1770 "async-trait", 1771 "cfg-if", ··· 1788 1789 [[package]] 1790 name = "trust-dns-resolver" 1791 - version = "0.23.0" 1792 source = "registry+https://github.com/rust-lang/crates.io-index" 1793 - checksum = "2dff7aed33ef3e8bf2c9966fccdfed93f93d46f432282ea875cd66faabc6ef2f" 1794 dependencies = [ 1795 "cfg-if", 1796 "futures-util", ··· 1851 1852 [[package]] 1853 name = "unicode-width" 1854 - version = "0.1.10" 1855 source = "registry+https://github.com/rust-lang/crates.io-index" 1856 - checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" 1857 1858 [[package]] 1859 name = "url" ··· 1911 "once_cell", 1912 "proc-macro2", 1913 "quote", 1914 - "syn 2.0.37", 1915 "wasm-bindgen-shared", 1916 ] 1917 ··· 1933 dependencies = [ 1934 "proc-macro2", 1935 "quote", 1936 - "syn 2.0.37", 1937 "wasm-bindgen-backend", 1938 "wasm-bindgen-shared", 1939 ] ··· 1967 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1968 1969 [[package]] 1970 name = "winapi-x86_64-pc-windows-gnu" 1971 version = "0.4.0" 1972 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2173 2174 [[package]] 2175 name = "zstd-sys" 2176 - version = "2.0.8+zstd.1.5.5" 2177 source = "registry+https://github.com/rust-lang/crates.io-index" 2178 - checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" 2179 dependencies = [ 2180 "cc", 2181 - "libc", 2182 "pkg-config", 2183 ]
··· 30 31 [[package]] 32 name = "aho-corasick" 33 + version = "1.1.2" 34 source = "registry+https://github.com/rust-lang/crates.io-index" 35 + checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" 36 dependencies = [ 37 "memchr", 38 ] ··· 54 55 [[package]] 56 name = "anstream" 57 + version = "0.6.4" 58 source = "registry+https://github.com/rust-lang/crates.io-index" 59 + checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" 60 dependencies = [ 61 "anstyle", 62 "anstyle-parse", ··· 68 69 [[package]] 70 name = "anstyle" 71 + version = "1.0.4" 72 source = "registry+https://github.com/rust-lang/crates.io-index" 73 + checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" 74 75 [[package]] 76 name = "anstyle-parse" 77 + version = "0.2.2" 78 source = "registry+https://github.com/rust-lang/crates.io-index" 79 + checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" 80 dependencies = [ 81 "utf8parse", 82 ] ··· 92 93 [[package]] 94 name = "anstyle-wincon" 95 + version = "3.0.1" 96 source = "registry+https://github.com/rust-lang/crates.io-index" 97 + checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" 98 dependencies = [ 99 "anstyle", 100 "windows-sys 0.48.0", ··· 111 112 [[package]] 113 name = "async-trait" 114 + version = "0.1.74" 115 source = "registry+https://github.com/rust-lang/crates.io-index" 116 + checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" 117 dependencies = [ 118 "proc-macro2", 119 "quote", 120 + "syn 2.0.38", 121 ] 122 123 [[package]] ··· 143 144 [[package]] 145 name = "bandwhich" 146 + version = "0.21.1" 147 dependencies = [ 148 "anyhow", 149 "async-trait", 150 "chrono", 151 "clap", 152 + "clap-verbosity-flag", 153 "crossterm", 154 + "derivative", 155 "http_req", 156 "insta", 157 "ipnetwork", 158 + "log", 159 "netstat2", 160 "packet-builder", 161 "pnet", ··· 165 "ratatui", 166 "regex", 167 "resolv-conf", 168 + "rstest", 169 + "simplelog", 170 "sysinfo", 171 "thiserror", 172 "tokio", ··· 189 190 [[package]] 191 name = "bitflags" 192 + version = "2.4.1" 193 source = "registry+https://github.com/rust-lang/crates.io-index" 194 + checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" 195 196 [[package]] 197 name = "block-buffer" ··· 210 211 [[package]] 212 name = "byteorder" 213 + version = "1.5.0" 214 source = "registry+https://github.com/rust-lang/crates.io-index" 215 + checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 216 217 [[package]] 218 name = "bytes" ··· 289 290 [[package]] 291 name = "clap" 292 + version = "4.4.6" 293 source = "registry+https://github.com/rust-lang/crates.io-index" 294 + checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" 295 dependencies = [ 296 "clap_builder", 297 "clap_derive", 298 ] 299 300 [[package]] 301 + name = "clap-verbosity-flag" 302 + version = "2.0.1" 303 + source = "registry+https://github.com/rust-lang/crates.io-index" 304 + checksum = "1eef05769009513df2eb1c3b4613e7fad873a14c600ff025b08f250f59fee7de" 305 + dependencies = [ 306 + "clap", 307 + "log", 308 + ] 309 + 310 + [[package]] 311 name = "clap_builder" 312 + version = "4.4.6" 313 source = "registry+https://github.com/rust-lang/crates.io-index" 314 + checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" 315 dependencies = [ 316 "anstream", 317 "anstyle", ··· 328 "heck", 329 "proc-macro2", 330 "quote", 331 + "syn 2.0.38", 332 ] 333 334 [[package]] ··· 396 ] 397 398 [[package]] 399 name = "crossbeam-deque" 400 version = "0.8.3" 401 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 434 source = "registry+https://github.com/rust-lang/crates.io-index" 435 checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" 436 dependencies = [ 437 + "bitflags 2.4.1", 438 "crossterm_winapi", 439 "libc", 440 "mio", ··· 471 472 [[package]] 473 name = "deranged" 474 + version = "0.3.9" 475 source = "registry+https://github.com/rust-lang/crates.io-index" 476 + checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" 477 + dependencies = [ 478 + "powerfmt", 479 + ] 480 + 481 + [[package]] 482 + name = "derivative" 483 + version = "2.2.0" 484 + source = "registry+https://github.com/rust-lang/crates.io-index" 485 + checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" 486 + dependencies = [ 487 + "proc-macro2", 488 + "quote", 489 + "syn 1.0.109", 490 + ] 491 492 [[package]] 493 name = "derive-new" ··· 532 "heck", 533 "proc-macro2", 534 "quote", 535 + "syn 2.0.38", 536 ] 537 538 [[package]] 539 name = "errno" 540 + version = "0.3.5" 541 source = "registry+https://github.com/rust-lang/crates.io-index" 542 + checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" 543 dependencies = [ 544 "libc", 545 "windows-sys 0.48.0", 546 ] 547 548 [[package]] 549 name = "fastrand" 550 + version = "2.0.1" 551 source = "registry+https://github.com/rust-lang/crates.io-index" 552 + checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 553 554 [[package]] 555 name = "flate2" 556 + version = "1.0.28" 557 source = "registry+https://github.com/rust-lang/crates.io-index" 558 + checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" 559 dependencies = [ 560 "crc32fast", 561 "miniz_oxide", ··· 586 ] 587 588 [[package]] 589 + name = "futures" 590 + version = "0.3.28" 591 + source = "registry+https://github.com/rust-lang/crates.io-index" 592 + checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" 593 + dependencies = [ 594 + "futures-channel", 595 + "futures-core", 596 + "futures-executor", 597 + "futures-io", 598 + "futures-sink", 599 + "futures-task", 600 + "futures-util", 601 + ] 602 + 603 + [[package]] 604 name = "futures-channel" 605 version = "0.3.28" 606 source = "registry+https://github.com/rust-lang/crates.io-index" 607 checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" 608 dependencies = [ 609 "futures-core", 610 + "futures-sink", 611 ] 612 613 [[package]] ··· 617 checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" 618 619 [[package]] 620 + name = "futures-executor" 621 + version = "0.3.28" 622 + source = "registry+https://github.com/rust-lang/crates.io-index" 623 + checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" 624 + dependencies = [ 625 + "futures-core", 626 + "futures-task", 627 + "futures-util", 628 + ] 629 + 630 + [[package]] 631 name = "futures-io" 632 version = "0.3.28" 633 source = "registry+https://github.com/rust-lang/crates.io-index" 634 checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" 635 636 [[package]] 637 + name = "futures-macro" 638 + version = "0.3.28" 639 + source = "registry+https://github.com/rust-lang/crates.io-index" 640 + checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" 641 + dependencies = [ 642 + "proc-macro2", 643 + "quote", 644 + "syn 2.0.38", 645 + ] 646 + 647 + [[package]] 648 + name = "futures-sink" 649 + version = "0.3.28" 650 + source = "registry+https://github.com/rust-lang/crates.io-index" 651 + checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" 652 + 653 + [[package]] 654 name = "futures-task" 655 version = "0.3.28" 656 source = "registry+https://github.com/rust-lang/crates.io-index" 657 checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" 658 659 [[package]] 660 + name = "futures-timer" 661 + version = "3.0.2" 662 + source = "registry+https://github.com/rust-lang/crates.io-index" 663 + checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" 664 + 665 + [[package]] 666 name = "futures-util" 667 version = "0.3.28" 668 source = "registry+https://github.com/rust-lang/crates.io-index" 669 checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" 670 dependencies = [ 671 + "futures-channel", 672 "futures-core", 673 + "futures-io", 674 + "futures-macro", 675 + "futures-sink", 676 "futures-task", 677 + "memchr", 678 "pin-project-lite", 679 "pin-utils", 680 "slab", ··· 721 722 [[package]] 723 name = "hermit-abi" 724 + version = "0.3.3" 725 source = "registry+https://github.com/rust-lang/crates.io-index" 726 + checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" 727 728 [[package]] 729 name = "hex" ··· 753 754 [[package]] 755 name = "http_req" 756 + version = "0.10.0" 757 source = "registry+https://github.com/rust-lang/crates.io-index" 758 + checksum = "158d4edacc70c9bdb0464314063b8d9d60fa776442dc13b00a13581b88b0a0a0" 759 dependencies = [ 760 "native-tls", 761 "unicase", ··· 811 812 [[package]] 813 name = "insta" 814 + version = "1.34.0" 815 source = "registry+https://github.com/rust-lang/crates.io-index" 816 + checksum = "5d64600be34b2fcfc267740a243fa7744441bb4947a619ac4e5bb6507f35fbfc" 817 dependencies = [ 818 "console", 819 "lazy_static", ··· 868 dependencies = [ 869 "either", 870 ] 871 + 872 + [[package]] 873 + name = "itoa" 874 + version = "1.0.9" 875 + source = "registry+https://github.com/rust-lang/crates.io-index" 876 + checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" 877 878 [[package]] 879 name = "jobserver" 880 + version = "0.1.27" 881 source = "registry+https://github.com/rust-lang/crates.io-index" 882 + checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" 883 dependencies = [ 884 "libc", 885 ] ··· 901 902 [[package]] 903 name = "libc" 904 + version = "0.2.149" 905 source = "registry+https://github.com/rust-lang/crates.io-index" 906 + checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" 907 908 [[package]] 909 name = "linked-hash-map" ··· 919 920 [[package]] 921 name = "linux-raw-sys" 922 + version = "0.4.10" 923 source = "registry+https://github.com/rust-lang/crates.io-index" 924 + checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" 925 926 [[package]] 927 name = "lock_api" ··· 956 957 [[package]] 958 name = "memchr" 959 + version = "2.6.4" 960 source = "registry+https://github.com/rust-lang/crates.io-index" 961 + checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" 962 963 [[package]] 964 name = "memoffset" ··· 1050 1051 [[package]] 1052 name = "num-traits" 1053 + version = "0.2.17" 1054 source = "registry+https://github.com/rust-lang/crates.io-index" 1055 + checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" 1056 dependencies = [ 1057 "autocfg", 1058 ] ··· 1068 ] 1069 1070 [[package]] 1071 + name = "num_threads" 1072 + version = "0.1.6" 1073 + source = "registry+https://github.com/rust-lang/crates.io-index" 1074 + checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" 1075 + dependencies = [ 1076 + "libc", 1077 + ] 1078 + 1079 + [[package]] 1080 name = "object" 1081 version = "0.32.1" 1082 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1097 source = "registry+https://github.com/rust-lang/crates.io-index" 1098 checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" 1099 dependencies = [ 1100 + "bitflags 2.4.1", 1101 "cfg-if", 1102 "foreign-types", 1103 "libc", ··· 1114 dependencies = [ 1115 "proc-macro2", 1116 "quote", 1117 + "syn 2.0.38", 1118 ] 1119 1120 [[package]] ··· 1267 "proc-macro2", 1268 "quote", 1269 "regex", 1270 + "syn 2.0.38", 1271 ] 1272 1273 [[package]] ··· 1314 ] 1315 1316 [[package]] 1317 + name = "powerfmt" 1318 + version = "0.2.0" 1319 + source = "registry+https://github.com/rust-lang/crates.io-index" 1320 + checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 1321 + 1322 + [[package]] 1323 name = "ppv-lite86" 1324 version = "0.2.17" 1325 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1327 1328 [[package]] 1329 name = "proc-macro2" 1330 + version = "1.0.69" 1331 source = "registry+https://github.com/rust-lang/crates.io-index" 1332 + checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" 1333 dependencies = [ 1334 "unicode-ident", 1335 ] ··· 1346 "flate2", 1347 "hex", 1348 "lazy_static", 1349 + "rustix 0.36.16", 1350 ] 1351 1352 [[package]] ··· 1400 source = "registry+https://github.com/rust-lang/crates.io-index" 1401 checksum = "2e2e4cd95294a85c3b4446e63ef054eea43e0205b1fd60120c16b74ff7ff96ad" 1402 dependencies = [ 1403 + "bitflags 2.4.1", 1404 "cassowary", 1405 "crossterm", 1406 "indoc", ··· 1413 1414 [[package]] 1415 name = "rayon" 1416 + version = "1.8.0" 1417 source = "registry+https://github.com/rust-lang/crates.io-index" 1418 + checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" 1419 dependencies = [ 1420 "either", 1421 "rayon-core", ··· 1423 1424 [[package]] 1425 name = "rayon-core" 1426 + version = "1.12.0" 1427 source = "registry+https://github.com/rust-lang/crates.io-index" 1428 + checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" 1429 dependencies = [ 1430 "crossbeam-deque", 1431 "crossbeam-utils", 1432 ] 1433 1434 [[package]] ··· 1442 1443 [[package]] 1444 name = "regex" 1445 + version = "1.10.1" 1446 source = "registry+https://github.com/rust-lang/crates.io-index" 1447 + checksum = "aaac441002f822bc9705a681810a4dd2963094b9ca0ddc41cb963a4c189189ea" 1448 dependencies = [ 1449 "aho-corasick", 1450 "memchr", ··· 1454 1455 [[package]] 1456 name = "regex-automata" 1457 + version = "0.4.2" 1458 source = "registry+https://github.com/rust-lang/crates.io-index" 1459 + checksum = "5011c7e263a695dc8ca064cddb722af1be54e517a280b12a5356f98366899e5d" 1460 dependencies = [ 1461 "aho-corasick", 1462 "memchr", ··· 1465 1466 [[package]] 1467 name = "regex-syntax" 1468 + version = "0.8.2" 1469 source = "registry+https://github.com/rust-lang/crates.io-index" 1470 + checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" 1471 + 1472 + [[package]] 1473 + name = "relative-path" 1474 + version = "1.9.0" 1475 + source = "registry+https://github.com/rust-lang/crates.io-index" 1476 + checksum = "c707298afce11da2efef2f600116fa93ffa7a032b5d7b628aa17711ec81383ca" 1477 1478 [[package]] 1479 name = "resolv-conf" ··· 1486 ] 1487 1488 [[package]] 1489 + name = "rstest" 1490 + version = "0.18.2" 1491 + source = "registry+https://github.com/rust-lang/crates.io-index" 1492 + checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199" 1493 + dependencies = [ 1494 + "futures", 1495 + "futures-timer", 1496 + "rstest_macros", 1497 + "rustc_version", 1498 + ] 1499 + 1500 + [[package]] 1501 + name = "rstest_macros" 1502 + version = "0.18.2" 1503 + source = "registry+https://github.com/rust-lang/crates.io-index" 1504 + checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605" 1505 + dependencies = [ 1506 + "cfg-if", 1507 + "glob", 1508 + "proc-macro2", 1509 + "quote", 1510 + "regex", 1511 + "relative-path", 1512 + "rustc_version", 1513 + "syn 2.0.38", 1514 + "unicode-ident", 1515 + ] 1516 + 1517 + [[package]] 1518 name = "rustc-demangle" 1519 version = "0.1.23" 1520 source = "registry+https://github.com/rust-lang/crates.io-index" 1521 checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 1522 1523 [[package]] 1524 + name = "rustc_version" 1525 + version = "0.4.0" 1526 + source = "registry+https://github.com/rust-lang/crates.io-index" 1527 + checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 1528 + dependencies = [ 1529 + "semver", 1530 + ] 1531 + 1532 + [[package]] 1533 name = "rustix" 1534 + version = "0.36.16" 1535 source = "registry+https://github.com/rust-lang/crates.io-index" 1536 + checksum = "6da3636faa25820d8648e0e31c5d519bbb01f72fdf57131f0f5f7da5fed36eab" 1537 dependencies = [ 1538 "bitflags 1.3.2", 1539 "errno", ··· 1545 1546 [[package]] 1547 name = "rustix" 1548 + version = "0.38.19" 1549 source = "registry+https://github.com/rust-lang/crates.io-index" 1550 + checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed" 1551 dependencies = [ 1552 + "bitflags 2.4.1", 1553 "errno", 1554 "libc", 1555 + "linux-raw-sys 0.4.10", 1556 "windows-sys 0.48.0", 1557 ] 1558 ··· 1601 ] 1602 1603 [[package]] 1604 + name = "semver" 1605 + version = "1.0.20" 1606 + source = "registry+https://github.com/rust-lang/crates.io-index" 1607 + checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" 1608 + 1609 + [[package]] 1610 name = "serde" 1611 + version = "1.0.189" 1612 source = "registry+https://github.com/rust-lang/crates.io-index" 1613 + checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" 1614 dependencies = [ 1615 "serde_derive", 1616 ] 1617 1618 [[package]] 1619 name = "serde_derive" 1620 + version = "1.0.189" 1621 source = "registry+https://github.com/rust-lang/crates.io-index" 1622 + checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" 1623 dependencies = [ 1624 "proc-macro2", 1625 "quote", 1626 + "syn 2.0.38", 1627 ] 1628 1629 [[package]] 1630 name = "sha1" 1631 + version = "0.10.6" 1632 source = "registry+https://github.com/rust-lang/crates.io-index" 1633 + checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 1634 dependencies = [ 1635 "cfg-if", 1636 "cpufeatures", ··· 1639 1640 [[package]] 1641 name = "sha2" 1642 + version = "0.10.8" 1643 source = "registry+https://github.com/rust-lang/crates.io-index" 1644 + checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 1645 dependencies = [ 1646 "cfg-if", 1647 "cpufeatures", ··· 1680 1681 [[package]] 1682 name = "similar" 1683 + version = "2.3.0" 1684 source = "registry+https://github.com/rust-lang/crates.io-index" 1685 + checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" 1686 + 1687 + [[package]] 1688 + name = "simplelog" 1689 + version = "0.12.1" 1690 + source = "registry+https://github.com/rust-lang/crates.io-index" 1691 + checksum = "acee08041c5de3d5048c8b3f6f13fafb3026b24ba43c6a695a0c76179b844369" 1692 + dependencies = [ 1693 + "log", 1694 + "termcolor", 1695 + "time", 1696 + ] 1697 1698 [[package]] 1699 name = "slab" ··· 1706 1707 [[package]] 1708 name = "smallvec" 1709 + version = "1.11.1" 1710 source = "registry+https://github.com/rust-lang/crates.io-index" 1711 + checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" 1712 1713 [[package]] 1714 name = "socket2" ··· 1737 1738 [[package]] 1739 name = "strum_macros" 1740 + version = "0.25.3" 1741 source = "registry+https://github.com/rust-lang/crates.io-index" 1742 + checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" 1743 dependencies = [ 1744 "heck", 1745 "proc-macro2", 1746 "quote", 1747 "rustversion", 1748 + "syn 2.0.38", 1749 ] 1750 1751 [[package]] ··· 1767 1768 [[package]] 1769 name = "syn" 1770 + version = "2.0.38" 1771 source = "registry+https://github.com/rust-lang/crates.io-index" 1772 + checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" 1773 dependencies = [ 1774 "proc-macro2", 1775 "quote", ··· 1800 "cfg-if", 1801 "fastrand", 1802 "redox_syscall", 1803 + "rustix 0.38.19", 1804 "windows-sys 0.48.0", 1805 ] 1806 1807 [[package]] 1808 + name = "termcolor" 1809 + version = "1.1.3" 1810 + source = "registry+https://github.com/rust-lang/crates.io-index" 1811 + checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" 1812 + dependencies = [ 1813 + "winapi-util", 1814 + ] 1815 + 1816 + [[package]] 1817 name = "thiserror" 1818 + version = "1.0.49" 1819 source = "registry+https://github.com/rust-lang/crates.io-index" 1820 + checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" 1821 dependencies = [ 1822 "thiserror-impl", 1823 ] 1824 1825 [[package]] 1826 name = "thiserror-impl" 1827 + version = "1.0.49" 1828 source = "registry+https://github.com/rust-lang/crates.io-index" 1829 + checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" 1830 dependencies = [ 1831 "proc-macro2", 1832 "quote", 1833 + "syn 2.0.38", 1834 ] 1835 1836 [[package]] 1837 name = "time" 1838 + version = "0.3.30" 1839 source = "registry+https://github.com/rust-lang/crates.io-index" 1840 + checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" 1841 dependencies = [ 1842 "deranged", 1843 + "itoa", 1844 + "libc", 1845 + "num_threads", 1846 + "powerfmt", 1847 "serde", 1848 "time-core", 1849 + "time-macros", 1850 ] 1851 1852 [[package]] 1853 name = "time-core" 1854 + version = "0.1.2" 1855 + source = "registry+https://github.com/rust-lang/crates.io-index" 1856 + checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 1857 + 1858 + [[package]] 1859 + name = "time-macros" 1860 + version = "0.2.15" 1861 source = "registry+https://github.com/rust-lang/crates.io-index" 1862 + checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" 1863 + dependencies = [ 1864 + "time-core", 1865 + ] 1866 1867 [[package]] 1868 name = "tinyvec" ··· 1881 1882 [[package]] 1883 name = "tokio" 1884 + version = "1.33.0" 1885 source = "registry+https://github.com/rust-lang/crates.io-index" 1886 + checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" 1887 dependencies = [ 1888 "backtrace", 1889 "bytes", ··· 1897 1898 [[package]] 1899 name = "tracing" 1900 + version = "0.1.39" 1901 source = "registry+https://github.com/rust-lang/crates.io-index" 1902 + checksum = "ee2ef2af84856a50c1d430afce2fdded0a4ec7eda868db86409b4543df0797f9" 1903 dependencies = [ 1904 "pin-project-lite", 1905 "tracing-attributes", 1906 "tracing-core", ··· 1908 1909 [[package]] 1910 name = "tracing-attributes" 1911 + version = "0.1.27" 1912 source = "registry+https://github.com/rust-lang/crates.io-index" 1913 + checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 1914 dependencies = [ 1915 "proc-macro2", 1916 "quote", 1917 + "syn 2.0.38", 1918 ] 1919 1920 [[package]] 1921 name = "tracing-core" 1922 + version = "0.1.32" 1923 source = "registry+https://github.com/rust-lang/crates.io-index" 1924 + checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 1925 dependencies = [ 1926 "once_cell", 1927 ] 1928 1929 [[package]] 1930 name = "trust-dns-proto" 1931 + version = "0.23.1" 1932 source = "registry+https://github.com/rust-lang/crates.io-index" 1933 + checksum = "559ac980345f7f5020883dd3bcacf176355225e01916f8c2efecad7534f682c6" 1934 dependencies = [ 1935 "async-trait", 1936 "cfg-if", ··· 1953 1954 [[package]] 1955 name = "trust-dns-resolver" 1956 + version = "0.23.1" 1957 source = "registry+https://github.com/rust-lang/crates.io-index" 1958 + checksum = "c723b0e608b24ad04c73b2607e0241b2c98fd79795a95e98b068b6966138a29d" 1959 dependencies = [ 1960 "cfg-if", 1961 "futures-util", ··· 2016 2017 [[package]] 2018 name = "unicode-width" 2019 + version = "0.1.11" 2020 source = "registry+https://github.com/rust-lang/crates.io-index" 2021 + checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" 2022 2023 [[package]] 2024 name = "url" ··· 2076 "once_cell", 2077 "proc-macro2", 2078 "quote", 2079 + "syn 2.0.38", 2080 "wasm-bindgen-shared", 2081 ] 2082 ··· 2098 dependencies = [ 2099 "proc-macro2", 2100 "quote", 2101 + "syn 2.0.38", 2102 "wasm-bindgen-backend", 2103 "wasm-bindgen-shared", 2104 ] ··· 2132 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2133 2134 [[package]] 2135 + name = "winapi-util" 2136 + version = "0.1.6" 2137 + source = "registry+https://github.com/rust-lang/crates.io-index" 2138 + checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" 2139 + dependencies = [ 2140 + "winapi", 2141 + ] 2142 + 2143 + [[package]] 2144 name = "winapi-x86_64-pc-windows-gnu" 2145 version = "0.4.0" 2146 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2347 2348 [[package]] 2349 name = "zstd-sys" 2350 + version = "2.0.9+zstd.1.5.5" 2351 source = "registry+https://github.com/rust-lang/crates.io-index" 2352 + checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" 2353 dependencies = [ 2354 "cc", 2355 "pkg-config", 2356 ]
+2 -2
pkgs/tools/networking/bandwhich/default.nix
··· 2 3 rustPlatform.buildRustPackage rec { 4 pname = "bandwhich"; 5 - version = "0.21.0"; 6 7 src = fetchFromGitHub { 8 owner = "imsnif"; 9 repo = pname; 10 rev = "v${version}"; 11 - hash = "sha256-FquV+V5BTIX0HB6lLqPMUTvnPn7Y8/jhl93qvrSkYLY="; 12 }; 13 14 cargoLock = {
··· 2 3 rustPlatform.buildRustPackage rec { 4 pname = "bandwhich"; 5 + version = "0.21.1"; 6 7 src = fetchFromGitHub { 8 owner = "imsnif"; 9 repo = pname; 10 rev = "v${version}"; 11 + hash = "sha256-9+7ol2QSIXLkkRt/YlAobZHb3Tm+SmnjW/JufwimMTE="; 12 }; 13 14 cargoLock = {
+1 -1
pkgs/tools/networking/oui/default.nix
··· 17 description = "MAC Address CLI Toolkit"; 18 homepage = "https://github.com/thatmattlove/oui"; 19 license = with licenses; [ bsd3 ]; 20 - maintainers = [ maintainers.netali ]; 21 }; 22 }
··· 17 description = "MAC Address CLI Toolkit"; 18 homepage = "https://github.com/thatmattlove/oui"; 19 license = with licenses; [ bsd3 ]; 20 + maintainers = teams.wdz.members; 21 }; 22 }
+1
pkgs/top-level/aliases.nix
··· 166 167 ### D ### 168 169 dart_stable = dart; # Added 2020-01-15 170 dat = nodePackages.dat; 171 deadpixi-sam = deadpixi-sam-unstable;
··· 166 167 ### D ### 168 169 + dagger = throw "'dagger' has been removed from nixpkgs, as the trademark policy of the upstream project is incompatible"; # Added 2023-10-16 170 dart_stable = dart; # Added 2020-01-15 171 dat = nodePackages.dat; 172 deadpixi-sam = deadpixi-sam-unstable;
+13 -3
pkgs/top-level/all-packages.nix
··· 1092 protobuf = protobuf_21; 1093 }; 1094 1095 broadlink-cli = callPackage ../tools/misc/broadlink-cli { }; 1096 1097 fetchpatch = callPackage ../build-support/fetchpatch { ··· 4951 dabtools = callPackage ../applications/radio/dabtools { }; 4952 4953 daemontools = callPackage ../tools/admin/daemontools { }; 4954 - 4955 - dagger = callPackage ../development/tools/continuous-integration/dagger { }; 4956 4957 dale = callPackage ../development/compilers/dale { }; 4958 ··· 17477 yosys = callPackage ../development/compilers/yosys { }; 17478 yosys-bluespec = callPackage ../development/compilers/yosys/plugins/bluespec.nix { }; 17479 yosys-ghdl = callPackage ../development/compilers/yosys/plugins/ghdl.nix { }; 17480 yosys-symbiflow = callPackage ../development/compilers/yosys/plugins/symbiflow.nix { }; 17481 17482 z88dk = callPackage ../development/compilers/z88dk { }; ··· 31385 31386 espeak-classic = callPackage ../applications/audio/espeak { }; 31387 31388 - espeak-ng = callPackage ../applications/audio/espeak-ng { }; 31389 espeak = res.espeak-ng; 31390 31391 espeakedit = callPackage ../applications/audio/espeak/edit.nix { };
··· 1092 protobuf = protobuf_21; 1093 }; 1094 1095 + mysql-shell-innovation = callPackage ../development/tools/mysql-shell/innovation.nix { 1096 + inherit (darwin) cctools developer_cmds DarwinTools; 1097 + inherit (darwin.apple_sdk.frameworks) CoreServices; 1098 + antlr = antlr4_10; 1099 + boost = boost177; # Configure checks for specific version. 1100 + icu = icu69; 1101 + protobuf = protobuf3_21; 1102 + }; 1103 + 1104 broadlink-cli = callPackage ../tools/misc/broadlink-cli { }; 1105 1106 fetchpatch = callPackage ../build-support/fetchpatch { ··· 4960 dabtools = callPackage ../applications/radio/dabtools { }; 4961 4962 daemontools = callPackage ../tools/admin/daemontools { }; 4963 4964 dale = callPackage ../development/compilers/dale { }; 4965 ··· 17484 yosys = callPackage ../development/compilers/yosys { }; 17485 yosys-bluespec = callPackage ../development/compilers/yosys/plugins/bluespec.nix { }; 17486 yosys-ghdl = callPackage ../development/compilers/yosys/plugins/ghdl.nix { }; 17487 + yosys-synlig = callPackage ../development/compilers/yosys/plugins/synlig.nix { }; 17488 yosys-symbiflow = callPackage ../development/compilers/yosys/plugins/symbiflow.nix { }; 17489 17490 z88dk = callPackage ../development/compilers/z88dk { }; ··· 31393 31394 espeak-classic = callPackage ../applications/audio/espeak { }; 31395 31396 + espeak-ng = callPackage ../applications/audio/espeak-ng { 31397 + inherit (darwin.apple_sdk.frameworks) AudioToolbox AudioUnit CoreAudio; 31398 + }; 31399 espeak = res.espeak-ng; 31400 31401 espeakedit = callPackage ../applications/audio/espeak/edit.nix { };
+1
pkgs/top-level/python-aliases.nix
··· 285 pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20 286 PyLD = pyld; # added 2022-06-22 287 pymatgen-lammps = throw "pymatgen-lammps has been removed because it is unmaintained and broken"; # added 2023-06-20 288 pymc3 = pymc; # added 2022-06-05, module was rename starting with 4.0.0 289 pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04 290 PyMVGLive = pymvglive; # added 2023-02-19
··· 285 pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20 286 PyLD = pyld; # added 2022-06-22 287 pymatgen-lammps = throw "pymatgen-lammps has been removed because it is unmaintained and broken"; # added 2023-06-20 288 + pymazda = throw "pymazda has been removed, because the upstream repo has been affected by a DCMA claim."; # added 2023-10-16 289 pymc3 = pymc; # added 2022-06-05, module was rename starting with 4.0.0 290 pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04 291 PyMVGLive = pymvglive; # added 2023-02-19
-2
pkgs/top-level/python-packages.nix
··· 10364 10365 pymavlink = callPackage ../development/python-modules/pymavlink { }; 10366 10367 - pymazda = callPackage ../development/python-modules/pymazda { }; 10368 - 10369 pymbolic = callPackage ../development/python-modules/pymbolic { }; 10370 10371 pymc = callPackage ../development/python-modules/pymc { };
··· 10364 10365 pymavlink = callPackage ../development/python-modules/pymavlink { }; 10366 10367 pymbolic = callPackage ../development/python-modules/pymbolic { }; 10368 10369 pymc = callPackage ../development/python-modules/pymc { };